diff --git a/bin/mpdevil.py b/bin/mpdevil.py index 88846b3..5289730 100644 --- a/bin/mpdevil.py +++ b/bin/mpdevil.py @@ -915,6 +915,11 @@ class GenreSelect(Gtk.Box): self.combo.set_active(0) self.combo.handler_unblock(self.combo_changed) + def clear(self, *args): + self.combo.handler_block(self.combo_changed) + self.combo.remove_all() + self.combo.handler_unblock(self.combo_changed) + def get_value(self): if self.combo.get_active() == 0: return None @@ -1546,10 +1551,16 @@ class Browser(Gtk.Box): self.emitter=emitter self.settings=settings self.window=window + self.icon_size=self.settings.get_gtk_icon_size("icon-size") #widgets + self.go_home_button=Gtk.Button(image=Gtk.Image.new_from_icon_name("go-previous-symbolic", self.icon_size)) + self.go_home_button.set_can_focus(False) + self.go_home_button.set_tooltip_text(_("Back to current album")) + self.search_button=Gtk.ToggleButton(image=Gtk.Image.new_from_icon_name("system-search-symbolic", self.icon_size)) + self.search_button.set_can_focus(False) + self.search_button.set_tooltip_text(_("Search")) self.genre_select=GenreSelect(self.client, self.settings, self.emitter) - self.genre_select.set_property("border-width", 6) self.artist_view=ArtistView(self.client, self.settings, self.emitter, self.genre_select) self.album_view=AlbumView(self.client, self.settings, self.genre_select, self.window) self.main_cover=MainCover(self.client, self.settings, self.emitter, self.window) @@ -1559,27 +1570,41 @@ class Browser(Gtk.Box): self.playlist_view=PlaylistView(self.client, self.settings, self.emitter) #connect + self.go_home_button.connect("clicked", self.go_home) + self.search_button.connect("toggled", self.on_search_toggled) self.artist_change=self.artist_view.selection.connect("changed", self.on_artist_selection_change) - self.settings.connect("changed::show-genre-filter", self.on_show_genre_settings_changed) self.settings.connect("changed::alt-layout", self.on_layout_settings_changed) + self.emitter.connect("disconnected", self.on_disconnected) + self.emitter.connect("reconnected", self.on_reconnected) #packing + hbox=Gtk.Box(spacing=6) + hbox.set_property("border-width", 6) + hbox.pack_start(self.go_home_button, False, False, 0) + hbox.pack_start(self.search_button, False, False, 0) + hbox.pack_start(self.genre_select, True, True, 0) + self.box1=Gtk.Box(orientation=Gtk.Orientation.VERTICAL) - if self.settings.get_boolean("show-genre-filter"): - self.box1.pack_start(self.genre_select, False, False, 0) + self.box1.pack_start(hbox, False, False, 0) self.box1.pack_start(Gtk.Separator.new(orientation=Gtk.Orientation.HORIZONTAL), False, False, 0) self.box1.pack_start(self.artist_view, True, True, 0) + self.box2=Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.box2.pack_start(cover_frame, False, False, 0) self.box2.pack_start(self.playlist_view, 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(self.box1, False, False) self.paned1.pack2(self.album_view, True, False) + self.paned2.pack1(self.paned1, True, False) self.paned2.pack2(self.box2, False, False) + self.load_settings() self.pack_start(self.paned2, True, True, 0) @@ -1605,6 +1630,7 @@ class Browser(Gtk.Box): def go_home(self, *args): try: #since this can still be running when the connection is lost, various exceptions can occur song=self.client.currentsong() + self.genre_select.deactivate() #deactivate genre filter to show all artists row_num=len(self.artist_view.store) for i in range(0, row_num): path=Gtk.TreePath(i) @@ -1621,19 +1647,32 @@ class Browser(Gtk.Box): except: pass + def on_search_toggled(self, widget): + if widget.get_active(): + if self.client.connected(): + def set_active(*args): + self.search_button.set_active(False) + self.search_win = SearchWindow(self.client) + self.search_win.connect("destroy", set_active) + else: + self.search_win.destroy() + + def on_reconnected(self, *args): + self.go_home_button.set_sensitive(True) + self.search_button.set_sensitive(True) + self.genre_select.set_sensitive(True) + + def on_disconnected(self, *args): + self.go_home_button.set_sensitive(False) + self.search_button.set_active(False) + self.search_button.set_sensitive(False) + self.genre_select.clear() + self.genre_select.set_sensitive(False) + def on_artist_selection_change(self, *args): artists=self.artist_view.get_selected_artists() self.album_view.refresh(artists) - def on_show_genre_settings_changed(self, *args): - if self.settings.get_boolean("show-genre-filter"): - self.box1.pack_start(self.genre_select, False, False, 0) - self.box1.reorder_child(self.genre_select, 0) - self.genre_select.show_all() - else: - self.genre_select.deactivate() - self.box1.remove(self.genre_select) - def on_layout_settings_changed(self, *args): if self.settings.get_boolean("alt-layout"): self.box2.set_orientation(Gtk.Orientation.HORIZONTAL) @@ -1803,15 +1842,18 @@ class GeneralSettings(Gtk.Box): #widgets track_cover_label=Gtk.Label(label=_("Main cover size:")) - track_cover_label.set_xalign(1) + track_cover_label.set_xalign(0) track_cover_size=IntEntry(self.settings.get_int("track-cover"), 100, 1200, 10) album_cover_label=Gtk.Label(label=_("Album view cover size:")) - album_cover_label.set_xalign(1) + album_cover_label.set_xalign(0) album_cover_size=IntEntry(self.settings.get_int("album-cover"), 50, 600, 10) - icon_size_label=Gtk.Label(label=_("Button icon size (restart required):")) - icon_size_label.set_xalign(1) + icon_size_label1=Gtk.Label(label=_("Button icon size:")) + icon_size_label1.set_xalign(0) + icon_size_label2=Gtk.Label(label=_("(restart required)")) + icon_size_label2.set_xalign(0) + icon_size_label2.set_sensitive(False) icon_size_combo=Gtk.ComboBoxText() icon_size_combo.set_entry_text_column(0) sizes=[16, 24, 32, 48] @@ -1826,10 +1868,11 @@ class GeneralSettings(Gtk.Box): grid.set_margin_start(12) grid.add(track_cover_label) grid.attach_next_to(album_cover_label, track_cover_label, Gtk.PositionType.BOTTOM, 1, 1) - grid.attach_next_to(icon_size_label, album_cover_label, Gtk.PositionType.BOTTOM, 1, 1) + grid.attach_next_to(icon_size_label1, album_cover_label, Gtk.PositionType.BOTTOM, 1, 1) grid.attach_next_to(track_cover_size, track_cover_label, Gtk.PositionType.RIGHT, 1, 1) grid.attach_next_to(album_cover_size, album_cover_label, Gtk.PositionType.RIGHT, 1, 1) - grid.attach_next_to(icon_size_combo, icon_size_label, Gtk.PositionType.RIGHT, 1, 1) + grid.attach_next_to(icon_size_combo, icon_size_label1, Gtk.PositionType.RIGHT, 1, 1) + grid.attach_next_to(icon_size_label2, icon_size_combo, Gtk.PositionType.RIGHT, 1, 1) #headings view_heading=Gtk.Label() @@ -1843,7 +1886,6 @@ class GeneralSettings(Gtk.Box): check_buttons={} settings_list=[(_("Use alternative layout"), "alt-layout"), \ (_("Show stop button"), "show-stop"), \ - (_("Show genre filter"), "show-genre-filter"), \ (_("Show initials in artist view"), "show-initials"), \ (_("Show tooltips in album view"), "show-album-view-tooltips"), \ (_("Sort albums by year"), "sort-albums-by-year"), \ @@ -1867,7 +1909,6 @@ class GeneralSettings(Gtk.Box): self.pack_start(view_heading, True, True, 0) self.pack_start(check_buttons["alt-layout"], True, True, 0) self.pack_start(check_buttons["show-stop"], True, True, 0) - self.pack_start(check_buttons["show-genre-filter"], True, True, 0) self.pack_start(check_buttons["show-initials"], True, True, 0) self.pack_start(check_buttons["show-album-view-tooltips"], True, True, 0) self.pack_start(grid, True, True, 0) @@ -2707,12 +2748,6 @@ class MainWindow(Gtk.ApplicationWindow): self.profiles.set_tooltip_text(_("Select profile")) self.control=ClientControl(self.client, self.settings, self.emitter) self.progress=SeekBar(self.client) - self.go_home_button=Gtk.Button(image=Gtk.Image.new_from_icon_name("go-home-symbolic", self.icon_size)) - self.go_home_button.set_can_focus(False) - self.go_home_button.set_tooltip_text(_("Back to current album")) - self.search_button=Gtk.ToggleButton(image=Gtk.Image.new_from_icon_name("system-search-symbolic", self.icon_size)) - self.search_button.set_can_focus(False) - self.search_button.set_tooltip_text(_("Search")) self.lyrics_button=Gtk.ToggleButton(image=Gtk.Image.new_from_icon_name("media-view-subtitles-symbolic", self.icon_size)) self.lyrics_button.set_can_focus(False) self.lyrics_button.set_tooltip_text(_("Show lyrics")) @@ -2735,8 +2770,6 @@ class MainWindow(Gtk.ApplicationWindow): menu_button.set_image(image=Gtk.Image.new_from_icon_name("open-menu-symbolic", self.icon_size)) #connect - self.go_home_button.connect("clicked", self.browser.go_home) - self.search_button.connect("toggled", self.on_search_toggled) self.lyrics_button.connect("toggled", self.on_lyrics_toggled) self.settings.connect("changed::profiles", self.on_settings_changed) self.emitter.connect("playing_file_changed", self.on_file_changed) @@ -2755,8 +2788,6 @@ class MainWindow(Gtk.ApplicationWindow): self.vbox.pack_start(self.action_bar, False, False, 0) self.action_bar.pack_start(self.control) self.action_bar.pack_start(self.progress) - self.action_bar.pack_start(self.go_home_button) - self.action_bar.pack_start(self.search_button) self.action_bar.pack_start(self.lyrics_button) self.action_bar.pack_start(self.profiles) self.action_bar.pack_start(self.play_opts) @@ -2786,8 +2817,6 @@ class MainWindow(Gtk.ApplicationWindow): self.progress.set_sensitive(True) self.control.set_sensitive(True) self.play_opts.set_sensitive(True) - self.go_home_button.set_sensitive(True) - self.search_button.set_sensitive(True) self.lyrics_button.set_sensitive(True) self.emitter.emit("playlist") self.emitter.emit("player") @@ -2799,27 +2828,14 @@ class MainWindow(Gtk.ApplicationWindow): def on_disconnected(self, *args): self.dbus_service.release_name() self.lyrics_button.set_active(False) - self.search_button.set_active(False) self.set_title("mpdevil (not connected)") self.songid_playing=None self.browser.clear() self.progress.set_sensitive(False) self.control.set_sensitive(False) self.play_opts.set_sensitive(False) - self.go_home_button.set_sensitive(False) - self.search_button.set_sensitive(False) self.lyrics_button.set_sensitive(False) - def on_search_toggled(self, widget): - if widget.get_active(): - if self.client.connected(): - def set_active(*args): - self.search_button.set_active(False) - self.search_win = SearchWindow(self.client) - self.search_win.connect("destroy", set_active) - else: - self.search_win.destroy() - def on_lyrics_toggled(self, widget): if widget.get_active(): if self.client.connected(): @@ -2840,7 +2856,7 @@ class MainWindow(Gtk.ApplicationWindow): elif event.keyval == 269025046 or event.keyval == 45 or event.keyval == 65453: #AudioPrev self.control.prev_button.emit("clicked") elif event.keyval == 65307: #esc - self.go_home_button.emit("clicked") + self.browser.go_home() elif event.keyval == 65450: #* self.progress.seek_forward() elif event.keyval == 65455: #/ diff --git a/data/org.mpdevil.gschema.xml b/data/org.mpdevil.gschema.xml index 49dffcc..e60128a 100644 --- a/data/org.mpdevil.gschema.xml +++ b/data/org.mpdevil.gschema.xml @@ -41,11 +41,6 @@ Show stop button - - false - Show genre filter - - true Show initial letters in artist-view diff --git a/po/de.po b/po/de.po index e68866a..1ee920e 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-03-24 16:16+0100\n" -"PO-Revision-Date: 2020-03-24 16:19+0100\n" +"POT-Creation-Date: 2020-03-24 22:21+0100\n" +"PO-Revision-Date: 2020-03-24 22:22+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: de\n" @@ -18,28 +18,28 @@ msgstr "" "X-Generator: Poedit 2.2.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mpdevil.py:814 mpdevil.py:1315 mpdevil.py:1931 mpdevil.py:2511 +#: mpdevil.py:814 mpdevil.py:1320 mpdevil.py:1971 mpdevil.py:2549 msgid "No" msgstr "Nr." -#: mpdevil.py:819 mpdevil.py:1321 mpdevil.py:1931 mpdevil.py:2517 +#: mpdevil.py:819 mpdevil.py:1326 mpdevil.py:1971 mpdevil.py:2555 msgid "Title" msgstr "Titel" -#: mpdevil.py:824 mpdevil.py:982 mpdevil.py:1324 mpdevil.py:1931 -#: mpdevil.py:2523 +#: mpdevil.py:824 mpdevil.py:987 mpdevil.py:1329 mpdevil.py:1971 +#: mpdevil.py:2561 msgid "Artist" msgstr "Interpret" -#: mpdevil.py:829 mpdevil.py:1330 mpdevil.py:1931 mpdevil.py:2535 +#: mpdevil.py:829 mpdevil.py:1335 mpdevil.py:1971 mpdevil.py:2573 msgid "Length" msgstr "Länge" -#: mpdevil.py:867 mpdevil.py:1483 mpdevil.py:2573 +#: mpdevil.py:867 mpdevil.py:1488 mpdevil.py:2613 msgid "Unknown Title" msgstr "Unbekannter Titel" -#: mpdevil.py:871 mpdevil.py:1495 mpdevil.py:2581 +#: mpdevil.py:871 mpdevil.py:1500 mpdevil.py:2621 msgid "Unknown Artist" msgstr "Unbekannter Interpret" @@ -47,174 +47,182 @@ msgstr "Unbekannter Interpret" msgid "all genres" msgstr "Alle Genres" -#: mpdevil.py:980 +#: mpdevil.py:985 msgid "Album Artist" msgstr "Albuminterpret" -#: mpdevil.py:1072 mpdevil.py:1416 +#: mpdevil.py:1077 mpdevil.py:1421 #, python-format msgid "%(total_tracks)i titles (%(total_length)s)" msgstr "%(total_tracks)i Titel (%(total_length)s)" -#: mpdevil.py:1318 mpdevil.py:1931 +#: mpdevil.py:1323 mpdevil.py:1971 msgid "Disc" msgstr "CD" -#: mpdevil.py:1327 mpdevil.py:1931 mpdevil.py:2529 +#: mpdevil.py:1332 mpdevil.py:1971 mpdevil.py:2567 msgid "Album" msgstr "Album" -#: mpdevil.py:1333 mpdevil.py:1931 +#: mpdevil.py:1338 mpdevil.py:1971 msgid "Year" msgstr "Jahr" -#: mpdevil.py:1336 mpdevil.py:1931 +#: mpdevil.py:1341 mpdevil.py:1971 msgid "Genre" msgstr "Genre" -#: mpdevil.py:1499 mpdevil.py:2585 +#: mpdevil.py:1504 mpdevil.py:2625 msgid "Unknown Album" msgstr "Unbekanntes Album" -#: mpdevil.py:1675 +#: mpdevil.py:1559 +msgid "Back to current album" +msgstr "Zurück zu aktuellem Album" + +#: mpdevil.py:1562 mpdevil.py:2513 +msgid "Search" +msgstr "Suche" + +#: mpdevil.py:1713 msgid "Select" msgstr "Auswählen" -#: mpdevil.py:1677 +#: mpdevil.py:1715 msgid "Profile:" msgstr "Profil:" -#: mpdevil.py:1679 +#: mpdevil.py:1717 msgid "Name:" msgstr "Name:" -#: mpdevil.py:1681 +#: mpdevil.py:1719 msgid "Host:" msgstr "Host:" -#: mpdevil.py:1683 +#: mpdevil.py:1721 msgid "Password:" msgstr "Passwort:" -#: mpdevil.py:1685 +#: mpdevil.py:1723 msgid "Music lib:" msgstr "Musikverzeichnis:" -#: mpdevil.py:1768 +#: mpdevil.py:1806 msgid "Choose directory" msgstr "Verzeichnis Wählen" -#: mpdevil.py:1806 +#: mpdevil.py:1844 msgid "Main cover size:" msgstr "Größe des Haupt-Covers:" -#: mpdevil.py:1810 +#: mpdevil.py:1848 msgid "Album view cover size:" msgstr "Covergröße in Albumliste:" -#: mpdevil.py:1814 -msgid "Button icon size (restart required):" -msgstr "Symbolgröße der Knöpfe (Neustart erforderlich):" +#: mpdevil.py:1852 +msgid "Button icon size:" +msgstr "Symbolgröße der Knöpfe:" -#: mpdevil.py:1837 +#: mpdevil.py:1854 +msgid "(restart required)" +msgstr "(Neustart erforderlich)" + +#: mpdevil.py:1879 msgid "View" msgstr "Ansicht" -#: mpdevil.py:1840 +#: mpdevil.py:1882 msgid "Behavior" msgstr "Verhalten" -#: mpdevil.py:1845 +#: mpdevil.py:1887 msgid "Use alternative layout" msgstr "Benutze alternatives Layout" -#: mpdevil.py:1846 +#: mpdevil.py:1888 msgid "Show stop button" msgstr "Zeige Stopp-Knopf" -#: mpdevil.py:1847 -msgid "Show genre filter" -msgstr "Zeige Genre-Filter" - -#: mpdevil.py:1848 +#: mpdevil.py:1889 msgid "Show initials in artist view" msgstr "Zeige Anfangsbuchstaben in Interpretenliste" -#: mpdevil.py:1849 +#: mpdevil.py:1890 msgid "Show tooltips in album view" msgstr "Zeige Tooltips in Albumliste" -#: mpdevil.py:1850 +#: mpdevil.py:1891 msgid "Sort albums by year" msgstr "Sortiere Alben nach Jahr" -#: mpdevil.py:1851 +#: mpdevil.py:1892 msgid "Use 'Artist' instead of 'Album Artist'" msgstr "Benutze \"Interpret\" statt \"Albuminterpret\"" -#: mpdevil.py:1852 +#: mpdevil.py:1893 msgid "Send notification on title change" msgstr "Sende Benachrichtigung bei Titelwechsel" -#: mpdevil.py:1853 +#: mpdevil.py:1894 msgid "Stop playback on quit" msgstr "Wiedergabe beim Beenden stoppen" -#: mpdevil.py:1854 +#: mpdevil.py:1895 msgid "Don't interrupt current title on album select" msgstr "Laufenden Titel bei Albumauswahl nicht abbrechen" -#: mpdevil.py:1903 +#: mpdevil.py:1943 msgid "Choose the order of information to appear in the playlist:" msgstr "" -"Lege die Reihenfolge fest, in der Informationen in der " -"Wiedergabeliste angezeigt werden sollen:" +"Lege die Reihenfolge fest, in der Informationen in der Wiedergabeliste " +"angezeigt werden sollen:" -#: mpdevil.py:2016 mpdevil.py:2725 +#: mpdevil.py:2056 mpdevil.py:2759 msgid "Settings" msgstr "Einstellungen" -#: mpdevil.py:2030 +#: mpdevil.py:2070 msgid "General" msgstr "Allgemein" -#: mpdevil.py:2031 +#: mpdevil.py:2071 msgid "Profiles" msgstr "Profile" -#: mpdevil.py:2032 +#: mpdevil.py:2072 msgid "Playlist" msgstr "Wiedergabeliste" -#: mpdevil.py:2226 +#: mpdevil.py:2266 msgid "Random mode" msgstr "Zufallsmodus" -#: mpdevil.py:2229 +#: mpdevil.py:2269 msgid "Repeat mode" msgstr "Dauerschleife" -#: mpdevil.py:2232 +#: mpdevil.py:2272 msgid "Single mode" msgstr "Einzelstückmodus" -#: mpdevil.py:2235 +#: mpdevil.py:2275 msgid "Consume mode" msgstr "Wiedergabeliste verbrauchen" -#: mpdevil.py:2325 +#: mpdevil.py:2365 msgid "Click to show additional information" msgstr "Klicken für weitere Informationen" -#: mpdevil.py:2351 +#: mpdevil.py:2391 msgid "MPD-Tag" msgstr "MPD-Tag" -#: mpdevil.py:2355 mpdevil.py:2456 +#: mpdevil.py:2395 mpdevil.py:2496 msgid "Value" msgstr "Wert" -#: mpdevil.py:2377 +#: mpdevil.py:2417 #, python-format msgid "" "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " @@ -223,75 +231,70 @@ msgstr "" "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " "Kanäle, %(file_type)s" -#: mpdevil.py:2434 +#: mpdevil.py:2474 msgid "Stats" msgstr "Statistik" -#: mpdevil.py:2453 +#: mpdevil.py:2493 msgid "Tag" msgstr "Tag" -#: mpdevil.py:2473 mpdevil.py:2716 -msgid "Search" -msgstr "Suche" - -#: mpdevil.py:2592 +#: mpdevil.py:2632 #, python-format msgid "hits: %i" msgstr "Treffer: %i" -#: mpdevil.py:2596 +#: mpdevil.py:2636 msgid "Lyrics" msgstr "Liedtext" -#: mpdevil.py:2629 +#: mpdevil.py:2669 msgid "searching..." msgstr "suche..." -#: mpdevil.py:2633 +#: mpdevil.py:2673 msgid "not found" msgstr "nicht gefunden" -#: mpdevil.py:2708 +#: mpdevil.py:2748 msgid "Select profile" msgstr "Profil auswählen" -#: mpdevil.py:2713 -msgid "Back to current album" -msgstr "Zurück zu aktuellem Album" - -#: mpdevil.py:2719 +#: mpdevil.py:2753 msgid "Show lyrics" msgstr "Zeige Liedtext" -#: mpdevil.py:2724 +#: mpdevil.py:2758 msgid "Save window layout" msgstr "Fensterlayout speichern" -#: mpdevil.py:2726 +#: mpdevil.py:2760 msgid "Update database" msgstr "Datenbank aktualisieren" -#: mpdevil.py:2727 +#: mpdevil.py:2761 msgid "Server stats" msgstr "Serverstatistik" -#: mpdevil.py:2728 +#: mpdevil.py:2762 msgid "About" msgstr "Über" -#: mpdevil.py:2729 +#: mpdevil.py:2763 msgid "Quit" msgstr "Beenden" -#: mpdevil.py:2735 +#: mpdevil.py:2769 msgid "Menu" msgstr "Menü" -#: mpdevil.py:2914 +#: mpdevil.py:2926 msgid "A small MPD client written in python" msgstr "" +#~ msgid "Show genre filter" +#~ msgstr "Zeige Genre-Filter" + #~ msgid "Port:" #~ msgstr "Port:" diff --git a/po/mpdevil.pot b/po/mpdevil.pot index 14e8780..128f5ed 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-03-24 16:16+0100\n" +"POT-Creation-Date: 2020-03-24 22:21+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,28 +17,28 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: mpdevil.py:814 mpdevil.py:1315 mpdevil.py:1931 mpdevil.py:2511 +#: mpdevil.py:814 mpdevil.py:1320 mpdevil.py:1971 mpdevil.py:2549 msgid "No" msgstr "" -#: mpdevil.py:819 mpdevil.py:1321 mpdevil.py:1931 mpdevil.py:2517 +#: mpdevil.py:819 mpdevil.py:1326 mpdevil.py:1971 mpdevil.py:2555 msgid "Title" msgstr "" -#: mpdevil.py:824 mpdevil.py:982 mpdevil.py:1324 mpdevil.py:1931 -#: mpdevil.py:2523 +#: mpdevil.py:824 mpdevil.py:987 mpdevil.py:1329 mpdevil.py:1971 +#: mpdevil.py:2561 msgid "Artist" msgstr "" -#: mpdevil.py:829 mpdevil.py:1330 mpdevil.py:1931 mpdevil.py:2535 +#: mpdevil.py:829 mpdevil.py:1335 mpdevil.py:1971 mpdevil.py:2573 msgid "Length" msgstr "" -#: mpdevil.py:867 mpdevil.py:1483 mpdevil.py:2573 +#: mpdevil.py:867 mpdevil.py:1488 mpdevil.py:2613 msgid "Unknown Title" msgstr "" -#: mpdevil.py:871 mpdevil.py:1495 mpdevil.py:2581 +#: mpdevil.py:871 mpdevil.py:1500 mpdevil.py:2621 msgid "Unknown Artist" msgstr "" @@ -46,243 +46,243 @@ msgstr "" msgid "all genres" msgstr "" -#: mpdevil.py:980 +#: mpdevil.py:985 msgid "Album Artist" msgstr "" -#: mpdevil.py:1072 mpdevil.py:1416 +#: mpdevil.py:1077 mpdevil.py:1421 #, python-format msgid "%(total_tracks)i titles (%(total_length)s)" msgstr "" -#: mpdevil.py:1318 mpdevil.py:1931 +#: mpdevil.py:1323 mpdevil.py:1971 msgid "Disc" msgstr "" -#: mpdevil.py:1327 mpdevil.py:1931 mpdevil.py:2529 +#: mpdevil.py:1332 mpdevil.py:1971 mpdevil.py:2567 msgid "Album" msgstr "" -#: mpdevil.py:1333 mpdevil.py:1931 +#: mpdevil.py:1338 mpdevil.py:1971 msgid "Year" msgstr "" -#: mpdevil.py:1336 mpdevil.py:1931 +#: mpdevil.py:1341 mpdevil.py:1971 msgid "Genre" msgstr "" -#: mpdevil.py:1499 mpdevil.py:2585 +#: mpdevil.py:1504 mpdevil.py:2625 msgid "Unknown Album" msgstr "" -#: mpdevil.py:1675 +#: mpdevil.py:1559 +msgid "Back to current album" +msgstr "" + +#: mpdevil.py:1562 mpdevil.py:2513 +msgid "Search" +msgstr "" + +#: mpdevil.py:1713 msgid "Select" msgstr "" -#: mpdevil.py:1677 +#: mpdevil.py:1715 msgid "Profile:" msgstr "" -#: mpdevil.py:1679 +#: mpdevil.py:1717 msgid "Name:" msgstr "" -#: mpdevil.py:1681 +#: mpdevil.py:1719 msgid "Host:" msgstr "" -#: mpdevil.py:1683 +#: mpdevil.py:1721 msgid "Password:" msgstr "" -#: mpdevil.py:1685 +#: mpdevil.py:1723 msgid "Music lib:" msgstr "" -#: mpdevil.py:1768 +#: mpdevil.py:1806 msgid "Choose directory" msgstr "" -#: mpdevil.py:1806 +#: mpdevil.py:1844 msgid "Main cover size:" msgstr "" -#: mpdevil.py:1810 +#: mpdevil.py:1848 msgid "Album view cover size:" msgstr "" -#: mpdevil.py:1814 -msgid "Button icon size (restart required):" -msgstr "" - -#: mpdevil.py:1837 -msgid "View" -msgstr "" - -#: mpdevil.py:1840 -msgid "Behavior" -msgstr "" - -#: mpdevil.py:1845 -msgid "Use alternative layout" -msgstr "" - -#: mpdevil.py:1846 -msgid "Show stop button" -msgstr "" - -#: mpdevil.py:1847 -msgid "Show genre filter" -msgstr "" - -#: mpdevil.py:1848 -msgid "Show initials in artist view" -msgstr "" - -#: mpdevil.py:1849 -msgid "Show tooltips in album view" -msgstr "" - -#: mpdevil.py:1850 -msgid "Sort albums by year" -msgstr "" - -#: mpdevil.py:1851 -msgid "Use 'Artist' instead of 'Album Artist'" -msgstr "" - #: mpdevil.py:1852 -msgid "Send notification on title change" -msgstr "" - -#: mpdevil.py:1853 -msgid "Stop playback on quit" +msgid "Button icon size:" msgstr "" #: mpdevil.py:1854 +msgid "(restart required)" +msgstr "" + +#: mpdevil.py:1879 +msgid "View" +msgstr "" + +#: mpdevil.py:1882 +msgid "Behavior" +msgstr "" + +#: mpdevil.py:1887 +msgid "Use alternative layout" +msgstr "" + +#: mpdevil.py:1888 +msgid "Show stop button" +msgstr "" + +#: mpdevil.py:1889 +msgid "Show initials in artist view" +msgstr "" + +#: mpdevil.py:1890 +msgid "Show tooltips in album view" +msgstr "" + +#: mpdevil.py:1891 +msgid "Sort albums by year" +msgstr "" + +#: mpdevil.py:1892 +msgid "Use 'Artist' instead of 'Album Artist'" +msgstr "" + +#: mpdevil.py:1893 +msgid "Send notification on title change" +msgstr "" + +#: mpdevil.py:1894 +msgid "Stop playback on quit" +msgstr "" + +#: mpdevil.py:1895 msgid "Don't interrupt current title on album select" msgstr "" -#: mpdevil.py:1903 +#: mpdevil.py:1943 msgid "Choose the order of information to appear in the playlist:" msgstr "" -#: mpdevil.py:2016 mpdevil.py:2725 +#: mpdevil.py:2056 mpdevil.py:2759 msgid "Settings" msgstr "" -#: mpdevil.py:2030 +#: mpdevil.py:2070 msgid "General" msgstr "" -#: mpdevil.py:2031 +#: mpdevil.py:2071 msgid "Profiles" msgstr "" -#: mpdevil.py:2032 +#: mpdevil.py:2072 msgid "Playlist" msgstr "" -#: mpdevil.py:2226 +#: mpdevil.py:2266 msgid "Random mode" msgstr "" -#: mpdevil.py:2229 +#: mpdevil.py:2269 msgid "Repeat mode" msgstr "" -#: mpdevil.py:2232 +#: mpdevil.py:2272 msgid "Single mode" msgstr "" -#: mpdevil.py:2235 +#: mpdevil.py:2275 msgid "Consume mode" msgstr "" -#: mpdevil.py:2325 +#: mpdevil.py:2365 msgid "Click to show additional information" msgstr "" -#: mpdevil.py:2351 +#: mpdevil.py:2391 msgid "MPD-Tag" msgstr "" -#: mpdevil.py:2355 mpdevil.py:2456 +#: mpdevil.py:2395 mpdevil.py:2496 msgid "Value" msgstr "" -#: mpdevil.py:2377 +#: mpdevil.py:2417 #, python-format msgid "" "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " "channels, %(file_type)s" msgstr "" -#: mpdevil.py:2434 +#: mpdevil.py:2474 msgid "Stats" msgstr "" -#: mpdevil.py:2453 +#: mpdevil.py:2493 msgid "Tag" msgstr "" -#: mpdevil.py:2473 mpdevil.py:2716 -msgid "Search" -msgstr "" - -#: mpdevil.py:2592 +#: mpdevil.py:2632 #, python-format msgid "hits: %i" msgstr "" -#: mpdevil.py:2596 +#: mpdevil.py:2636 msgid "Lyrics" msgstr "" -#: mpdevil.py:2629 +#: mpdevil.py:2669 msgid "searching..." msgstr "" -#: mpdevil.py:2633 +#: mpdevil.py:2673 msgid "not found" msgstr "" -#: mpdevil.py:2708 +#: mpdevil.py:2748 msgid "Select profile" msgstr "" -#: mpdevil.py:2713 -msgid "Back to current album" -msgstr "" - -#: mpdevil.py:2719 +#: mpdevil.py:2753 msgid "Show lyrics" msgstr "" -#: mpdevil.py:2724 +#: mpdevil.py:2758 msgid "Save window layout" msgstr "" -#: mpdevil.py:2726 +#: mpdevil.py:2760 msgid "Update database" msgstr "" -#: mpdevil.py:2727 +#: mpdevil.py:2761 msgid "Server stats" msgstr "" -#: mpdevil.py:2728 +#: mpdevil.py:2762 msgid "About" msgstr "" -#: mpdevil.py:2729 +#: mpdevil.py:2763 msgid "Quit" msgstr "" -#: mpdevil.py:2735 +#: mpdevil.py:2769 msgid "Menu" msgstr "" -#: mpdevil.py:2914 +#: mpdevil.py:2926 msgid "A small MPD client written in python" msgstr ""