From 3441812c1a867fa53403d91a7cb6aa6c2326de07 Mon Sep 17 00:00:00 2001 From: coderkun Date: Mon, 25 Dec 2017 17:41:02 +0100 Subject: [PATCH] Improve the visual appearance of progress bar on Library panel (close #41) --- data/gtk.glade | 140 +++++++++++++++++++++++++++-------- locale/de/LC_MESSAGES/mcg.mo | Bin 4240 -> 4305 bytes locale/de/LC_MESSAGES/mcg.po | 30 ++++---- locale/en/LC_MESSAGES/mcg.mo | Bin 4004 -> 4066 bytes locale/en/LC_MESSAGES/mcg.po | 30 ++++---- mcg/widgets.py | 21 +++++- 6 files changed, 160 insertions(+), 61 deletions(-) diff --git a/data/gtk.glade b/data/gtk.glade index 0d6e906..1db4391 100644 --- a/data/gtk.glade +++ b/data/gtk.glade @@ -1395,49 +1395,125 @@ - - True - False - none - - - True - False - 0.5 - - - - - 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 c32a51590fe3f7ee7ddda220c887b2393c70341b..6e440dad089762deca00239c43d12aafe27bbaf5 100644 GIT binary patch delta 1188 zcmbQBcu}$bo)F7a1_lNOX9fla83qOh6D9_RNCpN59~O`(1H%SZ1_o{h28NBS3=Dz{ z3=Df&85r0Y7#Pk&>1(VE4D1XH40l->7h5M^MfXV7JXC~#(DVBlh4Uv?z zz#tB?m<{64=WGlNvJ4CiEbI^mDX~NJX|h8s(1-HP*%=rF7#J9A*%=r>e)407I3yUX zuAYG*jUD3hJaz^K5e5c^8g>Q-P6h^siBJu*p%yG)hxlkY)Zh(J`E5{ryP*bO02|D} z@R%LqvDfSj4E&&wU}sypW)N%*((a%)r3#f)`@pA6`hRXXk_XT#^rBfB}@Y;)5h67d}Xk zhVwxTPUnMIoXZDJ}Cd<0$jnVlPc2r+$xlp4O_@BK(~Z$&@*_@lMw884Ty1Pp)wK#``FS9P UPMJ9=sYQ7T>8Ux1DXDo30M74p7ytkO delta 1122 zcmcbpI6<-go)F7a1_lNOCk6%v83qOh9VP~bNCpN58y1i#1H%GV1_o{h28M;K3=Dz{ z3=C^o85r0Y7#Q|L>0_)64D1XH3};yx7H~+5C&C{#t8|LQcea29tH-6W==>{OyFc-&|_j?m;;qR&CS3d!N9<9 zlN;jTPuviTen4p^9*BM(9*Dywc_1OEzyooBCJ#eBgA@Y;gC!3{V+aoegBk+^LmUqz z&RTgOKA*+|v0x$8z~wv)4CM?A3|n|0A)v#{z@Wsyz~Bv~^LQa?U?MNX;+eb<^B3?! z%vr??@z4g|dPorO;bmYDW?*1A$P2OXDla6pKj4ML*(az0oO}?2g!v$eNR|)c69Ybo z!47;7i{1FZshh!%j{)q#6h4U0LBS2mMIC$)56%J!fP!!}AH=0cpc+o|F)%1IFfcsh zV_+~~U|`_lhge|E4{@L)Kg0(<{1AN+{0t1Lpj^Ta36WNQNSasz\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 d14c7d7111d3e1f303983ae5a8d7bb0bc95920fc..60b01169fcfc8e84c359abf59bc98fcf3ec88220 100644 GIT binary patch delta 1187 zcmZ1?|46?6o)F7a1_lNOX9fla83qOh6D9_RNCpN59~O`(1H%SZ1_o{h28NBS3=Dz{ z3=Df&85r0Y7#Pk&>1(VE4D1XH40l->7h5M^MfXV7JXC~#(DVBlh4Uv?z zz#tB?m<{64=WGlNvJ4CiEbI^mDX~NJX|h8s(1-HP*%=rF7#J9A*%=r>e)407I3yUX zuAYG*jUD3hJaz^K5e5c^8g>Q-P6h^siBJu*p%yG)hxlkY)Zh(J`E5{ryP*bO02|D} z@R%LqvDfSj4E&&wU}s{5DQ&-A^LoHA?61``BA*}ki?O| z3km8%UWh}=pb9&AAt5o57m_yS^Fo4h3sn6+s0D|4AwD_0_)64D1XH3};yx7H~+5C&C{#t8|LQcea29tH-6W==>{OyFc-5MW|pm;>dn<%Xn*o!k(I zorcnvxFJz+lN(~rL#X(BZb%4z`TK|)A~A7YL^Kg2_hru@*L=7+e*56X{&@^hgIYxyBQZRdvsPQe!f(*lff#lNA8XGGF5W 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 7e02737..74ff6af 100644 --- a/mcg/widgets.py +++ b/mcg/widgets.py @@ -1554,8 +1554,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_sort_buttons = { @@ -1823,7 +1829,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) @@ -1861,6 +1867,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 @@ -1869,7 +1876,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): @@ -1984,6 +1991,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):