add minimize button to manage_bookmarks window. see #3034
This commit is contained in:
parent
7b05adc678
commit
d2914f642b
|
@ -187,7 +187,6 @@ class Config:
|
||||||
'notification_avatar_width': [opt_int, 48],
|
'notification_avatar_width': [opt_int, 48],
|
||||||
'notification_avatar_height': [opt_int, 48],
|
'notification_avatar_height': [opt_int, 48],
|
||||||
'muc_highlight_words': [opt_str, '', _('A semicolon-separated list of words that will be highlighted in group chats.')],
|
'muc_highlight_words': [opt_str, '', _('A semicolon-separated list of words that will be highlighted in group chats.')],
|
||||||
'minimize_autojoined_rooms': [opt_bool, False, _('If True, autojoined bookmarked rooms will be minimized on startup.')],
|
|
||||||
'quit_on_roster_x_button': [opt_bool, False, _('If True, quits Gajim when X button of Window Manager is clicked. This setting is taken into account only if trayicon is used.')],
|
'quit_on_roster_x_button': [opt_bool, False, _('If True, quits Gajim when X button of Window Manager is clicked. This setting is taken into account only if trayicon is used.')],
|
||||||
'check_if_gajim_is_default': [opt_bool, True, _('If True, Gajim will check if it\'s the default jabber client on each startup.')],
|
'check_if_gajim_is_default': [opt_bool, True, _('If True, Gajim will check if it\'s the default jabber client on each startup.')],
|
||||||
'show_unread_tab_icon': [opt_bool, False, _('If True, Gajim will display an icon on each tab containing unread messages. Depending on the theme, this icon may be animated.')],
|
'show_unread_tab_icon': [opt_bool, False, _('If True, Gajim will display an icon on each tab containing unread messages. Depending on the theme, this icon may be animated.')],
|
||||||
|
|
|
@ -1095,6 +1095,7 @@ class Connection(ConnectionHandlers):
|
||||||
iq4 = iq3.addChild(name = "conference")
|
iq4 = iq3.addChild(name = "conference")
|
||||||
iq4.setAttr('jid', bm['jid'])
|
iq4.setAttr('jid', bm['jid'])
|
||||||
iq4.setAttr('autojoin', bm['autojoin'])
|
iq4.setAttr('autojoin', bm['autojoin'])
|
||||||
|
iq4.setAttr('minimize', bm['minimize'])
|
||||||
iq4.setAttr('name', bm['name'])
|
iq4.setAttr('name', bm['name'])
|
||||||
# Only add optional elements if not empty
|
# Only add optional elements if not empty
|
||||||
# Note: need to handle both None and '' as empty
|
# Note: need to handle both None and '' as empty
|
||||||
|
|
|
@ -1235,12 +1235,16 @@ class ConnectionHandlers(ConnectionVcard, ConnectionBytestream, ConnectionDisco,
|
||||||
autojoin_val = conf.getAttr('autojoin')
|
autojoin_val = conf.getAttr('autojoin')
|
||||||
if autojoin_val is None: # not there (it's optional)
|
if autojoin_val is None: # not there (it's optional)
|
||||||
autojoin_val = False
|
autojoin_val = False
|
||||||
|
minimize_val = conf.getAttr('minimize')
|
||||||
|
if minimize_val is None: # not there (it's optional)
|
||||||
|
minimize_val = False
|
||||||
print_status = conf.getTagData('print_status')
|
print_status = conf.getTagData('print_status')
|
||||||
if not print_status:
|
if not print_status:
|
||||||
print_status = conf.getTagData('show_status')
|
print_status = conf.getTagData('show_status')
|
||||||
bm = {'name': conf.getAttr('name'),
|
bm = {'name': conf.getAttr('name'),
|
||||||
'jid': conf.getAttr('jid'),
|
'jid': conf.getAttr('jid'),
|
||||||
'autojoin': autojoin_val,
|
'autojoin': autojoin_val,
|
||||||
|
'minimize': minimize_val,
|
||||||
'password': conf.getTagData('password'),
|
'password': conf.getTagData('password'),
|
||||||
'nick': conf.getTagData('nick'),
|
'nick': conf.getTagData('nick'),
|
||||||
'print_status': print_status}
|
'print_status': print_status}
|
||||||
|
|
|
@ -2486,8 +2486,9 @@ class ManageBookmarksWindow:
|
||||||
self.window = self.xml.get_widget('manage_bookmarks_window')
|
self.window = self.xml.get_widget('manage_bookmarks_window')
|
||||||
self.window.set_transient_for(gajim.interface.roster.window)
|
self.window.set_transient_for(gajim.interface.roster.window)
|
||||||
|
|
||||||
# Account-JID, RoomName, Room-JID, Autojoin, Passowrd, Nick, Show_Status
|
# Account-JID, RoomName, Room-JID, Autojoin, Minimize, Passowrd, Nick,
|
||||||
self.treestore = gtk.TreeStore(str, str, str, bool, str, str, str)
|
# Show_Status
|
||||||
|
self.treestore = gtk.TreeStore(str, str, str, bool, bool, str, str, str)
|
||||||
|
|
||||||
# Store bookmarks in treeview.
|
# Store bookmarks in treeview.
|
||||||
for account in gajim.connections:
|
for account in gajim.connections:
|
||||||
|
@ -2495,7 +2496,7 @@ class ManageBookmarksWindow:
|
||||||
continue
|
continue
|
||||||
if gajim.connections[account].is_zeroconf:
|
if gajim.connections[account].is_zeroconf:
|
||||||
continue
|
continue
|
||||||
iter = self.treestore.append(None, [None, account,None,
|
iter = self.treestore.append(None, [None, account, None, None,
|
||||||
None, None, None, None])
|
None, None, None, None])
|
||||||
|
|
||||||
for bookmark in gajim.connections[account].bookmarks:
|
for bookmark in gajim.connections[account].bookmarks:
|
||||||
|
@ -2509,6 +2510,9 @@ class ManageBookmarksWindow:
|
||||||
autojoin = helpers.from_xs_boolean_to_python_boolean(
|
autojoin = helpers.from_xs_boolean_to_python_boolean(
|
||||||
bookmark['autojoin'])
|
bookmark['autojoin'])
|
||||||
|
|
||||||
|
minimize = helpers.from_xs_boolean_to_python_boolean(
|
||||||
|
bookmark['minimize'])
|
||||||
|
|
||||||
print_status = bookmark.get('print_status', '')
|
print_status = bookmark.get('print_status', '')
|
||||||
if print_status not in ('', 'all', 'in_and_out', 'none'):
|
if print_status not in ('', 'all', 'in_and_out', 'none'):
|
||||||
print_status = ''
|
print_status = ''
|
||||||
|
@ -2517,6 +2521,7 @@ class ManageBookmarksWindow:
|
||||||
bookmark['name'],
|
bookmark['name'],
|
||||||
bookmark['jid'],
|
bookmark['jid'],
|
||||||
autojoin,
|
autojoin,
|
||||||
|
minimize,
|
||||||
bookmark['password'],
|
bookmark['password'],
|
||||||
bookmark['nick'],
|
bookmark['nick'],
|
||||||
print_status ])
|
print_status ])
|
||||||
|
@ -2558,6 +2563,7 @@ class ManageBookmarksWindow:
|
||||||
self.pass_entry = self.xml.get_widget('pass_entry')
|
self.pass_entry = self.xml.get_widget('pass_entry')
|
||||||
self.pass_entry.connect('changed', self.on_pass_entry_changed)
|
self.pass_entry.connect('changed', self.on_pass_entry_changed)
|
||||||
self.autojoin_checkbutton = self.xml.get_widget('autojoin_checkbutton')
|
self.autojoin_checkbutton = self.xml.get_widget('autojoin_checkbutton')
|
||||||
|
self.minimize_checkbutton = self.xml.get_widget('minimize_checkbutton')
|
||||||
|
|
||||||
self.xml.signal_autoconnect(self)
|
self.xml.signal_autoconnect(self)
|
||||||
self.window.show_all()
|
self.window.show_all()
|
||||||
|
@ -2652,10 +2658,12 @@ class ManageBookmarksWindow:
|
||||||
for bm in account.iterchildren():
|
for bm in account.iterchildren():
|
||||||
#Convert True/False/None to '1' or '0'
|
#Convert True/False/None to '1' or '0'
|
||||||
autojoin = unicode(int(bm[3]))
|
autojoin = unicode(int(bm[3]))
|
||||||
|
minimize = unicode(int(bm[4]))
|
||||||
|
|
||||||
#create the bookmark-dict
|
#create the bookmark-dict
|
||||||
bmdict = { 'name': bm[1], 'jid': bm[2], 'autojoin': autojoin,
|
bmdict = { 'name': bm[1], 'jid': bm[2], 'autojoin': autojoin,
|
||||||
'password': bm[4], 'nick': bm[5], 'print_status': bm[6]}
|
'minimize': minimize, 'password': bm[5], 'nick': bm[6],
|
||||||
|
'print_status': bm[7]}
|
||||||
|
|
||||||
gajim.connections[account_unicode].bookmarks.append(bmdict)
|
gajim.connections[account_unicode].bookmarks.append(bmdict)
|
||||||
|
|
||||||
|
@ -2679,7 +2687,7 @@ class ManageBookmarksWindow:
|
||||||
|
|
||||||
widgets = [ self.title_entry, self.nick_entry, self.room_entry,
|
widgets = [ self.title_entry, self.nick_entry, self.room_entry,
|
||||||
self.server_entry, self.pass_entry, self.autojoin_checkbutton,
|
self.server_entry, self.pass_entry, self.autojoin_checkbutton,
|
||||||
self.print_status_combobox]
|
self.minimize_checkbutton, self.print_status_combobox]
|
||||||
|
|
||||||
if model.iter_parent(iter):
|
if model.iter_parent(iter):
|
||||||
# make the fields sensitive
|
# make the fields sensitive
|
||||||
|
@ -2706,8 +2714,10 @@ class ManageBookmarksWindow:
|
||||||
self.server_entry.set_text(server)
|
self.server_entry.set_text(server)
|
||||||
|
|
||||||
self.autojoin_checkbutton.set_active(model[iter][3])
|
self.autojoin_checkbutton.set_active(model[iter][3])
|
||||||
if model[iter][4] is not None:
|
self.minimize_checkbutton.set_active(model[iter][4])
|
||||||
password = model[iter][4].decode('utf-8')
|
|
||||||
|
if model[iter][5] is not None:
|
||||||
|
password = model[iter][5].decode('utf-8')
|
||||||
else:
|
else:
|
||||||
password = None
|
password = None
|
||||||
|
|
||||||
|
@ -2722,7 +2732,7 @@ class ManageBookmarksWindow:
|
||||||
else:
|
else:
|
||||||
self.nick_entry.set_text('')
|
self.nick_entry.set_text('')
|
||||||
|
|
||||||
print_status = model[iter][6]
|
print_status = model[iter][7]
|
||||||
opts = self.option_list.keys()
|
opts = self.option_list.keys()
|
||||||
opts.sort()
|
opts.sort()
|
||||||
self.print_status_combobox.set_active(opts.index(print_status))
|
self.print_status_combobox.set_active(opts.index(print_status))
|
||||||
|
@ -2737,7 +2747,7 @@ class ManageBookmarksWindow:
|
||||||
def on_nick_entry_changed(self, widget):
|
def on_nick_entry_changed(self, widget):
|
||||||
(model, iter) = self.selection.get_selected()
|
(model, iter) = self.selection.get_selected()
|
||||||
if iter:
|
if iter:
|
||||||
model[iter][5] = self.nick_entry.get_text()
|
model[iter][6] = self.nick_entry.get_text()
|
||||||
|
|
||||||
def on_server_entry_changed(self, widget):
|
def on_server_entry_changed(self, widget):
|
||||||
(model, iter) = self.selection.get_selected()
|
(model, iter) = self.selection.get_selected()
|
||||||
|
@ -2756,20 +2766,25 @@ class ManageBookmarksWindow:
|
||||||
def on_pass_entry_changed(self, widget):
|
def on_pass_entry_changed(self, widget):
|
||||||
(model, iter) = self.selection.get_selected()
|
(model, iter) = self.selection.get_selected()
|
||||||
if iter:
|
if iter:
|
||||||
model[iter][4] = self.pass_entry.get_text()
|
model[iter][5] = self.pass_entry.get_text()
|
||||||
|
|
||||||
def on_autojoin_checkbutton_toggled(self, widget):
|
def on_autojoin_checkbutton_toggled(self, widget):
|
||||||
(model, iter) = self.selection.get_selected()
|
(model, iter) = self.selection.get_selected()
|
||||||
if iter:
|
if iter:
|
||||||
model[iter][3] = self.autojoin_checkbutton.get_active()
|
model[iter][3] = self.autojoin_checkbutton.get_active()
|
||||||
|
|
||||||
|
def on_minimize_checkbutton_toggled(self, widget):
|
||||||
|
(model, iter) = self.selection.get_selected()
|
||||||
|
if iter:
|
||||||
|
model[iter][4] = self.minimize_checkbutton.get_active()
|
||||||
|
|
||||||
def on_print_status_combobox_changed(self, widget):
|
def on_print_status_combobox_changed(self, widget):
|
||||||
active = widget.get_active()
|
active = widget.get_active()
|
||||||
model = widget.get_model()
|
model = widget.get_model()
|
||||||
print_status = model[active][1]
|
print_status = model[active][1]
|
||||||
(model2, iter) = self.selection.get_selected()
|
(model2, iter) = self.selection.get_selected()
|
||||||
if iter:
|
if iter:
|
||||||
model2[iter][6] = print_status
|
model2[iter][7] = print_status
|
||||||
|
|
||||||
def clear_fields(self):
|
def clear_fields(self):
|
||||||
widgets = [ self.title_entry, self.nick_entry, self.room_entry,
|
widgets = [ self.title_entry, self.nick_entry, self.room_entry,
|
||||||
|
@ -2777,6 +2792,7 @@ class ManageBookmarksWindow:
|
||||||
for field in widgets:
|
for field in widgets:
|
||||||
field.set_text('')
|
field.set_text('')
|
||||||
self.autojoin_checkbutton.set_active(False)
|
self.autojoin_checkbutton.set_active(False)
|
||||||
|
self.minimize_checkbutton.set_active(False)
|
||||||
self.print_status_combobox.set_active(1)
|
self.print_status_combobox.set_active(1)
|
||||||
|
|
||||||
class AccountCreationWizardWindow:
|
class AccountCreationWizardWindow:
|
||||||
|
|
|
@ -1311,8 +1311,7 @@ class Interface:
|
||||||
for bm in bms:
|
for bm in bms:
|
||||||
if bm['autojoin'] in ('1', 'true'):
|
if bm['autojoin'] in ('1', 'true'):
|
||||||
self.roster.join_gc_room(account, bm['jid'], bm['nick'],
|
self.roster.join_gc_room(account, bm['jid'], bm['nick'],
|
||||||
bm['password'],
|
bm['password'], minimize = bm['minimize'])
|
||||||
minimize = gajim.config.get('minimize_autojoined_rooms'))
|
|
||||||
|
|
||||||
def handle_event_file_send_error(self, account, array):
|
def handle_event_file_send_error(self, account, array):
|
||||||
jid = array[0]
|
jid = array[0]
|
||||||
|
|
|
@ -3337,7 +3337,7 @@ class RosterWindow:
|
||||||
gajim.gc_connected[account][room_jid]:
|
gajim.gc_connected[account][room_jid]:
|
||||||
continue
|
continue
|
||||||
self.join_gc_room(account, room_jid, bm['nick'], bm['password'],
|
self.join_gc_room(account, room_jid, bm['nick'], bm['password'],
|
||||||
minimize = gajim.config.get('minimize_autojoined_rooms'))
|
minimize = bm['minimize'])
|
||||||
|
|
||||||
def get_status_message(self, show):
|
def get_status_message(self, show):
|
||||||
if show in gajim.config.get_per('defaultstatusmsg'):
|
if show in gajim.config.get_per('defaultstatusmsg'):
|
||||||
|
|
Loading…
Reference in New Issue