moved 'go_home_button' and 'search_button' into 'Browser' class

This commit is contained in:
Martin Wagner 2020-03-24 22:23:45 +01:00
parent 791dad8534
commit 8b6dc0b3a8
4 changed files with 252 additions and 238 deletions

View File

@ -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: #/

View File

@ -41,11 +41,6 @@
<summary>Show stop button</summary>
<description></description>
</key>
<key type="b" name="show-genre-filter">
<default>false</default>
<summary>Show genre filter</summary>
<description></description>
</key>
<key type="b" name="show-initials">
<default>true</default>
<summary>Show initial letters in artist-view</summary>

165
po/de.po
View File

@ -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 "<b>View</b>"
msgstr "<b>Ansicht</b>"
#: mpdevil.py:1840
#: mpdevil.py:1882
msgid "<b>Behavior</b>"
msgstr "<b>Verhalten</b>"
#: 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:"

View File

@ -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 <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\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 "<b>View</b>"
msgstr ""
#: mpdevil.py:1840
msgid "<b>Behavior</b>"
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 "<b>View</b>"
msgstr ""
#: mpdevil.py:1882
msgid "<b>Behavior</b>"
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 ""