#include "plugins.hpp"
+#include "util/customwidgets.hpp"
+
//#include <vlc_modules.h>
#include <QTreeWidget>
#include <QStringList>
#include <QHeaderView>
#include <QDialogButtonBox>
+#include <QLineEdit>
+#include <QLabel>
PluginDialog::PluginDialog( intf_thread_t *_p_intf ) : QVLCFrame( _p_intf )
{
treePlugins->setSortingEnabled( true );
treePlugins->sortByColumn( 1, Qt::AscendingOrder );
+ QLabel *label = new QLabel( _("&Search:"), this );
+ edit = new SearchLineEdit( this );
+ label->setBuddy( edit );
+
+ layout->addWidget( label, 1, 0 );
+ layout->addWidget( edit, 1, 1, 1, -1 );
+ CONNECT( edit, textChanged( QString ),
+ this, search( QString ) );
+
QDialogButtonBox *box = new QDialogButtonBox;
- QPushButton *okButton = new QPushButton( "ok", this );
+ QPushButton *okButton = new QPushButton( qtr( "&Close" ), this );
box->addButton( okButton, QDialogButtonBox::AcceptRole );
- layout->addWidget( box, 1, 2 );
+ layout->addWidget( box, 2, 2 );
BUTTONACT( okButton, close() );
setMinimumSize( 500, 300 );
- readSettings( "Plugins", QSize( 500, 300 ) );
+ readSettings( "Plugins", QSize( 540, 400 ) );
}
inline void PluginDialog::FillTree()
for( unsigned int i = 0; (p_module = p_list[i] ) != NULL; i++ )
{
QStringList qs_item;
- qs_item << module_get_name( p_module, true )
- << module_get_capability( p_module )
+ qs_item << qfu( module_get_name( p_module, true ) )
+ << qfu( module_get_capability( p_module ) )
<< QString::number( module_get_score( p_module ) );
QTreeWidgetItem *item = new QTreeWidgetItem( qs_item );
}
}
+void PluginDialog::search( const QString qs )
+{
+ QList<QTreeWidgetItem *> items = treePlugins->findItems( qs, Qt::MatchContains );
+ items += treePlugins->findItems( qs, Qt::MatchContains, 1 );
+
+ QTreeWidgetItem *item = NULL;
+ for( int i = 0; i < treePlugins->topLevelItemCount(); i++ )
+ {
+ item = treePlugins->topLevelItem( i );
+ item->setHidden( !items.contains( item ) );
+ }
+}
+
PluginDialog::~PluginDialog()
{
writeSettings( "Plugins" );