diff options
| author | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2007-11-27 19:10:13 +0000 |
|---|---|---|
| committer | trialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38> | 2007-11-27 19:10:13 +0000 |
| commit | 2a9a78ddd34ac86dad084dc1102320645963df1c (patch) | |
| tree | e4d2250b04357ffd7b0c8f324c7ca09ea7014277 /src/configdialog.cpp | |
| parent | 10923b3e9f495e70a23d4dcbc3c891b7517e667f (diff) | |
| download | qmmp-2a9a78ddd34ac86dad084dc1102320645963df1c.tar.gz qmmp-2a9a78ddd34ac86dad084dc1102320645963df1c.tar.bz2 qmmp-2a9a78ddd34ac86dad084dc1102320645963df1c.zip | |
fixed seeking; added effect plugin support; added sample rate converter plugin
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@190 90c681e8-e032-0410-971d-27865f9a5e38
Diffstat (limited to 'src/configdialog.cpp')
| -rw-r--r-- | src/configdialog.cpp | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/configdialog.cpp b/src/configdialog.cpp index 0005b1847..958453a27 100644 --- a/src/configdialog.cpp +++ b/src/configdialog.cpp @@ -31,6 +31,8 @@ #include <decoderfactory.h> #include <outputfactory.h> #include <visualfactory.h> +#include <effectfactory.h> +#include <effect.h> #include "skin.h" #include "filedialog.h" @@ -72,6 +74,8 @@ ConfigDialog::~ConfigDialog() delete m_outputPluginItems.takeFirst(); while (!m_visualPluginItems.isEmpty()) delete m_visualPluginItems.takeFirst(); + while (!m_effectPluginItems.isEmpty()) + delete m_effectPluginItems.takeFirst(); } void ConfigDialog::readSettings() @@ -259,6 +263,34 @@ void ConfigDialog::loadPluginsInfo() ui.visualPluginTable->resizeColumnToContents ( 1 ); ui.visualPluginTable->resizeRowsToContents (); + /* + load effect plugin information + */ + QList <EffectFactory *> *effects = 0; + effects = Effect::effectFactories(); + files = Effect::effectFiles(); + ui.effectPluginTable->setColumnCount ( 3 ); + ui.effectPluginTable->verticalHeader()->hide(); + ui.effectPluginTable->setHorizontalHeaderLabels ( QStringList() + << tr ( "Enabled" ) << tr ( "Description" ) << tr ( "Filename" ) ); + ui.effectPluginTable->setRowCount ( visuals->count () ); + + for ( int i = 0; i < effects->count (); ++i ) + { + EffectPluginItem *item = new EffectPluginItem(this,effects->at(i),files.at(i)); + m_effectPluginItems.append(item); + QCheckBox* button = new QCheckBox (ui.effectPluginTable); + connect(button, SIGNAL(clicked (bool)), item, SLOT(select(bool))); + button->setChecked (item->isSelected()); + ui.effectPluginTable->setCellWidget ( i, 0, button ); + ui.effectPluginTable->setItem (i,1, + new QTableWidgetItem (item->factory()->properties().name)); + ui.effectPluginTable->setItem (i,2, new QTableWidgetItem (files.at(i))); + } + + ui.effectPluginTable->resizeColumnToContents ( 0 ); + ui.effectPluginTable->resizeColumnToContents ( 1 ); + ui.effectPluginTable->resizeRowsToContents (); } @@ -335,6 +367,14 @@ void ConfigDialog::showPluginSettings() m_visualPluginItems.at(row)->factory()->showSettings ( this ); break; } + case 3: + { + int row = ui.effectPluginTable->currentRow (); + if ( m_effectPluginItems.isEmpty() || row < 0 ) + return; + m_effectPluginItems.at(row)->factory()->showSettings ( this ); + break; + } } } @@ -369,6 +409,14 @@ void ConfigDialog::showPluginInfo() m_visualPluginItems.at(row)->factory()->showAbout ( this ); break; } + case 3: + { + int row = ui.effectPluginTable->currentRow (); + if ( m_effectPluginItems.isEmpty() || row < 0 ) + return; + m_effectPluginItems.at(row)->factory()->showAbout ( this ); + break; + } } } |
