aboutsummaryrefslogtreecommitdiff
path: root/src/configdialog.cpp
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2007-11-27 19:10:13 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2007-11-27 19:10:13 +0000
commit2a9a78ddd34ac86dad084dc1102320645963df1c (patch)
treee4d2250b04357ffd7b0c8f324c7ca09ea7014277 /src/configdialog.cpp
parent10923b3e9f495e70a23d4dcbc3c891b7517e667f (diff)
downloadqmmp-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.cpp48
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;
+ }
}
}