From e85b77286f66edecdc3707065e39b31f2e220f5a Mon Sep 17 00:00:00 2001 From: trialuser02 Date: Wed, 9 Jul 2008 18:54:22 +0000 Subject: completed file dialog support git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@443 90c681e8-e032-0410-971d-27865f9a5e38 --- src/ui/configdialog.cpp | 45 +++++++++++++++++++++++++++++---------------- 1 file changed, 29 insertions(+), 16 deletions(-) (limited to 'src/ui/configdialog.cpp') diff --git a/src/ui/configdialog.cpp b/src/ui/configdialog.cpp index eac2272a6..185b4bfc0 100644 --- a/src/ui/configdialog.cpp +++ b/src/ui/configdialog.cpp @@ -66,9 +66,10 @@ ConfigDialog::ConfigDialog ( QWidget *parent ) connect (ui.generalPluginTable, SIGNAL(cellPressed(int, int)), SLOT(updateButtons())); connect (ui.effectPluginTable, SIGNAL(cellPressed(int, int)), SLOT(updateButtons())); connect (ui.pluginsTab, SIGNAL(currentChanged(int)), SLOT(updateButtons())); + connect (ui.fileDialogComboBox, SIGNAL (currentIndexChanged (int)), SLOT(updateDialogButton(int))); + connect (ui.fdInformationButton, SIGNAL (clicked()), SLOT(showFileDialogInfo())); ui.listWidget->setIconSize (QSize (69,29)); m_skin = Skin::getPointer(); - ui.fileDialogComboBox->insertItems(0,FileDialog::registeredFactories()); readSettings(); m_reader = new SkinReader(this); m_reader->generateThumbs(); @@ -101,16 +102,6 @@ void ConfigDialog::readSettings() ui.per20CheckBox->setChecked(settings.value ("PlayList/convert_twenty", TRUE).toBool()); ui.fullPathCheckBox->setChecked(settings.value ("PlayList/full_stream_path", FALSE).toBool()); - - QString f_dialogName = - settings.value("FileDialog",QtFileDialogFactory::QtFileDialogFactoryName).toString(); - - int ind = FileDialog::registeredFactories().indexOf(f_dialogName); - if (ind != -1) - ui.fileDialogComboBox->setCurrentIndex(ind); - else - ui.fileDialogComboBox->setCurrentIndex(0); - //proxy settings ui.enableProxyCheckBox->setChecked( settings.value ("Proxy/use_proxy", FALSE).toBool()); @@ -177,7 +168,7 @@ void ConfigDialog::loadSkins() m_skinList << QFileInfo(path); } connect (ui.listWidget, SIGNAL (itemClicked (QListWidgetItem *)), - this, SLOT (changeSkin())); + this, SLOT (changeSkin())); } void ConfigDialog::findSkins(const QString &path) @@ -355,9 +346,20 @@ void ConfigDialog::loadPluginsInfo() ui.generalPluginTable->item(i,2)->setToolTip(files.at (i)); } - ui.generalPluginTable->resizeColumnToContents ( 0 ); - ui.generalPluginTable->resizeColumnToContents ( 1 ); + ui.generalPluginTable->resizeColumnToContents (0); + ui.generalPluginTable->resizeColumnToContents (1); ui.generalPluginTable->resizeRowsToContents (); + + /* + load file dialog information + */ + + foreach(FileDialogFactory *factory, FileDialog::registeredFactories()) + { + ui.fileDialogComboBox->addItem(factory->properties().name); + if (FileDialog::isEnabled(factory)) + ui.fileDialogComboBox->setCurrentIndex(ui.fileDialogComboBox->count()-1); + } } @@ -463,7 +465,7 @@ void ConfigDialog::showPluginInfo() int row = ui.inputPluginTable->currentRow (); if (m_inputPluginItems.isEmpty() || row < 0) return; - m_inputPluginItems.at(row)->factory()->showAbout (this); + m_inputPluginItems.at(row)->factory()->showAbout (this); break; } case 1: @@ -536,7 +538,7 @@ void ConfigDialog::saveSettings() settings.setValue ("PlayList/convert_underscore", ui.underscoresCheckBox->isChecked()); settings.setValue ("PlayList/convert_twenty", ui.per20CheckBox->isChecked()); settings.setValue ("PlayList/full_stream_path", ui.fullPathCheckBox->isChecked()); - settings.setValue ("FileDialog", ui.fileDialogComboBox->currentText()); + FileDialog::setEnabled(FileDialog::registeredFactories().at(ui.fileDialogComboBox->currentIndex())); settings.setValue ("Proxy/use_proxy", ui.enableProxyCheckBox->isChecked()); settings.setValue ("Proxy/authentication", ui.authProxyCheckBox->isChecked()); settings.setValue ("Proxy/host",ui.hostLineEdit->text()); @@ -609,3 +611,14 @@ void ConfigDialog::updateButtons() ui.preferencesButton->setEnabled(preferences); ui.informationButton->setEnabled(information); } + +void ConfigDialog::updateDialogButton(int index) +{ + ui.fdInformationButton->setEnabled(FileDialog::registeredFactories()[index]->properties().hasAbout); +} + +void ConfigDialog::showFileDialogInfo() +{ + int index = ui.fileDialogComboBox->currentIndex (); + FileDialog::registeredFactories()[index]->showAbout(this); +} -- cgit v1.2.3-13-gbd6f