diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2014-02-17 12:05:48 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2014-02-17 12:05:48 +0000 |
| commit | bd3bb4892fd610a705395d8378fb6ad1acb7f4ba (patch) | |
| tree | a894c1730195f57f0c43e22af88495be50e2cd97 /src | |
| parent | 000328275b1f02d2a3373e08aa0a59d9e1674d42 (diff) | |
| download | qmmp-bd3bb4892fd610a705395d8378fb6ad1acb7f4ba.tar.gz qmmp-bd3bb4892fd610a705395d8378fb6ad1acb7f4ba.tar.bz2 qmmp-bd3bb4892fd610a705395d8378fb6ad1acb7f4ba.zip | |
raise main window when starting another instance w/o params, added --
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@4105 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
| -rw-r--r-- | src/app/builtincommandlineoption.cpp | 6 | ||||
| -rw-r--r-- | src/app/qmmpstarter.cpp | 31 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/mainwindow.cpp | 12 | ||||
| -rw-r--r-- | src/plugins/Ui/skinned/mainwindow.h | 1 | ||||
| -rw-r--r-- | src/qmmpui/uihelper.cpp | 5 | ||||
| -rw-r--r-- | src/qmmpui/uihelper.h | 9 |
6 files changed, 46 insertions, 18 deletions
diff --git a/src/app/builtincommandlineoption.cpp b/src/app/builtincommandlineoption.cpp index 2b19f10c7..eef51d3c8 100644 --- a/src/app/builtincommandlineoption.cpp +++ b/src/app/builtincommandlineoption.cpp @@ -45,6 +45,7 @@ BuiltinCommandLineOption::BuiltinCommandLineOption(QObject *parent) : QObject(pa << "--toggle-mute" << "--next" << "--previous" << "--toggle-visibility" + << "--show-mw" << "--add-file" << "--add-dir"; } @@ -73,6 +74,7 @@ const QString BuiltinCommandLineOption::helpString() const "--next "+tr("Skip forward in playlist")+ "\n" + "--previous "+tr("Skip backwards in playlist")+"\n" + "--toggle-visibility "+tr("Show/hide application")+ "\n" + + "--show-mw "+tr("Show main window") + "\n" + "--add-file "+tr("Display Add File dialog")+ "\n" + "--add-dir "+tr("Display Add Directory dialog") ); @@ -191,6 +193,10 @@ void BuiltinCommandLineOption::executeCommand(const QString &option_string, { UiHelper::instance()->toggleVisibility(); } + else if (option_string == "--show-mw") + { + UiHelper::instance()->showMainWindow(); + } else if (option_string == "--add-file") { UiHelper::instance()->addFile(); diff --git a/src/app/qmmpstarter.cpp b/src/app/qmmpstarter.cpp index 7751d0262..4b463ab27 100644 --- a/src/app/qmmpstarter.cpp +++ b/src/app/qmmpstarter.cpp @@ -213,27 +213,22 @@ void QMMPStarter::savePosition() void QMMPStarter::writeCommand() { - if (!argString.isEmpty()) + QString workingDir = QDir::currentPath() + "\n"; + QByteArray barray; + barray.append(workingDir.toUtf8 ()); + barray.append(argString.isEmpty() ? "--show-mw" : argString.toUtf8 ()); + while(!barray.isEmpty()) { - QString workingDir = QDir::currentPath() + "\n"; - - QByteArray barray; - barray.append(workingDir.toUtf8 ()); - barray.append(argString.toUtf8 ()); - while(!barray.isEmpty()) - { - qint64 size = m_socket->write(barray); - barray.remove(0, size); - } - m_socket->flush(); - //reading answer - if(m_socket->waitForReadyRead(1500)) - cout << m_socket->readAll().data(); + qint64 size = m_socket->write(barray); + barray.remove(0, size); } - else - { + m_socket->flush(); + //reading answer + if(m_socket->waitForReadyRead(1500)) + cout << m_socket->readAll().data(); + + if (argString.isEmpty()) printUsage(); - } exit(0); } diff --git a/src/plugins/Ui/skinned/mainwindow.cpp b/src/plugins/Ui/skinned/mainwindow.cpp index 45eda8dd4..0ef4c1053 100644 --- a/src/plugins/Ui/skinned/mainwindow.cpp +++ b/src/plugins/Ui/skinned/mainwindow.cpp @@ -108,6 +108,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent) connect(m_core, SIGNAL(elapsedChanged(qint64)),m_playlist, SLOT(setTime(qint64))); connect(m_core, SIGNAL(metaDataChanged()),SLOT(showMetaData())); connect(m_uiHelper, SIGNAL(toggleVisibilityCalled()), SLOT(toggleVisibility())); + connect(m_uiHelper, SIGNAL(showMainWindowCalled()), SLOT(showAndRaise())); readSettings(); m_display->setEQ(m_equalizer); @@ -362,6 +363,17 @@ void MainWindow::toggleVisibility() qApp->processEvents(); } +void MainWindow::showAndRaise() +{ + if(isHidden()) + toggleVisibility(); + else + { + activateWindow(); + raise(); + } +} + void MainWindow::createActions() { m_mainMenu = new QMenu(this); diff --git a/src/plugins/Ui/skinned/mainwindow.h b/src/plugins/Ui/skinned/mainwindow.h index 48672c750..95b42f2da 100644 --- a/src/plugins/Ui/skinned/mainwindow.h +++ b/src/plugins/Ui/skinned/mainwindow.h @@ -68,6 +68,7 @@ public slots: void replay(); void jumpToTrack(); void toggleVisibility(); + void showAndRaise(); void addDir(); void addFile(); diff --git a/src/qmmpui/uihelper.cpp b/src/qmmpui/uihelper.cpp index 48d827618..be7ce90bf 100644 --- a/src/qmmpui/uihelper.cpp +++ b/src/qmmpui/uihelper.cpp @@ -217,6 +217,11 @@ void UiHelper::toggleVisibility() emit toggleVisibilityCalled(); } +void UiHelper::showMainWindow() +{ + emit showMainWindowCalled(); +} + void UiHelper::exit() { #if QT_VERSION < 0x040700 diff --git a/src/qmmpui/uihelper.h b/src/qmmpui/uihelper.h index 867fc9931..f3fc2c2a9 100644 --- a/src/qmmpui/uihelper.h +++ b/src/qmmpui/uihelper.h @@ -145,6 +145,10 @@ public slots: */ void toggleVisibility(); /*! + * Shows the main window of the player. + */ + void showMainWindow(); + /*! * Tells the player to exit. */ void exit(); @@ -155,6 +159,11 @@ signals: * Use it to show/hide player's window. */ void toggleVisibilityCalled(); + /*! + * Emitted when some general plugin requires to show main window. + * Use it to show player's window and to raise it to the top. + */ + void showMainWindowCalled(); private slots: void removeAction(QObject *action); |
