Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
gajim
python-nbxmpp
Commits
637b3930
Commit
637b3930
authored
May 28, 2022
by
Philipp Hörist
Browse files
feat: Examples: Allow to connect with different modes
parent
d65100e1
Pipeline
#10024
passed with stages
in 1 minute and 6 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
nbxmpp/examples/client.py
View file @
637b3930
...
...
@@ -16,10 +16,10 @@ from nbxmpp.protocol import JID
from
nbxmpp.client
import
Client
from
nbxmpp.structs
import
ProxyData
from
nbxmpp.structs
import
StanzaHandler
from
nbxmpp.addresses
import
ServerAddress
from
nbxmpp.const
import
ConnectionType
from
nbxmpp.const
import
ConnectionProtocol
from
nbxmpp.const
import
StreamError
from
nbxmpp.const
import
Mode
consoleloghandler
=
logging
.
StreamHandler
()
log
=
logging
.
getLogger
(
'nbxmpp'
)
...
...
@@ -94,6 +94,17 @@ class TestClient(Gtk.Window):
self
.
_builder
.
proxy_password
.
get_text
()
or
None
)
self
.
_client
.
set_proxy
(
proxy
)
if
self
.
_builder
.
login_mode
.
get_active
():
self
.
_client
.
set_mode
(
Mode
.
LOGIN_TEST
)
elif
self
.
_builder
.
client_mode
.
get_active
():
self
.
_client
.
set_mode
(
Mode
.
CLIENT
)
elif
self
.
_builder
.
register_mode
.
get_active
():
self
.
_client
.
set_mode
(
Mode
.
REGISTER
)
elif
self
.
_builder
.
anon_mode
.
get_active
():
self
.
_client
.
set_mode
(
Mode
.
ANONYMOUS_TEST
)
else
:
raise
ValueError
(
'No mode selected'
)
self
.
_client
.
set_connection_types
(
self
.
_get_connection_types
())
self
.
_client
.
set_protocols
(
self
.
_get_connection_protocols
())
...
...
@@ -168,8 +179,10 @@ class TestClient(Gtk.Window):
self
.
_scroll_timeout
=
GLib
.
timeout_add
(
50
,
self
.
scroll_to_end
)
def
_connect_clicked
(
self
,
*
args
):
if
self
.
_client
is
None
:
self
.
_create_client
()
if
self
.
_client
is
not
None
:
self
.
_client
.
destroy
()
self
.
_create_client
()
self
.
_client
.
connect
()
...
...
nbxmpp/examples/client.ui
View file @
637b3930
<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.
22.1
-->
<!-- Generated with glade 3.
38.2
-->
<interface>
<requires
lib=
"gtk+"
version=
"3.20"
/>
<!-- n-columns=1 n-rows=3 -->
<object
class=
"GtkGrid"
id=
"grid"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"margin
_lef
t"
>
24
</property>
<property
name=
"margin
_right
"
>
24
</property>
<property
name=
"margin
_
top"
>
24
</property>
<property
name=
"margin
_
bottom"
>
24
</property>
<property
name=
"row
_
spacing"
>
12
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"margin
-star
t"
>
24
</property>
<property
name=
"margin
-end
"
>
24
</property>
<property
name=
"margin
-
top"
>
24
</property>
<property
name=
"margin
-
bottom"
>
24
</property>
<property
name=
"row
-
spacing"
>
12
</property>
<child>
<object
class=
"GtkButtonBox"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"spacing"
>
12
</property>
<property
name=
"layout
_
style"
>
start
</property>
<property
name=
"layout
-
style"
>
start
</property>
<child>
<object
class=
"GtkButton"
>
<property
name=
"label"
translatable=
"yes"
>
Connect
</property>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"receives
_
default"
>
True
</property>
<property
name=
"can
-
focus"
>
True
</property>
<property
name=
"receives
-
default"
>
True
</property>
<signal
name=
"clicked"
handler=
"_connect_clicked"
swapped=
"no"
/>
<style>
<class
name=
"suggested-action"
/>
...
...
@@ -37,8 +38,8 @@
<object
class=
"GtkButton"
>
<property
name=
"label"
translatable=
"yes"
>
Disconnect
</property>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"receives
_
default"
>
True
</property>
<property
name=
"can
-
focus"
>
True
</property>
<property
name=
"receives
-
default"
>
True
</property>
<signal
name=
"clicked"
handler=
"_disconnect_clicked"
swapped=
"no"
/>
<style>
<class
name=
"destructive-action"
/>
...
...
@@ -54,8 +55,8 @@
<object
class=
"GtkButton"
>
<property
name=
"label"
translatable=
"yes"
>
Reconnect
</property>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"receives
_
default"
>
True
</property>
<property
name=
"can
-
focus"
>
True
</property>
<property
name=
"receives
-
default"
>
True
</property>
<signal
name=
"clicked"
handler=
"_on_reconnect_clicked"
swapped=
"no"
/>
</object>
<packing>
...
...
@@ -68,8 +69,8 @@
<object
class=
"GtkButton"
id=
"clear"
>
<property
name=
"label"
translatable=
"yes"
>
Clear
</property>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"receives
_
default"
>
True
</property>
<property
name=
"can
-
focus"
>
True
</property>
<property
name=
"receives
-
default"
>
True
</property>
<signal
name=
"clicked"
handler=
"_clear_clicked"
swapped=
"no"
/>
</object>
<packing>
...
...
@@ -80,242 +81,244 @@
</child>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
2
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
2
</property>
</packing>
</child>
<child>
<!-- n-columns=3 n-rows=8 -->
<object
class=
"GtkGrid"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"hexpand"
>
True
</property>
<property
name=
"row
_
spacing"
>
6
</property>
<property
name=
"column
_
spacing"
>
12
</property>
<property
name=
"row
-
spacing"
>
6
</property>
<property
name=
"column
-
spacing"
>
12
</property>
<child>
<object
class=
"GtkLabel"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"label"
translatable=
"yes"
>
XMPP-Address
</property>
<property
name=
"xalign"
>
1
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
0
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
0
</property>
</packing>
</child>
<child>
<object
class=
"GtkLabel"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"label"
translatable=
"yes"
>
Password
</property>
<property
name=
"xalign"
>
1
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
1
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
1
</property>
</packing>
</child>
<child>
<object
class=
"GtkEntry"
id=
"address"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"can
-
focus"
>
True
</property>
<property
name=
"valign"
>
center
</property>
<property
name=
"hexpand"
>
True
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
1
</property>
<property
name=
"top
_
attach"
>
0
</property>
<property
name=
"left
-
attach"
>
1
</property>
<property
name=
"top
-
attach"
>
0
</property>
</packing>
</child>
<child>
<object
class=
"GtkEntry"
id=
"password"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"can
-
focus"
>
True
</property>
<property
name=
"valign"
>
center
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
1
</property>
<property
name=
"top
_
attach"
>
1
</property>
<property
name=
"left
-
attach"
>
1
</property>
<property
name=
"top
-
attach"
>
1
</property>
</packing>
</child>
<child>
<object
class=
"GtkLabel"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"label"
translatable=
"yes"
>
Proxy Host or IP
</property>
<property
name=
"xalign"
>
1
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
3
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
3
</property>
</packing>
</child>
<child>
<object
class=
"GtkLabel"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"label"
translatable=
"yes"
>
Proxy Port
</property>
<property
name=
"xalign"
>
1
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
4
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
4
</property>
</packing>
</child>
<child>
<object
class=
"GtkLabel"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"label"
translatable=
"yes"
>
Proxy Password
</property>
<property
name=
"xalign"
>
1
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
6
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
6
</property>
</packing>
</child>
<child>
<object
class=
"GtkLabel"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"label"
translatable=
"yes"
>
Proxy Username
</property>
<property
name=
"xalign"
>
1
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
5
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
5
</property>
</packing>
</child>
<child>
<object
class=
"GtkEntry"
id=
"proxy_ip"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"can
-
focus"
>
True
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
1
</property>
<property
name=
"top
_
attach"
>
3
</property>
<property
name=
"left
-
attach"
>
1
</property>
<property
name=
"top
-
attach"
>
3
</property>
</packing>
</child>
<child>
<object
class=
"GtkEntry"
id=
"proxy_username"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"can
-
focus"
>
True
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
1
</property>
<property
name=
"top
_
attach"
>
5
</property>
<property
name=
"left
-
attach"
>
1
</property>
<property
name=
"top
-
attach"
>
5
</property>
</packing>
</child>
<child>
<object
class=
"GtkEntry"
id=
"proxy_port"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"can
-
focus"
>
True
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
1
</property>
<property
name=
"top
_
attach"
>
4
</property>
<property
name=
"left
-
attach"
>
1
</property>
<property
name=
"top
-
attach"
>
4
</property>
</packing>
</child>
<child>
<object
class=
"GtkEntry"
id=
"proxy_password"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"can
-
focus"
>
True
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
1
</property>
<property
name=
"top
_
attach"
>
6
</property>
<property
name=
"left
-
attach"
>
1
</property>
<property
name=
"top
-
attach"
>
6
</property>
</packing>
</child>
<child>
<object
class=
"GtkLabel"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"label"
translatable=
"yes"
>
Save
</property>
<property
name=
"xalign"
>
1
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
7
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
7
</property>
</packing>
</child>
<child>
<object
class=
"GtkButton"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"receives
_
default"
>
True
</property>
<property
name=
"tooltip
_
text"
translatable=
"yes"
>
Save
</property>
<property
name=
"can
-
focus"
>
True
</property>
<property
name=
"receives
-
default"
>
True
</property>
<property
name=
"tooltip
-
text"
translatable=
"yes"
>
Save
</property>
<property
name=
"halign"
>
start
</property>
<signal
name=
"clicked"
handler=
"_on_save_clicked"
swapped=
"no"
/>
<child>
<object
class=
"GtkImage"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"icon
_
name"
>
document-save-symbolic
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"icon
-
name"
>
document-save-symbolic
</property>
</object>
</child>
</object>
<packing>
<property
name=
"left
_
attach"
>
1
</property>
<property
name=
"top
_
attach"
>
7
</property>
<property
name=
"left
-
attach"
>
1
</property>
<property
name=
"top
-
attach"
>
7
</property>
</packing>
</child>
<child>
<object
class=
"GtkFrame"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"label
_
xalign"
>
0
</property>
<property
name=
"shadow
_
type"
>
none
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"label
-
xalign"
>
0
</property>
<property
name=
"shadow
-
type"
>
none
</property>
<child>
<object
class=
"GtkAlignment"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"top
_
padding"
>
12
</property>
<property
name=
"bottom
_
padding"
>
12
</property>
<property
name=
"left
_
padding"
>
12
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"top
-
padding"
>
12
</property>
<property
name=
"bottom
-
padding"
>
12
</property>
<property
name=
"left
-
padding"
>
12
</property>
<child>
<!-- n-columns=1 n-rows=3 -->
<object
class=
"GtkGrid"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<child>
<object
class=
"GtkCheckButton"
id=
"directtls"
>
<property
name=
"label"
translatable=
"yes"
>
DIRECT TLS
</property>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"receives
_
default"
>
False
</property>
<property
name=
"can
-
focus"
>
True
</property>
<property
name=
"receives
-
default"
>
False
</property>
<property
name=
"halign"
>
start
</property>
<property
name=
"draw
_
indicator"
>
True
</property>
<property
name=
"draw
-
indicator"
>
True
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
0
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
0
</property>
</packing>
</child>
<child>
<object
class=
"GtkCheckButton"
id=
"starttls"
>
<property
name=
"label"
translatable=
"yes"
>
START TLS
</property>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"receives
_
default"
>
False
</property>
<property
name=
"can
-
focus"
>
True
</property>
<property
name=
"receives
-
default"
>
False
</property>
<property
name=
"halign"
>
start
</property>
<property
name=
"draw
_
indicator"
>
True
</property>
<property
name=
"draw
-
indicator"
>
True
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
1
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
1
</property>
</packing>
</child>
<child>
<object
class=
"GtkCheckButton"
id=
"plain"
>
<property
name=
"label"
translatable=
"yes"
>
PLAIN
</property>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"receives
_
default"
>
False
</property>
<property
name=
"can
-
focus"
>
True
</property>
<property
name=
"receives
-
default"
>
False
</property>
<property
name=
"halign"
>
start
</property>
<property
name=
"draw
_
indicator"
>
True
</property>
<property
name=
"draw
-
indicator"
>
True
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
2
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
2
</property>
</packing>
</child>
</object>
...
...
@@ -325,60 +328,61 @@
<child
type=
"label"
>
<object
class=
"GtkLabel"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"label"
translatable=
"yes"
>
Connection Type
</property>
</object>
</child>
</object>
<packing>
<property
name=
"left
_
attach"
>
2
</property>
<property
name=
"top
_
attach"
>
0
</property>
<property
name=
"left
-
attach"
>
2
</property>
<property
name=
"top
-
attach"
>
0
</property>
<property
name=
"height"
>
3
</property>
</packing>
</child>
<child>
<object
class=
"GtkFrame"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"label
_
xalign"
>
0
</property>
<property
name=
"shadow
_
type"
>
none
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"label
-
xalign"
>
0
</property>
<property
name=
"shadow
-
type"
>
none
</property>
<child>
<object
class=
"GtkAlignment"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"top
_
padding"
>
12
</property>
<property
name=
"bottom
_
padding"
>
12
</property>
<property
name=
"left
_
padding"
>
12
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"top
-
padding"
>
12
</property>
<property
name=
"bottom
-
padding"
>
12
</property>
<property
name=
"left
-
padding"
>
12
</property>
<child>
<!-- n-columns=1 n-rows=2 -->
<object
class=
"GtkGrid"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<child>
<object
class=
"GtkCheckButton"
id=
"tcp"
>
<property
name=
"label"
translatable=
"yes"
>
TCP
</property>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"receives
_
default"
>
False
</property>
<property
name=
"can
-
focus"
>
True
</property>
<property
name=
"receives
-
default"
>
False
</property>
<property
name=
"halign"
>
start
</property>
<property
name=
"draw
_
indicator"
>
True
</property>
<property
name=
"draw
-
indicator"
>
True
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
0
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
0
</property>
</packing>
</child>
<child>
<object
class=
"GtkCheckButton"
id=
"websocket"
>
<property
name=
"label"
translatable=
"yes"
>
WEBSOCKET
</property>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
True
</property>
<property
name=
"receives
_
default"
>
False
</property>
<property
name=
"can
-
focus"
>
True
</property>
<property
name=
"receives
-
default"
>
False
</property>
<property
name=
"halign"
>
start
</property>
<property
name=
"draw
_
indicator"
>
True
</property>
<property
name=
"draw
-
indicator"
>
True
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
1
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
1
</property>
</packing>
</child>
</object>
...
...
@@ -388,34 +392,34 @@
<child
type=
"label"
>
<object
class=
"GtkLabel"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"label"
translatable=
"yes"
>
Connection Protocol
</property>
</object>
</child>
</object>
<packing>
<property
name=
"left
_
attach"
>
2
</property>
<property
name=
"top
_
attach"
>
3
</property>
<property
name=
"left
-
attach"
>
2
</property>
<property
name=
"top
-
attach"
>
3
</property>
<property
name=
"height"
>
3
</property>
</packing>
</child>
<child>
<object
class=
"GtkLabel"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"halign"
>
end
</property>
<property
name=
"label"
translatable=
"yes"
>
Proxy Type
</property>
<property
name=
"xalign"
>
1
</property>
</object>
<packing>
<property
name=
"left
_
attach"
>
0
</property>
<property
name=
"top
_
attach"
>
2
</property>
<property
name=
"left
-
attach"
>
0
</property>
<property
name=
"top
-
attach"
>
2
</property>
</packing>
</child>
<child>
<object
class=
"GtkComboBoxText"
id=
"proxy_type"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can
_
focus"
>
False
</property>
<property
name=
"can
-
focus"
>
False
</property>
<property
name=
"halign"
>
start
</property>
<property
name=
"active"
>
0
</property>
<items>
...
...
@@ -423,37 +427,128 @@
</items>
</object>
<packing>
<property
name=
"left
_
attach"
>
1
</property>
<property
name=
"top
_
attach"
>
2
</property>
<property
name=
"left
-
attach"
>
1
</property>
<property
name=
"top
-
attach"
>
2
</property>
</packing>
</child>
<child>
<placeholder/>
<object
class=
"GtkFrame"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can-focus"
>
False
</property>
<property
name=
"label-xalign"
>
0
</property>
<property
name=
"shadow-type"
>
none
</property>
<child>
<object
class=
"GtkAlignment"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can-focus"
>
False
</property>
<property
name=
"top-padding"
>
12
</property>
<property
name=
"bottom-padding"
>
12
</property>
<property
name=
"left-padding"
>
12
</property>
<child>
<!-- n-columns=1 n-rows=4 -->
<object
class=
"GtkGrid"
>
<property
name=
"visible"
>
True
</property>
<property
name=
"can-focus"
>
False
</property>
<child>
<object
class=
"GtkRadioButton"
id=
"client_mode"
>
<property
name=
"label"
translatable=
"yes"
>
Client
</property>
<property
name=
"visible"
>
True
</property>
<property
name=
"can-focus"
>
True
</property>
<property
name=
"receives-default"
>
False
</property>
<property
name=
"active"
>
True
</property>
<property
name=
"draw-indicator"
>
True
</property>
<property
name=
"group"
>
login_mode
</property>
</object>
<packing>
<property
name=
"left-attach"
>
0
</property>
<property
name=
"top-attach"
>
0
</property>
</packing>
</child>
<child>
<object
class=
"GtkRadioButton"
id=
"login_mode"
>
<property
name=
"label"
translatable=
"yes"
>
Login
</property>
<property
name=
"visible"
>
True
</property>
<property
name=
"can-focus"
>
True
</property>
<property
name=
"receives-default"
>
False
</property>
<property
name=
"active"
>
True
</property>
<property
name=
"draw-indicator"
>
True
</property>
</object>