diff --git a/data/gtk.css b/data/gtk.css
index 15e6fb9..b5d1b6d 100644
--- a/data/gtk.css
+++ b/data/gtk.css
@@ -44,27 +44,6 @@ actionbar {
background-color:@theme_unfocused_bg_color;
}
-/* Icon View in regular mode */
-iconview.view:selected,
-iconview.view:selected:focus {
- background-color:@theme_selected_bg_color;
-}
-iconview.view:hover {
- -gtk-icon-effect:highlight;
-}
-
-/* Icon View in selection mode */
-iconview.view.selection {
- -gtk-icon-effect:dim;
-}
-iconview.view.selection:selected,
-iconview.view.selection:selected:focus {
- background-color:@theme_selected_bg_color;
- -gtk-icon-effect:highlight;
-}
-iconview.view.selection:hover {
- -gtk-icon-effect:none;
-}
gridview child {
- padding: 1px;
+ padding: 10px;
}
diff --git a/data/ui/album-headerbar.ui b/data/ui/album-headerbar.ui
index 76ade01..376c07c 100644
--- a/data/ui/album-headerbar.ui
+++ b/data/ui/album-headerbar.ui
@@ -1,8 +1,10 @@
-
-
-
diff --git a/data/ui/cover-panel.ui b/data/ui/cover-panel.ui
index 5516676..e41148b 100644
--- a/data/ui/cover-panel.ui
+++ b/data/ui/cover-panel.ui
@@ -53,13 +53,27 @@
fill
image-x-generic-symbolic
large
+
+
+
diff --git a/data/ui/library-panel.ui b/data/ui/library-panel.ui
index 0e499d9..3471ce3 100644
--- a/data/ui/library-panel.ui
+++ b/data/ui/library-panel.ui
@@ -1,11 +1,278 @@
-
-
-
- True
- False
- slide-left-right
+
+
+
+ 100
+ 1000
+ 150
+ 1
+ 10
+
+
+ False
+
+
+ vertical
+ end
+
+
+ 350
+ True
+ True
+ grid_adjustment
+ False
+ -1
+ 0
+ 0
+ False
+
+
+
+
+
+
+
+ gtk-refresh
+ True
+ True
+ True
+
+
+
+
+
+
+
+ True
+ False
+ vertical
+
+
+ True
+ False
+ vertical
+
+
+
+
+
+ True
+ False
+ Sort
+
+
+
+
+
+ sort by artist
+ True
+ True
+ False
+
+ sort_year
+
+
+
+
+
+
+ sort by title
+ True
+ True
+ False
+
+ sort_year
+
+
+
+
+
+
+ sort by year
+ True
+ True
+ False
+ True
+
+
+
+
+
+
+
+ gtk-sort-descending
+ True
+ True
+ False
+
+ True
+
+
+
+
+
+
+
+
+
+
+
+
+
+ horizontal
+ end
+ 6
+
+
+ True
+ True
+ True
+ Search the library
+
+
+
+ True
+ False
+ system-search-symbolic
+
+
+
+
+
+
+
+
+ True
+ True
+ True
+ Select multiple albums
+
+
+
+ True
+ False
+ object-select-symbolic
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ slide-left-right
True
@@ -13,27 +280,31 @@
vertical
- True
+
True
True
+
search library
+
@@ -62,15 +333,16 @@
10
- True
- False
- 6
+ large
+ image-x-generic-symbolic
+
@@ -80,87 +352,135 @@
0
True
+
+
+
+
- True
- True
+ true
-
- True
- True
- 0
- horizontal
- 0
- 0
- 1
- 0
- True
-
-
-
-
-
+
+ vertical
+
+
+
+
+
+
+
+
+
+
+ vertical
+
+
+
+ contain
+ false
+
+
+ GtkListItem
+
+
+
+
+ GtkListItem
+
+
+
+
+
+
+
+
+]]>
+
+
+
+
+
+
- True
- False
none
+ false
- True
- False
cancel
@@ -169,10 +489,12 @@
True
+
@@ -182,25 +504,31 @@
True
+
+
+
@@ -217,9 +545,11 @@
True
False
+
@@ -227,7 +557,9 @@
True
False
False
+
True
@@ -237,23 +569,29 @@
True
False
gtk-missing-image
+
+
+
@@ -267,10 +605,12 @@
True
+
@@ -280,24 +620,32 @@
True
+
+
+
-
+
+
+
diff --git a/data/ui/playlist-panel.ui b/data/ui/playlist-panel.ui
index ac139fe..e3a5e9f 100644
--- a/data/ui/playlist-panel.ui
+++ b/data/ui/playlist-panel.ui
@@ -12,7 +12,9 @@
True
True
Select multiple albums
+
object-select-symbolic
@@ -26,7 +28,9 @@
True
True
Clear the playlist
+
True
@@ -50,8 +54,14 @@
vertical
+
true
+
@@ -106,14 +116,18 @@
cancel
True
+
remove
True
+
@@ -139,6 +153,9 @@
True
False
False
+
True
@@ -146,6 +163,9 @@
gtk-missing-image
+
@@ -160,14 +180,18 @@
remove
True
+
play
True
+
diff --git a/data/xyz.suruatoel.mcg.gresource.xml b/data/xyz.suruatoel.mcg.gresource.xml
index 1710bac..3511840 100644
--- a/data/xyz.suruatoel.mcg.gresource.xml
+++ b/data/xyz.suruatoel.mcg.gresource.xml
@@ -4,9 +4,11 @@
gtk.css
noise-texture.png
ui/window.ui
+
ui/connection-panel.ui
ui/album-headerbar.ui
ui/server-panel.ui
diff --git a/src/application.py b/src/application.py
index cb5b863..e3a92c4 100644
--- a/src/application.py
+++ b/src/application.py
@@ -10,7 +10,7 @@ gi.require_version('Adw', '1')
from gi.repository import Gio, Gtk, Gdk, GLib, Adw
from .window import Window
-from .infodialog import InfoDialog
+#from .infodialog import InfoDialog
@@ -50,10 +50,12 @@ class Application(Gtk.Application):
def on_menu_info(self, action, value):
- if not self._info_dialog:
- self._info_dialog = InfoDialog()
- self._info_dialog.run()
- self._info_dialog.hide()
+ # FIXME Info dialog
+ #if not self._info_dialog:
+ # self._info_dialog = InfoDialog()
+ #self._info_dialog.run()
+ #self._info_dialog.hide()
+ pass
def on_menu_quit(self, action, value):
@@ -97,9 +99,10 @@ class Application(Gtk.Application):
def _load_appmenu(self):
builder = Gtk.Builder()
- builder.set_translation_domain(Application.DOMAIN)
- builder.add_from_resource(self._get_resource_path('ui/gtk.menu.ui'))
- self.set_app_menu(builder.get_object('app-menu'))
+ # FIXME Handle menu
+ #builder.set_translation_domain(Application.DOMAIN)
+ #builder.add_from_resource(self._get_resource_path('ui/gtk.menu.ui'))
+ #self.set_app_menu(builder.get_object('app-menu'))
def _get_resource_path(self, path):
diff --git a/src/coverpanel.py b/src/coverpanel.py
index 27e1e7a..a3adb52 100644
--- a/src/coverpanel.py
+++ b/src/coverpanel.py
@@ -55,7 +55,7 @@ class CoverPanel(Gtk.Overlay):
self._icon_theme = Gtk.IconTheme.get_for_display(Gdk.Display.get_default())
self._fullscreened = False
self._current_size = None
- self._cover_pixbuf = self._get_default_image()
+ #self._cover_pixbuf = self._get_default_image()
# Widgets
self.cover_stack.set_visible_child(self.cover_scroll)
@@ -72,10 +72,11 @@ class CoverPanel(Gtk.Overlay):
pass
- @Gtk.Template.Callback()
- def on_cover_box_pressed(self, widget, event):
- if self._current_album and event.type == Gdk.EventType._2BUTTON_PRESS:
- self.emit('toggle-fullscreen')
+ # FIXME on_cover_box_pressed()
+ #@Gtk.Template.Callback()
+ #def on_cover_box_pressed(self, widget, event):
+ # if self._current_album and event.type == Gdk.EventType._2BUTTON_PRESS:
+ # self.emit('toggle-fullscreen')
def set_width(self, width):
@@ -83,14 +84,15 @@ class CoverPanel(Gtk.Overlay):
self.cover_info_scroll.set_max_content_width(width // 2)
- @Gtk.Template.Callback()
- def on_songs_start_change(self, widget, event):
- if self._timer:
- GObject.source_remove(self._timer)
- self._timer = None
+ # FIXME on_songs_start_change()
+ #@Gtk.Template.Callback()
+ #def on_songs_start_change(self, widget, event):
+ # if self._timer:
+ # GObject.source_remove(self._timer)
+ # self._timer = None
- @Gtk.Template.Callback()
+ #@Gtk.Template.Callback()
def on_songs_change(self, widget, event):
value = int(self.songs_scale.get_value())
time = self._current_album.get_length()
@@ -170,6 +172,7 @@ class CoverPanel(Gtk.Overlay):
else:
# Reset image
self._cover_pixbuf = self._get_default_image()
+ self._cover_pixbuf = None
self._current_size = None
self._current_cover_album = album
# Show image
@@ -228,6 +231,7 @@ class CoverPanel(Gtk.Overlay):
"""Diese Methode skaliert das geladene Bild aus dem Pixelpuffer
auf die Größe des Fensters unter Beibehalt der Seitenverhältnisse
"""
+ # FIXME Get size
size_width = self.cover_stack.get_size(Gtk.Orientation.HORIZONTAL)
size_height = self.cover_stack.get_size(Gtk.Orientation.HORIZONTAL)
# Abort if size is the same
@@ -254,5 +258,7 @@ class CoverPanel(Gtk.Overlay):
height = int(math.floor(pixbuf.get_height()*ratio))
if width <= 0 or height <= 0:
return
+ # FIXME Pixelpuffer auf Oberfläche zeichnen
+ #self.cover_image.set_allocation(self.cover_scroll.get_allocation())
self.cover_image.set_from_pixbuf(pixbuf.scale_simple(width, height, GdkPixbuf.InterpType.HYPER))
self.cover_image.show()
diff --git a/src/librarypanel.py b/src/librarypanel.py
index 4937cfe..79c85f6 100644
--- a/src/librarypanel.py
+++ b/src/librarypanel.py
@@ -24,6 +24,17 @@ from mcg.utils import GridItem
class LibraryPanel(Adw.Bin):
__gtype_name__ = 'McgLibraryPanel'
__gsignals__ = {
+ 'open-standalone': (GObject.SIGNAL_RUN_FIRST, None, ()),
+ 'close-standalone': (GObject.SIGNAL_RUN_FIRST, None, ()),
+ 'update': (GObject.SIGNAL_RUN_FIRST, None, ()),
+ 'play': (GObject.SIGNAL_RUN_FIRST, None, (str,)),
+ 'queue': (GObject.SIGNAL_RUN_FIRST, None, (str,)),
+ 'queue-multiple': (GObject.SIGNAL_RUN_FIRST, None, (GObject.TYPE_PYOBJECT,)),
+ 'item-size-changed': (GObject.SIGNAL_RUN_FIRST, None, (int,)),
+ 'sort-order-changed': (GObject.SIGNAL_RUN_FIRST, None, (int,)),
+ 'sort-type-changed': (GObject.SIGNAL_RUN_FIRST, None, (Gtk.SortType,)),
+ 'albumart': (GObject.SIGNAL_RUN_FIRST, None, (str,)),
+
'select': (GObject.SIGNAL_RUN_FIRST, None, (bool,)),
'toggle-search': (GObject.SIGNAL_RUN_FIRST, None, (bool,)),
'update': (GObject.SIGNAL_RUN_FIRST, None, ()),
@@ -33,6 +44,7 @@ class LibraryPanel(Adw.Bin):
'sort-type': (GObject.SIGNAL_RUN_FIRST, None, (Gtk.SortType,))
}
+
# Widgets
panel_standalone = Gtk.Template.Child()
actionbar_revealer = Gtk.Template.Child()
@@ -86,27 +98,30 @@ class LibraryPanel(Adw.Bin):
self._is_selected = False
# Widgets
- self._toolbar = LibraryToolbar(self._item_size)
- self._toolbar.connect('select', self.on_toolbar_select)
- self._toolbar.connect('toggle-search', self.on_toolbar_toggle_search)
- self._toolbar.connect('update', self.on_toolbar_update)
- self._toolbar.connect('start-scale', self.on_toolbar_scale)
- self._toolbar.connect('end-scale', self.on_toolbar_scaled)
- self._toolbar.connect('sort', self.on_toolbar_sort)
- self._toolbar.connect('sort-type', self.on_toolbar_sort_type)
+ # FIXME Toolbar signals
+ #self._toolbar.connect('select', self.on_toolbar_select)
+ #self._toolbar.connect('toggle-search', self.on_toolbar_toggle_search)
+ #self._toolbar.connect('update', self.on_toolbar_update)
+ #self._toolbar.connect('start-scale', self.on_toolbar_scale)
+ #self._toolbar.connect('end-scale', self.on_toolbar_scaled)
+ #self._toolbar.connect('sort', self.on_toolbar_sort)
+ #self._toolbar.connect('sort-type', self.on_toolbar_sort_type)
# Header bar
self._headerbar_standalone = AlbumHeaderbar()
self._headerbar_standalone.connect('close', self.on_standalone_close_clicked)
- # Progress Bar
- self.progress_image.set_from_pixbuf(self._get_default_image())
# Library Grid: Model
self._library_grid_model = Gio.ListStore()
self._library_grid_selection = Gtk.MultiSelection.new(self._library_grid_model)
+ self._library_grid_filter = self._library_grid_selection
# Library Grid
self.library_grid.set_model(self._library_grid_filter)
- self.library_grid.set_pixbuf_column(0)
- self.library_grid.set_text_column(-1)
- self.library_grid.set_tooltip_column(1)
+ # Toolbar menu
+ self.grid_scale.set_value(self._item_size)
+ self._toolbar_sort_buttons = {
+ SortOrder.ARTIST: self.sort_artist,
+ SortOrder.TITLE: self.sort_title,
+ SortOrder.YEAR: self.sort_year
+ }
def get_headerbar_standalone(self):
@@ -121,7 +136,52 @@ class LibraryPanel(Adw.Bin):
self._is_selected = selected
- @Gtk.Template.Callback()
+ #@Gtk.Template.Callback()
+ def on_select_toggled(self, widget):
+ self.emit('select', widget.get_active())
+
+
+ #@Gtk.Template.Callback()
+ def on_search_toggled(self, widget):
+ self.emit('toggle-search', widget.get_active())
+
+
+ #@Gtk.Template.Callback()
+ def on_update_clicked(self, widget):
+ self.emit('update')
+
+
+ # FXME on_grid_scale_changed
+ #@Gtk.Template.Callback()
+ def on_grid_scale_change(self, widget, scroll, value):
+ self.emit('start-scale', value)
+
+
+ # FXME on_grid_scale_changed
+ #@Gtk.Template.Callback()
+ def on_grid_scale_changed(self, widget, event):
+ self.emit('end-scale', self.grid_scale.get_value())
+ self.toolbar_popover.popdown()
+
+
+ #@Gtk.Template.Callback()
+ 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.emit('sort', sort)
+
+
+ #@Gtk.Template.Callback()
+ def on_sort_order_toggled(self, button):
+ if button.get_active():
+ sort_type = Gtk.SortType.DESCENDING
+ else:
+ sort_type = Gtk.SortType.ASCENDING
+ self.emit('sort-type', sort_type)
+
+
+ # FIXME on_resize()
+ #@Gtk.Template.Callback()
def on_resize(self, widget, event):
new_allocation = (widget.get_allocation().width, widget.get_allocation().height)
if new_allocation == self._allocation:
@@ -169,7 +229,7 @@ class LibraryPanel(Adw.Bin):
if size < range.get_lower() or size > range.get_upper():
return
self._item_size = size
- GObject.idle_add(self.library_grid.set_item_padding, size / 100)
+ #GObject.idle_add(self.library_grid.set_item_padding, size / 100)
GObject.idle_add(self._set_widget_grid_size, self.library_grid, size, True)
@@ -189,23 +249,24 @@ class LibraryPanel(Adw.Bin):
def on_toolbar_sort_type(self, widget, sort_type):
self._sort_type = sort_type
- self._library_grid_model.set_sort_column_id(2, sort_type)
+ #self._library_grid_model.set_sort_column_id(2, sort_type)
self.emit('sort-type-changed', sort_type)
- @Gtk.Template.Callback()
+ #@Gtk.Template.Callback()
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())
- @Gtk.Template.Callback()
+ #@Gtk.Template.Callback()
def on_filter_entry_changed(self, widget):
self._filter_string = self.filter_entry.get_text()
GObject.idle_add(self._library_grid_filter.refilter)
- @Gtk.Template.Callback()
+ # FIXME on_library_grid_clicked()
+ #@Gtk.Template.Callback()
def on_library_grid_clicked(self, widget, path):
# Get selected album
path = self._library_grid_filter.convert_path_to_child_path(path)
@@ -228,7 +289,8 @@ class LibraryPanel(Adw.Bin):
self.standalone_spinner.start()
- @Gtk.Template.Callback()
+ # FIXME on_library_grid_selection_changed()
+ #@Gtk.Template.Callback()
def on_library_grid_selection_changed(self, widget):
self._selected_albums = []
for path in widget.get_selected_items():
@@ -246,30 +308,31 @@ class LibraryPanel(Adw.Bin):
return album.filter(self._filter_string)
- @Gtk.Template.Callback()
+ #@Gtk.Template.Callback()
def on_selection_cancel_clicked(self, widget):
- self._toolbar.exit_selection()
+ self.select_button.set_active(False)
- @Gtk.Template.Callback()
+ #@Gtk.Template.Callback()
def on_selection_add_clicked(self, widget):
ids = [album.get_id() for album in self._selected_albums]
self.emit('queue-multiple', ids)
- self._toolbar.exit_selection()
+ self.select_button.set_active(False)
- @Gtk.Template.Callback()
+ # FIXME on_standalone_scroll_size_allocate()
+ #@Gtk.Template.Callback()
def on_standalone_scroll_size_allocate(self, widget, allocation):
self._resize_standalone_image()
- @Gtk.Template.Callback()
+ #@Gtk.Template.Callback()
def on_standalone_play_clicked(self, widget):
self.emit('play', self._selected_albums[0].get_id())
self._close_standalone()
- @Gtk.Template.Callback()
+ #@Gtk.Template.Callback()
def on_standalone_queue_clicked(self, widget):
self.emit('queue', self._selected_albums[0].get_id())
self._close_standalone()
@@ -373,6 +436,7 @@ class LibraryPanel(Adw.Bin):
def _set_albums(self, host, albums, size):
+ """
if not self._is_selected and albums != self._albums:
GObject.idle_add(
self.get_parent().child_set_property,
@@ -380,15 +444,16 @@ class LibraryPanel(Adw.Bin):
'needs-attention',
True
)
+ """
self._library_lock.acquire()
self._library_stop.clear()
self._albums = albums
GObject.idle_add(self.stack.set_visible_child, self.progress_box)
GObject.idle_add(self.progress_bar.set_fraction, 0.0)
- GObject.idle_add(self.library_grid.set_item_padding, size / 100)
+ #GObject.idle_add(self.library_grid.set_item_padding, size / 100)
self.library_grid.set_model(None)
- self.library_grid.freeze_child_notify()
- self._library_grid_model.clear()
+ #self.library_grid.freeze_child_notify()
+ self._library_grid_model.remove_all()
i = 0
n = len(albums)
@@ -425,8 +490,8 @@ class LibraryPanel(Adw.Bin):
return
self.library_grid.set_model(self._library_grid_filter)
- self.library_grid.thaw_child_notify()
- self.library_grid.set_item_width(-1)
+ #self.library_grid.thaw_child_notify()
+ #self.library_grid.set_item_width(-1)
self._library_lock.release()
self.stack.set_visible_child(self.scroll)
diff --git a/src/playlistpanel.py b/src/playlistpanel.py
index b601dcd..82d4f00 100644
--- a/src/playlistpanel.py
+++ b/src/playlistpanel.py
@@ -28,7 +28,10 @@ class PlaylistPanel(Adw.Bin):
'remove-album': (GObject.SIGNAL_RUN_FIRST, None, (GObject.TYPE_PYOBJECT,)),
'remove-multiple-albums': (GObject.SIGNAL_RUN_FIRST, None, (GObject.TYPE_PYOBJECT,)),
'play': (GObject.SIGNAL_RUN_FIRST, None, (GObject.TYPE_PYOBJECT,)),
- 'albumart': (GObject.SIGNAL_RUN_FIRST, None, (str,))
+ 'albumart': (GObject.SIGNAL_RUN_FIRST, None, (str,)),
+
+ 'select': (GObject.SIGNAL_RUN_FIRST, None, (bool,)),
+ 'clear-playlist': (GObject.SIGNAL_RUN_FIRST, None, ())
}
@@ -66,9 +69,9 @@ class PlaylistPanel(Adw.Bin):
self._is_selected = False
# Widgets
- self._toolbar = PlaylistToolbar()
- self._toolbar.connect('select', self.on_toolbar_select)
- self._toolbar.connect('clear-playlist', self.on_toolbar_clear)
+ # FIXME Toolbar signals
+ #self._toolbar.connect('select', self.on_toolbar_select)
+ #self._toolbar.connect('clear-playlist', self.on_toolbar_clear)
# Header bar
self._headerbar_standalone = AlbumHeaderbar()
self._headerbar_standalone.connect('close', self.on_headerbar_close_clicked)
@@ -106,6 +109,19 @@ class PlaylistPanel(Adw.Bin):
self.emit('clear-playlist')
+ # FIXME on_select_toggled()
+ #@Gtk.Template.Callback()
+ def on_select_toggled(self, widget):
+ self.emit('select', widget.get_active())
+
+
+ # FIXME on_clear_clicked()
+ #@Gtk.Template.Callback()
+ def on_clear_clicked(self, widget):
+ if widget is self.playlist_clear_button:
+ self.emit('clear-playlist')
+
+
@Gtk.Template.Callback()
def on_playlist_grid_clicked(self, widget, position):
# Get selected album
@@ -115,7 +131,8 @@ class PlaylistPanel(Adw.Bin):
self._selected_albums = [album]
self.emit('albumart', id)
- # Show standalone album
+ # FIXME Show standalone album
+ return
if widget.get_selection_mode() == Gtk.SelectionMode.SINGLE:
# Set labels
self._headerbar_standalone.set_album(album)
@@ -128,7 +145,8 @@ class PlaylistPanel(Adw.Bin):
self.standalone_spinner.start()
- @Gtk.Template.Callback()
+ # FIXME on_playlist_grid_selection_changed()
+ #@Gtk.Template.Callback()
def on_playlist_grid_selection_changed(self, widget):
self._selected_albums = []
for path in widget.get_selected_items():
@@ -137,18 +155,19 @@ class PlaylistPanel(Adw.Bin):
self._selected_albums.append(self._playlist_albums[hash])
- @Gtk.Template.Callback()
+ #@Gtk.Template.Callback()
def on_selection_cancel_clicked(self, widget):
- self._toolbar.exit_selection()
+ self.select_button.set_active(False)
- @Gtk.Template.Callback()
+ #@Gtk.Template.Callback()
def on_selection_remove_clicked(self, widget):
self.emit('remove-multiple-albums', self._selected_albums)
- self._toolbar.exit_selection()
+ self.select_button.set_active(False)
- @Gtk.Template.Callback()
+ # FIXME on_standalone_scroll_size_allocate()
+ #@Gtk.Template.Callback()
def on_standalone_scroll_size_allocate(self, widget, allocation):
self._resize_standalone_image()
@@ -157,13 +176,13 @@ class PlaylistPanel(Adw.Bin):
self._close_standalone()
- @Gtk.Template.Callback()
+ #@Gtk.Template.Callback()
def on_standalone_remove_clicked(self, widget):
self.emit('remove-album', self._selected_albums[0])
self._close_standalone()
- @Gtk.Template.Callback()
+ #@Gtk.Template.Callback()
def on_standalone_play_clicked(self, widget):
self.emit('play', self._selected_albums[0])
self._close_standalone()
@@ -205,6 +224,7 @@ class PlaylistPanel(Adw.Bin):
def _set_playlist(self, host, playlist, size):
+ """
if not self._is_selected and self._playlist != playlist:
GObject.idle_add(
self.get_parent().child_set_property,
@@ -212,6 +232,7 @@ class PlaylistPanel(Adw.Bin):
'needs-attention',
True
)
+ """
self._playlist_lock.acquire()
self._playlist_stop.clear()
self._playlist = playlist
@@ -219,6 +240,8 @@ class PlaylistPanel(Adw.Bin):
for album in playlist:
self._playlist_albums[album.get_id()] = album
self._playlist_grid_model.remove_all()
+ # FIXME Set item padding dynamically?
+ #GObject.idle_add(self.playlist_grid.set_item_padding, size / 100)
cache = client.MCGCache(host, size)
for album in playlist:
@@ -248,8 +271,6 @@ class PlaylistPanel(Adw.Bin):
return
self.playlist_grid.set_model(self._playlist_grid_selection)
- # TODO why set_columns()?
- #self.playlist_grid.set_columns(len(playlist))
self._playlist_lock.release()
diff --git a/src/window.py b/src/window.py
index d9dbcea..a438b6f 100644
--- a/src/window.py
+++ b/src/window.py
@@ -15,7 +15,7 @@ import logging
from gi.repository import Gtk, Adw, Gdk, GObject, GLib, Gio
from . import client
-from .shortcutsdialog import ShortcutsDialog
+#from .shortcutsdialog import ShortcutsDialog
from .connectionpanel import ConnectionPanel
from .serverpanel import ServerPanel
from .coverpanel import CoverPanel
@@ -64,9 +64,9 @@ class Window(Adw.ApplicationWindow):
toolbar_stack = Gtk.Template.Child()
# Headerbar
headerbar = Gtk.Template.Child()
- headerbar_title_stack = Gtk.Template.Child()
+ #headerbar_title_stack = Gtk.Template.Child()
headerbar_panel_switcher = Gtk.Template.Child()
- headerbar_connection_label = Gtk.Template.Child()
+ #headerbar_connection_label = Gtk.Template.Child()
headerbar_button_connect = Gtk.Template.Child()
headerbar_button_playpause = Gtk.Template.Child()
headerbar_button_volume = Gtk.Template.Child()
@@ -86,12 +86,11 @@ class Window(Adw.ApplicationWindow):
self._headerbar_connection_button_active = True
self._headerbar_playpause_button_active = True
- # Help/Shortcuts dialog
- self.set_help_overlay(ShortcutsDialog())
+ # FIXME Help/Shortcuts dialog
+ #self.set_help_overlay(ShortcutsDialog())
# Login screen
self._connection_panel = ConnectionPanel()
- self._panels.append(self._connection_panel)
# Server panel
self._server_panel = ServerPanel()
self._panels.append(self._server_panel)
@@ -100,13 +99,13 @@ class Window(Adw.ApplicationWindow):
self._panels.append(self._cover_panel)
# Playlist panel
self._playlist_panel = PlaylistPanel(self._mcg)
- self._playlist_panel.connect('open-standalone', self.on_panel_open_standalone)
- self._playlist_panel.connect('close-standalone', self.on_panel_close_standalone)
+ #self._playlist_panel.connect('open-standalone', self.on_panel_open_standalone)
+ #self._playlist_panel.connect('close-standalone', self.on_panel_close_standalone)
self._panels.append(self._playlist_panel)
# Library panel
self._library_panel = LibraryPanel(self._mcg)
- self._library_panel.connect('open-standalone', self.on_panel_open_standalone)
- self._library_panel.connect('close-standalone', self.on_panel_close_standalone)
+ #self._library_panel.connect('open-standalone', self.on_panel_open_standalone)
+ #self._library_panel.connect('close-standalone', self.on_panel_close_standalone)
self._panels.append(self._library_panel)
# Stack
self.content_stack.add_child(self._connection_panel)
@@ -115,8 +114,8 @@ class Window(Adw.ApplicationWindow):
self.panel_stack.add_titled(self._playlist_panel, 'playlist-panel', locale.gettext("Playlist"))
self.panel_stack.add_titled(self._library_panel, 'library-panel', locale.gettext("Library"))
# Header
- self._playlist_panel.get_headerbar_standalone().connect('close', self.on_panel_close_standalone)
- self._library_panel.get_headerbar_standalone().connect('close', self.on_panel_close_standalone)
+ #self._playlist_panel.get_headerbar_standalone().connect('close', self.on_panel_close_standalone)
+ #self._library_panel.get_headerbar_standalone().connect('close', self.on_panel_close_standalone)
# Toolbar stack
self.toolbar_stack.add_child(self._server_panel.get_toolbar())
self.toolbar_stack.add_child(self._cover_panel.get_toolbar())
@@ -291,13 +290,13 @@ class Window(Adw.ApplicationWindow):
self._save_visible_panel()
self._set_menu_visible_panel()
for panel in self._panels:
- GObject.idle_add(
- self.panel_stack.child_set_property,
- self.panel_stack.get_visible_child(),
- 'needs-attention',
- False
- )
panel.set_selected(panel == self.panel_stack.get_visible_child())
+ #GObject.idle_add(
+ # self.panel_stack.child_set_property,
+ # self.panel_stack.get_visible_child(),
+ # 'needs-attention',
+ # False
+ #)
def on_panel_open_standalone(self, panel):
self.set_titlebar(panel.get_headerbar_standalone())
@@ -466,6 +465,8 @@ class Window(Adw.ApplicationWindow):
def on_mcg_custom(self, name):
+ pass
+ """
if name == Window._CUSTOM_STARTUP_COMPLETE:
for panel in self._panels:
GObject.idle_add(
@@ -474,6 +475,7 @@ class Window(Adw.ApplicationWindow):
'needs-attention',
False
)
+ """
def on_mcg_error(self, error):