Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/src/jarabe/journal/objectchooser.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/jarabe/journal/objectchooser.py')
-rw-r--r--src/jarabe/journal/objectchooser.py56
1 files changed, 12 insertions, 44 deletions
diff --git a/src/jarabe/journal/objectchooser.py b/src/jarabe/journal/objectchooser.py
index 49af3e6..bae7b74 100644
--- a/src/jarabe/journal/objectchooser.py
+++ b/src/jarabe/journal/objectchooser.py
@@ -24,8 +24,7 @@ import wnck
from sugar.graphics import style
from sugar.graphics.toolbutton import ToolButton
-from jarabe.journal.listview import BaseListView
-from jarabe.journal.listmodel import ListModel
+from jarabe.journal.view import View
from jarabe.journal.journaltoolbox import SearchToolbar
from jarabe.journal.volumestoolbar import VolumesToolbar
@@ -80,14 +79,16 @@ class ObjectChooser(gtk.Window):
self._toolbar = SearchToolbar()
self._toolbar.connect('query-changed', self.__query_changed_cb)
+ self._toolbar.connect('view-changed', self.__view_changed_cb)
self._toolbar.set_size_request(-1, style.GRID_CELL_SIZE)
vbox.pack_start(self._toolbar, expand=False)
self._toolbar.show()
- self._list_view = ChooserListView()
- self._list_view.connect('entry-activated', self.__entry_activated_cb)
- vbox.pack_start(self._list_view)
- self._list_view.show()
+ self._view = View()
+ self._view.props.hover_selection = True
+ self._view.connect('entry-activated', self.__entry_activated_cb)
+ vbox.pack_start(self._view)
+ self._view.show()
self._toolbar.set_mount_point('/')
@@ -125,7 +126,10 @@ class ObjectChooser(gtk.Window):
return self._selected_object_id
def __query_changed_cb(self, toolbar, query):
- self._list_view.update_with_query(query)
+ self._view.update_with_query(query)
+
+ def __view_changed_cb(self, sender, view):
+ self._view.change_view(view)
def __volume_changed_cb(self, volume_toolbar, mount_point):
logging.debug('Selected volume: %r.', mount_point)
@@ -134,7 +138,7 @@ class ObjectChooser(gtk.Window):
def __visibility_notify_event_cb(self, window, event):
logging.debug('visibility_notify_event_cb %r', self)
visible = event.state == gtk.gdk.VISIBILITY_FULLY_OBSCURED
- self._list_view.set_is_visible(visible)
+ self._view.set_is_visible(visible)
class TitleBox(VolumesToolbar):
__gtype_name__ = 'TitleBox'
@@ -161,39 +165,3 @@ class TitleBox(VolumesToolbar):
self.insert(tool_item, -1)
tool_item.show()
-
-class ChooserListView(BaseListView):
- __gtype_name__ = 'ChooserListView'
-
- __gsignals__ = {
- 'entry-activated': (gobject.SIGNAL_RUN_FIRST,
- gobject.TYPE_NONE,
- ([str])),
- }
-
- def __init__(self):
- BaseListView.__init__(self)
-
- self.cell_icon.props.show_palette = False
- self.tree_view.props.hover_selection = True
-
- self.tree_view.connect('button-release-event',
- self.__button_release_event_cb)
-
- def __entry_activated_cb(self, entry):
- self.emit('entry-activated', entry)
-
- def __button_release_event_cb(self, tree_view, event):
- if event.window != tree_view.get_bin_window():
- return False
-
- pos = tree_view.get_path_at_pos(event.x, event.y)
- if pos is None:
- return False
-
- path, column_, x_, y_ = pos
- uid = tree_view.get_model()[path][ListModel.COLUMN_UID]
- self.emit('entry-activated', uid)
-
- return False
-