commit gui to enable/disable dbus on the fly
This commit is contained in:
parent
c092189373
commit
e9696514e6
4 changed files with 52 additions and 10 deletions
|
@ -84,11 +84,8 @@ def gtk_quit():
|
||||||
|
|
||||||
argv_len = len(sys.argv)
|
argv_len = len(sys.argv)
|
||||||
|
|
||||||
if argv_len < 2:
|
if argv_len < 2 or sys.argv[1] not in commands: # no args or bad args
|
||||||
send_error('Usage: ' + sys.argv[0] + ' command [arguments]')
|
end_error(compose_help())
|
||||||
|
|
||||||
if sys.argv[1] not in commands:
|
|
||||||
send_error(compose_help())
|
|
||||||
|
|
||||||
command = sys.argv[1]
|
command = sys.argv[1]
|
||||||
|
|
||||||
|
|
|
@ -365,15 +365,20 @@ class PreferencesWindow:
|
||||||
st = gajim.config.get('log_notif_in_sep_file')
|
st = gajim.config.get('log_notif_in_sep_file')
|
||||||
self.xml.get_widget('log_in_extern_checkbutton').set_active(st)
|
self.xml.get_widget('log_in_extern_checkbutton').set_active(st)
|
||||||
|
|
||||||
# don't send os info
|
# send os info
|
||||||
st = gajim.config.get('send_os_info')
|
st = gajim.config.get('send_os_info')
|
||||||
self.xml.get_widget('send_os_info_checkbutton').set_active(st)
|
self.xml.get_widget('send_os_info_checkbutton').set_active(st)
|
||||||
|
|
||||||
# don't check for new version
|
# check for new version
|
||||||
st = gajim.config.get('check_for_new_version')
|
st = gajim.config.get('check_for_new_version')
|
||||||
btn = self.xml.get_widget('check_for_new_version_checkbutton')
|
btn = self.xml.get_widget('check_for_new_version_checkbutton')
|
||||||
btn.set_active(st)
|
btn.set_active(st)
|
||||||
|
|
||||||
|
# use dbus
|
||||||
|
st = gajim.config.get('use_dbus')
|
||||||
|
btn = self.xml.get_widget('enable_dbus_checkbutton')
|
||||||
|
btn.set_active(st)
|
||||||
|
|
||||||
self.xml.signal_autoconnect(self)
|
self.xml.signal_autoconnect(self)
|
||||||
|
|
||||||
self.sound_tree.get_model().connect('row-changed',
|
self.sound_tree.get_model().connect('row-changed',
|
||||||
|
@ -790,6 +795,17 @@ class PreferencesWindow:
|
||||||
gajim.config.set('check_for_new_version', widget.get_active())
|
gajim.config.set('check_for_new_version', widget.get_active())
|
||||||
self.plugin.save_config()
|
self.plugin.save_config()
|
||||||
|
|
||||||
|
def on_enable_dbus_checkbutton_toggled(self, widget):
|
||||||
|
isactive = widget.get_active()
|
||||||
|
gajim.config.set('use_dbus', isactive)
|
||||||
|
self.plugin.save_config()
|
||||||
|
if isactive:
|
||||||
|
if self.plugin.remote is None:
|
||||||
|
self.plugin.enable_dbus()
|
||||||
|
else:
|
||||||
|
if self.plugin.remote is not None:
|
||||||
|
self.plugin.disable_dbus()
|
||||||
|
|
||||||
def fill_msg_treeview(self):
|
def fill_msg_treeview(self):
|
||||||
self.xml.get_widget('delete_msg_button').set_sensitive(False)
|
self.xml.get_widget('delete_msg_button').set_sensitive(False)
|
||||||
model = self.msg_tree.get_model()
|
model = self.msg_tree.get_model()
|
||||||
|
|
14
src/gajim.py
14
src/gajim.py
|
@ -823,6 +823,15 @@ class Interface:
|
||||||
def save_config(self):
|
def save_config(self):
|
||||||
parser.write()
|
parser.write()
|
||||||
|
|
||||||
|
def enable_dbus(self):
|
||||||
|
import remote_control
|
||||||
|
self.remote = remote_control.Remote(self)
|
||||||
|
|
||||||
|
def disable_dbus(self):
|
||||||
|
if self.remote: # FIXME: A handler is already registered for the path starting with path[0] = "org"
|
||||||
|
del (self.remote)
|
||||||
|
self.remote = None
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.default_values = {
|
self.default_values = {
|
||||||
'inmsgcolor': gajim.config.get('inmsgcolor'),
|
'inmsgcolor': gajim.config.get('inmsgcolor'),
|
||||||
|
@ -886,10 +895,9 @@ class Interface:
|
||||||
|
|
||||||
self.roster = roster_window.RosterWindow(self)
|
self.roster = roster_window.RosterWindow(self)
|
||||||
if gajim.config.get('use_dbus'):
|
if gajim.config.get('use_dbus'):
|
||||||
import remote_control
|
self.enable_dbus()
|
||||||
self.remote = remote_control.Remote(self)
|
|
||||||
else:
|
else:
|
||||||
self.remote = None
|
self.disable_dbus()
|
||||||
|
|
||||||
path_to_file = os.path.join(gajim.DATA_DIR, 'pixmaps/gajim.png')
|
path_to_file = os.path.join(gajim.DATA_DIR, 'pixmaps/gajim.png')
|
||||||
pix = gtk.gdk.pixbuf_new_from_file(path_to_file)
|
pix = gtk.gdk.pixbuf_new_from_file(path_to_file)
|
||||||
|
|
|
@ -5531,6 +5531,27 @@ Custom</property>
|
||||||
<property name="fill">False</property>
|
<property name="fill">False</property>
|
||||||
</packing>
|
</packing>
|
||||||
</child>
|
</child>
|
||||||
|
|
||||||
|
<child>
|
||||||
|
<widget class="GtkCheckButton" id="enable_dbus_checkbutton">
|
||||||
|
<property name="visible">True</property>
|
||||||
|
<property name="tooltip" translatable="yes">If checked, Gajim can be controlled by other programs that support DBus</property>
|
||||||
|
<property name="can_focus">True</property>
|
||||||
|
<property name="label" translatable="yes">Enable DBus capabilities</property>
|
||||||
|
<property name="use_underline">True</property>
|
||||||
|
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||||
|
<property name="focus_on_click">True</property>
|
||||||
|
<property name="active">False</property>
|
||||||
|
<property name="inconsistent">False</property>
|
||||||
|
<property name="draw_indicator">True</property>
|
||||||
|
<signal name="toggled" handler="on_enable_dbus_checkbutton_toggled" last_modification_time="Sun, 17 Jul 2005 22:44:29 GMT"/>
|
||||||
|
</widget>
|
||||||
|
<packing>
|
||||||
|
<property name="padding">0</property>
|
||||||
|
<property name="expand">False</property>
|
||||||
|
<property name="fill">False</property>
|
||||||
|
</packing>
|
||||||
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
|
|
Loading…
Add table
Reference in a new issue