aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-09-10 15:02:37 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2011-09-10 15:02:37 +0000
commit2972e874245b9aa192c89885d67253aeb3c1eede (patch)
treeafe8b9b6ecde28076d9b1e72729cbfe7b1bbe7ee
parent9f7ce1d53402aaf94398983b89dce5aba5c6f799 (diff)
downloadqmmp-2972e874245b9aa192c89885d67253aeb3c1eede.tar.gz
qmmp-2972e874245b9aa192c89885d67253aeb3c1eede.tar.bz2
qmmp-2972e874245b9aa192c89885d67253aeb3c1eede.zip
improved "hide on close" feature
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2344 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/app/main.cpp1
-rw-r--r--src/plugins/Ui/skinned/mainwindow.cpp12
-rw-r--r--src/plugins/Ui/skinned/mainwindow.h1
-rw-r--r--src/plugins/Ui/skinned/titlebar.cpp2
-rw-r--r--src/qmmpui/uihelper.cpp3
-rw-r--r--src/qmmpui/uihelper.h5
6 files changed, 6 insertions, 18 deletions
diff --git a/src/app/main.cpp b/src/app/main.cpp
index 42a284625..2c90c7b9e 100644
--- a/src/app/main.cpp
+++ b/src/app/main.cpp
@@ -49,5 +49,6 @@ int main(int argc, char *argv[])
QMMPStarter starter(argc,argv);
Q_UNUSED(starter)
+ a.setQuitOnLastWindowClosed(false);
return a.exec();
}
diff --git a/src/plugins/Ui/skinned/mainwindow.cpp b/src/plugins/Ui/skinned/mainwindow.cpp
index e41b4b86f..a68fcfe16 100644
--- a/src/plugins/Ui/skinned/mainwindow.cpp
+++ b/src/plugins/Ui/skinned/mainwindow.cpp
@@ -107,7 +107,6 @@ 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(exitCalled()), SLOT(close()));
readSettings();
m_display->setEQ(m_equalizer);
@@ -205,7 +204,8 @@ void MainWindow::closeEvent (QCloseEvent *)
writeSettings();
m_playlist->close();
m_equalizer->close();
- QApplication::quit ();
+ if (!m_hideOnClose || !m_uiHelper->visibilityControl())
+ m_uiHelper->exit();
}
void MainWindow::addDir()
@@ -467,14 +467,6 @@ void MainWindow::jumpToFile()
m_uiHelper->jumpToTrack(this);
}
-void MainWindow::handleCloseRequest()
-{
- if (m_hideOnClose && m_uiHelper->visibilityControl())
- toggleVisibility();
- else
- QApplication::closeAllWindows();
-}
-
void MainWindow::addUrl()
{
AddUrlDialog::popup(this, m_pl_manager->selectedPlayList());
diff --git a/src/plugins/Ui/skinned/mainwindow.h b/src/plugins/Ui/skinned/mainwindow.h
index ced897615..e3b5e1557 100644
--- a/src/plugins/Ui/skinned/mainwindow.h
+++ b/src/plugins/Ui/skinned/mainwindow.h
@@ -89,7 +89,6 @@ private slots:
void showSettings();
void forward();
void backward();
- void handleCloseRequest();
private:
void readSettings();
diff --git a/src/plugins/Ui/skinned/titlebar.cpp b/src/plugins/Ui/skinned/titlebar.cpp
index 7b670acfc..913f3328d 100644
--- a/src/plugins/Ui/skinned/titlebar.cpp
+++ b/src/plugins/Ui/skinned/titlebar.cpp
@@ -55,7 +55,7 @@ TitleBar::TitleBar(QWidget *parent)
m_shade = new Button(this,Skin::BT_SHADE1_N,Skin::BT_SHADE1_P, Skin::CUR_WINBUT);
connect(m_shade, SIGNAL(clicked()), SLOT(shade()));
m_close = new Button(this,Skin::BT_CLOSE_N,Skin::BT_CLOSE_P, Skin::CUR_CLOSE);
- connect(m_close, SIGNAL(clicked()), m_mw, SLOT(handleCloseRequest()));
+ connect(m_close, SIGNAL(clicked()), m_mw, SLOT(close()));
setActive(false);
connect(m_skin, SIGNAL(skinChanged()), this, SLOT(updateSkin()));
QSettings settings(Qmmp::configFile(), QSettings::IniFormat);
diff --git a/src/qmmpui/uihelper.cpp b/src/qmmpui/uihelper.cpp
index 091586b80..8a39e19a6 100644
--- a/src/qmmpui/uihelper.cpp
+++ b/src/qmmpui/uihelper.cpp
@@ -224,7 +224,8 @@ void UiHelper::toggleVisibility()
void UiHelper::exit()
{
- emit exitCalled();
+ qApp->closeAllWindows();
+ qApp->quit();
}
UiHelper* UiHelper::instance()
diff --git a/src/qmmpui/uihelper.h b/src/qmmpui/uihelper.h
index 9e2df2e8b..e727e8c8e 100644
--- a/src/qmmpui/uihelper.h
+++ b/src/qmmpui/uihelper.h
@@ -116,11 +116,6 @@ public slots:
signals:
/*!
- * Emitted when some general plugin requires to exit.
- * Use it to quit application.
- */
- void exitCalled();
- /*!
* Emitted when some general plugin requires to toggle visibility.
* Use it to show/hide player's window.
*/