diff --git a/bin/mpdevil.py b/bin/mpdevil.py index 44c902f..c0f4818 100644 --- a/bin/mpdevil.py +++ b/bin/mpdevil.py @@ -381,6 +381,9 @@ class GenreSelect(Gtk.Box): self.emitter.emit("update") self.emitter.handler_unblock(self.update_signal) + def deactivate(self): + self.combo.set_active(0) + def refresh(self, *args): self.combo.handler_block(self.combo_changed) self.combo.remove_all() @@ -933,22 +936,27 @@ class Browser(Gtk.Box): #widgets self.genre_select=GenreSelect(self.client, self.settings, self.emitter) + self.genre_select.set_margin_start(2) + self.genre_select.set_margin_end(2) + self.genre_select.set_margin_top(2) self.artist_list=ArtistView(self.client, self.settings, self.emitter, self.genre_select) self.album_list=AlbumView(self.client, self.settings, self.genre_select, self.window) self.title_list=TrackView(self.client, self.settings, self.emitter, self.window) - hbox=Gtk.Box(orientation=Gtk.Orientation.VERTICAL) #connect self.artist_change=self.artist_list.selection.connect("changed", self.on_artist_selection_change) + self.settings.connect("changed::show-genre-filter", self.on_settings_changed) #packing - hbox.pack_start(self.genre_select, False, False, 4) - hbox.pack_start(self.artist_list, True, True, 0) + self.vbox=Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=4) + if self.settings.get_boolean("show-genre-filter"): + self.vbox.pack_start(self.genre_select, False, False, 0) + self.vbox.pack_start(self.artist_list, True, True, 0) self.paned1=Gtk.Paned.new(Gtk.Orientation.HORIZONTAL) self.paned1.set_wide_handle(True) self.paned2=Gtk.Paned.new(Gtk.Orientation.HORIZONTAL) self.paned2.set_wide_handle(True) - self.paned1.pack1(hbox, False, False) + self.paned1.pack1(self.vbox, False, False) self.paned1.pack2(self.album_list, True, False) self.paned2.pack1(self.paned1, True, False) self.paned2.pack2(self.title_list, False, False) @@ -994,6 +1002,15 @@ class Browser(Gtk.Box): artists=self.artist_list.get_selected_artists() self.album_list.refresh(artists) + def on_settings_changed(self, *args): + if self.settings.get_boolean("show-genre-filter"): + self.vbox.pack_start(self.genre_select, False, False, 0) + self.vbox.reorder_child(self.genre_select, 0) + self.genre_select.show_all() + else: + self.genre_select.deactivate() + self.vbox.remove(self.genre_select) + class ProfileSettings(Gtk.Grid): def __init__(self, parent, settings): Gtk.Grid.__init__(self) @@ -1174,6 +1191,9 @@ class GeneralSettings(Gtk.Grid): show_stop=Gtk.CheckButton(label=_("Show stop button")) show_stop.set_active(self.settings.get_boolean("show-stop")) + show_genre_filter=Gtk.CheckButton(label=_("Show genre filter")) + show_genre_filter.set_active(self.settings.get_boolean("show-genre-filter")) + show_album_view_tooltips=Gtk.CheckButton(label=_("Show tooltips in album view")) show_album_view_tooltips.set_active(self.settings.get_boolean("show-album-view-tooltips")) @@ -1197,6 +1217,7 @@ class GeneralSettings(Gtk.Grid): album_cover_size.connect("value-changed", self.on_int_changed, "album-cover") icon_size_combo.connect("changed", self.on_icon_size_changed) show_stop.connect("toggled", self.on_toggled, "show-stop") + show_genre_filter.connect("toggled", self.on_toggled, "show-genre-filter") show_album_view_tooltips.connect("toggled", self.on_toggled, "show-album-view-tooltips") sort_albums_by_year.connect("toggled", self.on_toggled, "sort-albums-by-year") show_all_artists.connect("toggled", self.on_toggled, "show-all-artists") @@ -1212,7 +1233,8 @@ class GeneralSettings(Gtk.Grid): self.attach_next_to(album_cover_size, album_cover_label, Gtk.PositionType.RIGHT, 1, 1) self.attach_next_to(icon_size_combo, icon_size_label, Gtk.PositionType.RIGHT, 1, 1) self.attach_next_to(show_stop, icon_size_label, Gtk.PositionType.BOTTOM, 2, 1) - self.attach_next_to(show_album_view_tooltips, show_stop, Gtk.PositionType.BOTTOM, 2, 1) + self.attach_next_to(show_genre_filter, show_stop, Gtk.PositionType.BOTTOM, 2, 1) + self.attach_next_to(show_album_view_tooltips, show_genre_filter, Gtk.PositionType.BOTTOM, 2, 1) self.attach_next_to(sort_albums_by_year, show_album_view_tooltips, Gtk.PositionType.BOTTOM, 2, 1) self.attach_next_to(show_all_artists, sort_albums_by_year, Gtk.PositionType.BOTTOM, 2, 1) self.attach_next_to(send_notify, show_all_artists, Gtk.PositionType.BOTTOM, 2, 1) diff --git a/data/org.mpdevil.gschema.xml b/data/org.mpdevil.gschema.xml index ff1509e..b89369d 100644 --- a/data/org.mpdevil.gschema.xml +++ b/data/org.mpdevil.gschema.xml @@ -41,6 +41,11 @@ Show stop button + + false + Show genre filter + + true Show tooltips in album-view diff --git a/po/de.po b/po/de.po index 971b7ff..107358f 100644 --- a/po/de.po +++ b/po/de.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-02-28 17:46+0100\n" -"PO-Revision-Date: 2020-02-28 17:48+0100\n" +"POT-Creation-Date: 2020-02-28 23:22+0100\n" +"PO-Revision-Date: 2020-02-28 23:23+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: de\n" @@ -18,160 +18,164 @@ msgstr "" "X-Generator: Poedit 2.2.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mpdevil.py:290 mpdevil.py:697 mpdevil.py:1713 +#: mpdevil.py:290 mpdevil.py:700 mpdevil.py:1735 msgid "No" msgstr "Nr." -#: mpdevil.py:295 mpdevil.py:702 mpdevil.py:1719 +#: mpdevil.py:295 mpdevil.py:705 mpdevil.py:1741 msgid "Title" msgstr "Titel" -#: mpdevil.py:300 mpdevil.py:451 mpdevil.py:707 mpdevil.py:1725 +#: mpdevil.py:300 mpdevil.py:454 mpdevil.py:710 mpdevil.py:1747 msgid "Artist" msgstr "Interpret" -#: mpdevil.py:305 mpdevil.py:712 mpdevil.py:1737 +#: mpdevil.py:305 mpdevil.py:715 mpdevil.py:1759 msgid "Length" msgstr "Länge" -#: mpdevil.py:345 mpdevil.py:883 mpdevil.py:1774 +#: mpdevil.py:345 mpdevil.py:886 mpdevil.py:1796 msgid "Unknown Title" msgstr "Unbekannter Titel" -#: mpdevil.py:349 mpdevil.py:891 mpdevil.py:1782 +#: mpdevil.py:349 mpdevil.py:894 mpdevil.py:1804 msgid "Unknown Artist" msgstr "Unbekannter Interpret" -#: mpdevil.py:387 +#: mpdevil.py:390 msgid "all genres" msgstr "Alle Genres" -#: mpdevil.py:449 +#: mpdevil.py:452 msgid "Album Artist" msgstr "Albuminterpret" -#: mpdevil.py:530 mpdevil.py:786 +#: mpdevil.py:533 mpdevil.py:789 #, python-format msgid "%(total_tracks)i titles (%(total_length)s)" msgstr "%(total_tracks)i Titel (%(total_length)s)" -#: mpdevil.py:895 mpdevil.py:1786 +#: mpdevil.py:898 mpdevil.py:1808 msgid "Unknown Album" msgstr "Unbekanntes Album" -#: mpdevil.py:1019 +#: mpdevil.py:1036 msgid "Select" msgstr "Auswählen" -#: mpdevil.py:1021 +#: mpdevil.py:1038 msgid "Profile:" msgstr "Profil:" -#: mpdevil.py:1023 +#: mpdevil.py:1040 msgid "Name:" msgstr "Name:" -#: mpdevil.py:1025 +#: mpdevil.py:1042 msgid "Host:" msgstr "Host:" -#: mpdevil.py:1027 +#: mpdevil.py:1044 msgid "Port:" msgstr "Port:" -#: mpdevil.py:1029 +#: mpdevil.py:1046 msgid "Password:" msgstr "Passwort:" -#: mpdevil.py:1031 +#: mpdevil.py:1048 msgid "Music lib:" msgstr "Musikverzeichnis:" -#: mpdevil.py:1117 +#: mpdevil.py:1134 msgid "Choose directory" msgstr "Verzeichnis Wählen" -#: mpdevil.py:1157 +#: mpdevil.py:1174 msgid "Main cover size:" msgstr "Größe des Haupt-Covers:" -#: mpdevil.py:1159 +#: mpdevil.py:1176 msgid "Album-view cover size:" msgstr "Covergröße in Albumansicht:" -#: mpdevil.py:1165 +#: mpdevil.py:1182 msgid "Button icon size (restart required):" msgstr "Symbolgröße der Knöpfe (Neustart erforderlich):" -#: mpdevil.py:1174 +#: mpdevil.py:1191 msgid "Show stop button" msgstr "Zeige Stopp-Knopf" -#: mpdevil.py:1177 +#: mpdevil.py:1194 +msgid "Show genre filter" +msgstr "Zeige Genre Filter" + +#: mpdevil.py:1197 msgid "Show tooltips in album view" msgstr "Zeige Tooltips in Albumansicht" -#: mpdevil.py:1180 +#: mpdevil.py:1200 msgid "Sort albums by year" msgstr "Sortiere Alben nach Erscheinungsjahr" -#: mpdevil.py:1183 +#: mpdevil.py:1203 msgid "Show all artists" msgstr "Zeige alle Interpreten" -#: mpdevil.py:1186 +#: mpdevil.py:1206 msgid "Send notification on title change" msgstr "Sende Benachrichtigung bei Titelwechsel" -#: mpdevil.py:1189 +#: mpdevil.py:1209 msgid "Stop playback on quit" msgstr "Wiedergabe beim Beenden stoppen" -#: mpdevil.py:1192 +#: mpdevil.py:1212 msgid "Play selected album after current title" msgstr "Ausgewähltes Album hinter aktuellem Titel einreihen" -#: mpdevil.py:1234 mpdevil.py:1922 +#: mpdevil.py:1256 mpdevil.py:1948 msgid "Settings" msgstr "Einstellungen" -#: mpdevil.py:1247 +#: mpdevil.py:1269 msgid "General" msgstr "Allgemein" -#: mpdevil.py:1248 +#: mpdevil.py:1270 msgid "Profiles" msgstr "Profile" -#: mpdevil.py:1432 +#: mpdevil.py:1454 msgid "Random mode" msgstr "Zufallsmodus" -#: mpdevil.py:1435 +#: mpdevil.py:1457 msgid "Repeat mode" msgstr "Dauerschleife" -#: mpdevil.py:1438 +#: mpdevil.py:1460 msgid "Single mode" msgstr "Einzelstückmodus" -#: mpdevil.py:1441 +#: mpdevil.py:1463 msgid "Consume mode" msgstr "Playliste verbrauchen" -#: mpdevil.py:1531 +#: mpdevil.py:1553 msgid "Click to show additional information" msgstr "Klicken für weitere Informationen" -#: mpdevil.py:1556 +#: mpdevil.py:1578 msgid "MPD-Tag" msgstr "MPD-Tag" -#: mpdevil.py:1560 mpdevil.py:1663 +#: mpdevil.py:1582 mpdevil.py:1685 msgid "Value" msgstr "Wert" -#: mpdevil.py:1582 +#: mpdevil.py:1604 #, python-format msgid "" "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " @@ -180,80 +184,80 @@ msgstr "" "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " "Kanäle, %(file_type)s" -#: mpdevil.py:1642 +#: mpdevil.py:1664 msgid "Stats" msgstr "Statistik" -#: mpdevil.py:1660 +#: mpdevil.py:1682 msgid "Tag" msgstr "Tag" -#: mpdevil.py:1680 +#: mpdevil.py:1702 msgid "Search" msgstr "Suche" -#: mpdevil.py:1731 +#: mpdevil.py:1753 msgid "Album" msgstr "Album" -#: mpdevil.py:1793 +#: mpdevil.py:1815 #, python-format msgid "Hits: %i" msgstr "Treffer: %i" -#: mpdevil.py:1797 +#: mpdevil.py:1819 msgid "Lyrics" msgstr "Liedtext" -#: mpdevil.py:1826 +#: mpdevil.py:1852 msgid "searching..." msgstr "suche..." -#: mpdevil.py:1830 +#: mpdevil.py:1856 msgid "not found" msgstr "nicht gefunden" -#: mpdevil.py:1905 +#: mpdevil.py:1931 msgid "Select profile" msgstr "Profil auswählen" -#: mpdevil.py:1910 +#: mpdevil.py:1936 msgid "Return to album of current title" msgstr "Zu Album des aktuellen Titels zurückkehren" -#: mpdevil.py:1913 +#: mpdevil.py:1939 msgid "Title search" msgstr "Titelsuche" -#: mpdevil.py:1916 +#: mpdevil.py:1942 msgid "Show lyrics" msgstr "Zeige Liedtext" -#: mpdevil.py:1921 +#: mpdevil.py:1947 msgid "Save window size" msgstr "Fenstergröße speichern" -#: mpdevil.py:1923 +#: mpdevil.py:1949 msgid "Update database" msgstr "Datenbank aktualisieren" -#: mpdevil.py:1924 +#: mpdevil.py:1950 msgid "Server stats" msgstr "Serverstatistik" -#: mpdevil.py:1925 +#: mpdevil.py:1951 msgid "About" msgstr "Über" -#: mpdevil.py:1926 +#: mpdevil.py:1952 msgid "Quit" msgstr "Beenden" -#: mpdevil.py:1932 +#: mpdevil.py:1958 msgid "Main menu" msgstr "Hauptmenu" -#: mpdevil.py:2100 +#: mpdevil.py:2126 msgid "A small MPD client written in python" msgstr "" diff --git a/po/mpdevil.pot b/po/mpdevil.pot index bffb202..485a88d 100644 --- a/po/mpdevil.pot +++ b/po/mpdevil.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2020-02-28 17:46+0100\n" +"POT-Creation-Date: 2020-02-28 23:22+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,239 +17,243 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: mpdevil.py:290 mpdevil.py:697 mpdevil.py:1713 +#: mpdevil.py:290 mpdevil.py:700 mpdevil.py:1735 msgid "No" msgstr "" -#: mpdevil.py:295 mpdevil.py:702 mpdevil.py:1719 +#: mpdevil.py:295 mpdevil.py:705 mpdevil.py:1741 msgid "Title" msgstr "" -#: mpdevil.py:300 mpdevil.py:451 mpdevil.py:707 mpdevil.py:1725 +#: mpdevil.py:300 mpdevil.py:454 mpdevil.py:710 mpdevil.py:1747 msgid "Artist" msgstr "" -#: mpdevil.py:305 mpdevil.py:712 mpdevil.py:1737 +#: mpdevil.py:305 mpdevil.py:715 mpdevil.py:1759 msgid "Length" msgstr "" -#: mpdevil.py:345 mpdevil.py:883 mpdevil.py:1774 +#: mpdevil.py:345 mpdevil.py:886 mpdevil.py:1796 msgid "Unknown Title" msgstr "" -#: mpdevil.py:349 mpdevil.py:891 mpdevil.py:1782 +#: mpdevil.py:349 mpdevil.py:894 mpdevil.py:1804 msgid "Unknown Artist" msgstr "" -#: mpdevil.py:387 +#: mpdevil.py:390 msgid "all genres" msgstr "" -#: mpdevil.py:449 +#: mpdevil.py:452 msgid "Album Artist" msgstr "" -#: mpdevil.py:530 mpdevil.py:786 +#: mpdevil.py:533 mpdevil.py:789 #, python-format msgid "%(total_tracks)i titles (%(total_length)s)" msgstr "" -#: mpdevil.py:895 mpdevil.py:1786 +#: mpdevil.py:898 mpdevil.py:1808 msgid "Unknown Album" msgstr "" -#: mpdevil.py:1019 +#: mpdevil.py:1036 msgid "Select" msgstr "" -#: mpdevil.py:1021 +#: mpdevil.py:1038 msgid "Profile:" msgstr "" -#: mpdevil.py:1023 +#: mpdevil.py:1040 msgid "Name:" msgstr "" -#: mpdevil.py:1025 +#: mpdevil.py:1042 msgid "Host:" msgstr "" -#: mpdevil.py:1027 +#: mpdevil.py:1044 msgid "Port:" msgstr "" -#: mpdevil.py:1029 +#: mpdevil.py:1046 msgid "Password:" msgstr "" -#: mpdevil.py:1031 +#: mpdevil.py:1048 msgid "Music lib:" msgstr "" -#: mpdevil.py:1117 +#: mpdevil.py:1134 msgid "Choose directory" msgstr "" -#: mpdevil.py:1157 +#: mpdevil.py:1174 msgid "Main cover size:" msgstr "" -#: mpdevil.py:1159 +#: mpdevil.py:1176 msgid "Album-view cover size:" msgstr "" -#: mpdevil.py:1165 +#: mpdevil.py:1182 msgid "Button icon size (restart required):" msgstr "" -#: mpdevil.py:1174 +#: mpdevil.py:1191 msgid "Show stop button" msgstr "" -#: mpdevil.py:1177 +#: mpdevil.py:1194 +msgid "Show genre filter" +msgstr "" + +#: mpdevil.py:1197 msgid "Show tooltips in album view" msgstr "" -#: mpdevil.py:1180 +#: mpdevil.py:1200 msgid "Sort albums by year" msgstr "" -#: mpdevil.py:1183 +#: mpdevil.py:1203 msgid "Show all artists" msgstr "" -#: mpdevil.py:1186 +#: mpdevil.py:1206 msgid "Send notification on title change" msgstr "" -#: mpdevil.py:1189 +#: mpdevil.py:1209 msgid "Stop playback on quit" msgstr "" -#: mpdevil.py:1192 +#: mpdevil.py:1212 msgid "Play selected album after current title" msgstr "" -#: mpdevil.py:1234 mpdevil.py:1922 +#: mpdevil.py:1256 mpdevil.py:1948 msgid "Settings" msgstr "" -#: mpdevil.py:1247 +#: mpdevil.py:1269 msgid "General" msgstr "" -#: mpdevil.py:1248 +#: mpdevil.py:1270 msgid "Profiles" msgstr "" -#: mpdevil.py:1432 +#: mpdevil.py:1454 msgid "Random mode" msgstr "" -#: mpdevil.py:1435 +#: mpdevil.py:1457 msgid "Repeat mode" msgstr "" -#: mpdevil.py:1438 +#: mpdevil.py:1460 msgid "Single mode" msgstr "" -#: mpdevil.py:1441 +#: mpdevil.py:1463 msgid "Consume mode" msgstr "" -#: mpdevil.py:1531 +#: mpdevil.py:1553 msgid "Click to show additional information" msgstr "" -#: mpdevil.py:1556 +#: mpdevil.py:1578 msgid "MPD-Tag" msgstr "" -#: mpdevil.py:1560 mpdevil.py:1663 +#: mpdevil.py:1582 mpdevil.py:1685 msgid "Value" msgstr "" -#: mpdevil.py:1582 +#: mpdevil.py:1604 #, python-format msgid "" "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " "channels, %(file_type)s" msgstr "" -#: mpdevil.py:1642 +#: mpdevil.py:1664 msgid "Stats" msgstr "" -#: mpdevil.py:1660 +#: mpdevil.py:1682 msgid "Tag" msgstr "" -#: mpdevil.py:1680 +#: mpdevil.py:1702 msgid "Search" msgstr "" -#: mpdevil.py:1731 +#: mpdevil.py:1753 msgid "Album" msgstr "" -#: mpdevil.py:1793 +#: mpdevil.py:1815 #, python-format msgid "Hits: %i" msgstr "" -#: mpdevil.py:1797 +#: mpdevil.py:1819 msgid "Lyrics" msgstr "" -#: mpdevil.py:1826 +#: mpdevil.py:1852 msgid "searching..." msgstr "" -#: mpdevil.py:1830 +#: mpdevil.py:1856 msgid "not found" msgstr "" -#: mpdevil.py:1905 +#: mpdevil.py:1931 msgid "Select profile" msgstr "" -#: mpdevil.py:1910 +#: mpdevil.py:1936 msgid "Return to album of current title" msgstr "" -#: mpdevil.py:1913 +#: mpdevil.py:1939 msgid "Title search" msgstr "" -#: mpdevil.py:1916 +#: mpdevil.py:1942 msgid "Show lyrics" msgstr "" -#: mpdevil.py:1921 +#: mpdevil.py:1947 msgid "Save window size" msgstr "" -#: mpdevil.py:1923 +#: mpdevil.py:1949 msgid "Update database" msgstr "" -#: mpdevil.py:1924 +#: mpdevil.py:1950 msgid "Server stats" msgstr "" -#: mpdevil.py:1925 +#: mpdevil.py:1951 msgid "About" msgstr "" -#: mpdevil.py:1926 +#: mpdevil.py:1952 msgid "Quit" msgstr "" -#: mpdevil.py:1932 +#: mpdevil.py:1958 msgid "Main menu" msgstr "" -#: mpdevil.py:2100 +#: mpdevil.py:2126 msgid "A small MPD client written in python" msgstr ""