1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 """connection widgets and dialogs"""
23
24 import os
25 import gettext
26
27 import gobject
28 import gtk
29 from kiwi.ui.objectlist import ObjectList, Column
30 from flumotion.admin.connections import getRecentConnections, \
31 hasRecentConnections
32 from flumotion.common.pygobject import gsignal, gproperty
33 from flumotion.ui.glade import GladeWidget, GladeWindow
34
35 __version__ = "$Rev: 6961 $"
36 _ = gettext.gettext
37
38
41
43 gladeFile = 'connections.glade'
44
45 gsignal('have-connection', bool)
46 gsignal('connection-activated', object)
47
49 GladeWidget.__init__(self)
50
51 columns = [Column("host", title=_("Hostname"), searchable=True),
52 Column("timestamp", title=_("Last used"),
53 sorted=True,
54 order=gtk.SORT_DESCENDING,
55 format_func=format_timestamp),
56 ]
57 self._connections = ObjectList(
58 columns,
59 objects=getRecentConnections(),
60 mode=gtk.SELECTION_SINGLE)
61 self._connections.connect(
62 'row-activated',
63 self._on_objectlist_row_activated)
64 self._connections.connect(
65 'selection-changed',
66 self._on_objectlist_selection_changed)
67 self._connections.set_size_request(-1, 160)
68 self.page.pack_start(self._connections)
69 self.page.reorder_child(self._connections, 0)
70 self._connections.show()
71 self._updateButtons()
72
77
82
86
87
88
90 if len(self._connections):
91 self._connections.select(self._connections[0])
92 self._connections.grab_focus()
93
96
99
100
101
107
110
113
116
117 gobject.type_register(Connections)
118
119
121 gladeFile = 'connection-dialog.glade'
122
123 gsignal('have-connection', object)
124
127
130
131 - def on_ok(self, button):
132 self.emit('have-connection',
133 self.widgets['connections'].get_selected())
134
137
138 gobject.type_register(ConnectionsDialog)
139
140
142 gladeFile = 'open-connection.glade'
143
144 gproperty(bool, 'can-activate', 'If the state of the widget is complete',
145 False)
146
153
157
159 old_can_act = self.get_property('can-activate')
160 can_act = self.host_entry.get_text() and self.port_entry.get_text()
161
162 if old_can_act != can_act:
163 self.set_property('can-activate', can_act)
164
166 if button.get_active():
167 self.port_entry.set_text('7531')
168 else:
169 self.port_entry.set_text('8642')
170
172 self.host_entry.set_text(state['host'])
173 self.port_entry.set_text(str(state['port']))
174 self.ssl_check.set_active(not state['use_insecure'])
175
177 return {'host': self.host_entry.get_text(),
178 'port': int(self.port_entry.get_text()),
179 'use_insecure': not self.ssl_check.get_active()}
180 gobject.type_register(OpenConnection)
181
182
223 gobject.type_register(Authenticate)
224