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.set_active(0)
self.combo.handler_unblock(self.combo_changed) 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): def get_value(self):
if self.combo.get_active() == 0: if self.combo.get_active() == 0:
return None return None
@ -1546,10 +1551,16 @@ class Browser(Gtk.Box):
self.emitter=emitter self.emitter=emitter
self.settings=settings self.settings=settings
self.window=window self.window=window
self.icon_size=self.settings.get_gtk_icon_size("icon-size")
#widgets #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=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.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.album_view=AlbumView(self.client, self.settings, self.genre_select, self.window)
self.main_cover=MainCover(self.client, self.settings, self.emitter, 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) self.playlist_view=PlaylistView(self.client, self.settings, self.emitter)
#connect #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.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.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 #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) self.box1=Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
if self.settings.get_boolean("show-genre-filter"): self.box1.pack_start(hbox, False, False, 0)
self.box1.pack_start(self.genre_select, False, False, 0)
self.box1.pack_start(Gtk.Separator.new(orientation=Gtk.Orientation.HORIZONTAL), 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.box1.pack_start(self.artist_view, True, True, 0)
self.box2=Gtk.Box(orientation=Gtk.Orientation.VERTICAL) self.box2=Gtk.Box(orientation=Gtk.Orientation.VERTICAL)
self.box2.pack_start(cover_frame, False, False, 0) self.box2.pack_start(cover_frame, False, False, 0)
self.box2.pack_start(self.playlist_view, True, True, 0) self.box2.pack_start(self.playlist_view, True, True, 0)
self.paned1=Gtk.Paned.new(Gtk.Orientation.HORIZONTAL) self.paned1=Gtk.Paned.new(Gtk.Orientation.HORIZONTAL)
self.paned1.set_wide_handle(True) self.paned1.set_wide_handle(True)
self.paned2=Gtk.Paned.new(Gtk.Orientation.HORIZONTAL) self.paned2=Gtk.Paned.new(Gtk.Orientation.HORIZONTAL)
self.paned2.set_wide_handle(True) self.paned2.set_wide_handle(True)
self.paned1.pack1(self.box1, False, False) self.paned1.pack1(self.box1, False, False)
self.paned1.pack2(self.album_view, True, False) self.paned1.pack2(self.album_view, True, False)
self.paned2.pack1(self.paned1, True, False) self.paned2.pack1(self.paned1, True, False)
self.paned2.pack2(self.box2, False, False) self.paned2.pack2(self.box2, False, False)
self.load_settings() self.load_settings()
self.pack_start(self.paned2, True, True, 0) self.pack_start(self.paned2, True, True, 0)
@ -1605,6 +1630,7 @@ class Browser(Gtk.Box):
def go_home(self, *args): def go_home(self, *args):
try: #since this can still be running when the connection is lost, various exceptions can occur try: #since this can still be running when the connection is lost, various exceptions can occur
song=self.client.currentsong() song=self.client.currentsong()
self.genre_select.deactivate() #deactivate genre filter to show all artists
row_num=len(self.artist_view.store) row_num=len(self.artist_view.store)
for i in range(0, row_num): for i in range(0, row_num):
path=Gtk.TreePath(i) path=Gtk.TreePath(i)
@ -1621,19 +1647,32 @@ class Browser(Gtk.Box):
except: except:
pass 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): def on_artist_selection_change(self, *args):
artists=self.artist_view.get_selected_artists() artists=self.artist_view.get_selected_artists()
self.album_view.refresh(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): def on_layout_settings_changed(self, *args):
if self.settings.get_boolean("alt-layout"): if self.settings.get_boolean("alt-layout"):
self.box2.set_orientation(Gtk.Orientation.HORIZONTAL) self.box2.set_orientation(Gtk.Orientation.HORIZONTAL)
@ -1803,15 +1842,18 @@ class GeneralSettings(Gtk.Box):
#widgets #widgets
track_cover_label=Gtk.Label(label=_("Main cover size:")) 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) 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=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) 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_label1=Gtk.Label(label=_("Button icon size:"))
icon_size_label.set_xalign(1) 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=Gtk.ComboBoxText()
icon_size_combo.set_entry_text_column(0) icon_size_combo.set_entry_text_column(0)
sizes=[16, 24, 32, 48] sizes=[16, 24, 32, 48]
@ -1826,10 +1868,11 @@ class GeneralSettings(Gtk.Box):
grid.set_margin_start(12) grid.set_margin_start(12)
grid.add(track_cover_label) grid.add(track_cover_label)
grid.attach_next_to(album_cover_label, track_cover_label, Gtk.PositionType.BOTTOM, 1, 1) 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(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(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 #headings
view_heading=Gtk.Label() view_heading=Gtk.Label()
@ -1843,7 +1886,6 @@ class GeneralSettings(Gtk.Box):
check_buttons={} check_buttons={}
settings_list=[(_("Use alternative layout"), "alt-layout"), \ settings_list=[(_("Use alternative layout"), "alt-layout"), \
(_("Show stop button"), "show-stop"), \ (_("Show stop button"), "show-stop"), \
(_("Show genre filter"), "show-genre-filter"), \
(_("Show initials in artist view"), "show-initials"), \ (_("Show initials in artist view"), "show-initials"), \
(_("Show tooltips in album view"), "show-album-view-tooltips"), \ (_("Show tooltips in album view"), "show-album-view-tooltips"), \
(_("Sort albums by year"), "sort-albums-by-year"), \ (_("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(view_heading, True, True, 0)
self.pack_start(check_buttons["alt-layout"], 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-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-initials"], True, True, 0)
self.pack_start(check_buttons["show-album-view-tooltips"], True, True, 0) self.pack_start(check_buttons["show-album-view-tooltips"], True, True, 0)
self.pack_start(grid, 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.profiles.set_tooltip_text(_("Select profile"))
self.control=ClientControl(self.client, self.settings, self.emitter) self.control=ClientControl(self.client, self.settings, self.emitter)
self.progress=SeekBar(self.client) 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=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_can_focus(False)
self.lyrics_button.set_tooltip_text(_("Show lyrics")) 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)) menu_button.set_image(image=Gtk.Image.new_from_icon_name("open-menu-symbolic", self.icon_size))
#connect #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.lyrics_button.connect("toggled", self.on_lyrics_toggled)
self.settings.connect("changed::profiles", self.on_settings_changed) self.settings.connect("changed::profiles", self.on_settings_changed)
self.emitter.connect("playing_file_changed", self.on_file_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.vbox.pack_start(self.action_bar, False, False, 0)
self.action_bar.pack_start(self.control) self.action_bar.pack_start(self.control)
self.action_bar.pack_start(self.progress) 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.lyrics_button)
self.action_bar.pack_start(self.profiles) self.action_bar.pack_start(self.profiles)
self.action_bar.pack_start(self.play_opts) self.action_bar.pack_start(self.play_opts)
@ -2786,8 +2817,6 @@ class MainWindow(Gtk.ApplicationWindow):
self.progress.set_sensitive(True) self.progress.set_sensitive(True)
self.control.set_sensitive(True) self.control.set_sensitive(True)
self.play_opts.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.lyrics_button.set_sensitive(True)
self.emitter.emit("playlist") self.emitter.emit("playlist")
self.emitter.emit("player") self.emitter.emit("player")
@ -2799,27 +2828,14 @@ class MainWindow(Gtk.ApplicationWindow):
def on_disconnected(self, *args): def on_disconnected(self, *args):
self.dbus_service.release_name() self.dbus_service.release_name()
self.lyrics_button.set_active(False) self.lyrics_button.set_active(False)
self.search_button.set_active(False)
self.set_title("mpdevil (not connected)") self.set_title("mpdevil (not connected)")
self.songid_playing=None self.songid_playing=None
self.browser.clear() self.browser.clear()
self.progress.set_sensitive(False) self.progress.set_sensitive(False)
self.control.set_sensitive(False) self.control.set_sensitive(False)
self.play_opts.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) 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): def on_lyrics_toggled(self, widget):
if widget.get_active(): if widget.get_active():
if self.client.connected(): 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 elif event.keyval == 269025046 or event.keyval == 45 or event.keyval == 65453: #AudioPrev
self.control.prev_button.emit("clicked") self.control.prev_button.emit("clicked")
elif event.keyval == 65307: #esc elif event.keyval == 65307: #esc
self.go_home_button.emit("clicked") self.browser.go_home()
elif event.keyval == 65450: #* elif event.keyval == 65450: #*
self.progress.seek_forward() self.progress.seek_forward()
elif event.keyval == 65455: #/ elif event.keyval == 65455: #/

View File

@ -41,11 +41,6 @@
<summary>Show stop button</summary> <summary>Show stop button</summary>
<description></description> <description></description>
</key> </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"> <key type="b" name="show-initials">
<default>true</default> <default>true</default>
<summary>Show initial letters in artist-view</summary> <summary>Show initial letters in artist-view</summary>

165
po/de.po
View File

@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \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: 2020-03-24 16:19+0100\n" "PO-Revision-Date: 2020-03-24 22:22+0100\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: de\n" "Language: de\n"
@ -18,28 +18,28 @@ msgstr ""
"X-Generator: Poedit 2.2.4\n" "X-Generator: Poedit 2.2.4\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\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" msgid "No"
msgstr "Nr." 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" msgid "Title"
msgstr "Titel" msgstr "Titel"
#: mpdevil.py:824 mpdevil.py:982 mpdevil.py:1324 mpdevil.py:1931 #: mpdevil.py:824 mpdevil.py:987 mpdevil.py:1329 mpdevil.py:1971
#: mpdevil.py:2523 #: mpdevil.py:2561
msgid "Artist" msgid "Artist"
msgstr "Interpret" 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" msgid "Length"
msgstr "Länge" msgstr "Länge"
#: mpdevil.py:867 mpdevil.py:1483 mpdevil.py:2573 #: mpdevil.py:867 mpdevil.py:1488 mpdevil.py:2613
msgid "Unknown Title" msgid "Unknown Title"
msgstr "Unbekannter Titel" msgstr "Unbekannter Titel"
#: mpdevil.py:871 mpdevil.py:1495 mpdevil.py:2581 #: mpdevil.py:871 mpdevil.py:1500 mpdevil.py:2621
msgid "Unknown Artist" msgid "Unknown Artist"
msgstr "Unbekannter Interpret" msgstr "Unbekannter Interpret"
@ -47,174 +47,182 @@ msgstr "Unbekannter Interpret"
msgid "all genres" msgid "all genres"
msgstr "Alle Genres" msgstr "Alle Genres"
#: mpdevil.py:980 #: mpdevil.py:985
msgid "Album Artist" msgid "Album Artist"
msgstr "Albuminterpret" msgstr "Albuminterpret"
#: mpdevil.py:1072 mpdevil.py:1416 #: mpdevil.py:1077 mpdevil.py:1421
#, python-format #, python-format
msgid "%(total_tracks)i titles (%(total_length)s)" msgid "%(total_tracks)i titles (%(total_length)s)"
msgstr "%(total_tracks)i Titel (%(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" msgid "Disc"
msgstr "CD" msgstr "CD"
#: mpdevil.py:1327 mpdevil.py:1931 mpdevil.py:2529 #: mpdevil.py:1332 mpdevil.py:1971 mpdevil.py:2567
msgid "Album" msgid "Album"
msgstr "Album" msgstr "Album"
#: mpdevil.py:1333 mpdevil.py:1931 #: mpdevil.py:1338 mpdevil.py:1971
msgid "Year" msgid "Year"
msgstr "Jahr" msgstr "Jahr"
#: mpdevil.py:1336 mpdevil.py:1931 #: mpdevil.py:1341 mpdevil.py:1971
msgid "Genre" msgid "Genre"
msgstr "Genre" msgstr "Genre"
#: mpdevil.py:1499 mpdevil.py:2585 #: mpdevil.py:1504 mpdevil.py:2625
msgid "Unknown Album" msgid "Unknown Album"
msgstr "Unbekanntes 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" msgid "Select"
msgstr "Auswählen" msgstr "Auswählen"
#: mpdevil.py:1677 #: mpdevil.py:1715
msgid "Profile:" msgid "Profile:"
msgstr "Profil:" msgstr "Profil:"
#: mpdevil.py:1679 #: mpdevil.py:1717
msgid "Name:" msgid "Name:"
msgstr "Name:" msgstr "Name:"
#: mpdevil.py:1681 #: mpdevil.py:1719
msgid "Host:" msgid "Host:"
msgstr "Host:" msgstr "Host:"
#: mpdevil.py:1683 #: mpdevil.py:1721
msgid "Password:" msgid "Password:"
msgstr "Passwort:" msgstr "Passwort:"
#: mpdevil.py:1685 #: mpdevil.py:1723
msgid "Music lib:" msgid "Music lib:"
msgstr "Musikverzeichnis:" msgstr "Musikverzeichnis:"
#: mpdevil.py:1768 #: mpdevil.py:1806
msgid "Choose directory" msgid "Choose directory"
msgstr "Verzeichnis Wählen" msgstr "Verzeichnis Wählen"
#: mpdevil.py:1806 #: mpdevil.py:1844
msgid "Main cover size:" msgid "Main cover size:"
msgstr "Größe des Haupt-Covers:" msgstr "Größe des Haupt-Covers:"
#: mpdevil.py:1810 #: mpdevil.py:1848
msgid "Album view cover size:" msgid "Album view cover size:"
msgstr "Covergröße in Albumliste:" msgstr "Covergröße in Albumliste:"
#: mpdevil.py:1814 #: mpdevil.py:1852
msgid "Button icon size (restart required):" msgid "Button icon size:"
msgstr "Symbolgröße der Knöpfe (Neustart erforderlich):" 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>" msgid "<b>View</b>"
msgstr "<b>Ansicht</b>" msgstr "<b>Ansicht</b>"
#: mpdevil.py:1840 #: mpdevil.py:1882
msgid "<b>Behavior</b>" msgid "<b>Behavior</b>"
msgstr "<b>Verhalten</b>" msgstr "<b>Verhalten</b>"
#: mpdevil.py:1845 #: mpdevil.py:1887
msgid "Use alternative layout" msgid "Use alternative layout"
msgstr "Benutze alternatives Layout" msgstr "Benutze alternatives Layout"
#: mpdevil.py:1846 #: mpdevil.py:1888
msgid "Show stop button" msgid "Show stop button"
msgstr "Zeige Stopp-Knopf" msgstr "Zeige Stopp-Knopf"
#: mpdevil.py:1847 #: mpdevil.py:1889
msgid "Show genre filter"
msgstr "Zeige Genre-Filter"
#: mpdevil.py:1848
msgid "Show initials in artist view" msgid "Show initials in artist view"
msgstr "Zeige Anfangsbuchstaben in Interpretenliste" msgstr "Zeige Anfangsbuchstaben in Interpretenliste"
#: mpdevil.py:1849 #: mpdevil.py:1890
msgid "Show tooltips in album view" msgid "Show tooltips in album view"
msgstr "Zeige Tooltips in Albumliste" msgstr "Zeige Tooltips in Albumliste"
#: mpdevil.py:1850 #: mpdevil.py:1891
msgid "Sort albums by year" msgid "Sort albums by year"
msgstr "Sortiere Alben nach Jahr" msgstr "Sortiere Alben nach Jahr"
#: mpdevil.py:1851 #: mpdevil.py:1892
msgid "Use 'Artist' instead of 'Album Artist'" msgid "Use 'Artist' instead of 'Album Artist'"
msgstr "Benutze \"Interpret\" statt \"Albuminterpret\"" msgstr "Benutze \"Interpret\" statt \"Albuminterpret\""
#: mpdevil.py:1852 #: mpdevil.py:1893
msgid "Send notification on title change" msgid "Send notification on title change"
msgstr "Sende Benachrichtigung bei Titelwechsel" msgstr "Sende Benachrichtigung bei Titelwechsel"
#: mpdevil.py:1853 #: mpdevil.py:1894
msgid "Stop playback on quit" msgid "Stop playback on quit"
msgstr "Wiedergabe beim Beenden stoppen" msgstr "Wiedergabe beim Beenden stoppen"
#: mpdevil.py:1854 #: mpdevil.py:1895
msgid "Don't interrupt current title on album select" msgid "Don't interrupt current title on album select"
msgstr "Laufenden Titel bei Albumauswahl nicht abbrechen" msgstr "Laufenden Titel bei Albumauswahl nicht abbrechen"
#: mpdevil.py:1903 #: mpdevil.py:1943
msgid "Choose the order of information to appear in the playlist:" msgid "Choose the order of information to appear in the playlist:"
msgstr "" msgstr ""
"Lege die Reihenfolge fest, in der Informationen in der " "Lege die Reihenfolge fest, in der Informationen in der Wiedergabeliste "
"Wiedergabeliste angezeigt werden sollen:" "angezeigt werden sollen:"
#: mpdevil.py:2016 mpdevil.py:2725 #: mpdevil.py:2056 mpdevil.py:2759
msgid "Settings" msgid "Settings"
msgstr "Einstellungen" msgstr "Einstellungen"
#: mpdevil.py:2030 #: mpdevil.py:2070
msgid "General" msgid "General"
msgstr "Allgemein" msgstr "Allgemein"
#: mpdevil.py:2031 #: mpdevil.py:2071
msgid "Profiles" msgid "Profiles"
msgstr "Profile" msgstr "Profile"
#: mpdevil.py:2032 #: mpdevil.py:2072
msgid "Playlist" msgid "Playlist"
msgstr "Wiedergabeliste" msgstr "Wiedergabeliste"
#: mpdevil.py:2226 #: mpdevil.py:2266
msgid "Random mode" msgid "Random mode"
msgstr "Zufallsmodus" msgstr "Zufallsmodus"
#: mpdevil.py:2229 #: mpdevil.py:2269
msgid "Repeat mode" msgid "Repeat mode"
msgstr "Dauerschleife" msgstr "Dauerschleife"
#: mpdevil.py:2232 #: mpdevil.py:2272
msgid "Single mode" msgid "Single mode"
msgstr "Einzelstückmodus" msgstr "Einzelstückmodus"
#: mpdevil.py:2235 #: mpdevil.py:2275
msgid "Consume mode" msgid "Consume mode"
msgstr "Wiedergabeliste verbrauchen" msgstr "Wiedergabeliste verbrauchen"
#: mpdevil.py:2325 #: mpdevil.py:2365
msgid "Click to show additional information" msgid "Click to show additional information"
msgstr "Klicken für weitere Informationen" msgstr "Klicken für weitere Informationen"
#: mpdevil.py:2351 #: mpdevil.py:2391
msgid "MPD-Tag" msgid "MPD-Tag"
msgstr "MPD-Tag" msgstr "MPD-Tag"
#: mpdevil.py:2355 mpdevil.py:2456 #: mpdevil.py:2395 mpdevil.py:2496
msgid "Value" msgid "Value"
msgstr "Wert" msgstr "Wert"
#: mpdevil.py:2377 #: mpdevil.py:2417
#, python-format #, python-format
msgid "" msgid ""
"%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " "%(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 " "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s "
"Kanäle, %(file_type)s" "Kanäle, %(file_type)s"
#: mpdevil.py:2434 #: mpdevil.py:2474
msgid "Stats" msgid "Stats"
msgstr "Statistik" msgstr "Statistik"
#: mpdevil.py:2453 #: mpdevil.py:2493
msgid "Tag" msgid "Tag"
msgstr "Tag" msgstr "Tag"
#: mpdevil.py:2473 mpdevil.py:2716 #: mpdevil.py:2632
msgid "Search"
msgstr "Suche"
#: mpdevil.py:2592
#, python-format #, python-format
msgid "hits: %i" msgid "hits: %i"
msgstr "Treffer: %i" msgstr "Treffer: %i"
#: mpdevil.py:2596 #: mpdevil.py:2636
msgid "Lyrics" msgid "Lyrics"
msgstr "Liedtext" msgstr "Liedtext"
#: mpdevil.py:2629 #: mpdevil.py:2669
msgid "searching..." msgid "searching..."
msgstr "suche..." msgstr "suche..."
#: mpdevil.py:2633 #: mpdevil.py:2673
msgid "not found" msgid "not found"
msgstr "nicht gefunden" msgstr "nicht gefunden"
#: mpdevil.py:2708 #: mpdevil.py:2748
msgid "Select profile" msgid "Select profile"
msgstr "Profil auswählen" msgstr "Profil auswählen"
#: mpdevil.py:2713 #: mpdevil.py:2753
msgid "Back to current album"
msgstr "Zurück zu aktuellem Album"
#: mpdevil.py:2719
msgid "Show lyrics" msgid "Show lyrics"
msgstr "Zeige Liedtext" msgstr "Zeige Liedtext"
#: mpdevil.py:2724 #: mpdevil.py:2758
msgid "Save window layout" msgid "Save window layout"
msgstr "Fensterlayout speichern" msgstr "Fensterlayout speichern"
#: mpdevil.py:2726 #: mpdevil.py:2760
msgid "Update database" msgid "Update database"
msgstr "Datenbank aktualisieren" msgstr "Datenbank aktualisieren"
#: mpdevil.py:2727 #: mpdevil.py:2761
msgid "Server stats" msgid "Server stats"
msgstr "Serverstatistik" msgstr "Serverstatistik"
#: mpdevil.py:2728 #: mpdevil.py:2762
msgid "About" msgid "About"
msgstr "Über" msgstr "Über"
#: mpdevil.py:2729 #: mpdevil.py:2763
msgid "Quit" msgid "Quit"
msgstr "Beenden" msgstr "Beenden"
#: mpdevil.py:2735 #: mpdevil.py:2769
msgid "Menu" msgid "Menu"
msgstr "Menü" msgstr "Menü"
#: mpdevil.py:2914 #: mpdevil.py:2926
msgid "A small MPD client written in python" msgid "A small MPD client written in python"
msgstr "" msgstr ""
#~ msgid "Show genre filter"
#~ msgstr "Zeige Genre-Filter"
#~ msgid "Port:" #~ msgid "Port:"
#~ msgstr "Port:" #~ msgstr "Port:"

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \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" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -17,28 +17,28 @@ msgstr ""
"Content-Type: text/plain; charset=CHARSET\n" "Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\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" msgid "No"
msgstr "" 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" msgid "Title"
msgstr "" msgstr ""
#: mpdevil.py:824 mpdevil.py:982 mpdevil.py:1324 mpdevil.py:1931 #: mpdevil.py:824 mpdevil.py:987 mpdevil.py:1329 mpdevil.py:1971
#: mpdevil.py:2523 #: mpdevil.py:2561
msgid "Artist" msgid "Artist"
msgstr "" 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" msgid "Length"
msgstr "" msgstr ""
#: mpdevil.py:867 mpdevil.py:1483 mpdevil.py:2573 #: mpdevil.py:867 mpdevil.py:1488 mpdevil.py:2613
msgid "Unknown Title" msgid "Unknown Title"
msgstr "" msgstr ""
#: mpdevil.py:871 mpdevil.py:1495 mpdevil.py:2581 #: mpdevil.py:871 mpdevil.py:1500 mpdevil.py:2621
msgid "Unknown Artist" msgid "Unknown Artist"
msgstr "" msgstr ""
@ -46,243 +46,243 @@ msgstr ""
msgid "all genres" msgid "all genres"
msgstr "" msgstr ""
#: mpdevil.py:980 #: mpdevil.py:985
msgid "Album Artist" msgid "Album Artist"
msgstr "" msgstr ""
#: mpdevil.py:1072 mpdevil.py:1416 #: mpdevil.py:1077 mpdevil.py:1421
#, python-format #, python-format
msgid "%(total_tracks)i titles (%(total_length)s)" msgid "%(total_tracks)i titles (%(total_length)s)"
msgstr "" msgstr ""
#: mpdevil.py:1318 mpdevil.py:1931 #: mpdevil.py:1323 mpdevil.py:1971
msgid "Disc" msgid "Disc"
msgstr "" msgstr ""
#: mpdevil.py:1327 mpdevil.py:1931 mpdevil.py:2529 #: mpdevil.py:1332 mpdevil.py:1971 mpdevil.py:2567
msgid "Album" msgid "Album"
msgstr "" msgstr ""
#: mpdevil.py:1333 mpdevil.py:1931 #: mpdevil.py:1338 mpdevil.py:1971
msgid "Year" msgid "Year"
msgstr "" msgstr ""
#: mpdevil.py:1336 mpdevil.py:1931 #: mpdevil.py:1341 mpdevil.py:1971
msgid "Genre" msgid "Genre"
msgstr "" msgstr ""
#: mpdevil.py:1499 mpdevil.py:2585 #: mpdevil.py:1504 mpdevil.py:2625
msgid "Unknown Album" msgid "Unknown Album"
msgstr "" 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" msgid "Select"
msgstr "" msgstr ""
#: mpdevil.py:1677 #: mpdevil.py:1715
msgid "Profile:" msgid "Profile:"
msgstr "" msgstr ""
#: mpdevil.py:1679 #: mpdevil.py:1717
msgid "Name:" msgid "Name:"
msgstr "" msgstr ""
#: mpdevil.py:1681 #: mpdevil.py:1719
msgid "Host:" msgid "Host:"
msgstr "" msgstr ""
#: mpdevil.py:1683 #: mpdevil.py:1721
msgid "Password:" msgid "Password:"
msgstr "" msgstr ""
#: mpdevil.py:1685 #: mpdevil.py:1723
msgid "Music lib:" msgid "Music lib:"
msgstr "" msgstr ""
#: mpdevil.py:1768 #: mpdevil.py:1806
msgid "Choose directory" msgid "Choose directory"
msgstr "" msgstr ""
#: mpdevil.py:1806 #: mpdevil.py:1844
msgid "Main cover size:" msgid "Main cover size:"
msgstr "" msgstr ""
#: mpdevil.py:1810 #: mpdevil.py:1848
msgid "Album view cover size:" msgid "Album view cover size:"
msgstr "" 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 #: mpdevil.py:1852
msgid "Send notification on title change" msgid "Button icon size:"
msgstr ""
#: mpdevil.py:1853
msgid "Stop playback on quit"
msgstr "" msgstr ""
#: mpdevil.py:1854 #: 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" msgid "Don't interrupt current title on album select"
msgstr "" msgstr ""
#: mpdevil.py:1903 #: mpdevil.py:1943
msgid "Choose the order of information to appear in the playlist:" msgid "Choose the order of information to appear in the playlist:"
msgstr "" msgstr ""
#: mpdevil.py:2016 mpdevil.py:2725 #: mpdevil.py:2056 mpdevil.py:2759
msgid "Settings" msgid "Settings"
msgstr "" msgstr ""
#: mpdevil.py:2030 #: mpdevil.py:2070
msgid "General" msgid "General"
msgstr "" msgstr ""
#: mpdevil.py:2031 #: mpdevil.py:2071
msgid "Profiles" msgid "Profiles"
msgstr "" msgstr ""
#: mpdevil.py:2032 #: mpdevil.py:2072
msgid "Playlist" msgid "Playlist"
msgstr "" msgstr ""
#: mpdevil.py:2226 #: mpdevil.py:2266
msgid "Random mode" msgid "Random mode"
msgstr "" msgstr ""
#: mpdevil.py:2229 #: mpdevil.py:2269
msgid "Repeat mode" msgid "Repeat mode"
msgstr "" msgstr ""
#: mpdevil.py:2232 #: mpdevil.py:2272
msgid "Single mode" msgid "Single mode"
msgstr "" msgstr ""
#: mpdevil.py:2235 #: mpdevil.py:2275
msgid "Consume mode" msgid "Consume mode"
msgstr "" msgstr ""
#: mpdevil.py:2325 #: mpdevil.py:2365
msgid "Click to show additional information" msgid "Click to show additional information"
msgstr "" msgstr ""
#: mpdevil.py:2351 #: mpdevil.py:2391
msgid "MPD-Tag" msgid "MPD-Tag"
msgstr "" msgstr ""
#: mpdevil.py:2355 mpdevil.py:2456 #: mpdevil.py:2395 mpdevil.py:2496
msgid "Value" msgid "Value"
msgstr "" msgstr ""
#: mpdevil.py:2377 #: mpdevil.py:2417
#, python-format #, python-format
msgid "" msgid ""
"%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s "
"channels, %(file_type)s" "channels, %(file_type)s"
msgstr "" msgstr ""
#: mpdevil.py:2434 #: mpdevil.py:2474
msgid "Stats" msgid "Stats"
msgstr "" msgstr ""
#: mpdevil.py:2453 #: mpdevil.py:2493
msgid "Tag" msgid "Tag"
msgstr "" msgstr ""
#: mpdevil.py:2473 mpdevil.py:2716 #: mpdevil.py:2632
msgid "Search"
msgstr ""
#: mpdevil.py:2592
#, python-format #, python-format
msgid "hits: %i" msgid "hits: %i"
msgstr "" msgstr ""
#: mpdevil.py:2596 #: mpdevil.py:2636
msgid "Lyrics" msgid "Lyrics"
msgstr "" msgstr ""
#: mpdevil.py:2629 #: mpdevil.py:2669
msgid "searching..." msgid "searching..."
msgstr "" msgstr ""
#: mpdevil.py:2633 #: mpdevil.py:2673
msgid "not found" msgid "not found"
msgstr "" msgstr ""
#: mpdevil.py:2708 #: mpdevil.py:2748
msgid "Select profile" msgid "Select profile"
msgstr "" msgstr ""
#: mpdevil.py:2713 #: mpdevil.py:2753
msgid "Back to current album"
msgstr ""
#: mpdevil.py:2719
msgid "Show lyrics" msgid "Show lyrics"
msgstr "" msgstr ""
#: mpdevil.py:2724 #: mpdevil.py:2758
msgid "Save window layout" msgid "Save window layout"
msgstr "" msgstr ""
#: mpdevil.py:2726 #: mpdevil.py:2760
msgid "Update database" msgid "Update database"
msgstr "" msgstr ""
#: mpdevil.py:2727 #: mpdevil.py:2761
msgid "Server stats" msgid "Server stats"
msgstr "" msgstr ""
#: mpdevil.py:2728 #: mpdevil.py:2762
msgid "About" msgid "About"
msgstr "" msgstr ""
#: mpdevil.py:2729 #: mpdevil.py:2763
msgid "Quit" msgid "Quit"
msgstr "" msgstr ""
#: mpdevil.py:2735 #: mpdevil.py:2769
msgid "Menu" msgid "Menu"
msgstr "" msgstr ""
#: mpdevil.py:2914 #: mpdevil.py:2926
msgid "A small MPD client written in python" msgid "A small MPD client written in python"
msgstr "" msgstr ""