Philipp Hörist pushed to branch master at gajim / gajim

Commits:

6 changed files:

Changes:

  • gajim/app_actions.py
    ... ... @@ -252,10 +252,11 @@ def on_xml_console(action, param):
    252 252
     
    
    253 253
     
    
    254 254
     def on_manage_proxies(action, param):
    
    255
    -    if 'manage_proxies' in app.interface.instances:
    
    256
    -        app.interface.instances['manage_proxies'].window.present()
    
    255
    +    window = app.get_app_window(ManageProxies)
    
    256
    +    if window is None:
    
    257
    +        ManageProxies()
    
    257 258
         else:
    
    258
    -        app.interface.instances['manage_proxies'] = ManageProxies()
    
    259
    +        window.present()
    
    259 260
     
    
    260 261
     # Admin Actions
    
    261 262
     
    

  • gajim/data/gui/manage_proxies.ui
    1
    +<?xml version="1.0" encoding="UTF-8"?>
    
    2
    +<!-- Generated with glade 3.22.1 -->
    
    3
    +<interface>
    
    4
    +  <requires lib="gtk+" version="3.20"/>
    
    5
    +  <object class="GtkListStore" id="liststore1">
    
    6
    +    <columns>
    
    7
    +      <!-- column-name item -->
    
    8
    +      <column type="gchararray"/>
    
    9
    +    </columns>
    
    10
    +    <data>
    
    11
    +      <row>
    
    12
    +        <col id="0" translatable="yes" context="proxy configuration">HTTP Connect</col>
    
    13
    +      </row>
    
    14
    +      <row>
    
    15
    +        <col id="0" translatable="yes" context="proxy configuration">SOCKS5</col>
    
    16
    +      </row>
    
    17
    +      <row>
    
    18
    +        <col id="0" translatable="yes" context="proxy configuration">BOSH</col>
    
    19
    +      </row>
    
    20
    +    </data>
    
    21
    +  </object>
    
    22
    +  <object class="GtkBox" id="box">
    
    23
    +    <property name="visible">True</property>
    
    24
    +    <property name="can_focus">False</property>
    
    25
    +    <property name="border_width">18</property>
    
    26
    +    <property name="spacing">12</property>
    
    27
    +    <child>
    
    28
    +      <object class="GtkBox">
    
    29
    +        <property name="width_request">200</property>
    
    30
    +        <property name="visible">True</property>
    
    31
    +        <property name="can_focus">False</property>
    
    32
    +        <property name="orientation">vertical</property>
    
    33
    +        <child>
    
    34
    +          <object class="GtkScrolledWindow">
    
    35
    +            <property name="visible">True</property>
    
    36
    +            <property name="can_focus">True</property>
    
    37
    +            <property name="shadow_type">in</property>
    
    38
    +            <child>
    
    39
    +              <object class="GtkTreeView" id="proxies_treeview">
    
    40
    +                <property name="visible">True</property>
    
    41
    +                <property name="can_focus">True</property>
    
    42
    +                <property name="headers_visible">False</property>
    
    43
    +                <signal name="cursor-changed" handler="_on_proxies_treeview_cursor_changed" swapped="no"/>
    
    44
    +                <signal name="key-press-event" handler="_on_proxies_treeview_key_press_event" swapped="no"/>
    
    45
    +                <child internal-child="selection">
    
    46
    +                  <object class="GtkTreeSelection" id="treeview-selection1"/>
    
    47
    +                </child>
    
    48
    +              </object>
    
    49
    +            </child>
    
    50
    +          </object>
    
    51
    +          <packing>
    
    52
    +            <property name="expand">True</property>
    
    53
    +            <property name="fill">True</property>
    
    54
    +            <property name="position">0</property>
    
    55
    +          </packing>
    
    56
    +        </child>
    
    57
    +        <child>
    
    58
    +          <object class="GtkToolbar">
    
    59
    +            <property name="visible">True</property>
    
    60
    +            <property name="can_focus">False</property>
    
    61
    +            <property name="toolbar_style">icons</property>
    
    62
    +            <property name="show_arrow">False</property>
    
    63
    +            <property name="icon_size">1</property>
    
    64
    +            <child>
    
    65
    +              <object class="GtkToolButton" id="add_proxy_button">
    
    66
    +                <property name="visible">True</property>
    
    67
    +                <property name="can_focus">False</property>
    
    68
    +                <property name="tooltip_text" translatable="yes">Add Proxy</property>
    
    69
    +                <property name="use_underline">True</property>
    
    70
    +                <property name="icon_name">list-add-symbolic</property>
    
    71
    +                <signal name="clicked" handler="_on_add_proxy_button_clicked" swapped="no"/>
    
    72
    +              </object>
    
    73
    +              <packing>
    
    74
    +                <property name="expand">False</property>
    
    75
    +                <property name="homogeneous">True</property>
    
    76
    +              </packing>
    
    77
    +            </child>
    
    78
    +            <child>
    
    79
    +              <object class="GtkToolButton" id="remove_proxy_button">
    
    80
    +                <property name="visible">True</property>
    
    81
    +                <property name="can_focus">False</property>
    
    82
    +                <property name="tooltip_text" translatable="yes">Remove Proxy</property>
    
    83
    +                <property name="use_underline">True</property>
    
    84
    +                <property name="icon_name">list-remove-symbolic</property>
    
    85
    +                <signal name="clicked" handler="_on_remove_proxy_button_clicked" swapped="no"/>
    
    86
    +              </object>
    
    87
    +              <packing>
    
    88
    +                <property name="expand">False</property>
    
    89
    +                <property name="homogeneous">True</property>
    
    90
    +              </packing>
    
    91
    +            </child>
    
    92
    +            <style>
    
    93
    +              <class name="inline-toolbar"/>
    
    94
    +            </style>
    
    95
    +          </object>
    
    96
    +          <packing>
    
    97
    +            <property name="expand">False</property>
    
    98
    +            <property name="fill">True</property>
    
    99
    +            <property name="position">1</property>
    
    100
    +          </packing>
    
    101
    +        </child>
    
    102
    +      </object>
    
    103
    +      <packing>
    
    104
    +        <property name="expand">False</property>
    
    105
    +        <property name="fill">True</property>
    
    106
    +        <property name="position">0</property>
    
    107
    +      </packing>
    
    108
    +    </child>
    
    109
    +    <child>
    
    110
    +      <object class="GtkGrid" id="settings_grid">
    
    111
    +        <property name="visible">True</property>
    
    112
    +        <property name="can_focus">False</property>
    
    113
    +        <property name="valign">start</property>
    
    114
    +        <property name="row_spacing">6</property>
    
    115
    +        <property name="column_spacing">12</property>
    
    116
    +        <child>
    
    117
    +          <object class="GtkEntry" id="proxypass_entry">
    
    118
    +            <property name="visible">True</property>
    
    119
    +            <property name="can_focus">True</property>
    
    120
    +            <property name="visibility">False</property>
    
    121
    +            <property name="input_purpose">password</property>
    
    122
    +            <signal name="changed" handler="_on_proxypass_entry_changed" swapped="no"/>
    
    123
    +          </object>
    
    124
    +          <packing>
    
    125
    +            <property name="left_attach">1</property>
    
    126
    +            <property name="top_attach">10</property>
    
    127
    +          </packing>
    
    128
    +        </child>
    
    129
    +        <child>
    
    130
    +          <object class="GtkLabel">
    
    131
    +            <property name="visible">True</property>
    
    132
    +            <property name="can_focus">False</property>
    
    133
    +            <property name="halign">end</property>
    
    134
    +            <property name="label" translatable="yes">Pass_word</property>
    
    135
    +            <property name="use_underline">True</property>
    
    136
    +            <property name="mnemonic_widget">proxypass_entry</property>
    
    137
    +            <style>
    
    138
    +              <class name="dim-label"/>
    
    139
    +            </style>
    
    140
    +          </object>
    
    141
    +          <packing>
    
    142
    +            <property name="left_attach">0</property>
    
    143
    +            <property name="top_attach">10</property>
    
    144
    +          </packing>
    
    145
    +        </child>
    
    146
    +        <child>
    
    147
    +          <object class="GtkEntry" id="proxyuser_entry">
    
    148
    +            <property name="visible">True</property>
    
    149
    +            <property name="can_focus">True</property>
    
    150
    +            <signal name="changed" handler="_on_proxyuser_entry_changed" swapped="no"/>
    
    151
    +          </object>
    
    152
    +          <packing>
    
    153
    +            <property name="left_attach">1</property>
    
    154
    +            <property name="top_attach">9</property>
    
    155
    +          </packing>
    
    156
    +        </child>
    
    157
    +        <child>
    
    158
    +          <object class="GtkCheckButton" id="useauth_checkbutton">
    
    159
    +            <property name="label" translatable="yes">Use proxy auth_entication</property>
    
    160
    +            <property name="visible">True</property>
    
    161
    +            <property name="can_focus">True</property>
    
    162
    +            <property name="receives_default">False</property>
    
    163
    +            <property name="halign">start</property>
    
    164
    +            <property name="margin_top">12</property>
    
    165
    +            <property name="use_underline">True</property>
    
    166
    +            <property name="draw_indicator">True</property>
    
    167
    +            <signal name="toggled" handler="_on_useauth_toggled" swapped="no"/>
    
    168
    +          </object>
    
    169
    +          <packing>
    
    170
    +            <property name="left_attach">1</property>
    
    171
    +            <property name="top_attach">8</property>
    
    172
    +          </packing>
    
    173
    +        </child>
    
    174
    +        <child>
    
    175
    +          <object class="GtkLabel">
    
    176
    +            <property name="visible">True</property>
    
    177
    +            <property name="can_focus">False</property>
    
    178
    +            <property name="halign">end</property>
    
    179
    +            <property name="label" translatable="yes">_Username</property>
    
    180
    +            <property name="use_underline">True</property>
    
    181
    +            <property name="mnemonic_widget">proxyuser_entry</property>
    
    182
    +            <style>
    
    183
    +              <class name="dim-label"/>
    
    184
    +            </style>
    
    185
    +          </object>
    
    186
    +          <packing>
    
    187
    +            <property name="left_attach">0</property>
    
    188
    +            <property name="top_attach">9</property>
    
    189
    +          </packing>
    
    190
    +        </child>
    
    191
    +        <child>
    
    192
    +          <object class="GtkEntry" id="proxyport_entry">
    
    193
    +            <property name="visible">True</property>
    
    194
    +            <property name="can_focus">True</property>
    
    195
    +            <property name="placeholder_text">9050</property>
    
    196
    +            <property name="input_purpose">number</property>
    
    197
    +            <signal name="changed" handler="_on_proxyport_entry_changed" swapped="no"/>
    
    198
    +          </object>
    
    199
    +          <packing>
    
    200
    +            <property name="left_attach">1</property>
    
    201
    +            <property name="top_attach">7</property>
    
    202
    +          </packing>
    
    203
    +        </child>
    
    204
    +        <child>
    
    205
    +          <object class="GtkLabel">
    
    206
    +            <property name="visible">True</property>
    
    207
    +            <property name="can_focus">False</property>
    
    208
    +            <property name="halign">end</property>
    
    209
    +            <property name="label" translatable="yes">_Port</property>
    
    210
    +            <property name="use_underline">True</property>
    
    211
    +            <property name="mnemonic_widget">proxyport_entry</property>
    
    212
    +            <style>
    
    213
    +              <class name="dim-label"/>
    
    214
    +            </style>
    
    215
    +          </object>
    
    216
    +          <packing>
    
    217
    +            <property name="left_attach">0</property>
    
    218
    +            <property name="top_attach">7</property>
    
    219
    +          </packing>
    
    220
    +        </child>
    
    221
    +        <child>
    
    222
    +          <object class="GtkEntry" id="proxyhost_entry">
    
    223
    +            <property name="visible">True</property>
    
    224
    +            <property name="can_focus">True</property>
    
    225
    +            <property name="hexpand">True</property>
    
    226
    +            <property name="placeholder_text" translatable="yes">example.org</property>
    
    227
    +            <property name="input_purpose">url</property>
    
    228
    +            <signal name="changed" handler="_on_proxyhost_entry_changed" swapped="no"/>
    
    229
    +          </object>
    
    230
    +          <packing>
    
    231
    +            <property name="left_attach">1</property>
    
    232
    +            <property name="top_attach">6</property>
    
    233
    +          </packing>
    
    234
    +        </child>
    
    235
    +        <child>
    
    236
    +          <object class="GtkLabel">
    
    237
    +            <property name="visible">True</property>
    
    238
    +            <property name="can_focus">False</property>
    
    239
    +            <property name="halign">end</property>
    
    240
    +            <property name="label" translatable="yes">_Host</property>
    
    241
    +            <property name="use_underline">True</property>
    
    242
    +            <property name="mnemonic_widget">proxyhost_entry</property>
    
    243
    +            <style>
    
    244
    +              <class name="dim-label"/>
    
    245
    +            </style>
    
    246
    +          </object>
    
    247
    +          <packing>
    
    248
    +            <property name="left_attach">0</property>
    
    249
    +            <property name="top_attach">6</property>
    
    250
    +          </packing>
    
    251
    +        </child>
    
    252
    +        <child>
    
    253
    +          <object class="GtkCheckButton" id="bosh_useproxy_checkbutton">
    
    254
    +            <property name="label" translatable="yes">Use HTTP prox_y</property>
    
    255
    +            <property name="visible">True</property>
    
    256
    +            <property name="can_focus">True</property>
    
    257
    +            <property name="receives_default">False</property>
    
    258
    +            <property name="no_show_all">True</property>
    
    259
    +            <property name="halign">start</property>
    
    260
    +            <property name="use_underline">True</property>
    
    261
    +            <property name="draw_indicator">True</property>
    
    262
    +            <signal name="toggled" handler="_on_bosh_useproxy_toggled" swapped="no"/>
    
    263
    +          </object>
    
    264
    +          <packing>
    
    265
    +            <property name="left_attach">1</property>
    
    266
    +            <property name="top_attach">5</property>
    
    267
    +          </packing>
    
    268
    +        </child>
    
    269
    +        <child>
    
    270
    +          <object class="GtkEntry" id="boshuri_entry">
    
    271
    +            <property name="visible">True</property>
    
    272
    +            <property name="can_focus">True</property>
    
    273
    +            <property name="no_show_all">True</property>
    
    274
    +            <property name="margin_bottom">12</property>
    
    275
    +            <property name="placeholder_text" translatable="yes">https://example.org/http-bind/</property>
    
    276
    +            <property name="input_purpose">url</property>
    
    277
    +            <signal name="changed" handler="_on_boshuri_entry_changed" swapped="no"/>
    
    278
    +          </object>
    
    279
    +          <packing>
    
    280
    +            <property name="left_attach">1</property>
    
    281
    +            <property name="top_attach">4</property>
    
    282
    +          </packing>
    
    283
    +        </child>
    
    284
    +        <child>
    
    285
    +          <object class="GtkLabel" id="boshuri_label">
    
    286
    +            <property name="visible">True</property>
    
    287
    +            <property name="can_focus">False</property>
    
    288
    +            <property name="no_show_all">True</property>
    
    289
    +            <property name="halign">end</property>
    
    290
    +            <property name="margin_bottom">12</property>
    
    291
    +            <property name="label" translatable="yes">_BOSH URL</property>
    
    292
    +            <property name="use_underline">True</property>
    
    293
    +            <property name="mnemonic_widget">boshuri_entry</property>
    
    294
    +            <style>
    
    295
    +              <class name="dim-label"/>
    
    296
    +            </style>
    
    297
    +          </object>
    
    298
    +          <packing>
    
    299
    +            <property name="left_attach">0</property>
    
    300
    +            <property name="top_attach">4</property>
    
    301
    +          </packing>
    
    302
    +        </child>
    
    303
    +        <child>
    
    304
    +          <object class="GtkLabel">
    
    305
    +            <property name="visible">True</property>
    
    306
    +            <property name="can_focus">False</property>
    
    307
    +            <property name="margin_top">12</property>
    
    308
    +            <property name="margin_bottom">6</property>
    
    309
    +            <property name="label" translatable="yes">Settings</property>
    
    310
    +            <property name="use_markup">True</property>
    
    311
    +            <style>
    
    312
    +              <class name="bold16"/>
    
    313
    +            </style>
    
    314
    +          </object>
    
    315
    +          <packing>
    
    316
    +            <property name="left_attach">0</property>
    
    317
    +            <property name="top_attach">3</property>
    
    318
    +            <property name="width">2</property>
    
    319
    +          </packing>
    
    320
    +        </child>
    
    321
    +        <child>
    
    322
    +          <object class="GtkComboBox" id="proxytype_combobox">
    
    323
    +            <property name="visible">True</property>
    
    324
    +            <property name="can_focus">False</property>
    
    325
    +            <property name="model">liststore1</property>
    
    326
    +            <signal name="changed" handler="_on_proxytype_combobox_changed" swapped="no"/>
    
    327
    +            <child>
    
    328
    +              <object class="GtkCellRendererText"/>
    
    329
    +              <attributes>
    
    330
    +                <attribute name="text">0</attribute>
    
    331
    +              </attributes>
    
    332
    +            </child>
    
    333
    +          </object>
    
    334
    +          <packing>
    
    335
    +            <property name="left_attach">1</property>
    
    336
    +            <property name="top_attach">2</property>
    
    337
    +          </packing>
    
    338
    +        </child>
    
    339
    +        <child>
    
    340
    +          <object class="GtkLabel">
    
    341
    +            <property name="visible">True</property>
    
    342
    +            <property name="can_focus">False</property>
    
    343
    +            <property name="halign">end</property>
    
    344
    +            <property name="label" translatable="yes">_Type</property>
    
    345
    +            <property name="use_underline">True</property>
    
    346
    +            <property name="mnemonic_widget">proxytype_combobox</property>
    
    347
    +            <style>
    
    348
    +              <class name="dim-label"/>
    
    349
    +            </style>
    
    350
    +          </object>
    
    351
    +          <packing>
    
    352
    +            <property name="left_attach">0</property>
    
    353
    +            <property name="top_attach">2</property>
    
    354
    +          </packing>
    
    355
    +        </child>
    
    356
    +        <child>
    
    357
    +          <object class="GtkLabel">
    
    358
    +            <property name="visible">True</property>
    
    359
    +            <property name="can_focus">False</property>
    
    360
    +            <property name="halign">end</property>
    
    361
    +            <property name="label" translatable="yes">_Name</property>
    
    362
    +            <property name="use_underline">True</property>
    
    363
    +            <property name="mnemonic_widget">proxyname_entry</property>
    
    364
    +            <style>
    
    365
    +              <class name="dim-label"/>
    
    366
    +            </style>
    
    367
    +          </object>
    
    368
    +          <packing>
    
    369
    +            <property name="left_attach">0</property>
    
    370
    +            <property name="top_attach">1</property>
    
    371
    +          </packing>
    
    372
    +        </child>
    
    373
    +        <child>
    
    374
    +          <object class="GtkEntry" id="proxyname_entry">
    
    375
    +            <property name="width_request">200</property>
    
    376
    +            <property name="visible">True</property>
    
    377
    +            <property name="can_focus">True</property>
    
    378
    +            <property name="hexpand">True</property>
    
    379
    +            <signal name="changed" handler="_on_proxyname_entry_changed" swapped="no"/>
    
    380
    +          </object>
    
    381
    +          <packing>
    
    382
    +            <property name="left_attach">1</property>
    
    383
    +            <property name="top_attach">1</property>
    
    384
    +          </packing>
    
    385
    +        </child>
    
    386
    +        <child>
    
    387
    +          <object class="GtkLabel">
    
    388
    +            <property name="visible">True</property>
    
    389
    +            <property name="can_focus">False</property>
    
    390
    +            <property name="margin_bottom">6</property>
    
    391
    +            <property name="label" translatable="yes">Proxy</property>
    
    392
    +            <property name="use_markup">True</property>
    
    393
    +            <style>
    
    394
    +              <class name="bold16"/>
    
    395
    +            </style>
    
    396
    +          </object>
    
    397
    +          <packing>
    
    398
    +            <property name="left_attach">0</property>
    
    399
    +            <property name="top_attach">0</property>
    
    400
    +            <property name="width">2</property>
    
    401
    +          </packing>
    
    402
    +        </child>
    
    403
    +        <child>
    
    404
    +          <object class="GtkBox">
    
    405
    +            <property name="visible">True</property>
    
    406
    +            <property name="can_focus">False</property>
    
    407
    +            <property name="orientation">vertical</property>
    
    408
    +            <child>
    
    409
    +              <placeholder/>
    
    410
    +            </child>
    
    411
    +          </object>
    
    412
    +          <packing>
    
    413
    +            <property name="left_attach">0</property>
    
    414
    +            <property name="top_attach">5</property>
    
    415
    +          </packing>
    
    416
    +        </child>
    
    417
    +        <child>
    
    418
    +          <object class="GtkBox">
    
    419
    +            <property name="visible">True</property>
    
    420
    +            <property name="can_focus">False</property>
    
    421
    +            <property name="orientation">vertical</property>
    
    422
    +            <child>
    
    423
    +              <placeholder/>
    
    424
    +            </child>
    
    425
    +          </object>
    
    426
    +          <packing>
    
    427
    +            <property name="left_attach">0</property>
    
    428
    +            <property name="top_attach">8</property>
    
    429
    +          </packing>
    
    430
    +        </child>
    
    431
    +      </object>
    
    432
    +      <packing>
    
    433
    +        <property name="expand">True</property>
    
    434
    +        <property name="fill">True</property>
    
    435
    +        <property name="position">1</property>
    
    436
    +      </packing>
    
    437
    +    </child>
    
    438
    +  </object>
    
    439
    +</interface>

  • gajim/data/gui/manage_proxies_window.ui deleted
    1
    -<?xml version="1.0" encoding="UTF-8"?>
    
    2
    -<!-- Generated with glade 3.22.1 -->
    
    3
    -<interface>
    
    4
    -  <requires lib="gtk+" version="3.20"/>
    
    5
    -  <object class="GtkListStore" id="liststore1">
    
    6
    -    <columns>
    
    7
    -      <!-- column-name item -->
    
    8
    -      <column type="gchararray"/>
    
    9
    -    </columns>
    
    10
    -    <data>
    
    11
    -      <row>
    
    12
    -        <col id="0" translatable="yes">HTTP Connect</col>
    
    13
    -      </row>
    
    14
    -      <row>
    
    15
    -        <col id="0" translatable="yes">SOCKS5</col>
    
    16
    -      </row>
    
    17
    -      <row>
    
    18
    -        <col id="0" translatable="yes">BOSH</col>
    
    19
    -      </row>
    
    20
    -    </data>
    
    21
    -  </object>
    
    22
    -  <object class="GtkWindow" id="manage_proxies_window">
    
    23
    -    <property name="width_request">500</property>
    
    24
    -    <property name="height_request">440</property>
    
    25
    -    <property name="can_focus">False</property>
    
    26
    -    <property name="border_width">18</property>
    
    27
    -    <property name="title" translatable="yes">Manage Proxy Profiles</property>
    
    28
    -    <property name="window_position">center-on-parent</property>
    
    29
    -    <property name="default_width">500</property>
    
    30
    -    <property name="default_height">440</property>
    
    31
    -    <property name="type_hint">dialog</property>
    
    32
    -    <signal name="destroy" handler="_on_destroy" swapped="no"/>
    
    33
    -    <signal name="key-press-event" handler="_on_key_press" swapped="no"/>
    
    34
    -    <child>
    
    35
    -      <placeholder/>
    
    36
    -    </child>
    
    37
    -    <child>
    
    38
    -      <object class="GtkBox">
    
    39
    -        <property name="visible">True</property>
    
    40
    -        <property name="can_focus">False</property>
    
    41
    -        <property name="spacing">12</property>
    
    42
    -        <child>
    
    43
    -          <object class="GtkBox">
    
    44
    -            <property name="width_request">200</property>
    
    45
    -            <property name="visible">True</property>
    
    46
    -            <property name="can_focus">False</property>
    
    47
    -            <property name="orientation">vertical</property>
    
    48
    -            <child>
    
    49
    -              <object class="GtkScrolledWindow">
    
    50
    -                <property name="visible">True</property>
    
    51
    -                <property name="can_focus">True</property>
    
    52
    -                <property name="shadow_type">in</property>
    
    53
    -                <child>
    
    54
    -                  <object class="GtkTreeView" id="proxies_treeview">
    
    55
    -                    <property name="visible">True</property>
    
    56
    -                    <property name="can_focus">True</property>
    
    57
    -                    <property name="headers_visible">False</property>
    
    58
    -                    <signal name="cursor-changed" handler="on_proxies_treeview_cursor_changed" swapped="no"/>
    
    59
    -                    <signal name="key-press-event" handler="on_proxies_treeview_key_press_event" swapped="no"/>
    
    60
    -                    <child internal-child="selection">
    
    61
    -                      <object class="GtkTreeSelection" id="treeview-selection1"/>
    
    62
    -                    </child>
    
    63
    -                  </object>
    
    64
    -                </child>
    
    65
    -              </object>
    
    66
    -              <packing>
    
    67
    -                <property name="expand">True</property>
    
    68
    -                <property name="fill">True</property>
    
    69
    -                <property name="position">0</property>
    
    70
    -              </packing>
    
    71
    -            </child>
    
    72
    -            <child>
    
    73
    -              <object class="GtkToolbar">
    
    74
    -                <property name="visible">True</property>
    
    75
    -                <property name="can_focus">False</property>
    
    76
    -                <property name="toolbar_style">icons</property>
    
    77
    -                <property name="show_arrow">False</property>
    
    78
    -                <property name="icon_size">1</property>
    
    79
    -                <child>
    
    80
    -                  <object class="GtkToolButton" id="add_proxy_button">
    
    81
    -                    <property name="visible">True</property>
    
    82
    -                    <property name="can_focus">False</property>
    
    83
    -                    <property name="tooltip_text" translatable="yes">Add Proxy</property>
    
    84
    -                    <property name="use_underline">True</property>
    
    85
    -                    <property name="icon_name">list-add-symbolic</property>
    
    86
    -                    <signal name="clicked" handler="on_add_proxy_button_clicked" swapped="no"/>
    
    87
    -                  </object>
    
    88
    -                  <packing>
    
    89
    -                    <property name="expand">False</property>
    
    90
    -                    <property name="homogeneous">True</property>
    
    91
    -                  </packing>
    
    92
    -                </child>
    
    93
    -                <child>
    
    94
    -                  <object class="GtkToolButton" id="remove_proxy_button">
    
    95
    -                    <property name="visible">True</property>
    
    96
    -                    <property name="can_focus">False</property>
    
    97
    -                    <property name="tooltip_text" translatable="yes">Remove Proxy</property>
    
    98
    -                    <property name="use_underline">True</property>
    
    99
    -                    <property name="icon_name">list-remove-symbolic</property>
    
    100
    -                    <signal name="clicked" handler="on_remove_proxy_button_clicked" swapped="no"/>
    
    101
    -                  </object>
    
    102
    -                  <packing>
    
    103
    -                    <property name="expand">False</property>
    
    104
    -                    <property name="homogeneous">True</property>
    
    105
    -                  </packing>
    
    106
    -                </child>
    
    107
    -                <style>
    
    108
    -                  <class name="inline-toolbar"/>
    
    109
    -                </style>
    
    110
    -              </object>
    
    111
    -              <packing>
    
    112
    -                <property name="expand">False</property>
    
    113
    -                <property name="fill">True</property>
    
    114
    -                <property name="position">1</property>
    
    115
    -              </packing>
    
    116
    -            </child>
    
    117
    -          </object>
    
    118
    -          <packing>
    
    119
    -            <property name="expand">False</property>
    
    120
    -            <property name="fill">True</property>
    
    121
    -            <property name="position">0</property>
    
    122
    -          </packing>
    
    123
    -        </child>
    
    124
    -        <child>
    
    125
    -          <object class="GtkBox">
    
    126
    -            <property name="visible">True</property>
    
    127
    -            <property name="can_focus">False</property>
    
    128
    -            <property name="orientation">vertical</property>
    
    129
    -            <property name="spacing">6</property>
    
    130
    -            <child>
    
    131
    -              <object class="GtkGrid">
    
    132
    -                <property name="visible">True</property>
    
    133
    -                <property name="can_focus">False</property>
    
    134
    -                <property name="row_spacing">6</property>
    
    135
    -                <property name="column_spacing">12</property>
    
    136
    -                <child>
    
    137
    -                  <object class="GtkLabel">
    
    138
    -                    <property name="visible">True</property>
    
    139
    -                    <property name="can_focus">False</property>
    
    140
    -                    <property name="halign">end</property>
    
    141
    -                    <property name="label" translatable="yes">Properties</property>
    
    142
    -                    <property name="use_markup">True</property>
    
    143
    -                    <style>
    
    144
    -                      <class name="bold"/>
    
    145
    -                    </style>
    
    146
    -                  </object>
    
    147
    -                  <packing>
    
    148
    -                    <property name="left_attach">0</property>
    
    149
    -                    <property name="top_attach">0</property>
    
    150
    -                  </packing>
    
    151
    -                </child>
    
    152
    -                <child>
    
    153
    -                  <object class="GtkLabel">
    
    154
    -                    <property name="visible">True</property>
    
    155
    -                    <property name="can_focus">False</property>
    
    156
    -                    <property name="halign">end</property>
    
    157
    -                    <property name="label" translatable="yes">_Name</property>
    
    158
    -                    <property name="use_underline">True</property>
    
    159
    -                    <style>
    
    160
    -                      <class name="dim-label"/>
    
    161
    -                    </style>
    
    162
    -                  </object>
    
    163
    -                  <packing>
    
    164
    -                    <property name="left_attach">0</property>
    
    165
    -                    <property name="top_attach">1</property>
    
    166
    -                  </packing>
    
    167
    -                </child>
    
    168
    -                <child>
    
    169
    -                  <object class="GtkLabel">
    
    170
    -                    <property name="visible">True</property>
    
    171
    -                    <property name="can_focus">False</property>
    
    172
    -                    <property name="halign">end</property>
    
    173
    -                    <property name="label" translatable="yes">_Type</property>
    
    174
    -                    <property name="use_underline">True</property>
    
    175
    -                    <style>
    
    176
    -                      <class name="dim-label"/>
    
    177
    -                    </style>
    
    178
    -                  </object>
    
    179
    -                  <packing>
    
    180
    -                    <property name="left_attach">0</property>
    
    181
    -                    <property name="top_attach">2</property>
    
    182
    -                  </packing>
    
    183
    -                </child>
    
    184
    -                <child>
    
    185
    -                  <object class="GtkEntry" id="proxyname_entry">
    
    186
    -                    <property name="width_request">200</property>
    
    187
    -                    <property name="visible">True</property>
    
    188
    -                    <property name="can_focus">True</property>
    
    189
    -                    <signal name="changed" handler="on_proxyname_entry_changed" swapped="no"/>
    
    190
    -                  </object>
    
    191
    -                  <packing>
    
    192
    -                    <property name="left_attach">1</property>
    
    193
    -                    <property name="top_attach">1</property>
    
    194
    -                  </packing>
    
    195
    -                </child>
    
    196
    -                <child>
    
    197
    -                  <object class="GtkComboBox" id="proxytype_combobox">
    
    198
    -                    <property name="visible">True</property>
    
    199
    -                    <property name="can_focus">False</property>
    
    200
    -                    <property name="margin_bottom">6</property>
    
    201
    -                    <property name="model">liststore1</property>
    
    202
    -                    <signal name="changed" handler="on_proxytype_combobox_changed" swapped="no"/>
    
    203
    -                    <child>
    
    204
    -                      <object class="GtkCellRendererText"/>
    
    205
    -                      <attributes>
    
    206
    -                        <attribute name="text">0</attribute>
    
    207
    -                      </attributes>
    
    208
    -                    </child>
    
    209
    -                  </object>
    
    210
    -                  <packing>
    
    211
    -                    <property name="left_attach">1</property>
    
    212
    -                    <property name="top_attach">2</property>
    
    213
    -                  </packing>
    
    214
    -                </child>
    
    215
    -                <child>
    
    216
    -                  <placeholder/>
    
    217
    -                </child>
    
    218
    -              </object>
    
    219
    -              <packing>
    
    220
    -                <property name="expand">False</property>
    
    221
    -                <property name="fill">True</property>
    
    222
    -                <property name="position">0</property>
    
    223
    -              </packing>
    
    224
    -            </child>
    
    225
    -            <child>
    
    226
    -              <object class="GtkGrid" id="proxy_table">
    
    227
    -                <property name="visible">True</property>
    
    228
    -                <property name="can_focus">False</property>
    
    229
    -                <property name="row_spacing">6</property>
    
    230
    -                <property name="column_spacing">12</property>
    
    231
    -                <child>
    
    232
    -                  <object class="GtkLabel" id="boshuri_label">
    
    233
    -                    <property name="visible">True</property>
    
    234
    -                    <property name="can_focus">False</property>
    
    235
    -                    <property name="halign">end</property>
    
    236
    -                    <property name="label" translatable="yes">_BOSH URL</property>
    
    237
    -                    <property name="use_underline">True</property>
    
    238
    -                    <style>
    
    239
    -                      <class name="dim-label"/>
    
    240
    -                    </style>
    
    241
    -                  </object>
    
    242
    -                  <packing>
    
    243
    -                    <property name="left_attach">0</property>
    
    244
    -                    <property name="top_attach">1</property>
    
    245
    -                  </packing>
    
    246
    -                </child>
    
    247
    -                <child>
    
    248
    -                  <object class="GtkEntry" id="boshuri_entry">
    
    249
    -                    <property name="width_request">200</property>
    
    250
    -                    <property name="visible">True</property>
    
    251
    -                    <property name="can_focus">True</property>
    
    252
    -                    <signal name="changed" handler="on_boshuri_entry_changed" swapped="no"/>
    
    253
    -                  </object>
    
    254
    -                  <packing>
    
    255
    -                    <property name="left_attach">1</property>
    
    256
    -                    <property name="top_attach">1</property>
    
    257
    -                  </packing>
    
    258
    -                </child>
    
    259
    -                <child>
    
    260
    -                  <object class="GtkCheckButton" id="boshuseproxy_checkbutton">
    
    261
    -                    <property name="label" translatable="yes">Use HTTP prox_y</property>
    
    262
    -                    <property name="visible">True</property>
    
    263
    -                    <property name="can_focus">True</property>
    
    264
    -                    <property name="receives_default">False</property>
    
    265
    -                    <property name="halign">start</property>
    
    266
    -                    <property name="use_underline">True</property>
    
    267
    -                    <property name="draw_indicator">True</property>
    
    268
    -                    <signal name="toggled" handler="on_boshuseproxy_checkbutton_toggled" swapped="no"/>
    
    269
    -                  </object>
    
    270
    -                  <packing>
    
    271
    -                    <property name="left_attach">1</property>
    
    272
    -                    <property name="top_attach">2</property>
    
    273
    -                  </packing>
    
    274
    -                </child>
    
    275
    -                <child>
    
    276
    -                  <object class="GtkLabel">
    
    277
    -                    <property name="visible">True</property>
    
    278
    -                    <property name="can_focus">False</property>
    
    279
    -                    <property name="halign">end</property>
    
    280
    -                    <property name="label" translatable="yes">Proxy _Host</property>
    
    281
    -                    <property name="use_underline">True</property>
    
    282
    -                    <style>
    
    283
    -                      <class name="dim-label"/>
    
    284
    -                    </style>
    
    285
    -                  </object>
    
    286
    -                  <packing>
    
    287
    -                    <property name="left_attach">0</property>
    
    288
    -                    <property name="top_attach">3</property>
    
    289
    -                  </packing>
    
    290
    -                </child>
    
    291
    -                <child>
    
    292
    -                  <object class="GtkEntry" id="proxyhost_entry">
    
    293
    -                    <property name="visible">True</property>
    
    294
    -                    <property name="can_focus">True</property>
    
    295
    -                    <signal name="changed" handler="on_proxyhost_entry_changed" swapped="no"/>
    
    296
    -                  </object>
    
    297
    -                  <packing>
    
    298
    -                    <property name="left_attach">1</property>
    
    299
    -                    <property name="top_attach">3</property>
    
    300
    -                  </packing>
    
    301
    -                </child>
    
    302
    -                <child>
    
    303
    -                  <object class="GtkLabel">
    
    304
    -                    <property name="visible">True</property>
    
    305
    -                    <property name="can_focus">False</property>
    
    306
    -                    <property name="halign">end</property>
    
    307
    -                    <property name="label" translatable="yes">Proxy _Port</property>
    
    308
    -                    <property name="use_underline">True</property>
    
    309
    -                    <style>
    
    310
    -                      <class name="dim-label"/>
    
    311
    -                    </style>
    
    312
    -                  </object>
    
    313
    -                  <packing>
    
    314
    -                    <property name="left_attach">0</property>
    
    315
    -                    <property name="top_attach">4</property>
    
    316
    -                  </packing>
    
    317
    -                </child>
    
    318
    -                <child>
    
    319
    -                  <object class="GtkEntry" id="proxyport_entry">
    
    320
    -                    <property name="visible">True</property>
    
    321
    -                    <property name="can_focus">True</property>
    
    322
    -                    <signal name="changed" handler="on_proxyport_entry_changed" swapped="no"/>
    
    323
    -                  </object>
    
    324
    -                  <packing>
    
    325
    -                    <property name="left_attach">1</property>
    
    326
    -                    <property name="top_attach">4</property>
    
    327
    -                  </packing>
    
    328
    -                </child>
    
    329
    -                <child>
    
    330
    -                  <object class="GtkLabel">
    
    331
    -                    <property name="visible">True</property>
    
    332
    -                    <property name="can_focus">False</property>
    
    333
    -                    <property name="halign">end</property>
    
    334
    -                    <property name="label" translatable="yes">_Username</property>
    
    335
    -                    <property name="use_underline">True</property>
    
    336
    -                    <style>
    
    337
    -                      <class name="dim-label"/>
    
    338
    -                    </style>
    
    339
    -                  </object>
    
    340
    -                  <packing>
    
    341
    -                    <property name="left_attach">0</property>
    
    342
    -                    <property name="top_attach">6</property>
    
    343
    -                  </packing>
    
    344
    -                </child>
    
    345
    -                <child>
    
    346
    -                  <object class="GtkCheckButton" id="useauth_checkbutton">
    
    347
    -                    <property name="label" translatable="yes">Use proxy auth_entication</property>
    
    348
    -                    <property name="visible">True</property>
    
    349
    -                    <property name="can_focus">True</property>
    
    350
    -                    <property name="receives_default">False</property>
    
    351
    -                    <property name="halign">start</property>
    
    352
    -                    <property name="use_underline">True</property>
    
    353
    -                    <property name="draw_indicator">True</property>
    
    354
    -                    <signal name="toggled" handler="on_useauth_checkbutton_toggled" swapped="no"/>
    
    355
    -                  </object>
    
    356
    -                  <packing>
    
    357
    -                    <property name="left_attach">1</property>
    
    358
    -                    <property name="top_attach">5</property>
    
    359
    -                  </packing>
    
    360
    -                </child>
    
    361
    -                <child>
    
    362
    -                  <object class="GtkEntry" id="proxyuser_entry">
    
    363
    -                    <property name="visible">True</property>
    
    364
    -                    <property name="can_focus">True</property>
    
    365
    -                    <signal name="changed" handler="on_proxyuser_entry_changed" swapped="no"/>
    
    366
    -                  </object>
    
    367
    -                  <packing>
    
    368
    -                    <property name="left_attach">1</property>
    
    369
    -                    <property name="top_attach">6</property>
    
    370
    -                  </packing>
    
    371
    -                </child>
    
    372
    -                <child>
    
    373
    -                  <object class="GtkLabel">
    
    374
    -                    <property name="visible">True</property>
    
    375
    -                    <property name="can_focus">False</property>
    
    376
    -                    <property name="halign">end</property>
    
    377
    -                    <property name="label" translatable="yes">Pass_word</property>
    
    378
    -                    <property name="use_underline">True</property>
    
    379
    -                    <style>
    
    380
    -                      <class name="dim-label"/>
    
    381
    -                    </style>
    
    382
    -                  </object>
    
    383
    -                  <packing>
    
    384
    -                    <property name="left_attach">0</property>
    
    385
    -                    <property name="top_attach">7</property>
    
    386
    -                  </packing>
    
    387
    -                </child>
    
    388
    -                <child>
    
    389
    -                  <object class="GtkEntry" id="proxypass_entry">
    
    390
    -                    <property name="visible">True</property>
    
    391
    -                    <property name="can_focus">True</property>
    
    392
    -                    <property name="visibility">False</property>
    
    393
    -                    <signal name="changed" handler="on_proxypass_entry_changed" swapped="no"/>
    
    394
    -                  </object>
    
    395
    -                  <packing>
    
    396
    -                    <property name="left_attach">1</property>
    
    397
    -                    <property name="top_attach">7</property>
    
    398
    -                  </packing>
    
    399
    -                </child>
    
    400
    -                <child>
    
    401
    -                  <object class="GtkLabel">
    
    402
    -                    <property name="visible">True</property>
    
    403
    -                    <property name="can_focus">False</property>
    
    404
    -                    <property name="halign">end</property>
    
    405
    -                    <property name="label" translatable="yes">Settings</property>
    
    406
    -                    <property name="use_markup">True</property>
    
    407
    -                    <style>
    
    408
    -                      <class name="bold"/>
    
    409
    -                    </style>
    
    410
    -                  </object>
    
    411
    -                  <packing>
    
    412
    -                    <property name="left_attach">0</property>
    
    413
    -                    <property name="top_attach">0</property>
    
    414
    -                  </packing>
    
    415
    -                </child>
    
    416
    -                <child>
    
    417
    -                  <placeholder/>
    
    418
    -                </child>
    
    419
    -                <child>
    
    420
    -                  <placeholder/>
    
    421
    -                </child>
    
    422
    -                <child>
    
    423
    -                  <placeholder/>
    
    424
    -                </child>
    
    425
    -              </object>
    
    426
    -              <packing>
    
    427
    -                <property name="expand">False</property>
    
    428
    -                <property name="fill">True</property>
    
    429
    -                <property name="position">1</property>
    
    430
    -              </packing>
    
    431
    -            </child>
    
    432
    -          </object>
    
    433
    -          <packing>
    
    434
    -            <property name="expand">False</property>
    
    435
    -            <property name="fill">True</property>
    
    436
    -            <property name="position">1</property>
    
    437
    -          </packing>
    
    438
    -        </child>
    
    439
    -      </object>
    
    440
    -    </child>
    
    441
    -  </object>
    
    442
    -</interface>

  • gajim/gtk/account_wizard.py
    ... ... @@ -347,11 +347,12 @@ class AccountCreationWizard:
    347 347
                 model.append([proxy])
    
    348 348
             proxies_combobox.set_active(0)
    
    349 349
     
    
    350
    -    def on_manage_proxies_button_clicked(self, widget):
    
    351
    -        if 'manage_proxies' in app.interface.instances:
    
    352
    -            app.interface.instances['manage_proxies'].window.present()
    
    350
    +    def on_manage_proxies_button_clicked(self, _widget):
    
    351
    +        window = app.get_app_window(ManageProxies)
    
    352
    +        if window is None:
    
    353
    +            ManageProxies()
    
    353 354
             else:
    
    354
    -            app.interface.instances['manage_proxies'] = ManageProxies()
    
    355
    +            window.present()
    
    355 356
     
    
    356 357
         def on_custom_host_port_checkbutton_toggled(self, widget):
    
    357 358
             self.xml.get_object('custom_host_hbox').set_sensitive(
    

  • gajim/gtk/preferences.py
    ... ... @@ -972,11 +972,12 @@ class Preferences(Gtk.ApplicationWindow):
    972 972
                 proxy = ''
    
    973 973
             app.config.set('global_proxy', proxy)
    
    974 974
     
    
    975
    -    def on_manage_proxies_button_clicked(self, widget):
    
    976
    -        if 'manage_proxies' in app.interface.instances:
    
    977
    -            app.interface.instances['manage_proxies'].window.present()
    
    975
    +    def on_manage_proxies_button_clicked(self, _widget):
    
    976
    +        window = app.get_app_window(ManageProxies)
    
    977
    +        if window is None:
    
    978
    +            ManageProxies()
    
    978 979
             else:
    
    979
    -            app.interface.instances['manage_proxies'] = ManageProxies()
    
    980
    +            window.present()
    
    980 981
     
    
    981 982
         def update_proxy_list(self):
    
    982 983
             our_proxy = app.config.get('global_proxy')
    

  • gajim/gtk/proxies.py
    ... ... @@ -16,54 +16,70 @@ from gi.repository import Gdk
    16 16
     from gi.repository import Gtk
    
    17 17
     
    
    18 18
     from gajim.common import app
    
    19
    +from gajim.common.i18n import _
    
    19 20
     
    
    20 21
     from gajim.gtk.util import get_builder
    
    21 22
     
    
    22 23
     
    
    23
    -class ManageProxies:
    
    24
    +class ManageProxies(Gtk.ApplicationWindow):
    
    24 25
         def __init__(self):
    
    25
    -        self._ui = get_builder('manage_proxies_window.ui')
    
    26
    -        self.window = self._ui.manage_proxies_window
    
    27
    -        self.window.set_transient_for(app.app.get_active_window())
    
    28
    -
    
    29
    -        self.init_list()
    
    30
    -        self.block_signal = False
    
    26
    +        Gtk.ApplicationWindow.__init__(self)
    
    27
    +        self.set_name('ManageProxies')
    
    28
    +        self.set_application(app.app)
    
    29
    +        self.set_position(Gtk.WindowPosition.CENTER)
    
    30
    +        self.set_default_size(500, -1)
    
    31
    +        self.set_show_menubar(False)
    
    32
    +        self.set_title(_('Manage Proxies'))
    
    33
    +
    
    34
    +        self._ui = get_builder('manage_proxies.ui')
    
    35
    +        self.add(self._ui.box)
    
    36
    +
    
    37
    +        self._init_list()
    
    38
    +        self._block_signal = False
    
    39
    +
    
    40
    +        self.connect('key-press-event', self._on_key_press)
    
    41
    +        self.connect('destroy', self._on_destroy)
    
    31 42
             self._ui.connect_signals(self)
    
    32
    -        self.window.show_all()
    
    43
    +        self.show_all()
    
    33 44
     
    
    34
    -        # hide the BOSH fields by default
    
    35
    -        self.show_bosh_fields()
    
    36
    -        self._ui.boshuri_entry.hide()
    
    37
    -        self._ui.boshuri_label.hide()
    
    38
    -        self._ui.boshuseproxy_checkbutton.hide()
    
    45
    +    def _on_key_press(self, _widget, event):
    
    46
    +        if event.keyval == Gdk.KEY_Escape:
    
    47
    +            self.destroy()
    
    39 48
     
    
    40
    -    def show_bosh_fields(self, show=True):
    
    49
    +    def _on_destroy(self, *args):
    
    50
    +        # Window callbacks for updating proxy comboboxes
    
    51
    +        window_pref = app.get_app_window('Preferences')
    
    52
    +        window_accounts = app.get_app_window('AccountsWindow')
    
    53
    +        if window_pref is not None:
    
    54
    +            window_pref.update_proxy_list()
    
    55
    +        if window_accounts is not None:
    
    56
    +            window_accounts.update_proxy_list()
    
    57
    +
    
    58
    +    def _show_bosh_fields(self, show=True):
    
    41 59
             if show:
    
    42 60
                 self._ui.boshuri_entry.show()
    
    43 61
                 self._ui.boshuri_label.show()
    
    44
    -            self._ui.boshuseproxy_checkbutton.show()
    
    45
    -            act = self._ui.boshuseproxy_checkbutton.get_active()
    
    62
    +            self._ui.bosh_useproxy_checkbutton.show()
    
    63
    +            act = self._ui.bosh_useproxy_checkbutton.get_active()
    
    46 64
                 self._ui.proxyhost_entry.set_sensitive(act)
    
    47 65
                 self._ui.proxyport_entry.set_sensitive(act)
    
    48 66
             else:
    
    49
    -            self._ui.boshuseproxy_checkbutton.hide()
    
    50
    -            self._ui.boshuseproxy_checkbutton.set_active(True)
    
    51
    -            self.on_boshuseproxy_checkbutton_toggled(
    
    52
    -                self._ui.boshuseproxy_checkbutton)
    
    53 67
                 self._ui.boshuri_entry.hide()
    
    54 68
                 self._ui.boshuri_label.hide()
    
    69
    +            self._ui.bosh_useproxy_checkbutton.hide()
    
    70
    +            self._ui.proxyhost_entry.set_sensitive(True)
    
    71
    +            self._ui.proxyport_entry.set_sensitive(True)
    
    55 72
     
    
    56
    -    def fill_proxies_treeview(self):
    
    73
    +    def _fill_proxies_treeview(self):
    
    57 74
             model = self._ui.proxies_treeview.get_model()
    
    58 75
             model.clear()
    
    59 76
             for proxy in app.config.get_per('proxies'):
    
    60 77
                 iter_ = model.append()
    
    61 78
                 model.set(iter_, 0, proxy)
    
    62 79
     
    
    63
    -    def init_list(self):
    
    80
    +    def _init_list(self):
    
    64 81
             self._ui.remove_proxy_button.set_sensitive(False)
    
    65
    -        self._ui.proxytype_combobox.set_sensitive(False)
    
    66
    -        self._ui.proxy_table.set_sensitive(False)
    
    82
    +        self._ui.settings_grid.set_sensitive(False)
    
    67 83
             model = Gtk.ListStore(str)
    
    68 84
             self._ui.proxies_treeview.set_model(model)
    
    69 85
             col = Gtk.TreeViewColumn('Proxies')
    
    ... ... @@ -71,10 +87,10 @@ class ManageProxies:
    71 87
             renderer = Gtk.CellRendererText()
    
    72 88
             col.pack_start(renderer, True)
    
    73 89
             col.add_attribute(renderer, 'text', 0)
    
    74
    -        self.fill_proxies_treeview()
    
    90
    +        self._fill_proxies_treeview()
    
    75 91
             self._ui.proxytype_combobox.set_active(0)
    
    76 92
     
    
    77
    -    def on_add_proxy_button_clicked(self, _widget):
    
    93
    +    def _on_add_proxy_button_clicked(self, _widget):
    
    78 94
             model = self._ui.proxies_treeview.get_model()
    
    79 95
             proxies = app.config.get_per('proxies')
    
    80 96
             i = 1
    
    ... ... @@ -85,7 +101,7 @@ class ManageProxies:
    85 101
             app.config.add_per('proxies', 'proxy' + str(i))
    
    86 102
             self._ui.proxies_treeview.set_cursor(model.get_path(iter_))
    
    87 103
     
    
    88
    -    def on_remove_proxy_button_clicked(self, _widget):
    
    104
    +    def _on_remove_proxy_button_clicked(self, _widget):
    
    89 105
             sel = self._ui.proxies_treeview.get_selection()
    
    90 106
             if not sel:
    
    91 107
                 return
    
    ... ... @@ -96,12 +112,12 @@ class ManageProxies:
    96 112
             model.remove(iter_)
    
    97 113
             app.config.del_per('proxies', proxy)
    
    98 114
             self._ui.remove_proxy_button.set_sensitive(False)
    
    99
    -        self.block_signal = True
    
    100
    -        self.on_proxies_treeview_cursor_changed(self._ui.proxies_treeview)
    
    101
    -        self.block_signal = False
    
    115
    +        self._block_signal = True
    
    116
    +        self._on_proxies_treeview_cursor_changed(self._ui.proxies_treeview)
    
    117
    +        self._block_signal = False
    
    102 118
     
    
    103
    -    def on_useauth_checkbutton_toggled(self, widget):
    
    104
    -        if self.block_signal:
    
    119
    +    def _on_useauth_toggled(self, widget):
    
    120
    +        if self._block_signal:
    
    105 121
                 return
    
    106 122
             act = widget.get_active()
    
    107 123
             proxy = self._ui.proxyname_entry.get_text()
    
    ... ... @@ -109,20 +125,17 @@ class ManageProxies:
    109 125
             self._ui.proxyuser_entry.set_sensitive(act)
    
    110 126
             self._ui.proxypass_entry.set_sensitive(act)
    
    111 127
     
    
    112
    -    def on_boshuseproxy_checkbutton_toggled(self, widget):
    
    113
    -        if self.block_signal:
    
    128
    +    def _on_bosh_useproxy_toggled(self, checkbutton):
    
    129
    +        if self._block_signal:
    
    114 130
                 return
    
    115
    -        act = widget.get_active()
    
    131
    +        act = checkbutton.get_active()
    
    116 132
             proxy = self._ui.proxyname_entry.get_text()
    
    117 133
             app.config.set_per('proxies', proxy, 'bosh_useproxy', act)
    
    118 134
             self._ui.proxyhost_entry.set_sensitive(act)
    
    119 135
             self._ui.proxyport_entry.set_sensitive(act)
    
    120 136
     
    
    121
    -    def on_proxies_treeview_cursor_changed(self, widget):
    
    122
    -        #FIXME: check if off proxy settings are correct (see
    
    123
    -        # http://trac.gajim.org/changeset/1921#file2 line 1221
    
    124
    -
    
    125
    -        self.block_signal = True
    
    137
    +    def _on_proxies_treeview_cursor_changed(self, widget):
    
    138
    +        self._block_signal = True
    
    126 139
             self._ui.proxyhost_entry.set_text('')
    
    127 140
             self._ui.proxyport_entry.set_text('')
    
    128 141
             self._ui.proxyuser_entry.set_text('')
    
    ... ... @@ -136,9 +149,8 @@ class ManageProxies:
    136 149
                 iter_ = None
    
    137 150
             if not iter_:
    
    138 151
                 self._ui.proxyname_entry.set_text('')
    
    139
    -            self._ui.proxytype_combobox.set_sensitive(False)
    
    140
    -            self._ui.proxy_table.set_sensitive(False)
    
    141
    -            self.block_signal = False
    
    152
    +            self._ui.settings_grid.set_sensitive(False)
    
    153
    +            self._block_signal = False
    
    142 154
                 return
    
    143 155
     
    
    144 156
             proxy = model[iter_][0]
    
    ... ... @@ -146,20 +158,19 @@ class ManageProxies:
    146 158
     
    
    147 159
             proxytype = app.config.get_per('proxies', proxy, 'type')
    
    148 160
     
    
    149
    -        self.show_bosh_fields(proxytype == 'bosh')
    
    161
    +        self._show_bosh_fields(proxytype == 'bosh')
    
    150 162
     
    
    151
    -        self._ui.proxyname_entry.set_editable(True)
    
    152
    -        self._ui.proxyname_entry.set_sensitive(True)
    
    153 163
             self._ui.remove_proxy_button.set_sensitive(True)
    
    154
    -        self._ui.proxytype_combobox.set_sensitive(True)
    
    155
    -        self._ui.proxy_table.set_sensitive(True)
    
    164
    +        self._ui.proxyname_entry.set_editable(True)
    
    165
    +
    
    166
    +        self._ui.settings_grid.set_sensitive(True)
    
    156 167
     
    
    157 168
             self._ui.boshuri_entry.set_text(
    
    158 169
                 app.config.get_per('proxies', proxy, 'bosh_uri'))
    
    159
    -        self._ui.boshuseproxy_checkbutton.set_active(
    
    170
    +        self._ui.bosh_useproxy_checkbutton.set_active(
    
    160 171
                 app.config.get_per('proxies', proxy, 'bosh_useproxy'))
    
    161 172
             if proxytype == 'bosh':
    
    162
    -            act = self._ui.boshuseproxy_checkbutton.get_active()
    
    173
    +            act = self._ui.bosh_useproxy_checkbutton.get_active()
    
    163 174
                 self._ui.proxyhost_entry.set_sensitive(act)
    
    164 175
                 self._ui.proxyport_entry.set_sensitive(act)
    
    165 176
     
    
    ... ... @@ -181,14 +192,14 @@ class ManageProxies:
    181 192
             self._ui.proxyuser_entry.set_sensitive(act)
    
    182 193
             self._ui.proxypass_entry.set_sensitive(act)
    
    183 194
     
    
    184
    -        self.block_signal = False
    
    195
    +        self._block_signal = False
    
    185 196
     
    
    186
    -    def on_proxies_treeview_key_press_event(self, widget, event):
    
    197
    +    def _on_proxies_treeview_key_press_event(self, widget, event):
    
    187 198
             if event.keyval == Gdk.KEY_Delete:
    
    188
    -            self.on_remove_proxy_button_clicked(widget)
    
    199
    +            self._on_remove_proxy_button_clicked(widget)
    
    189 200
     
    
    190
    -    def on_proxyname_entry_changed(self, widget):
    
    191
    -        if self.block_signal:
    
    201
    +    def _on_proxyname_entry_changed(self, widget):
    
    202
    +        if self._block_signal:
    
    192 203
                 return
    
    193 204
             sel = self._ui.proxies_treeview.get_selection()
    
    194 205
             if not sel:
    
    ... ... @@ -209,59 +220,48 @@ class ManageProxies:
    209 220
                 app.config.set_per('proxies', new_name, option, config[option])
    
    210 221
             model.set_value(iter_, 0, new_name)
    
    211 222
     
    
    212
    -    def on_proxytype_combobox_changed(self, _widget):
    
    213
    -        if self.block_signal:
    
    223
    +    def _on_proxytype_combobox_changed(self, _widget):
    
    224
    +        if self._block_signal:
    
    214 225
                 return
    
    215 226
             types = ['http', 'socks5', 'bosh']
    
    216 227
             type_ = self._ui.proxytype_combobox.get_active()
    
    217
    -        self.show_bosh_fields(types[type_] == 'bosh')
    
    228
    +        self._ui.proxyhost_entry.set_sensitive(True)
    
    229
    +        self._ui.proxyport_entry.set_sensitive(True)
    
    230
    +        self._show_bosh_fields(types[type_] == 'bosh')
    
    218 231
             proxy = self._ui.proxyname_entry.get_text()
    
    219 232
             app.config.set_per('proxies', proxy, 'type', types[type_])
    
    220 233
     
    
    221
    -    def on_boshuri_entry_changed(self, widget):
    
    222
    -        if self.block_signal:
    
    234
    +    def _on_boshuri_entry_changed(self, entry):
    
    235
    +        if self._block_signal:
    
    223 236
                 return
    
    224
    -        value = widget.get_text()
    
    237
    +        value = entry.get_text()
    
    225 238
             proxy = self._ui.proxyname_entry.get_text()
    
    226 239
             app.config.set_per('proxies', proxy, 'bosh_uri', value)
    
    227 240
     
    
    228
    -    def on_proxyhost_entry_changed(self, widget):
    
    229
    -        if self.block_signal:
    
    241
    +    def _on_proxyhost_entry_changed(self, entry):
    
    242
    +        if self._block_signal:
    
    230 243
                 return
    
    231
    -        value = widget.get_text()
    
    244
    +        value = entry.get_text()
    
    232 245
             proxy = self._ui.proxyname_entry.get_text()
    
    233 246
             app.config.set_per('proxies', proxy, 'host', value)
    
    234 247
     
    
    235
    -    def on_proxyport_entry_changed(self, widget):
    
    236
    -        if self.block_signal:
    
    248
    +    def _on_proxyport_entry_changed(self, entry):
    
    249
    +        if self._block_signal:
    
    237 250
                 return
    
    238
    -        value = widget.get_text()
    
    251
    +        value = entry.get_text()
    
    239 252
             proxy = self._ui.proxyname_entry.get_text()
    
    240 253
             app.config.set_per('proxies', proxy, 'port', value)
    
    241 254
     
    
    242
    -    def on_proxyuser_entry_changed(self, widget):
    
    243
    -        if self.block_signal:
    
    255
    +    def _on_proxyuser_entry_changed(self, entry):
    
    256
    +        if self._block_signal:
    
    244 257
                 return
    
    245
    -        value = widget.get_text()
    
    258
    +        value = entry.get_text()
    
    246 259
             proxy = self._ui.proxyname_entry.get_text()
    
    247 260
             app.config.set_per('proxies', proxy, 'user', value)
    
    248 261
     
    
    249
    -    def on_proxypass_entry_changed(self, widget):
    
    250
    -        if self.block_signal:
    
    262
    +    def _on_proxypass_entry_changed(self, entry):
    
    263
    +        if self._block_signal:
    
    251 264
                 return
    
    252
    -        value = widget.get_text()
    
    265
    +        value = entry.get_text()
    
    253 266
             proxy = self._ui.proxyname_entry.get_text()
    
    254 267
             app.config.set_per('proxies', proxy, 'pass', value)
    255
    -
    
    256
    -    def _on_key_press(self, widget, event):
    
    257
    -        if event.keyval == Gdk.KEY_Escape:
    
    258
    -            self.window.destroy()
    
    259
    -
    
    260
    -    def _on_destroy(self, *args):
    
    261
    -        window_pref = app.get_app_window('Preferences')
    
    262
    -        window_accounts = app.get_app_window('AccountsWindow')
    
    263
    -        if window_pref is not None:
    
    264
    -            window_pref.update_proxy_list()
    
    265
    -        if window_accounts is not None:
    
    266
    -            window_accounts.update_proxy_list()
    
    267
    -        del app.interface.instances['manage_proxies']