diff --git a/data/gtk.glade b/data/gtk.glade
index 9192112..57bb9e4 100644
--- a/data/gtk.glade
+++ b/data/gtk.glade
@@ -1399,49 +1399,125 @@
-
-
- False
- True
- 1
-
+
-
+
True
- True
+ False
+ crossfade
-
+
+ True
+ False
+ vertical
+
+
+
+
+
+ True
+ False
+ vertical
+
+
+
+
+
+ True
+ False
+ center
+ vertical
+ 10
+
+
+ True
+ False
+ 6
+
+
+ False
+ True
+ 0
+
+
+
+
+ True
+ False
+ {} of {} images loaded
+
+
+ False
+ True
+ 1
+
+
+
+
+ 200
+ True
+ False
+ 0.5
+
+
+ False
+ True
+ 2
+
+
+
+
+ False
+ True
+ 1
+
+
+
+
+ False
+ True
+ 1
+
+
+
+
+ page1
+ page1
+
+
+
+
True
True
- 0
- horizontal
- 0
- 0
- 1
- 0
- True
-
-
+
+
+ True
+ True
+ 0
+ horizontal
+ 0
+ 0
+ 1
+ 0
+ True
+
+
+
+
+
+
+ page0
+ page0
+ 1
+
-
True
diff --git a/locale/de/LC_MESSAGES/mcg.mo b/locale/de/LC_MESSAGES/mcg.mo
index c32a515..6e440da 100644
Binary files a/locale/de/LC_MESSAGES/mcg.mo and b/locale/de/LC_MESSAGES/mcg.mo differ
diff --git a/locale/de/LC_MESSAGES/mcg.po b/locale/de/LC_MESSAGES/mcg.po
index 597cb16..67ed1fc 100644
--- a/locale/de/LC_MESSAGES/mcg.po
+++ b/locale/de/LC_MESSAGES/mcg.po
@@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: CoverGrid (mcg)\n"
-"POT-Creation-Date: 2017-12-25 17:10+0100\n"
-"PO-Revision-Date: 2017-12-25 17:10+0100\n"
+"POT-Creation-Date: 2017-12-25 17:40+0100\n"
+"PO-Revision-Date: 2017-12-25 17:40+0100\n"
"Last-Translator: coderkun \n"
"Language-Team: \n"
"Language: de\n"
@@ -158,47 +158,51 @@ msgstr "Wiedergabeliste"
msgid "search library"
msgstr "Bibliothek durchsuchen"
-#: data/gtk.glade:1545 data/gtk.menu.ui:42
+#: data/gtk.glade:1444
+msgid "{} of {} images loaded"
+msgstr "{} von {} Bildern geladen"
+
+#: data/gtk.glade:1621 data/gtk.menu.ui:42
msgid "Library"
msgstr "Bibliothek"
-#: data/gtk.glade:1624 data/gtk.shortcuts.ui:74
+#: data/gtk.glade:1700 data/gtk.shortcuts.ui:74
msgid "Connect or disconnect"
msgstr "Die Verbindung herstellen oder trennen"
-#: data/gtk.glade:1646 data/gtk.shortcuts.ui:81
+#: data/gtk.glade:1722 data/gtk.shortcuts.ui:81
msgid "Switch between play and pause"
msgstr "Zwischen Abspielen und Pause wechseln"
-#: data/gtk.glade:1666
+#: data/gtk.glade:1742
msgid "Adjust the volume"
msgstr "Die Lautstärke anpassen"
-#: data/gtk.glade:1710
+#: data/gtk.glade:1786
msgid "Connect to MPD"
msgstr "Zu MPD verbinden"
-#: data/gtk.glade:1752 data/gtk.shortcuts.ui:101
+#: data/gtk.glade:1828 data/gtk.shortcuts.ui:101
msgid "Show the cover in fullscreen mode"
msgstr "Das Cover im Vollbildmodus anzeigen"
-#: data/gtk.glade:1775 data/gtk.glade:1924
+#: data/gtk.glade:1851 data/gtk.glade:2000
msgid "Settings and actions"
msgstr "Einstellungen und Aktionen"
-#: data/gtk.glade:1823 data/gtk.glade:1902
+#: data/gtk.glade:1899 data/gtk.glade:1978
msgid "Select multiple albums"
msgstr "Mehrere Alben auswählen"
-#: data/gtk.glade:1845 data/gtk.shortcuts.ui:88
+#: data/gtk.glade:1921 data/gtk.shortcuts.ui:88
msgid "Clear the playlist"
msgstr "Die Wiedergabeliste leeren"
-#: data/gtk.glade:1879 data/gtk.shortcuts.ui:114
+#: data/gtk.glade:1955 data/gtk.shortcuts.ui:114
msgid "Search the library"
msgstr "Die Bibliothek durchsuchen"
-#: data/gtk.glade:1969
+#: data/gtk.glade:2045
msgid ""
"CoverGrid is a client for the Music Player Daemon, focusing on albums "
"instead of single tracks."
diff --git a/locale/en/LC_MESSAGES/mcg.mo b/locale/en/LC_MESSAGES/mcg.mo
index d14c7d7..60b0116 100644
Binary files a/locale/en/LC_MESSAGES/mcg.mo and b/locale/en/LC_MESSAGES/mcg.mo differ
diff --git a/locale/en/LC_MESSAGES/mcg.po b/locale/en/LC_MESSAGES/mcg.po
index dfd501b..47eedcd 100644
--- a/locale/en/LC_MESSAGES/mcg.po
+++ b/locale/en/LC_MESSAGES/mcg.po
@@ -1,8 +1,8 @@
msgid ""
msgstr ""
"Project-Id-Version: CoverGrid (mcg)\n"
-"POT-Creation-Date: 2017-12-25 17:08+0100\n"
-"PO-Revision-Date: 2017-12-25 17:08+0100\n"
+"POT-Creation-Date: 2017-12-25 17:40+0100\n"
+"PO-Revision-Date: 2017-12-25 17:40+0100\n"
"Last-Translator: coderkun \n"
"Language-Team: \n"
"Language: en\n"
@@ -157,47 +157,51 @@ msgstr "Playlist"
msgid "search library"
msgstr "search library"
-#: data/gtk.glade:1545 data/gtk.menu.ui:42
+#: data/gtk.glade:1444
+msgid "{} of {} images loaded"
+msgstr "{} of {} images loaded"
+
+#: data/gtk.glade:1621 data/gtk.menu.ui:42
msgid "Library"
msgstr "Library"
-#: data/gtk.glade:1624 data/gtk.shortcuts.ui:74
+#: data/gtk.glade:1700 data/gtk.shortcuts.ui:74
msgid "Connect or disconnect"
msgstr "Connect or disconnect"
-#: data/gtk.glade:1646 data/gtk.shortcuts.ui:81
+#: data/gtk.glade:1722 data/gtk.shortcuts.ui:81
msgid "Switch between play and pause"
msgstr "Switch between play and pause"
-#: data/gtk.glade:1666
+#: data/gtk.glade:1742
msgid "Adjust the volume"
msgstr "Adjust the volume"
-#: data/gtk.glade:1710
+#: data/gtk.glade:1786
msgid "Connect to MPD"
msgstr "Connect to MPD"
-#: data/gtk.glade:1752 data/gtk.shortcuts.ui:101
+#: data/gtk.glade:1828 data/gtk.shortcuts.ui:101
msgid "Show the cover in fullscreen mode"
msgstr "Show the cover in fullscreen mode"
-#: data/gtk.glade:1775 data/gtk.glade:1924
+#: data/gtk.glade:1851 data/gtk.glade:2000
msgid "Settings and actions"
msgstr "Settings and actions"
-#: data/gtk.glade:1823 data/gtk.glade:1902
+#: data/gtk.glade:1899 data/gtk.glade:1978
msgid "Select multiple albums"
msgstr "Select multiple albums"
-#: data/gtk.glade:1845 data/gtk.shortcuts.ui:88
+#: data/gtk.glade:1921 data/gtk.shortcuts.ui:88
msgid "Clear the playlist"
msgstr "Clear the playlist"
-#: data/gtk.glade:1879 data/gtk.shortcuts.ui:114
+#: data/gtk.glade:1955 data/gtk.shortcuts.ui:114
msgid "Search the library"
msgstr "Search the library"
-#: data/gtk.glade:1969
+#: data/gtk.glade:2045
msgid ""
"CoverGrid is a client for the Music Player Daemon, focusing on albums "
"instead of single tracks."
diff --git a/mcg/widgets.py b/mcg/widgets.py
index 4e35103..04b5c9f 100644
--- a/mcg/widgets.py
+++ b/mcg/widgets.py
@@ -1563,8 +1563,14 @@ class LibraryPanel(GObject.GObject):
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._stack = builder.get_object('library-stack')
+ self._progress_box = builder.get_object('library-progress-box')
+ self._pgross_image = builder.get_object('library-progress-image')
+ self._pgross_image.set_from_pixbuf(self._get_default_image())
+ self._progress_label = builder.get_object('library-progress-label')
+ self._loading_text = self._progress_label.get_label()
self._progress_bar = builder.get_object('library-progress')
+ self._scroll = builder.get_object('library-scroll')
# Toolbar menu
self._toolbar_search_bar = builder.get_object('library-toolbar-search')
self._toolbar_popover = builder.get_object('library-toolbar-popover')
@@ -1859,7 +1865,7 @@ class LibraryPanel(GObject.GObject):
self._library_lock.acquire()
self._library_stop.clear()
self._albums = albums
- GObject.idle_add(self._progress_revealer.set_reveal_child, True)
+ 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)
self._library_grid.set_model(None)
@@ -1897,6 +1903,7 @@ class LibraryPanel(GObject.GObject):
i += 1
GObject.idle_add(self._progress_bar.set_fraction, i/n)
+ GObject.idle_add(self._progress_label.set_markup, self._loading_text.format(i, n))
if self._library_stop.is_set():
self._library_lock.release()
return
@@ -1905,7 +1912,7 @@ class LibraryPanel(GObject.GObject):
self._library_grid.thaw_child_notify()
self._library_grid.set_item_width(-1)
self._library_lock.release()
- self._progress_revealer.set_reveal_child(False)
+ self._stack.set_visible_child(self._scroll)
def _set_widget_grid_size(self, grid_widget, size, vertical):
@@ -2020,6 +2027,14 @@ class LibraryPanel(GObject.GObject):
self._standalone_image.show()
+ def _get_default_image(self):
+ return self._icon_theme.load_icon(
+ Window.STOCK_ICON_DEFAULT,
+ 64,
+ Gtk.IconLookupFlags.FORCE_SVG & Gtk.IconLookupFlags.FORCE_SIZE
+ )
+
+
class StackSwitcher(GObject.GObject):