aboutsummaryrefslogtreecommitdiff
path: root/src/qmmpui/configdialog.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-08-29 20:39:30 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2012-08-29 20:39:30 +0000
commit471b1754f75e462cb6e5dc52d66bdec5745c92e0 (patch)
tree9dbc1541bb9221077cc953991e3b485def9717c6 /src/qmmpui/configdialog.cpp
parent1abba773217ac19dbcc7f413bfaf8376caf8ba42 (diff)
downloadqmmp-471b1754f75e462cb6e5dc52d66bdec5745c92e0.tar.gz
qmmp-471b1754f75e462cb6e5dc52d66bdec5745c92e0.tar.bz2
qmmp-471b1754f75e462cb6e5dc52d66bdec5745c92e0.zip
changed configuration dialog
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@2908 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/qmmpui/configdialog.cpp')
-rw-r--r--src/qmmpui/configdialog.cpp100
1 files changed, 21 insertions, 79 deletions
diff --git a/src/qmmpui/configdialog.cpp b/src/qmmpui/configdialog.cpp
index 948055901..78b62e2cc 100644
--- a/src/qmmpui/configdialog.cpp
+++ b/src/qmmpui/configdialog.cpp
@@ -42,6 +42,7 @@
#include <qmmp/inputsourcefactory.h>
#include "ui_configdialog.h"
#include "pluginitem_p.h"
+#include "radioitemdelegate_p.h"
#include "generalfactory.h"
#include "general.h"
#include "uihelper.h"
@@ -61,8 +62,8 @@ ConfigDialog::ConfigDialog (QWidget *parent) : QDialog (parent)
setAttribute(Qt::WA_DeleteOnClose, false);
m_ui->preferencesButton->setEnabled(false);
m_ui->informationButton->setEnabled(false);
+ m_ui->treeWidget->setItemDelegate(new RadioItemDelegate(this));
connect (this, SIGNAL(rejected()),SLOT(saveSettings()));
- connect (m_ui->fileDialogComboBox, SIGNAL (currentIndexChanged (int)), SLOT(updateDialogButton(int)));
m_ui->replayGainModeComboBox->addItem (tr("Track"), QmmpSettings::REPLAYGAIN_TRACK);
m_ui->replayGainModeComboBox->addItem (tr("Album"), QmmpSettings::REPLAYGAIN_ALBUM);
m_ui->replayGainModeComboBox->addItem (tr("Disabled"), QmmpSettings::REPLAYGAIN_DISABLED);
@@ -72,10 +73,6 @@ ConfigDialog::ConfigDialog (QWidget *parent) : QDialog (parent)
//setup icons
m_ui->preferencesButton->setIcon(QIcon::fromTheme("configure"));
m_ui->informationButton->setIcon(QIcon::fromTheme("dialog-information"));
- m_ui->fdInformationButton->setIcon(QIcon::fromTheme("dialog-information"));
- m_ui->outputInformationButton->setIcon(QIcon::fromTheme("dialog-information"));
- m_ui->uiInformationButton->setIcon(QIcon::fromTheme("dialog-information"));
- m_ui->outputPreferencesButton->setIcon(QIcon::fromTheme("configure"));
}
ConfigDialog::~ConfigDialog()
@@ -226,47 +223,40 @@ void ConfigDialog::loadPluginsInfo()
}
m_ui->treeWidget->addTopLevelItem(item);
item->setExpanded(true);
-
- m_ui->treeWidget->blockSignals(false);
- m_ui->treeWidget->resizeColumnToContents(0);
- m_ui->treeWidget->resizeColumnToContents(1);
/*
load output plugins information
*/
- m_ui->outputInformationButton->setEnabled(false);
- m_ui->outputPreferencesButton->setEnabled(false);
- QList <OutputFactory *> *outputs = Output::factories();
- for (int i = 0; i < outputs->count (); ++i)
+ item = new QTreeWidgetItem (m_ui->treeWidget, QStringList() << tr("Output"));
+ foreach(OutputFactory *factory, *Output::factories())
{
- m_ui->outputComboBox->addItem(outputs->at(i)->properties().name);
- if(Output::currentFactory() == outputs->at(i))
- {
- m_ui->outputComboBox->setCurrentIndex(i);
- on_outputComboBox_activated (i);
- }
+ new PluginItem (item, factory, Output::file(factory));
}
+ m_ui->treeWidget->addTopLevelItem(item);
+ item->setExpanded(true);
/*
- load file dialog information
+ load file dialogs information
*/
+ item = new QTreeWidgetItem (m_ui->treeWidget, QStringList() << tr("File Dialogs"));
foreach(FileDialogFactory *factory, FileDialog::registeredFactories())
{
- m_ui->fileDialogComboBox->addItem(factory->properties().name);
- if (FileDialog::isEnabled(factory))
- m_ui->fileDialogComboBox->setCurrentIndex(m_ui->fileDialogComboBox->count()-1);
+ new PluginItem (item, factory, "Unknown");
}
+ m_ui->treeWidget->addTopLevelItem(item);
+ item->setExpanded(true);
/*
- load ui information
+ load user interfaces information
*/
- m_ui->uiInformationButton->setEnabled(false);
+ item = new QTreeWidgetItem (m_ui->treeWidget, QStringList() << tr("User Interfaces"));
foreach(UiFactory *factory, *UiLoader::factories())
{
- m_ui->uiComboBox->addItem(factory->properties().name);
- if (UiLoader::selected() == factory)
- {
- m_ui->uiComboBox->setCurrentIndex(m_ui->uiComboBox->count()-1);
- on_uiComboBox_activated(m_ui->uiComboBox->count()-1);
- }
+ new PluginItem (item, factory, UiLoader::file(factory));
}
+ m_ui->treeWidget->addTopLevelItem(item);
+ item->setExpanded(true);
+
+ m_ui->treeWidget->blockSignals(false);
+ m_ui->treeWidget->resizeColumnToContents(0);
+ m_ui->treeWidget->resizeColumnToContents(1);
}
void ConfigDialog::on_preferencesButton_clicked()
@@ -331,7 +321,6 @@ void ConfigDialog::saveSettings()
guis->sync();
}
- FileDialog::setEnabled(FileDialog::registeredFactories().at(m_ui->fileDialogComboBox->currentIndex()));
QmmpSettings *gs = QmmpSettings::instance();
//proxy
QUrl proxyUrl;
@@ -357,10 +346,6 @@ void ConfigDialog::saveSettings()
gs->setBufferSize(m_ui->bufferSizeSpinBox->value());
gs->setDetermineFileTypeByContent(m_ui->byContentCheckBox->isChecked());
gs->sync();
- QList <OutputFactory *> *outputs = Output::factories();
- if(m_ui->outputComboBox->currentIndex() >= 0 && outputs->count())
- Output::setCurrentFactory(outputs->at(m_ui->outputComboBox->currentIndex()));
-
QList<QVariant> var_sizes;
var_sizes << m_ui->splitter->sizes().first() << m_ui->splitter->sizes().last();
QSettings settings (Qmmp::configFile(), QSettings::IniFormat);
@@ -368,17 +353,6 @@ void ConfigDialog::saveSettings()
settings.setValue("ConfigDialog/window_size", size());
}
-void ConfigDialog::updateDialogButton(int index)
-{
- m_ui->fdInformationButton->setEnabled(FileDialog::registeredFactories()[index]->properties().hasAbout);
-}
-
-void ConfigDialog::on_fdInformationButton_clicked()
-{
- int index = m_ui->fileDialogComboBox->currentIndex ();
- FileDialog::registeredFactories()[index]->showAbout(this);
-}
-
void ConfigDialog::on_treeWidget_itemChanged (QTreeWidgetItem *item, int column)
{
if(column == 0 && item->type() >= PluginItem::TRANSPORT)
@@ -398,35 +372,3 @@ void ConfigDialog::on_treeWidget_currentItemChanged (QTreeWidgetItem *current, Q
m_ui->informationButton->setEnabled(false);
}
}
-
-void ConfigDialog::on_outputComboBox_activated (int index)
-{
- OutputFactory *factory = Output::factories()->at(index);
- m_ui->outputInformationButton->setEnabled(factory->properties().hasAbout);
- m_ui->outputPreferencesButton->setEnabled(factory->properties().hasSettings);
-}
-
-void ConfigDialog::on_outputPreferencesButton_clicked()
-{
- int index = m_ui->outputComboBox->currentIndex();
- Output::factories()->at(index)->showSettings(this);
-}
-
-void ConfigDialog::on_uiComboBox_activated (int index)
-{
- UiFactory *factory = UiLoader::factories()->at(index);
- m_ui->uiInformationButton->setEnabled(factory->properties().hasAbout);
- UiLoader::select(factory);
-}
-
-void ConfigDialog::on_outputInformationButton_clicked()
-{
- int index = m_ui->outputComboBox->currentIndex();
- Output::factories()->at(index)->showAbout(this);
-}
-
-void ConfigDialog::on_uiInformationButton_clicked()
-{
- int index = m_ui->uiComboBox->currentIndex();
- UiLoader::factories()->at(index)->showAbout(this);
-}