From 54e20771081fcc0038bc80c688fb26b5d70005b4 Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Sat, 15 Mar 2008 15:53:51 +0000 Subject: some visibility options git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@267 90c681e8-e032-0410-971d-27865f9a5e38 --- .../General/dbuscontrol/dbuscontrolfactory.cpp | 1 + src/plugins/General/notifier/notifierfactory.cpp | 1 + src/plugins/General/scrobbler/scrobblerfactory.cpp | 1 + src/plugins/General/statusicon/settingsdialog.cpp | 2 - src/plugins/General/statusicon/settingsdialog.ui | 124 ++++++--------------- .../General/statusicon/statusiconfactory.cpp | 1 + src/qmmpui/generalfactory.h | 1 + src/qmmpui/generalhandler.cpp | 11 ++ src/qmmpui/generalhandler.h | 1 + src/ui/configdialog.cpp | 5 + src/ui/forms/configdialog.ui | 27 ++++- src/ui/mainwindow.cpp | 15 ++- src/ui/mainwindow.h | 4 +- 13 files changed, 96 insertions(+), 98 deletions(-) (limited to 'src') diff --git a/src/plugins/General/dbuscontrol/dbuscontrolfactory.cpp b/src/plugins/General/dbuscontrol/dbuscontrolfactory.cpp index 567614673..704538b8b 100644 --- a/src/plugins/General/dbuscontrol/dbuscontrolfactory.cpp +++ b/src/plugins/General/dbuscontrol/dbuscontrolfactory.cpp @@ -29,6 +29,7 @@ const GeneralProperties DBUSControlFactory::properties() const properties.name = tr("D-Bus Plugin"); properties.hasAbout = TRUE; properties.hasSettings = FALSE; + properties.visibilityControl = FALSE; return properties; } diff --git a/src/plugins/General/notifier/notifierfactory.cpp b/src/plugins/General/notifier/notifierfactory.cpp index 708c1e1dd..91e7eab17 100644 --- a/src/plugins/General/notifier/notifierfactory.cpp +++ b/src/plugins/General/notifier/notifierfactory.cpp @@ -30,6 +30,7 @@ const GeneralProperties NotifierFactory::properties() const properties.name = tr("Notifier Plugin"); properties.hasAbout = TRUE; properties.hasSettings = TRUE; + properties.visibilityControl = FALSE; return properties; } diff --git a/src/plugins/General/scrobbler/scrobblerfactory.cpp b/src/plugins/General/scrobbler/scrobblerfactory.cpp index 7f1fe7757..2bf7bfdfc 100644 --- a/src/plugins/General/scrobbler/scrobblerfactory.cpp +++ b/src/plugins/General/scrobbler/scrobblerfactory.cpp @@ -30,6 +30,7 @@ const GeneralProperties ScrobblerFactory::properties() const properties.name = tr("Scrobbler Plugin"); properties.hasAbout = TRUE; properties.hasSettings = TRUE; + properties.visibilityControl = FALSE; return properties; } diff --git a/src/plugins/General/statusicon/settingsdialog.cpp b/src/plugins/General/statusicon/settingsdialog.cpp index 5dc1ab4eb..d2050f88c 100644 --- a/src/plugins/General/statusicon/settingsdialog.cpp +++ b/src/plugins/General/statusicon/settingsdialog.cpp @@ -32,7 +32,6 @@ SettingsDialog::SettingsDialog(QWidget *parent) ui.messageCheckBox->setChecked(settings.value("show_message",TRUE).toBool()); ui.messageDelaySpinBox->setValue(settings.value("message_delay", 2000).toInt()); ui.toolTipCheckBox->setChecked(settings.value("show_tooltip",FALSE).toBool()); - ui.hideToTrayRadioButton->setChecked(settings.value("hide_on_close", FALSE).toBool()); settings.endGroup(); connect(ui.okButton, SIGNAL(clicked()), SLOT(writeSettings())); } @@ -48,7 +47,6 @@ void SettingsDialog::writeSettings() settings.setValue ("show_message", ui.messageCheckBox->isChecked()); settings.setValue ("message_delay", ui.messageDelaySpinBox->value()); settings.setValue ("show_tooltip", ui.toolTipCheckBox->isChecked()); - settings.setValue ("hide_on_close", ui.hideToTrayRadioButton->isChecked()); settings.endGroup(); accept(); } diff --git a/src/plugins/General/statusicon/settingsdialog.ui b/src/plugins/General/statusicon/settingsdialog.ui index 126fcce7a..7ef412e3c 100644 --- a/src/plugins/General/statusicon/settingsdialog.ui +++ b/src/plugins/General/statusicon/settingsdialog.ui @@ -6,104 +6,54 @@ 0 0 267 - 285 + 156 Status Icon Plugin Settings - - - - - Tray Icon + + + + + Show message - - - - - Show message - - - - - - - Show tooltip - - - - - - - Message delay, ms: - - - Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter - - - - - - - 100 - - - 10000 - - - 100 - - - 1000 - - - - - - - - Action On Close + + + + Show tooltip - - - 6 - - - 9 - - - 9 - - - 9 - - - 9 - - - - - Hide to tray - - - - - - - Quit - - - true - - - - - + + + + Message delay, ms: + + + Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter + + + + + + + 100 + + + 10000 + + + 100 + + + 1000 + + + + 6 diff --git a/src/plugins/General/statusicon/statusiconfactory.cpp b/src/plugins/General/statusicon/statusiconfactory.cpp index 12c57261c..5aedc6f7c 100644 --- a/src/plugins/General/statusicon/statusiconfactory.cpp +++ b/src/plugins/General/statusicon/statusiconfactory.cpp @@ -30,6 +30,7 @@ const GeneralProperties StatusIconFactory::properties() const properties.name = tr("Status Icon Plugin"); properties.hasAbout = TRUE; properties.hasSettings = TRUE; + properties.visibilityControl = TRUE; return properties; } diff --git a/src/qmmpui/generalfactory.h b/src/qmmpui/generalfactory.h index 980d0b0f1..619632f4d 100644 --- a/src/qmmpui/generalfactory.h +++ b/src/qmmpui/generalfactory.h @@ -34,6 +34,7 @@ struct GeneralProperties QString name; bool hasAbout; bool hasSettings; + bool visibilityControl; }; class GeneralFactory diff --git a/src/qmmpui/generalhandler.cpp b/src/qmmpui/generalhandler.cpp index 99df0e320..94536fc4c 100644 --- a/src/qmmpui/generalhandler.cpp +++ b/src/qmmpui/generalhandler.cpp @@ -138,6 +138,17 @@ void GeneralHandler::showSettings(GeneralFactory* factory, QWidget* parentWidget delete dialog; } +bool GeneralHandler::visibilityControl() +{ + GeneralFactory* factory; + foreach(factory, *General::generalFactories()) + { + if (General::isEnabled(factory) && factory->properties().visibilityControl) + return TRUE; + } + return FALSE; +} + GeneralHandler* GeneralHandler::instance() { return m_instance; diff --git a/src/qmmpui/generalhandler.h b/src/qmmpui/generalhandler.h index 26129f4bc..23232ae86 100644 --- a/src/qmmpui/generalhandler.h +++ b/src/qmmpui/generalhandler.h @@ -42,6 +42,7 @@ public: void updateVolume(int left, int right); void setEnabled(GeneralFactory* factory, bool enable); void showSettings(GeneralFactory* factory, QWidget* parentWidget); + bool visibilityControl(); static GeneralHandler* instance(); signals: diff --git a/src/ui/configdialog.cpp b/src/ui/configdialog.cpp index fac9c4dd6..949667f80 100644 --- a/src/ui/configdialog.cpp +++ b/src/ui/configdialog.cpp @@ -122,6 +122,8 @@ void ConfigDialog::readSettings() ui.proxyUserLineEdit->setEnabled(ui.authProxyCheckBox->isChecked()); ui.proxyPasswLineEdit->setEnabled(ui.authProxyCheckBox->isChecked()); + ui.hiddenCheckBox->setChecked(settings.value("MainWindow/start_hidden", FALSE).toBool()); + ui.hideOnCloseCheckBox->setChecked(settings.value("MainWindow/hide_on_close", FALSE).toBool()); ui.softVolumeCheckBox->setChecked(settings.value("Volume/software_volume", FALSE).toBool()); } @@ -130,6 +132,7 @@ void ConfigDialog::changePage (QListWidgetItem *current, QListWidgetItem *previo if (!current) current = previous; ui.stackedWidget->setCurrentIndex (ui.contentsWidget->row (current)); + ui.visibilityGroupBox->setEnabled(GeneralHandler::instance()->visibilityControl()); } void ConfigDialog::changeSkin() @@ -533,6 +536,8 @@ void ConfigDialog::saveSettings() settings.setValue ("Proxy/user",ui.proxyUserLineEdit->text()); settings.setValue ("Proxy/passw",ui.proxyPasswLineEdit->text()); settings.setValue ("Volume/software_volume", ui.softVolumeCheckBox->isChecked()); + settings.setValue ("MainWindow/start_hidden", ui.hiddenCheckBox->isChecked()); + settings.setValue ("MainWindow/hide_on_close", ui.hideOnCloseCheckBox->isChecked()); } void ConfigDialog::updateButtons() diff --git a/src/ui/forms/configdialog.ui b/src/ui/forms/configdialog.ui index 12be43826..6e08c2c00 100644 --- a/src/ui/forms/configdialog.ui +++ b/src/ui/forms/configdialog.ui @@ -690,6 +690,29 @@ + + + + Visibility Control + + + + + + Hide on close + + + + + + + Start hidden + + + + + + @@ -697,8 +720,8 @@ - 20 - 251 + 387 + 151 diff --git a/src/ui/mainwindow.cpp b/src/ui/mainwindow.cpp index b5fb8a6f9..59294d31a 100644 --- a/src/ui/mainwindow.cpp +++ b/src/ui/mainwindow.cpp @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006 by Ilya Kotov * + * Copyright (C) 2006-2008 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -155,6 +155,8 @@ MainWindow::MainWindow(const QStringList& args,CommandLineOptionManager* option_ char buf[PATH_MAX + 1]; QString cwd = QString::fromLocal8Bit(getcwd(buf,PATH_MAX)); processCommandArgs(args,cwd); + if(m_startHidden && m_generalHandler->visibilityControl()) + toggleVisibility(); } @@ -532,8 +534,10 @@ void MainWindow::readSettings() move(settings.value("pos", QPoint(100, 100)).toPoint()); //last directory m_lastDir = settings.value("last_dir","/").toString(); + m_startHidden = settings.value("start_hidden", FALSE).toBool(); settings.endGroup(); show(); + //visibility m_playlist->setVisible(settings.value("Playlist/visible",TRUE).toBool()); m_equalizer->setVisible(settings.value("Equalizer/visible",TRUE).toBool()); @@ -551,6 +555,7 @@ void MainWindow::readSettings() m_update = TRUE; } + m_hideOnClose = settings.value("MainWindow/hide_on_close", FALSE).toBool(); } void MainWindow::writeSettings() @@ -825,10 +830,10 @@ void MainWindow::jumpToFile() void MainWindow::handleCloseRequest() { - //if (m_hide_on_titlebar_close && m_tray->isVisible()) - /*toggleVisibility(); - else*/ - QApplication::closeAllWindows(); + if (m_hideOnClose && m_generalHandler->visibilityControl()) + toggleVisibility(); + else + QApplication::closeAllWindows(); } void MainWindow::addUrl( ) diff --git a/src/ui/mainwindow.h b/src/ui/mainwindow.h index 0ad44cec4..21b1c8fab 100644 --- a/src/ui/mainwindow.h +++ b/src/ui/mainwindow.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2006 by Ilya Kotov * + * Copyright (C) 2006-2008 by Ilya Kotov * * forkotov02@hotmail.ru * * * * This program is free software; you can redistribute it and/or modify * @@ -132,7 +132,7 @@ private: Skin *m_skin; QString m_playlistName; JumpToTrackDialog* m_jumpDialog; - bool m_hide_on_titlebar_close; + bool m_hideOnClose, m_startHidden; int m_elapsed; VisualMenu *m_visMenu; CommandLineOptionManager* m_option_manager; -- cgit v1.2.3-13-gbd6f