Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@member.fsf.org>2009-09-06 14:04:35 (GMT)
committer Aleksey Lim <alsroot@member.fsf.org>2009-09-07 09:59:45 (GMT)
commit8310ee90abc33a8d5db05e8bdb3459186cf02699 (patch)
tree472bbce01fcb19ea47d225e63896af04aa48fb10 /src
parent7b5d70a57d79a33c080d1df583325453f0357968 (diff)
Reset list view vadjustment if on mapping #1235
Setting vadjustment.props.value doesn't work if window is hidden (for example afer opening details dialog), so have to reset it on every mapping.
Diffstat (limited to 'src')
-rw-r--r--src/jarabe/journal/listview.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/src/jarabe/journal/listview.py b/src/jarabe/journal/listview.py
index 82e76b0..593ce21 100644
--- a/src/jarabe/journal/listview.py
+++ b/src/jarabe/journal/listview.py
@@ -71,9 +71,12 @@ class BaseListView(gtk.Bin):
self._model = None
self._progress_bar = None
self._last_progress_bar_pulse = None
+ self._scroll_position = 0.
gobject.GObject.__init__(self)
+ self.connect('map', self.__map_cb)
+ self.connect('unrealize', self.__unrealize_cb)
self.connect('destroy', self.__destroy_cb)
self._scrolled_window = gtk.ScrolledWindow()
@@ -292,14 +295,14 @@ class BaseListView(gtk.Bin):
logging.debug('ListView.__model_ready_cb')
self._stop_progress_bar()
- scroll_position = self.tree_view.props.vadjustment.props.value
- logging.debug('ListView.__model_ready_cb %r', scroll_position)
+ self._scroll_position = self.tree_view.props.vadjustment.props.value
+ logging.debug('ListView.__model_ready_cb %r', self._scroll_position)
# Cannot set it up earlier because will try to access the model and it
# needs to be ready.
self.tree_view.set_model(self._model)
- self.tree_view.props.vadjustment.props.value = scroll_position
+ self.tree_view.props.vadjustment.props.value = self._scroll_position
self.tree_view.props.vadjustment.value_changed()
if len(tree_model) == 0:
@@ -310,6 +313,15 @@ class BaseListView(gtk.Bin):
else:
self._clear_message()
+ def __map_cb(self, widget):
+ logging.debug('ListView.__map_cb %r', self._scroll_position)
+ self.tree_view.props.vadjustment.props.value = self._scroll_position
+ self.tree_view.props.vadjustment.value_changed()
+
+ def __unrealize_cb(self, widget):
+ self._scroll_position = self.tree_view.props.vadjustment.props.value
+ logging.debug('ListView.__map_cb %r', self._scroll_position)
+
def _is_query_empty(self):
# FIXME: This is a hack, we shouldn't have to update this every time
# a new search term is added.