Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSantiago Collazo <scollazo@activitycentral.com>2013-01-04 06:40:23 (GMT)
committer Santiago Collazo <scollazo@activitycentral.com>2013-01-04 06:40:23 (GMT)
commit14be4aa03eaa15eed571d5c4c5af05597639f6ef (patch)
treeb165a28376491264804b10007f203c432c4aa6a3
parent72702dfb9514bf9798d3816c2eae934c2c3fb584 (diff)
parent5c2df6bc60acf84af97db52eebe38b436e31efd2 (diff)
Merge remote-tracking branch 'ajay/0.97.7-as-base' into devel
-rw-r--r--extensions/cpsection/network/view.py28
1 files changed, 15 insertions, 13 deletions
diff --git a/extensions/cpsection/network/view.py b/extensions/cpsection/network/view.py
index a6294aa..6e7fb69 100644
--- a/extensions/cpsection/network/view.py
+++ b/extensions/cpsection/network/view.py
@@ -55,7 +55,6 @@ client = GConf.Client.get_default()
class GConfMixin(object):
"""Mix-in class for GTK widgets backed by GConf"""
def __init__(self, gconf_key, gsettings_dconf, dconf_key, widget=None, signal='changed'):
- self._timeout_id = None
self._gconf_key = gconf_key
self._gsettings_dconf = gsettings_dconf
self._dconf_key = dconf_key
@@ -64,7 +63,6 @@ class GConfMixin(object):
self._undo_value = initial_value
self.set_value_from_gconf(initial_value)
widget = widget or self
- widget.connect(signal, self.__changed_cb)
def undo(self):
"""Revert to original value if modified"""
@@ -88,12 +86,6 @@ class GConfMixin(object):
"""
raise NotImplementedError()
- def __changed_cb(self, widget):
- if self._timeout_id is not None:
- GObject.source_remove(self._timeout_id)
- self._timeout_id = GObject.timeout_add(_APPLY_TIMEOUT, self._commit,
- widget)
-
def __gconf_notify_cb(self, client, transaction_id_, entry, user_data_):
new_value = _gconf_value_to_python(entry.value)
self.set_value_from_gconf(new_value)
@@ -102,11 +94,7 @@ class GConfMixin(object):
new_value = self.get_value_for_gconf()
logging.debug('Setting %r to %r', self._gconf_key, new_value)
- widget.handler_block_by_func(self.__changed_cb)
- try:
- self._set_gconf_value(new_value)
- finally:
- widget.handler_unblock_by_func(self.__changed_cb)
+ self._set_gconf_value(new_value)
def _set_gconf_value(self, new_value):
gconf_type = client.get(self._gconf_key).type
@@ -240,6 +228,9 @@ class GConfStringSettingBox(SettingBox):
"""Revert to original value if modified"""
self.string_entry.undo()
+ def _commit(self, widget):
+ self.string_entry._commit(self.string_entry)
+
@property
def changed(self):
return self.string_entry.changed
@@ -268,6 +259,9 @@ class GConfHostListSettingBox(GConfStringSettingBox):
"""Revert to original value if modified"""
self.hosts_entry.undo()
+ def _commit(self, widget):
+ self.hosts_entry._commit(self.hosts_entry)
+
@property
def changed(self):
return self.hosts_entry.changed
@@ -298,6 +292,10 @@ class GConfHostPortSettingBox(SettingBox):
self.host_name_entry.undo()
self.port_spin_button.undo()
+ def _commit(self, widget):
+ self.host_name_entry._commit(self.host_name_entry)
+ self.port_spin_button._commit(self.port_spin_button)
+
@property
def changed(self):
return self.host_name_entry.changed or self.port_spin_button.changed
@@ -898,6 +896,10 @@ class Network(SectionView):
def __launch_button_clicked_cb(self, launch_button):
self._model.launch_nm_connection_editor()
+ def perform_accept_actions(self):
+ for setting in self._undo_objects:
+ setting._commit(setting)
+
def _gconf_value_to_python(gconf_value):
if gconf_value.type == GConf.ValueType.STRING: