Compare commits

...

4 Commits

Author SHA1 Message Date
OpCodeWolf 18264ecb60
Merge 5d8708cf83 into 2f3464403b 2024-05-02 20:16:26 +02:00
Clementine Buildbot 2f3464403b Automatic merge of translations from Transifex 2024-04-25 02:31:15 +00:00
Clementine Buildbot f76dbffa6b Automatic merge of translations from Transifex 2024-03-24 02:30:19 +00:00
Gene Reese 5d8708cf83 Added system tray menu item to unhide the application 2023-07-06 22:51:56 -07:00
10 changed files with 44 additions and 27 deletions

View File

@ -42,6 +42,7 @@
# Martin Brodbeck <martin@brodbeck-online.de>, 2013 # Martin Brodbeck <martin@brodbeck-online.de>, 2013
# Martin Herkt <lachs0r@hong-mailing.de>, 2011 # Martin Herkt <lachs0r@hong-mailing.de>, 2011
# Martin Herkt <luck3r@phicode.de>, 2010 # Martin Herkt <luck3r@phicode.de>, 2010
# Michael Kohler, 2024
# MCMicS, 2020 # MCMicS, 2020
# Mohamed Sakhri, 2013 # Mohamed Sakhri, 2013
# Mohamed Sakhri, 2013 # Mohamed Sakhri, 2013
@ -70,7 +71,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-09 10:24+0000\n" "POT-Creation-Date: 2011-04-09 10:24+0000\n"
"PO-Revision-Date: 2011-10-27 18:53+0000\n" "PO-Revision-Date: 2011-10-27 18:53+0000\n"
"Last-Translator: 6543 <6543@obermui.de>, 2020\n" "Last-Translator: Michael Kohler, 2024\n"
"Language-Team: German (http://app.transifex.com/davidsansome/clementine/language/de/)\n" "Language-Team: German (http://app.transifex.com/davidsansome/clementine/language/de/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
@ -219,7 +220,7 @@ msgid "1 track"
msgstr "1 Titel" msgstr "1 Titel"
msgid "128K MP3" msgid "128K MP3"
msgstr "" msgstr "128K MP3"
msgid "128k MP3" msgid "128k MP3"
msgstr "128k MP3" msgstr "128k MP3"
@ -240,7 +241,7 @@ msgid "A Grooveshark Anywhere account is required."
msgstr "" msgstr ""
msgid "A Spotify Premium account is required." msgid "A Spotify Premium account is required."
msgstr "" msgstr "Spotify Premium Zugang wird benötigt."
msgid "" msgid ""
"A smart playlist is a dynamic list of songs that come from your library. " "A smart playlist is a dynamic list of songs that come from your library. "
@ -293,7 +294,7 @@ msgid "Action"
msgstr "Aktion" msgstr "Aktion"
msgid "Active/deactive Wiiremote" msgid "Active/deactive Wiiremote"
msgstr "" msgstr "Aktivieren/deaktivieren Wiiremote"
msgid "Add Stream" msgid "Add Stream"
msgstr "Datenstrom hinzufügen" msgstr "Datenstrom hinzufügen"
@ -326,7 +327,7 @@ msgid "Add folder..."
msgstr "Ordner hinzufügen …" msgstr "Ordner hinzufügen …"
msgid "Add media" msgid "Add media"
msgstr "" msgstr "Medien hinzufügen ..."
msgid "Add new folder..." msgid "Add new folder..."
msgstr "Neuen Ordner hinzufügen …" msgstr "Neuen Ordner hinzufügen …"
@ -386,7 +387,7 @@ msgid "Add wiimotedev action"
msgstr "Aktion für Wii-Fernbedienung hinzufügen" msgstr "Aktion für Wii-Fernbedienung hinzufügen"
msgid "Add..." msgid "Add..."
msgstr "" msgstr "Hinzufügen …"
msgid "Added this month" msgid "Added this month"
msgstr "Diesen Monat hinzugefügt" msgstr "Diesen Monat hinzugefügt"
@ -422,7 +423,7 @@ msgid "Album info on jamendo.com..."
msgstr "Albuminformationen auf jamendo.com …" msgstr "Albuminformationen auf jamendo.com …"
msgid "Albumartist" msgid "Albumartist"
msgstr "" msgstr "Albumkünstler"
msgid "Albums with covers" msgid "Albums with covers"
msgstr "Alben mit Titelbildern" msgstr "Alben mit Titelbildern"
@ -633,7 +634,7 @@ msgid "CUE sheet support"
msgstr "Unterstützung von Cuesheets" msgstr "Unterstützung von Cuesheets"
msgid "Cancel" msgid "Cancel"
msgstr "" msgstr "Abbrechen"
msgid "Change cover art" msgid "Change cover art"
msgstr "Titelbilder ändern" msgstr "Titelbilder ändern"

View File

@ -3,10 +3,10 @@
# This file is distributed under the same license as the Clementine package. # This file is distributed under the same license as the Clementine package.
# #
# Translators: # Translators:
# Adolfo Jayme-Barrientos, 2014 # Adolfo Jayme Barrientos, 2014
# Adolfo Jayme-Barrientos, 2018-2022 # Adolfo Jayme Barrientos, 2018-2022
# Adolfo Jayme-Barrientos, 2015-2016 # Adolfo Jayme Barrientos, 2015-2016
# Adolfo Jayme-Barrientos, 2014 # Adolfo Jayme Barrientos, 2014
# FIRST AUTHOR <EMAIL@ADDRESS>, 2010 # FIRST AUTHOR <EMAIL@ADDRESS>, 2010
msgid "" msgid ""
msgstr "" msgstr ""
@ -14,7 +14,7 @@ msgstr ""
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-09 10:24+0000\n" "POT-Creation-Date: 2011-04-09 10:24+0000\n"
"PO-Revision-Date: 2011-10-27 18:53+0000\n" "PO-Revision-Date: 2011-10-27 18:53+0000\n"
"Last-Translator: Adolfo Jayme-Barrientos, 2018-2022\n" "Last-Translator: Adolfo Jayme Barrientos, 2018-2022\n"
"Language-Team: Esperanto (http://app.transifex.com/davidsansome/clementine/language/eo/)\n" "Language-Team: Esperanto (http://app.transifex.com/davidsansome/clementine/language/eo/)\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"

View File

@ -4,12 +4,12 @@
# #
# Translators: # Translators:
# Coroccotta <adiazubierna@gmail.com>, 2012 # Coroccotta <adiazubierna@gmail.com>, 2012
# Adolfo Jayme-Barrientos, 2014 # Adolfo Jayme Barrientos, 2014
# Adolfo Jayme-Barrientos, 2012-2013,2018,2021 # Adolfo Jayme Barrientos, 2012-2013,2018,2021
# Adolfo Jayme-Barrientos, 2016-2022 # Adolfo Jayme Barrientos, 2016-2022
# Adolfo Jayme-Barrientos, 2015-2016 # Adolfo Jayme Barrientos, 2015-2016
# Adolfo Jayme-Barrientos, 2013 # Adolfo Jayme Barrientos, 2013
# Adolfo Jayme-Barrientos, 2014 # Adolfo Jayme Barrientos, 2014
# Adrián Prado Castro <adrian.prado@gmail.com>, 2013 # Adrián Prado Castro <adrian.prado@gmail.com>, 2013
# Adrián Ramirez Escalante <buried.prophet@gmail.com>, 2012 # Adrián Ramirez Escalante <buried.prophet@gmail.com>, 2012
# Amaury Ortega <amauryocortega@gmail.com>, 2018 # Amaury Ortega <amauryocortega@gmail.com>, 2018

View File

@ -33,7 +33,7 @@ class MacSystemTrayIcon : public SystemTrayIcon {
void SetupMenu(QAction* previous, QAction* play, QAction* stop, void SetupMenu(QAction* previous, QAction* play, QAction* stop,
QAction* stop_after, QAction* next, QAction* mute, QAction* stop_after, QAction* next, QAction* mute,
QAction* love, QAction* quit); QAction* show_hide, QAction* love, QAction* quit);
void SetNowPlaying(const Song& song, const QString& image_path); void SetNowPlaying(const Song& song, const QString& image_path);
void ClearNowPlaying(); void ClearNowPlaying();

View File

@ -163,8 +163,8 @@ MacSystemTrayIcon::MacSystemTrayIcon(QObject* parent)
MacSystemTrayIcon::~MacSystemTrayIcon() {} MacSystemTrayIcon::~MacSystemTrayIcon() {}
void MacSystemTrayIcon::SetupMenu(QAction* previous, QAction* play, QAction* stop, void MacSystemTrayIcon::SetupMenu(QAction* previous, QAction* play, QAction* stop,
QAction* stop_after, QAction* next, QAction* mute, QAction* love, QAction* stop_after, QAction* next, QAction* mute,
QAction* quit) { QAction* show_hide, QAction* love, QAction* quit) {
p_.reset(new MacSystemTrayIconPrivate()); p_.reset(new MacSystemTrayIconPrivate());
SetupMenuItem(previous); SetupMenuItem(previous);
SetupMenuItem(play); SetupMenuItem(play);
@ -173,6 +173,7 @@ void MacSystemTrayIcon::SetupMenu(QAction* previous, QAction* play, QAction* sto
SetupMenuItem(next); SetupMenuItem(next);
p_->AddSeparator(); p_->AddSeparator();
SetupMenuItem(mute); SetupMenuItem(mute);
SetupMenuItem(show_hide);
p_->AddSeparator(); p_->AddSeparator();
SetupMenuItem(love); SetupMenuItem(love);
Q_UNUSED(quit); // Mac already has a Quit item. Q_UNUSED(quit); // Mac already has a Quit item.

View File

@ -430,6 +430,8 @@ MainWindow::MainWindow(Application* app, SystemTrayIcon* tray_icon, OSD* osd,
connect(ui_->action_stop_after_this_track, SIGNAL(triggered()), connect(ui_->action_stop_after_this_track, SIGNAL(triggered()),
SLOT(StopAfterCurrent())); SLOT(StopAfterCurrent()));
connect(ui_->action_mute, SIGNAL(triggered()), app_->player(), SLOT(Mute())); connect(ui_->action_mute, SIGNAL(triggered()), app_->player(), SLOT(Mute()));
connect(ui_->action_show_hide, SIGNAL(triggered()), SLOT(ToggleShowHide()));
#ifdef HAVE_LIBLASTFM #ifdef HAVE_LIBLASTFM
connect(ui_->action_love, SIGNAL(triggered()), SLOT(Love())); connect(ui_->action_love, SIGNAL(triggered()), SLOT(Love()));
connect(ui_->action_toggle_scrobbling, SIGNAL(triggered()), app_->scrobbler(), connect(ui_->action_toggle_scrobbling, SIGNAL(triggered()), app_->scrobbler(),
@ -825,7 +827,7 @@ MainWindow::MainWindow(Application* app, SystemTrayIcon* tray_icon, OSD* osd,
tray_icon_->SetupMenu(ui_->action_previous_track, ui_->action_play_pause, tray_icon_->SetupMenu(ui_->action_previous_track, ui_->action_play_pause,
ui_->action_stop, ui_->action_stop_after_this_track, ui_->action_stop, ui_->action_stop_after_this_track,
ui_->action_next_track, ui_->action_mute, ui_->action_next_track, ui_->action_mute,
ui_->action_love, ui_->action_quit); ui_->action_show_hide, ui_->action_love, ui_->action_quit);
connect(tray_icon_, SIGNAL(PlayPause()), app_->player(), SLOT(PlayPause())); connect(tray_icon_, SIGNAL(PlayPause()), app_->player(), SLOT(PlayPause()));
connect(tray_icon_, SIGNAL(SeekForward()), app_->player(), connect(tray_icon_, SIGNAL(SeekForward()), app_->player(),
SLOT(SeekForward())); SLOT(SeekForward()));

View File

@ -565,6 +565,7 @@
<addaction name="action_configure"/> <addaction name="action_configure"/>
<addaction name="separator"/> <addaction name="separator"/>
<addaction name="action_toggle_show_sidebar"/> <addaction name="action_toggle_show_sidebar"/>
<addaction name="action_show_hide"/>
</widget> </widget>
<addaction name="menu_music"/> <addaction name="menu_music"/>
<addaction name="menu_playlist"/> <addaction name="menu_playlist"/>
@ -878,6 +879,14 @@
<string notr="true">Ctrl+M</string> <string notr="true">Ctrl+M</string>
</property> </property>
</action> </action>
<action name="action_show_hide">
<property name="checkable">
<bool>false</bool>
</property>
<property name="text">
<string>Show/Hide Clementine</string>
</property>
</action>
<action name="action_full_library_scan"> <action name="action_full_library_scan">
<property name="text"> <property name="text">
<string>Do a full library rescan</string> <string>Do a full library rescan</string>

View File

@ -36,6 +36,7 @@ QtSystemTrayIcon::QtSystemTrayIcon(QObject* parent)
action_stop_(nullptr), action_stop_(nullptr),
action_stop_after_this_track_(nullptr), action_stop_after_this_track_(nullptr),
action_mute_(nullptr), action_mute_(nullptr),
action_show_hide_(nullptr),
action_love_(nullptr) { action_love_(nullptr) {
QIcon theme_icon = IconLoader::Load("clementine-panel", IconLoader::Base); QIcon theme_icon = IconLoader::Load("clementine-panel", IconLoader::Base);
QIcon theme_icon_grey = QIcon theme_icon_grey =
@ -103,8 +104,8 @@ bool QtSystemTrayIcon::eventFilter(QObject* object, QEvent* event) {
void QtSystemTrayIcon::SetupMenu(QAction* previous, QAction* play, void QtSystemTrayIcon::SetupMenu(QAction* previous, QAction* play,
QAction* stop, QAction* stop_after, QAction* stop, QAction* stop_after,
QAction* next, QAction* mute, QAction* love, QAction* next, QAction* mute, QAction* show_hide,
QAction* quit) { QAction* love, QAction* quit) {
// Creating new actions and connecting them to old ones. This allows us to // Creating new actions and connecting them to old ones. This allows us to
// use old actions without displaying shortcuts that can not be used when // use old actions without displaying shortcuts that can not be used when
// Clementine's window is hidden // Clementine's window is hidden
@ -123,6 +124,8 @@ void QtSystemTrayIcon::SetupMenu(QAction* previous, QAction* play,
menu_->addAction(mute->icon(), mute->text(), mute, SLOT(trigger())); menu_->addAction(mute->icon(), mute->text(), mute, SLOT(trigger()));
action_mute_->setCheckable(true); action_mute_->setCheckable(true);
action_mute_->setChecked(mute->isChecked()); action_mute_->setChecked(mute->isChecked());
action_show_hide_ =
menu_->addAction(show_hide->icon(), show_hide->text(), show_hide, SLOT(trigger()));
menu_->addSeparator(); menu_->addSeparator();
#ifdef HAVE_LIBLASTFM #ifdef HAVE_LIBLASTFM

View File

@ -32,7 +32,7 @@ class QtSystemTrayIcon : public SystemTrayIcon {
void SetupMenu(QAction* previous, QAction* play, QAction* stop, void SetupMenu(QAction* previous, QAction* play, QAction* stop,
QAction* stop_after, QAction* next, QAction* mute, QAction* stop_after, QAction* next, QAction* mute,
QAction* love, QAction* quit); QAction* show_hide, QAction* love, QAction* quit);
bool IsVisible() const; bool IsVisible() const;
void SetVisible(bool visible); void SetVisible(bool visible);
@ -64,6 +64,7 @@ class QtSystemTrayIcon : public SystemTrayIcon {
QAction* action_stop_; QAction* action_stop_;
QAction* action_stop_after_this_track_; QAction* action_stop_after_this_track_;
QAction* action_mute_; QAction* action_mute_;
QAction* action_show_hide_;
QAction* action_love_; QAction* action_love_;
QPixmap orange_icon_; QPixmap orange_icon_;

View File

@ -33,7 +33,7 @@ class SystemTrayIcon : public QObject {
// Called once to create the icon's context menu // Called once to create the icon's context menu
virtual void SetupMenu(QAction* previous, QAction* play, QAction* stop, virtual void SetupMenu(QAction* previous, QAction* play, QAction* stop,
QAction* stop_after, QAction* next, QAction* mute, QAction* stop_after, QAction* next, QAction* mute,
QAction* love, QAction* quit) = 0; QAction* show_hide, QAction* love, QAction* quit) = 0;
virtual bool IsVisible() const { return true; } virtual bool IsVisible() const { return true; }
virtual void SetVisible(bool visible) {} virtual void SetVisible(bool visible) {}