migrate toolbar of library panel
This commit is contained in:
parent
c9f01de84b
commit
6b75674031
2 changed files with 256 additions and 174 deletions
331
data/gtk.glade
331
data/gtk.glade
|
|
@ -9,6 +9,150 @@
|
|||
<property name="step_increment">1</property>
|
||||
<property name="page_increment">10</property>
|
||||
</object>
|
||||
<object class="GtkPopover" id="library-toolbar-popover">
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkBox">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkScale" id="library-toolbar-scale">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="adjustment">library-scale-adjustment</property>
|
||||
<property name="round_digits">0</property>
|
||||
<property name="draw_value">False</property>
|
||||
<property name="has_origin">False</property>
|
||||
<signal name="button-release-event" handler="on_library-toolbar-scale_button_release_event" swapped="no"/>
|
||||
<signal name="change-value" handler="on_library-toolbar-scale_change_value" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkButton" id="library-toolbar-update">
|
||||
<property name="label">gtk-refresh</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="relief">none</property>
|
||||
<property name="use_stock">True</property>
|
||||
<signal name="clicked" handler="on_library-toolbar-update_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkBox" id="library-toolbar-sort">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkSeparator">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkLabel">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="label" translatable="yes">Sort</property>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="library-toolbar-sort-artist">
|
||||
<property name="label" translatable="yes">sort by artist</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<property name="group">library-toolbar-sort-year</property>
|
||||
<signal name="toggled" handler="on_library-toolbar-sort-toggled" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="library-toolbar-sort-title">
|
||||
<property name="label" translatable="yes">sort by title</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<property name="group">library-toolbar-sort-year</property>
|
||||
<signal name="toggled" handler="on_library-toolbar-sort-toggled" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRadioButton" id="library-toolbar-sort-year">
|
||||
<property name="label" translatable="yes">sort by year</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<signal name="toggled" handler="on_library-toolbar-sort-toggled" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">4</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkCheckButton" id="library-toolbar-sort-order">
|
||||
<property name="label">gtk-sort-descending</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">False</property>
|
||||
<property name="use_stock">True</property>
|
||||
<property name="active">True</property>
|
||||
<property name="draw_indicator">True</property>
|
||||
<signal name="toggled" handler="on_library-toolbar-sort-order_toggled" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">5</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<object class="GtkAdjustment" id="server-port-adjustment">
|
||||
<property name="lower">1024</property>
|
||||
<property name="upper">9999</property>
|
||||
|
|
@ -331,9 +475,6 @@
|
|||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<placeholder/>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkScrolledWindow" id="playlist-panel">
|
||||
<property name="visible">True</property>
|
||||
|
|
@ -361,7 +502,7 @@
|
|||
<packing>
|
||||
<property name="name">playlist</property>
|
||||
<property name="title" translatable="yes">Playlist</property>
|
||||
<property name="position">3</property>
|
||||
<property name="position">2</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
|
|
@ -369,6 +510,30 @@
|
|||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="orientation">vertical</property>
|
||||
<child>
|
||||
<object class="GtkSearchBar" id="library-filter-bar">
|
||||
<property name="visible">True</property>
|
||||
<property name="app_paintable">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<signal name="notify" handler="on_library-filter-bar_notify" swapped="no"/>
|
||||
<child>
|
||||
<object class="GtkSearchEntry" id="library-filter">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="primary_icon_name">edit-find-symbolic</property>
|
||||
<property name="primary_icon_activatable">False</property>
|
||||
<property name="primary_icon_sensitive">False</property>
|
||||
<property name="placeholder_text" translatable="yes">search library</property>
|
||||
<signal name="search-changed" handler="on_library-filter_search_changed" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkRevealer" id="library-progress-revealer">
|
||||
<property name="visible">True</property>
|
||||
|
|
@ -382,125 +547,6 @@
|
|||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
<property name="position">0</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkHeaderBar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="spacing">0</property>
|
||||
<child>
|
||||
<object class="GtkToolbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="library-update">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="icon_name">view-refresh</property>
|
||||
<signal name="clicked" handler="on_library-update_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<style>
|
||||
<class name="no-bg"/>
|
||||
</style>
|
||||
</object>
|
||||
</child>
|
||||
<child type="title">
|
||||
<object class="GtkSearchEntry" id="library-filter">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="primary_icon_name">edit-find-symbolic</property>
|
||||
<property name="primary_icon_activatable">False</property>
|
||||
<property name="primary_icon_sensitive">False</property>
|
||||
<property name="placeholder_text" translatable="yes">search library</property>
|
||||
<signal name="search-changed" handler="on_library-filter_search_changed" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkToolItem">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkScale" id="library-grid-scale">
|
||||
<property name="width_request">100</property>
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="adjustment">library-scale-adjustment</property>
|
||||
<property name="lower_stepper_sensitivity">off</property>
|
||||
<property name="upper_stepper_sensitivity">off</property>
|
||||
<property name="restrict_to_fill_level">False</property>
|
||||
<property name="fill_level">0</property>
|
||||
<property name="digits">0</property>
|
||||
<property name="draw_value">False</property>
|
||||
<signal name="button-release-event" handler="on_library-grid-scale_button_release_event" swapped="no"/>
|
||||
<signal name="change-value" handler="on_library-grid-scale_change_value" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolItem">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkComboBox" id="library-sort">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<signal name="changed" handler="on_library-sort_changed" swapped="no"/>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToggleToolButton" id="library-sort-order">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="icon_name">view-sort-descending</property>
|
||||
<property name="active">True</property>
|
||||
<signal name="clicked" handler="on_library-sort-order_clicked" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
</packing>
|
||||
</child>
|
||||
<style>
|
||||
<class name="no-bg"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="pack_type">end</property>
|
||||
<property name="position">1</property>
|
||||
</packing>
|
||||
</child>
|
||||
<style>
|
||||
<class name="no-bg"/>
|
||||
<class name="no-border"/>
|
||||
</style>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="fill">True</property>
|
||||
|
|
@ -542,7 +588,7 @@
|
|||
<packing>
|
||||
<property name="name">library</property>
|
||||
<property name="title" translatable="yes">Library</property>
|
||||
<property name="position">4</property>
|
||||
<property name="position">3</property>
|
||||
</packing>
|
||||
</child>
|
||||
</object>
|
||||
|
|
@ -726,6 +772,7 @@
|
|||
<object class="GtkToolbar" id="server-toolbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">end</property>
|
||||
<style>
|
||||
<class name="no-bg"/>
|
||||
</style>
|
||||
|
|
@ -739,6 +786,7 @@
|
|||
<object class="GtkToolbar" id="cover-toolbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">end</property>
|
||||
<style>
|
||||
<class name="no-bg"/>
|
||||
</style>
|
||||
|
|
@ -753,6 +801,7 @@
|
|||
<object class="GtkToolbar" id="playlist-toolbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="show_arrow">False</property>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="playlist-toolbar-clear">
|
||||
|
|
@ -781,17 +830,45 @@
|
|||
<object class="GtkToolbar" id="library-toolbar">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="halign">end</property>
|
||||
<property name="show_arrow">False</property>
|
||||
<child>
|
||||
<object class="GtkToolButton" id="library-toolbar-update">
|
||||
<object class="GtkToggleToolButton" id="library-toolbar-search">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="use_underline">True</property>
|
||||
<property name="stock_id">gtk-refresh</property>
|
||||
<property name="icon_name">edit-find-symbolic</property>
|
||||
<signal name="toggled" handler="on_library-toolbar-search_toggled" swapped="no"/>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">True</property>
|
||||
<property name="homogeneous">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<child>
|
||||
<object class="GtkToolItem">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<child>
|
||||
<object class="GtkMenuButton">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">True</property>
|
||||
<property name="receives_default">True</property>
|
||||
<property name="relief">none</property>
|
||||
<property name="popover">library-toolbar-popover</property>
|
||||
<child>
|
||||
<object class="GtkImage">
|
||||
<property name="visible">True</property>
|
||||
<property name="can_focus">False</property>
|
||||
<property name="icon_name">open-menu-symbolic</property>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
</child>
|
||||
</object>
|
||||
<packing>
|
||||
<property name="expand">False</property>
|
||||
<property name="homogeneous">False</property>
|
||||
</packing>
|
||||
</child>
|
||||
<style>
|
||||
|
|
|
|||
119
mcg/mcgGtk.py
119
mcg/mcgGtk.py
|
|
@ -1094,29 +1094,22 @@ class LibraryPanel(mcg.Base):
|
|||
# Widgets
|
||||
self._panel = builder.get_object('library-panel')
|
||||
self._toolbar = builder.get_object('library-toolbar')
|
||||
# Filter/search bar
|
||||
self._filter_bar = builder.get_object('library-filter-bar')
|
||||
self._filter_entry = builder.get_object('library-filter')
|
||||
# Progress Bar
|
||||
self._progress_revealer = builder.get_object('library-progress-revealer')
|
||||
self._progress_bar = builder.get_object('library-progress')
|
||||
# Toolbar
|
||||
# Filter entry
|
||||
self._filter_entry = builder.get_object('library-filter')
|
||||
# Grid scale
|
||||
self._grid_scale = builder.get_object('library-grid-scale')
|
||||
# Toolbar menu
|
||||
self._toolbar_search_bar = builder.get_object('library-toolbar-search')
|
||||
self._toolbar_sort_buttons = {
|
||||
mcg.MCGAlbum.SORT_BY_ARTIST: builder.get_object('library-toolbar-sort-artist'),
|
||||
mcg.MCGAlbum.SORT_BY_TITLE: builder.get_object('library-toolbar-sort-title'),
|
||||
mcg.MCGAlbum.SORT_BY_YEAR: builder.get_object('library-toolbar-sort-year')
|
||||
}
|
||||
self._toolbar_sort_order_button = builder.get_object('library-toolbar-sort-order')
|
||||
self._grid_scale = builder.get_object('library-toolbar-scale')
|
||||
self._grid_scale.set_value(self._item_size)
|
||||
# Sort menu
|
||||
library_sort_store = Gtk.ListStore(str, str)
|
||||
library_sort_store.append([mcg.MCGAlbum.SORT_BY_ARTIST, "sort by artist"])
|
||||
library_sort_store.append([mcg.MCGAlbum.SORT_BY_TITLE, "sort by title"])
|
||||
library_sort_store.append([mcg.MCGAlbum.SORT_BY_YEAR, "sort by year"])
|
||||
self._library_sort_combo = builder.get_object('library-sort')
|
||||
self._library_sort_combo.set_model(library_sort_store)
|
||||
renderer_text = Gtk.CellRendererText()
|
||||
self._library_sort_combo.pack_start(renderer_text, True)
|
||||
self._library_sort_combo.add_attribute(renderer_text, "text", 1)
|
||||
self._library_sort_combo.set_id_column(0)
|
||||
self._library_sort_combo.set_active_id(self._sort_order)
|
||||
# Sort type
|
||||
self._library_sort_type_button = builder.get_object('library-sort-order')
|
||||
# Library Grid: Model
|
||||
self._library_grid_model = Gtk.ListStore(GdkPixbuf.Pixbuf, str, str)
|
||||
self._library_grid_model.set_sort_func(2, self.compare_albums, self._sort_order)
|
||||
|
|
@ -1141,31 +1134,20 @@ class LibraryPanel(mcg.Base):
|
|||
|
||||
def get_signal_handlers(self):
|
||||
return {
|
||||
'on_library-update_clicked': self.on_update_clicked,
|
||||
'on_library-grid-scale_change_value': self.on_grid_scale_change,
|
||||
'on_library-grid-scale_button_release_event': self.on_grid_scale_changed,
|
||||
'on_library-sort_changed': self.on_library_sort_combo_changed,
|
||||
'on_library-sort-order_clicked': self.on_library_sort_type_button_activated,
|
||||
'on_library-toolbar-search_toggled': self.on_search_toggled,
|
||||
'on_library-toolbar-scale_change_value': self.on_grid_scale_change,
|
||||
'on_library-toolbar-scale_button_release_event': self.on_grid_scale_changed,
|
||||
'on_library-toolbar-update_clicked': self.on_update_clicked,
|
||||
'on_library-toolbar-sort-toggled': self.on_sort_toggled,
|
||||
'on_library-toolbar-sort-order_toggled': self.on_sort_order_toggled,
|
||||
'on_library-filter-bar_notify': self.on_filter_bar_notify,
|
||||
'on_library-filter_search_changed': self.on_filter_entry_changed,
|
||||
'on_library-iconview_item_activated': self.on_library_grid_clicked
|
||||
}
|
||||
|
||||
|
||||
def on_update_clicked(self, widget):
|
||||
self._callback(self.SIGNAL_UPDATE)
|
||||
|
||||
|
||||
def on_filter_visible(self, model, iter, data):
|
||||
hash = model.get_value(iter, 2)
|
||||
if not hash in self._albums.keys():
|
||||
return
|
||||
album = self._albums[hash]
|
||||
return album.filter(self._filter_string)
|
||||
|
||||
|
||||
def on_filter_entry_changed(self, widget):
|
||||
self._filter_string = self._filter_entry.get_text()
|
||||
GObject.idle_add(self._library_grid_filter.refilter)
|
||||
def on_search_toggled(self, widget):
|
||||
self._filter_bar.set_search_mode(widget.get_active())
|
||||
|
||||
|
||||
def on_grid_scale_change(self, widget, scroll, value):
|
||||
|
|
@ -1186,31 +1168,50 @@ class LibraryPanel(mcg.Base):
|
|||
self._redraw()
|
||||
|
||||
|
||||
def on_library_sort_combo_changed(self, combo):
|
||||
sort_order = combo.get_active_id()
|
||||
self._sort_order = sort_order
|
||||
self._library_grid_model.set_sort_func(2, self.compare_albums, sort_order)
|
||||
self._callback(LibraryPanel.SIGNAL_SORT_ORDER_CHANGED, sort_order)
|
||||
def on_update_clicked(self, widget):
|
||||
self._callback(self.SIGNAL_UPDATE)
|
||||
|
||||
|
||||
def on_library_sort_type_button_activated(self, button):
|
||||
def on_sort_toggled(self, widget):
|
||||
if widget.get_active():
|
||||
sort = [key for key, value in self._toolbar_sort_buttons.items() if value is widget][0]
|
||||
self._change_sort(sort)
|
||||
|
||||
|
||||
def on_sort_order_toggled(self, button):
|
||||
if button.get_active():
|
||||
sort_type = Gtk.SortType.DESCENDING
|
||||
button.set_stock_id(Gtk.STOCK_SORT_DESCENDING)
|
||||
else:
|
||||
sort_type = Gtk.SortType.ASCENDING
|
||||
button.set_stock_id(Gtk.STOCK_SORT_ASCENDING)
|
||||
self._sort_type = sort_type
|
||||
self._library_grid_model.set_sort_column_id(2, sort_type)
|
||||
self._callback(LibraryPanel.SIGNAL_SORT_TYPE_CHANGED, sort_type)
|
||||
|
||||
|
||||
def on_filter_bar_notify(self, widget, value):
|
||||
if self._toolbar_search_bar.get_active() is not self._filter_bar.get_search_mode():
|
||||
self._toolbar_search_bar.set_active(self._filter_bar.get_search_mode())
|
||||
|
||||
|
||||
def on_filter_entry_changed(self, widget):
|
||||
self._filter_string = self._filter_entry.get_text()
|
||||
GObject.idle_add(self._library_grid_filter.refilter)
|
||||
|
||||
|
||||
def on_library_grid_clicked(self, widget, path):
|
||||
path = self._library_grid_filter.convert_path_to_child_path(path)
|
||||
iter = self._library_grid_model.get_iter(path)
|
||||
self._callback(LibraryPanel.SIGNAL_PLAY, self._library_grid_model.get_value(iter, 2))
|
||||
|
||||
|
||||
def on_filter_visible(self, model, iter, data):
|
||||
hash = model.get_value(iter, 2)
|
||||
if not hash in self._albums.keys():
|
||||
return
|
||||
album = self._albums[hash]
|
||||
return album.filter(self._filter_string)
|
||||
|
||||
|
||||
def set_item_size(self, item_size):
|
||||
if self._item_size != item_size:
|
||||
self._item_size = item_size
|
||||
|
|
@ -1222,11 +1223,12 @@ class LibraryPanel(mcg.Base):
|
|||
return self._item_size
|
||||
|
||||
|
||||
def set_sort_order(self, sort_order):
|
||||
if self._sort_order != sort_order:
|
||||
result = self._library_sort_combo.set_active_id(sort_order)
|
||||
if self._sort_order != sort_order:
|
||||
self._sort_order = sort_order
|
||||
def set_sort_order(self, sort):
|
||||
if self._sort_order != sort:
|
||||
button = self._toolbar_sort_buttons[sort]
|
||||
if button and not button.get_active():
|
||||
button.set_active(True)
|
||||
self._sort_order = sort
|
||||
self._library_grid_model.set_sort_func(2, self.compare_albums, self._sort_order)
|
||||
|
||||
|
||||
|
|
@ -1238,15 +1240,12 @@ class LibraryPanel(mcg.Base):
|
|||
if self._sort_type != sort_type:
|
||||
if sort_type:
|
||||
sort_type_gtk = Gtk.SortType.DESCENDING
|
||||
stock_id = Gtk.STOCK_SORT_DESCENDING
|
||||
self._library_sort_type_button.set_active(True)
|
||||
self._toolbar_sort_order_button.set_active(True)
|
||||
else:
|
||||
sort_type_gtk = Gtk.SortType.ASCENDING
|
||||
self._library_sort_type_button.set_active(False)
|
||||
stock_id = Gtk.STOCK_SORT_ASCENDING
|
||||
self._toolbar_sort_order_button.set_active(False)
|
||||
if self._sort_type != sort_type_gtk:
|
||||
self._sort_type = sort_type_gtk
|
||||
self._library_sort_type_button.set_stock_id(stock_id)
|
||||
self._library_grid_model.set_sort_column_id(2, sort_type)
|
||||
|
||||
|
||||
|
|
@ -1273,6 +1272,12 @@ class LibraryPanel(mcg.Base):
|
|||
self._library_stop.set()
|
||||
|
||||
|
||||
def _change_sort(self, sort):
|
||||
self._sort_order = sort
|
||||
self._library_grid_model.set_sort_func(2, self.compare_albums, sort)
|
||||
self._callback(LibraryPanel.SIGNAL_SORT_ORDER_CHANGED, sort)
|
||||
|
||||
|
||||
def _set_albums(self, host, albums, size):
|
||||
self._library_lock.acquire()
|
||||
self._library_stop.clear()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue