aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-03-15 15:53:51 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2008-03-15 15:53:51 +0000
commit54e20771081fcc0038bc80c688fb26b5d70005b4 (patch)
tree515b922d35f1ac7b4bc761a8173d33f9bcc6cc89 /src
parentee386da333fad3a34d9392b17a6f4e637e0d179a (diff)
downloadqmmp-54e20771081fcc0038bc80c688fb26b5d70005b4.tar.gz
qmmp-54e20771081fcc0038bc80c688fb26b5d70005b4.tar.bz2
qmmp-54e20771081fcc0038bc80c688fb26b5d70005b4.zip
some visibility options
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@267 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src')
-rw-r--r--src/plugins/General/dbuscontrol/dbuscontrolfactory.cpp1
-rw-r--r--src/plugins/General/notifier/notifierfactory.cpp1
-rw-r--r--src/plugins/General/scrobbler/scrobblerfactory.cpp1
-rw-r--r--src/plugins/General/statusicon/settingsdialog.cpp2
-rw-r--r--src/plugins/General/statusicon/settingsdialog.ui124
-rw-r--r--src/plugins/General/statusicon/statusiconfactory.cpp1
-rw-r--r--src/qmmpui/generalfactory.h1
-rw-r--r--src/qmmpui/generalhandler.cpp11
-rw-r--r--src/qmmpui/generalhandler.h1
-rw-r--r--src/ui/configdialog.cpp5
-rw-r--r--src/ui/forms/configdialog.ui27
-rw-r--r--src/ui/mainwindow.cpp15
-rw-r--r--src/ui/mainwindow.h4
13 files changed, 96 insertions, 98 deletions
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 @@
<x>0</x>
<y>0</y>
<width>267</width>
- <height>285</height>
+ <height>156</height>
</rect>
</property>
<property name="windowTitle" >
<string>Status Icon Plugin Settings</string>
</property>
- <layout class="QVBoxLayout" >
- <item>
- <widget class="QGroupBox" name="groupBox_4" >
- <property name="title" >
- <string>Tray Icon</string>
+ <layout class="QGridLayout" >
+ <item row="0" column="0" >
+ <widget class="QCheckBox" name="messageCheckBox" >
+ <property name="text" >
+ <string>Show message</string>
</property>
- <layout class="QGridLayout" >
- <item row="0" column="0" >
- <widget class="QCheckBox" name="messageCheckBox" >
- <property name="text" >
- <string>Show message</string>
- </property>
- </widget>
- </item>
- <item row="1" column="0" >
- <widget class="QCheckBox" name="toolTipCheckBox" >
- <property name="text" >
- <string>Show tooltip</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" >
- <widget class="QLabel" name="label_3" >
- <property name="text" >
- <string>Message delay, ms:</string>
- </property>
- <property name="alignment" >
- <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
- </property>
- </widget>
- </item>
- <item row="2" column="1" >
- <widget class="QSpinBox" name="messageDelaySpinBox" >
- <property name="minimum" >
- <number>100</number>
- </property>
- <property name="maximum" >
- <number>10000</number>
- </property>
- <property name="singleStep" >
- <number>100</number>
- </property>
- <property name="value" >
- <number>1000</number>
- </property>
- </widget>
- </item>
- </layout>
</widget>
</item>
- <item>
- <widget class="QGroupBox" name="closeGroupBox" >
- <property name="title" >
- <string>Action On Close</string>
+ <item row="1" column="0" >
+ <widget class="QCheckBox" name="toolTipCheckBox" >
+ <property name="text" >
+ <string>Show tooltip</string>
</property>
- <layout class="QVBoxLayout" >
- <property name="spacing" >
- <number>6</number>
- </property>
- <property name="leftMargin" >
- <number>9</number>
- </property>
- <property name="topMargin" >
- <number>9</number>
- </property>
- <property name="rightMargin" >
- <number>9</number>
- </property>
- <property name="bottomMargin" >
- <number>9</number>
- </property>
- <item>
- <widget class="QRadioButton" name="hideToTrayRadioButton" >
- <property name="text" >
- <string>Hide to tray</string>
- </property>
- </widget>
- </item>
- <item>
- <widget class="QRadioButton" name="quitRadioButton" >
- <property name="text" >
- <string>Quit</string>
- </property>
- <property name="checked" >
- <bool>true</bool>
- </property>
- </widget>
- </item>
- </layout>
</widget>
</item>
- <item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_3" >
+ <property name="text" >
+ <string>Message delay, ms:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QSpinBox" name="messageDelaySpinBox" >
+ <property name="minimum" >
+ <number>100</number>
+ </property>
+ <property name="maximum" >
+ <number>10000</number>
+ </property>
+ <property name="singleStep" >
+ <number>100</number>
+ </property>
+ <property name="value" >
+ <number>1000</number>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="0" colspan="2" >
<layout class="QHBoxLayout" >
<property name="spacing" >
<number>6</number>
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
@@ -691,14 +691,37 @@
</widget>
</item>
<item>
+ <widget class="QGroupBox" name="visibilityGroupBox" >
+ <property name="title" >
+ <string>Visibility Control</string>
+ </property>
+ <layout class="QVBoxLayout" >
+ <item>
+ <widget class="QCheckBox" name="hideOnCloseCheckBox" >
+ <property name="text" >
+ <string>Hide on close</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="hiddenCheckBox" >
+ <property name="text" >
+ <string>Start hidden</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
<spacer>
<property name="orientation" >
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" >
<size>
- <width>20</width>
- <height>251</height>
+ <width>387</width>
+ <height>151</height>
</size>
</property>
</spacer>
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;