Added system tray menu item to unhide the application
This commit is contained in:
parent
351a5e2547
commit
5d8708cf83
|
@ -33,7 +33,7 @@ class MacSystemTrayIcon : public SystemTrayIcon {
|
|||
|
||||
void SetupMenu(QAction* previous, QAction* play, QAction* stop,
|
||||
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 ClearNowPlaying();
|
||||
|
|
|
@ -163,8 +163,8 @@ MacSystemTrayIcon::MacSystemTrayIcon(QObject* parent)
|
|||
MacSystemTrayIcon::~MacSystemTrayIcon() {}
|
||||
|
||||
void MacSystemTrayIcon::SetupMenu(QAction* previous, QAction* play, QAction* stop,
|
||||
QAction* stop_after, QAction* next, QAction* mute, QAction* love,
|
||||
QAction* quit) {
|
||||
QAction* stop_after, QAction* next, QAction* mute,
|
||||
QAction* show_hide, QAction* love, QAction* quit) {
|
||||
p_.reset(new MacSystemTrayIconPrivate());
|
||||
SetupMenuItem(previous);
|
||||
SetupMenuItem(play);
|
||||
|
@ -173,6 +173,7 @@ void MacSystemTrayIcon::SetupMenu(QAction* previous, QAction* play, QAction* sto
|
|||
SetupMenuItem(next);
|
||||
p_->AddSeparator();
|
||||
SetupMenuItem(mute);
|
||||
SetupMenuItem(show_hide);
|
||||
p_->AddSeparator();
|
||||
SetupMenuItem(love);
|
||||
Q_UNUSED(quit); // Mac already has a Quit item.
|
||||
|
|
|
@ -430,6 +430,8 @@ MainWindow::MainWindow(Application* app, SystemTrayIcon* tray_icon, OSD* osd,
|
|||
connect(ui_->action_stop_after_this_track, SIGNAL(triggered()),
|
||||
SLOT(StopAfterCurrent()));
|
||||
connect(ui_->action_mute, SIGNAL(triggered()), app_->player(), SLOT(Mute()));
|
||||
connect(ui_->action_show_hide, SIGNAL(triggered()), SLOT(ToggleShowHide()));
|
||||
|
||||
#ifdef HAVE_LIBLASTFM
|
||||
connect(ui_->action_love, SIGNAL(triggered()), SLOT(Love()));
|
||||
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,
|
||||
ui_->action_stop, ui_->action_stop_after_this_track,
|
||||
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(SeekForward()), app_->player(),
|
||||
SLOT(SeekForward()));
|
||||
|
|
|
@ -565,6 +565,7 @@
|
|||
<addaction name="action_configure"/>
|
||||
<addaction name="separator"/>
|
||||
<addaction name="action_toggle_show_sidebar"/>
|
||||
<addaction name="action_show_hide"/>
|
||||
</widget>
|
||||
<addaction name="menu_music"/>
|
||||
<addaction name="menu_playlist"/>
|
||||
|
@ -878,6 +879,14 @@
|
|||
<string notr="true">Ctrl+M</string>
|
||||
</property>
|
||||
</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">
|
||||
<property name="text">
|
||||
<string>Do a full library rescan</string>
|
||||
|
|
|
@ -36,6 +36,7 @@ QtSystemTrayIcon::QtSystemTrayIcon(QObject* parent)
|
|||
action_stop_(nullptr),
|
||||
action_stop_after_this_track_(nullptr),
|
||||
action_mute_(nullptr),
|
||||
action_show_hide_(nullptr),
|
||||
action_love_(nullptr) {
|
||||
QIcon theme_icon = IconLoader::Load("clementine-panel", IconLoader::Base);
|
||||
QIcon theme_icon_grey =
|
||||
|
@ -103,8 +104,8 @@ bool QtSystemTrayIcon::eventFilter(QObject* object, QEvent* event) {
|
|||
|
||||
void QtSystemTrayIcon::SetupMenu(QAction* previous, QAction* play,
|
||||
QAction* stop, QAction* stop_after,
|
||||
QAction* next, QAction* mute, QAction* love,
|
||||
QAction* quit) {
|
||||
QAction* next, QAction* mute, QAction* show_hide,
|
||||
QAction* love, QAction* quit) {
|
||||
// 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
|
||||
// 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()));
|
||||
action_mute_->setCheckable(true);
|
||||
action_mute_->setChecked(mute->isChecked());
|
||||
action_show_hide_ =
|
||||
menu_->addAction(show_hide->icon(), show_hide->text(), show_hide, SLOT(trigger()));
|
||||
|
||||
menu_->addSeparator();
|
||||
#ifdef HAVE_LIBLASTFM
|
||||
|
|
|
@ -32,7 +32,7 @@ class QtSystemTrayIcon : public SystemTrayIcon {
|
|||
|
||||
void SetupMenu(QAction* previous, QAction* play, QAction* stop,
|
||||
QAction* stop_after, QAction* next, QAction* mute,
|
||||
QAction* love, QAction* quit);
|
||||
QAction* show_hide, QAction* love, QAction* quit);
|
||||
bool IsVisible() const;
|
||||
void SetVisible(bool visible);
|
||||
|
||||
|
@ -64,6 +64,7 @@ class QtSystemTrayIcon : public SystemTrayIcon {
|
|||
QAction* action_stop_;
|
||||
QAction* action_stop_after_this_track_;
|
||||
QAction* action_mute_;
|
||||
QAction* action_show_hide_;
|
||||
QAction* action_love_;
|
||||
|
||||
QPixmap orange_icon_;
|
||||
|
|
|
@ -33,7 +33,7 @@ class SystemTrayIcon : public QObject {
|
|||
// Called once to create the icon's context menu
|
||||
virtual void SetupMenu(QAction* previous, QAction* play, QAction* stop,
|
||||
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 void SetVisible(bool visible) {}
|
||||
|
|
Loading…
Reference in New Issue