aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2014-02-17 12:05:48 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2014-02-17 12:05:48 +0000
commitbd3bb4892fd610a705395d8378fb6ad1acb7f4ba (patch)
treea894c1730195f57f0c43e22af88495be50e2cd97
parent000328275b1f02d2a3373e08aa0a59d9e1674d42 (diff)
downloadqmmp-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
-rw-r--r--src/app/builtincommandlineoption.cpp6
-rw-r--r--src/app/qmmpstarter.cpp31
-rw-r--r--src/plugins/Ui/skinned/mainwindow.cpp12
-rw-r--r--src/plugins/Ui/skinned/mainwindow.h1
-rw-r--r--src/qmmpui/uihelper.cpp5
-rw-r--r--src/qmmpui/uihelper.h9
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);