From 88534a70544d45e07c7818ea6621269515c4741f Mon Sep 17 00:00:00 2001 From: Martin Wagner Date: Sun, 2 Feb 2020 18:08:59 +0100 Subject: [PATCH] small gui improvements --- bin/mpdevil.py | 42 ++++++++++++----- po/de.po | 120 ++++++++++++++++++++++++------------------------- po/mpdevil.pot | 116 +++++++++++++++++++++++------------------------ 3 files changed, 148 insertions(+), 130 deletions(-) diff --git a/bin/mpdevil.py b/bin/mpdevil.py index 41660bd..d3ef18b 100644 --- a/bin/mpdevil.py +++ b/bin/mpdevil.py @@ -297,6 +297,9 @@ class ArtistView(Gtk.ScrolledWindow): self.column_name.set_sort_column_id(0) self.treeview.append_column(self.column_name) + #connect + self.treeview.connect("enter-notify-event", self.on_enter_event) + self.refresh() self.add(self.treeview) @@ -329,6 +332,9 @@ class ArtistView(Gtk.ScrolledWindow): artists.append(selected_artist) return artists + def on_enter_event(self, widget, event): + self.treeview.grab_focus() + class AlbumIconView(Gtk.IconView): def __init__(self, client, settings, window): Gtk.IconView.__init__(self) @@ -354,6 +360,7 @@ class AlbumIconView(Gtk.IconView): self.album_item_activated=self.connect("item-activated", self.on_album_item_activated) self.connect("button-press-event", self.on_album_view_button_press_event) self.settings.connect("changed::show-album-view-tooltips", self.tooltip_settings) + self.connect("motion-notify-event", self.on_move_event) def tooltip_settings(self, *args): if self.settings.get_boolean("show-album-view-tooltips"): @@ -454,6 +461,9 @@ class AlbumIconView(Gtk.IconView): selected_artist=self.store.get_value(treeiter, 5) self.client.album_to_playlist(selected_album, selected_artist, selected_album_year, False, True) + def on_move_event(self, widget, event): + self.grab_focus() + class AlbumView(Gtk.ScrolledWindow): def __init__(self, client, settings, window): Gtk.ScrolledWindow.__init__(self) @@ -548,6 +558,8 @@ class TrackView(Gtk.Box): #status bar status_bar=Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=10) + status_bar.set_margin_left(4) + status_bar.set_margin_right(4) status_bar.pack_start(self.playlist_info, True, True, 0) status_bar.pack_end(audio, False, False, 0) @@ -702,7 +714,7 @@ class TrackView(Gtk.Box): class Browser(Gtk.Box): def __init__(self, client, settings, window): - Gtk.Box.__init__(self, orientation=Gtk.Orientation.HORIZONTAL, spacing=3) + Gtk.Box.__init__(self, orientation=Gtk.Orientation.HORIZONTAL, spacing=4) #adding vars self.client=client @@ -722,7 +734,9 @@ class Browser(Gtk.Box): #packing 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.artist_list, False, False) self.paned1.pack2(self.album_list, True, False) self.paned2.pack1(self.paned1, True, False) @@ -778,9 +792,9 @@ class Browser(Gtk.Box): class ProfileSettings(Gtk.Grid): def __init__(self, parent, settings): Gtk.Grid.__init__(self) - self.set_row_spacing(3) - self.set_column_spacing(3) - self.set_property("border-width", 3) + self.set_row_spacing(4) + self.set_column_spacing(4) + self.set_property("border-width", 4) #adding vars self.settings = settings @@ -927,9 +941,9 @@ class ProfileSettings(Gtk.Grid): class GeneralSettings(Gtk.Grid): def __init__(self, settings): Gtk.Grid.__init__(self) - self.set_row_spacing(3) - self.set_column_spacing(3) - self.set_property("border-width", 3) + self.set_row_spacing(4) + self.set_column_spacing(4) + self.set_property("border-width", 4) #adding vars self.settings = settings @@ -1024,7 +1038,7 @@ class SettingsDialog(Gtk.Dialog): class ClientControl(Gtk.ButtonBox): def __init__(self, client, settings): - Gtk.ButtonBox.__init__(self, spacing=3) + Gtk.ButtonBox.__init__(self, spacing=4) #adding vars self.client=client @@ -1123,6 +1137,7 @@ class SeekBar(Gtk.Box): self.rest.set_width_chars(8) self.scale=Gtk.Scale.new_with_range(orientation=Gtk.Orientation.HORIZONTAL, min=0, max=100, step=0.001) self.scale.set_draw_value(False) + self.scale.set_can_focus(False) #connect self.scale.connect("change-value", self.seek) @@ -1271,7 +1286,7 @@ class PlaybackOptions(Gtk.Box): class AudioType(Gtk.EventBox): def __init__(self, client): Gtk.EventBox.__init__(self) - self.set_tooltip_text(_("Right click to show additional information")) + self.set_tooltip_text(_("Click to show additional information")) #adding vars self.client=client @@ -1328,7 +1343,7 @@ class AudioType(Gtk.EventBox): return True def on_button_press_event(self, widget, event): - if event.button == 3: + if event.button == 1 or event.button == 2 or event.button == 3: self.popover.remove(self.treeview) #workaround self.store.clear() self.popover.add(self.treeview) #workaround @@ -1712,8 +1727,11 @@ class MainWindow(Gtk.ApplicationWindow): GLib.timeout_add(1000, self.update, app) #packing - self.vbox=Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=3) - self.hbox=Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=3) + self.vbox=Gtk.Box(orientation=Gtk.Orientation.VERTICAL, spacing=4) + self.hbox=Gtk.Box(orientation=Gtk.Orientation.HORIZONTAL, spacing=4) + self.hbox.set_margin_left(2) + self.hbox.set_margin_right(2) + self.hbox.set_margin_bottom(2) self.vbox.pack_start(self.info_bar, False, False, 0) self.vbox.pack_start(self.browser, True, True, 0) self.vbox.pack_start(self.hbox, False, False, 0) diff --git a/po/de.po b/po/de.po index 3d6a99f..9728916 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-01 15:50+0100\n" -"PO-Revision-Date: 2020-02-01 15:50+0100\n" +"POT-Creation-Date: 2020-02-02 18:07+0100\n" +"PO-Revision-Date: 2020-02-02 18:08+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: de\n" @@ -18,27 +18,27 @@ msgstr "" "X-Generator: Poedit 2.2.4\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: mpdevil.py:199 mpdevil.py:512 mpdevil.py:1453 +#: mpdevil.py:199 mpdevil.py:522 mpdevil.py:1474 msgid "No" msgstr "Nr." -#: mpdevil.py:204 mpdevil.py:517 mpdevil.py:1459 +#: mpdevil.py:204 mpdevil.py:527 mpdevil.py:1480 msgid "Title" msgstr "Titel" -#: mpdevil.py:209 mpdevil.py:522 mpdevil.py:1465 +#: mpdevil.py:209 mpdevil.py:532 mpdevil.py:1486 msgid "Artist" msgstr "Interpret" -#: mpdevil.py:214 mpdevil.py:527 mpdevil.py:1477 +#: mpdevil.py:214 mpdevil.py:537 mpdevil.py:1498 msgid "Length" msgstr "Länge" -#: mpdevil.py:254 mpdevil.py:621 mpdevil.py:1514 +#: mpdevil.py:254 mpdevil.py:633 mpdevil.py:1535 msgid "Unknown Title" msgstr "Unbekannter Titel" -#: mpdevil.py:258 mpdevil.py:629 mpdevil.py:1522 +#: mpdevil.py:258 mpdevil.py:641 mpdevil.py:1543 msgid "Unknown Artist" msgstr "Unbekannter Künstler" @@ -46,120 +46,120 @@ msgstr "Unbekannter Künstler" msgid "Album Artist" msgstr "Albuminterpret" -#: mpdevil.py:374 mpdevil.py:596 +#: mpdevil.py:381 mpdevil.py:608 #, python-format msgid "%(total_tracks)i titles (%(total_length)s)" msgstr "%(total_tracks)i Titel (%(total_length)s)" -#: mpdevil.py:633 mpdevil.py:1526 +#: mpdevil.py:645 mpdevil.py:1547 msgid "Unknown Album" msgstr "Unbekanntes Album" -#: mpdevil.py:800 +#: mpdevil.py:814 msgid "Select" msgstr "Auswählen" -#: mpdevil.py:802 +#: mpdevil.py:816 msgid "Profile:" msgstr "Profil:" -#: mpdevil.py:804 +#: mpdevil.py:818 msgid "Name:" msgstr "Name:" -#: mpdevil.py:806 +#: mpdevil.py:820 msgid "Host:" msgstr "Host:" -#: mpdevil.py:808 +#: mpdevil.py:822 msgid "Port:" msgstr "Port:" -#: mpdevil.py:810 +#: mpdevil.py:824 msgid "Password:" msgstr "Passwort:" -#: mpdevil.py:812 +#: mpdevil.py:826 msgid "Music lib:" msgstr "Musikverzeichnis:" -#: mpdevil.py:893 +#: mpdevil.py:912 msgid "Choose directory" msgstr "Verzeichnis Wählen" -#: mpdevil.py:932 +#: mpdevil.py:952 msgid "Main cover size:" msgstr "Größe des Haupt-Covers:" -#: mpdevil.py:934 +#: mpdevil.py:954 msgid "Album-view cover size:" msgstr "Covergröße in Albumansicht:" -#: mpdevil.py:940 +#: mpdevil.py:960 msgid "Button icon size (restart required):" msgstr "Symbolgröße der Knöpfe (Neustart erforderlich):" -#: mpdevil.py:949 +#: mpdevil.py:969 msgid "Show stop button" msgstr "Zeige Stopp-Knopf" -#: mpdevil.py:952 +#: mpdevil.py:972 msgid "Show tooltips in album view" msgstr "Zeige Tooltips in Albumansicht" -#: mpdevil.py:955 +#: mpdevil.py:975 msgid "Send notification on title change" msgstr "Sende Benachrichtigung bei Titelwechsel" -#: mpdevil.py:958 +#: mpdevil.py:978 msgid "Stop playback on quit" msgstr "Wiedergabe beim Beenden stoppen" -#: mpdevil.py:961 +#: mpdevil.py:981 msgid "Play selected album after current title" msgstr "Ausgewähltes Album hinter aktuellem Titel einreihen" -#: mpdevil.py:999 mpdevil.py:1683 +#: mpdevil.py:1019 mpdevil.py:1704 msgid "Settings" msgstr "Einstellungen" -#: mpdevil.py:1012 +#: mpdevil.py:1032 msgid "General" msgstr "Allgemein" -#: mpdevil.py:1013 +#: mpdevil.py:1033 msgid "Profiles" msgstr "Profile" -#: mpdevil.py:1167 +#: mpdevil.py:1188 msgid "Random mode" msgstr "Zufallsmodus" -#: mpdevil.py:1169 +#: mpdevil.py:1190 msgid "Repeat mode" msgstr "Dauerschleife" -#: mpdevil.py:1171 +#: mpdevil.py:1192 msgid "Single mode" msgstr "Einzelstückmodus" -#: mpdevil.py:1173 +#: mpdevil.py:1194 msgid "Consume mode" msgstr "Playliste verbrauchen" -#: mpdevil.py:1268 -msgid "Right click to show additional information" -msgstr "Rechtsclick für weitere Informationen" +#: mpdevil.py:1289 +msgid "Click to show additional information" +msgstr "Klicken für weitere Informationen" -#: mpdevil.py:1292 +#: mpdevil.py:1313 msgid "MPD-Tag" msgstr "MPD-Tag" -#: mpdevil.py:1295 mpdevil.py:1403 +#: mpdevil.py:1316 mpdevil.py:1424 msgid "Value" msgstr "Wert" -#: mpdevil.py:1316 +#: mpdevil.py:1337 #, python-format msgid "" "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " @@ -168,88 +168,88 @@ msgstr "" "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " "Kanäle, %(file_type)s" -#: mpdevil.py:1382 +#: mpdevil.py:1403 msgid "Stats" msgstr "Statistik" -#: mpdevil.py:1400 +#: mpdevil.py:1421 msgid "Tag" msgstr "Tag" -#: mpdevil.py:1420 +#: mpdevil.py:1441 msgid "Search" msgstr "Suche" -#: mpdevil.py:1471 +#: mpdevil.py:1492 msgid "Album" msgstr "Album" -#: mpdevil.py:1533 +#: mpdevil.py:1554 #, python-format msgid "Hits: %i" msgstr "Treffer: %i" -#: mpdevil.py:1537 +#: mpdevil.py:1558 msgid "Lyrics" msgstr "Liedtext" -#: mpdevil.py:1577 +#: mpdevil.py:1598 msgid "searching..." msgstr "suche..." -#: mpdevil.py:1581 +#: mpdevil.py:1602 msgid "not found" msgstr "nicht gefunden" -#: mpdevil.py:1586 +#: mpdevil.py:1607 msgid "not connected" msgstr "nicht verbunden" -#: mpdevil.py:1663 +#: mpdevil.py:1684 msgid "Select profile" msgstr "Profil auswählen" -#: mpdevil.py:1667 +#: mpdevil.py:1688 msgid "Return to album of current title" msgstr "Zu Album des aktuellen Titels zurückkehren" -#: mpdevil.py:1669 +#: mpdevil.py:1690 msgid "Title search" msgstr "Titelsuche" -#: mpdevil.py:1671 +#: mpdevil.py:1692 msgid "Show lyrics" msgstr "Zeige Liedtext" -#: mpdevil.py:1678 +#: mpdevil.py:1699 msgid "Not connected to MPD-server. Reconnect?" msgstr "Nicht mit MPD-Server verbunden. Verbindung wiederherstellen?" -#: mpdevil.py:1682 +#: mpdevil.py:1703 msgid "Save window size" msgstr "Fenstergröße speichern" -#: mpdevil.py:1684 +#: mpdevil.py:1705 msgid "Update database" msgstr "Datenbank aktualisieren" -#: mpdevil.py:1685 +#: mpdevil.py:1706 msgid "Server stats" msgstr "Serverstatistik" -#: mpdevil.py:1686 +#: mpdevil.py:1707 msgid "About" msgstr "Über" -#: mpdevil.py:1687 +#: mpdevil.py:1708 msgid "Quit" msgstr "Beenden" -#: mpdevil.py:1692 +#: mpdevil.py:1713 msgid "Main menu" msgstr "Hauptmenu" -#: mpdevil.py:1845 +#: mpdevil.py:1869 msgid "A small MPD client written in python" msgstr "" diff --git a/po/mpdevil.pot b/po/mpdevil.pot index 74f248d..fe861f0 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-01 15:50+0100\n" +"POT-Creation-Date: 2020-02-02 18:07+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -17,27 +17,27 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: mpdevil.py:199 mpdevil.py:512 mpdevil.py:1453 +#: mpdevil.py:199 mpdevil.py:522 mpdevil.py:1474 msgid "No" msgstr "" -#: mpdevil.py:204 mpdevil.py:517 mpdevil.py:1459 +#: mpdevil.py:204 mpdevil.py:527 mpdevil.py:1480 msgid "Title" msgstr "" -#: mpdevil.py:209 mpdevil.py:522 mpdevil.py:1465 +#: mpdevil.py:209 mpdevil.py:532 mpdevil.py:1486 msgid "Artist" msgstr "" -#: mpdevil.py:214 mpdevil.py:527 mpdevil.py:1477 +#: mpdevil.py:214 mpdevil.py:537 mpdevil.py:1498 msgid "Length" msgstr "" -#: mpdevil.py:254 mpdevil.py:621 mpdevil.py:1514 +#: mpdevil.py:254 mpdevil.py:633 mpdevil.py:1535 msgid "Unknown Title" msgstr "" -#: mpdevil.py:258 mpdevil.py:629 mpdevil.py:1522 +#: mpdevil.py:258 mpdevil.py:641 mpdevil.py:1543 msgid "Unknown Artist" msgstr "" @@ -45,207 +45,207 @@ msgstr "" msgid "Album Artist" msgstr "" -#: mpdevil.py:374 mpdevil.py:596 +#: mpdevil.py:381 mpdevil.py:608 #, python-format msgid "%(total_tracks)i titles (%(total_length)s)" msgstr "" -#: mpdevil.py:633 mpdevil.py:1526 +#: mpdevil.py:645 mpdevil.py:1547 msgid "Unknown Album" msgstr "" -#: mpdevil.py:800 +#: mpdevil.py:814 msgid "Select" msgstr "" -#: mpdevil.py:802 +#: mpdevil.py:816 msgid "Profile:" msgstr "" -#: mpdevil.py:804 +#: mpdevil.py:818 msgid "Name:" msgstr "" -#: mpdevil.py:806 +#: mpdevil.py:820 msgid "Host:" msgstr "" -#: mpdevil.py:808 +#: mpdevil.py:822 msgid "Port:" msgstr "" -#: mpdevil.py:810 +#: mpdevil.py:824 msgid "Password:" msgstr "" -#: mpdevil.py:812 +#: mpdevil.py:826 msgid "Music lib:" msgstr "" -#: mpdevil.py:893 +#: mpdevil.py:912 msgid "Choose directory" msgstr "" -#: mpdevil.py:932 +#: mpdevil.py:952 msgid "Main cover size:" msgstr "" -#: mpdevil.py:934 +#: mpdevil.py:954 msgid "Album-view cover size:" msgstr "" -#: mpdevil.py:940 +#: mpdevil.py:960 msgid "Button icon size (restart required):" msgstr "" -#: mpdevil.py:949 +#: mpdevil.py:969 msgid "Show stop button" msgstr "" -#: mpdevil.py:952 +#: mpdevil.py:972 msgid "Show tooltips in album view" msgstr "" -#: mpdevil.py:955 +#: mpdevil.py:975 msgid "Send notification on title change" msgstr "" -#: mpdevil.py:958 +#: mpdevil.py:978 msgid "Stop playback on quit" msgstr "" -#: mpdevil.py:961 +#: mpdevil.py:981 msgid "Play selected album after current title" msgstr "" -#: mpdevil.py:999 mpdevil.py:1683 +#: mpdevil.py:1019 mpdevil.py:1704 msgid "Settings" msgstr "" -#: mpdevil.py:1012 +#: mpdevil.py:1032 msgid "General" msgstr "" -#: mpdevil.py:1013 +#: mpdevil.py:1033 msgid "Profiles" msgstr "" -#: mpdevil.py:1167 +#: mpdevil.py:1188 msgid "Random mode" msgstr "" -#: mpdevil.py:1169 +#: mpdevil.py:1190 msgid "Repeat mode" msgstr "" -#: mpdevil.py:1171 +#: mpdevil.py:1192 msgid "Single mode" msgstr "" -#: mpdevil.py:1173 +#: mpdevil.py:1194 msgid "Consume mode" msgstr "" -#: mpdevil.py:1268 -msgid "Right click to show additional information" +#: mpdevil.py:1289 +msgid "Click to show additional information" msgstr "" -#: mpdevil.py:1292 +#: mpdevil.py:1313 msgid "MPD-Tag" msgstr "" -#: mpdevil.py:1295 mpdevil.py:1403 +#: mpdevil.py:1316 mpdevil.py:1424 msgid "Value" msgstr "" -#: mpdevil.py:1316 +#: mpdevil.py:1337 #, python-format msgid "" "%(bitrate)s kb/s, %(frequency)s kHz, %(resolution)s bit, %(channels)s " "channels, %(file_type)s" msgstr "" -#: mpdevil.py:1382 +#: mpdevil.py:1403 msgid "Stats" msgstr "" -#: mpdevil.py:1400 +#: mpdevil.py:1421 msgid "Tag" msgstr "" -#: mpdevil.py:1420 +#: mpdevil.py:1441 msgid "Search" msgstr "" -#: mpdevil.py:1471 +#: mpdevil.py:1492 msgid "Album" msgstr "" -#: mpdevil.py:1533 +#: mpdevil.py:1554 #, python-format msgid "Hits: %i" msgstr "" -#: mpdevil.py:1537 +#: mpdevil.py:1558 msgid "Lyrics" msgstr "" -#: mpdevil.py:1577 +#: mpdevil.py:1598 msgid "searching..." msgstr "" -#: mpdevil.py:1581 +#: mpdevil.py:1602 msgid "not found" msgstr "" -#: mpdevil.py:1586 +#: mpdevil.py:1607 msgid "not connected" msgstr "" -#: mpdevil.py:1663 +#: mpdevil.py:1684 msgid "Select profile" msgstr "" -#: mpdevil.py:1667 +#: mpdevil.py:1688 msgid "Return to album of current title" msgstr "" -#: mpdevil.py:1669 +#: mpdevil.py:1690 msgid "Title search" msgstr "" -#: mpdevil.py:1671 +#: mpdevil.py:1692 msgid "Show lyrics" msgstr "" -#: mpdevil.py:1678 +#: mpdevil.py:1699 msgid "Not connected to MPD-server. Reconnect?" msgstr "" -#: mpdevil.py:1682 +#: mpdevil.py:1703 msgid "Save window size" msgstr "" -#: mpdevil.py:1684 +#: mpdevil.py:1705 msgid "Update database" msgstr "" -#: mpdevil.py:1685 +#: mpdevil.py:1706 msgid "Server stats" msgstr "" -#: mpdevil.py:1686 +#: mpdevil.py:1707 msgid "About" msgstr "" -#: mpdevil.py:1687 +#: mpdevil.py:1708 msgid "Quit" msgstr "" -#: mpdevil.py:1692 +#: mpdevil.py:1713 msgid "Main menu" msgstr "" -#: mpdevil.py:1845 +#: mpdevil.py:1869 msgid "A small MPD client written in python" msgstr ""