Ejemplo n.º 1
0
    def __init__(self):
        logging.debug('In the Object Chooser class init hehehe')
        PopWindow.__init__(self)
        width, height = self.HALF_WIDTH

        self.set_size((width * 3 / 2, height * 2 / 3))
        self.connect('key-press-event', self.__key_press_event_cb)
        self._list_view = ActivitiesList()

        self.search_bar = SearchBar()
        self.get_vbox().pack_start(self.search_bar, False, False, 0)
        self.search_bar.connect('query-changed',
                                self.__toolbar_query_changed_cb)
        self.search_bar.search_entry.connect('key-press-event',
                                             self.__key_press_event_cb)
        self.search_bar.search_entry.grab_focus()
        self._scrolled_window = Gtk.ScrolledWindow()
        self._scrolled_window.set_policy(Gtk.PolicyType.AUTOMATIC,
                                         Gtk.PolicyType.AUTOMATIC)

        self._scrolled_window.add(self._list_view)

        self.get_vbox().pack_start(self._scrolled_window, True, True, 0)

        self._list_view.show()
        self._list_view.connect('clear-clicked',
                                self.__activitylist_clear_clicked_cb,
                                self.search_bar)

        self.tree_view = self._list_view._tree_view

        self.tree_view.date_column.set_visible(False)
        self.tree_view.fav_column.set_visible(False)
        self.tree_view.version_column.set_visible(False)

        if self.tree_view.row_activated_handler:
            self.tree_view.disconnect(self.tree_view.row_activated_handler)
        if self.tree_view.button_press_handler:
            self.tree_view.disconnect(self.tree_view.button_press_handler)
        if self.tree_view.button_reslease_handler:
            self.tree_view.disconnect(self.tree_view.button_reslease_handler)
        if self.tree_view.icon_clicked_handler:
            self.tree_view.disconnect(self.tree_view.icon_clicked_handler)

        if hasattr(self.tree_view.props, 'activate_on_single_click'):
            # Gtk+ 3.8 and later
            self.tree_view.props.activate_on_single_click = True
            self.tree_view.connect('row-activated', self.__row_activated_cb)
        else:
            self.tree_view.cell_icon.connect('clicked', self.__icon_clicked_cb)
            self.tree_view.connect('button-press-event',
                                   self.__button_press_cb)
            self.tree_view.connect('button-release-event',
                                   self.__button_release_cb)
            self._row_activated_armed_path = None

        self.show()
Ejemplo n.º 2
0
    def __init__(self):
        logging.debug("In the Object Chooser class init hehehe")
        PopWindow.__init__(self)
        width, height = self.HALF_WIDTH

        self.set_size((width * 3 / 2, height * 2 / 3))
        self.connect("key-press-event", self.__key_press_event_cb)
        self._list_view = ActivitiesList()

        self.search_bar = SearchBar()
        self.get_vbox().pack_start(self.search_bar, False, False, 0)
        self.search_bar.connect("query-changed", self.__toolbar_query_changed_cb)
        self.search_bar.search_entry.connect("key-press-event", self.__key_press_event_cb)
        self.search_bar.search_entry.grab_focus()
        self._scrolled_window = Gtk.ScrolledWindow()
        self._scrolled_window.set_policy(Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC)

        self._scrolled_window.add(self._list_view)

        self.get_vbox().pack_start(self._scrolled_window, True, True, 0)

        self._list_view.show()
        self._list_view.connect("clear-clicked", self.__activitylist_clear_clicked_cb, self.search_bar)

        self.tree_view = self._list_view._tree_view

        self.tree_view.date_column.set_visible(False)
        self.tree_view.fav_column.set_visible(False)
        self.tree_view.version_column.set_visible(False)

        if self.tree_view.row_activated_handler:
            self.tree_view.disconnect(self.tree_view.row_activated_handler)
        if self.tree_view.button_press_handler:
            self.tree_view.disconnect(self.tree_view.button_press_handler)
        if self.tree_view.button_reslease_handler:
            self.tree_view.disconnect(self.tree_view.button_reslease_handler)
        if self.tree_view.icon_clicked_handler:
            self.tree_view.disconnect(self.tree_view.icon_clicked_handler)

        if hasattr(self.tree_view.props, "activate_on_single_click"):
            # Gtk+ 3.8 and later
            self.tree_view.props.activate_on_single_click = True
            self.tree_view.connect("row-activated", self.__row_activated_cb)
        else:
            self.tree_view.cell_icon.connect("clicked", self.__icon_clicked_cb)
            self.tree_view.connect("button-press-event", self.__button_press_cb)
            self.tree_view.connect("button-release-event", self.__button_release_cb)
            self._row_activated_armed_path = None

        self.show()
Ejemplo n.º 3
0
    def __init__(self, parent=None, what_filter='', filter_type=None,
                 show_preview=False):
        if parent is None:
            parent_xid = 0
        elif hasattr(parent, 'get_xid'):
            parent_xid = parent.get_xid()
        elif hasattr(parent, 'get_window') and hasattr(parent.get_window(),
                                                       'get_xid'):
            parent_xid = parent.get_window().get_xid()
        else:
            parent_xid = parent
        PopWindow.__init__(self, window_xid=parent_xid)

        self._selected_object_id = None
        self._show_preview = show_preview

        self.add_events(Gdk.EventMask.VISIBILITY_NOTIFY_MASK)
        self.connect('visibility-notify-event',
                     self.__visibility_notify_event_cb)
        self.connect('delete-event', self.__delete_event_cb)
        self.connect('key-press-event', self.__key_press_event_cb)

        vbox = self.get_vbox()

        title_box = self.get_title_box()

        volumes_toolbar = VolumesToolbar()
        tool_item = Gtk.ToolItem()
        tool_item.set_expand(True)
        tool_item.add(volumes_toolbar)
        title_box.insert(tool_item, 0)
        tool_item.show()

        title = _('Choose an object')
        if filter_type == FILTER_TYPE_MIME_BY_ACTIVITY:
            registry = bundleregistry.get_registry()
            bundle = registry.get_bundle(what_filter)
            if bundle is not None:
                title = _('Choose an object to open with %s activity') % \
                    bundle.get_name()
        title_box.set_title(title)

        volumes_toolbar.connect('volume-changed', self.__volume_changed_cb)
        title_box.close_button.connect('clicked',
                                       self.__close_button_clicked_cb)
        title_box.set_size_request(-1, style.GRID_CELL_SIZE)
        vbox.pack_start(title_box, False, True, 0)
        title_box.show()

        separator = Gtk.HSeparator()
        vbox.pack_start(separator, False, True, 0)
        separator.show()

        self._toolbar = MainToolbox(default_what_filter=what_filter,
                                    default_filter_type=filter_type)
        self._toolbar.connect('query-changed', self.__query_changed_cb)
        self._toolbar.set_size_request(-1, style.GRID_CELL_SIZE)
        vbox.pack_start(self._toolbar, False, True, 0)
        self._toolbar.show()

        if not self._show_preview:
            self._list_view = ChooserListView(self._toolbar)
            self._list_view.connect('entry-activated',
                                    self.__entry_activated_cb)
            self._list_view.connect('clear-clicked', self.__clear_clicked_cb)
            vbox.pack_start(self._list_view, True, True, 0)
            self._list_view.show()
        else:
            self._icon_view = IconView(self._toolbar)
            self._icon_view.connect('entry-activated',
                                    self.__entry_activated_cb)
            self._icon_view.connect('clear-clicked', self.__clear_clicked_cb)
            vbox.pack_start(self._icon_view, True, True, 0)
            self._icon_view.show()

        width = Gdk.Screen.width() - style.GRID_CELL_SIZE * 2
        height = Gdk.Screen.height() - style.GRID_CELL_SIZE * 2
        self.set_size_request(width, height)

        self._toolbar.update_filters('/', what_filter, filter_type)
Ejemplo n.º 4
0
    def __init__(self, parent=None, what_filter='', filter_type=None,
                 show_preview=False):
        if parent is None:
            parent_xid = 0
        elif hasattr(parent, 'get_window') and hasattr(parent.get_window(),
                                                       'get_xid'):
            parent_xid = parent.get_window().get_xid()
        else:
            parent_xid = parent
        PopWindow.__init__(self, window_xid=parent_xid)

        self._selected_object_id = None
        self._show_preview = show_preview

        self.add_events(Gdk.EventMask.VISIBILITY_NOTIFY_MASK)
        self.connect('visibility-notify-event',
                     self.__visibility_notify_event_cb)
        self.connect('delete-event', self.__delete_event_cb)
        self.connect('key-press-event', self.__key_press_event_cb)

        vbox = self.get_vbox()

        title_box = self.get_title_box()

        volumes_toolbar = VolumesToolbar()
        tool_item = Gtk.ToolItem()
        tool_item.set_expand(True)
        tool_item.add(volumes_toolbar)
        title_box.insert(tool_item, 0)
        tool_item.show()

        title = _('Choose an object')
        if filter_type == FILTER_TYPE_MIME_BY_ACTIVITY:
            registry = bundleregistry.get_registry()
            bundle = registry.get_bundle(what_filter)
            if bundle is not None:
                title = _('Choose an object to open with %s activity') % \
                    bundle.get_name()
        title_box.set_title(title)

        volumes_toolbar.connect('volume-changed', self.__volume_changed_cb)
        title_box.close_button.connect('clicked',
                                       self.__close_button_clicked_cb)
        title_box.set_size_request(-1, style.GRID_CELL_SIZE)
        vbox.pack_start(title_box, False, True, 0)
        title_box.show()

        separator = Gtk.HSeparator()
        vbox.pack_start(separator, False, True, 0)
        separator.show()

        self._toolbar = MainToolbox(default_what_filter=what_filter,
                                    default_filter_type=filter_type)
        self._toolbar.connect('query-changed', self.__query_changed_cb)
        self._toolbar.set_size_request(-1, style.GRID_CELL_SIZE)
        vbox.pack_start(self._toolbar, False, True, 0)
        self._toolbar.show()

        if not self._show_preview:
            self._list_view = ChooserListView(self._toolbar)
            self._list_view.connect('entry-activated',
                                    self.__entry_activated_cb)
            self._list_view.connect('clear-clicked', self.__clear_clicked_cb)
            vbox.pack_start(self._list_view, True, True, 0)
            self._list_view.show()
        else:
            self._icon_view = IconView(self._toolbar)
            self._icon_view.connect('entry-activated',
                                    self.__entry_activated_cb)
            self._icon_view.connect('clear-clicked', self.__clear_clicked_cb)
            vbox.pack_start(self._icon_view, True, True, 0)
            self._icon_view.show()

        width = Gdk.Screen.width() - style.GRID_CELL_SIZE * 2
        height = Gdk.Screen.height() - style.GRID_CELL_SIZE * 2
        self.set_size_request(width, height)

        self._toolbar.update_filters('/', what_filter, filter_type)