Commit 8071564e authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf
Browse files

Qt4 - initial actions support for StringListConfigs in preferences... To be tested a lot more...

parent 711de3fb
......@@ -44,7 +44,7 @@
#include <QFontDialog>
#include <QGroupBox>
#include <QTreeWidgetItem>
#include <QSignalMapper>
QString formatTooltip(const QString & tooltip)
{
QString formatted =
......@@ -364,6 +364,42 @@ StringListConfigControl::StringListConfigControl( vlc_object_t *_p_this,
l->addWidget( label, line, 0 );
l->addWidget( combo, line, 1, Qt::AlignRight );
}
if( p_item->i_action )
{
QSignalMapper *signalMapper = new QSignalMapper(this);
/* Some stringLists like Capture listings have action associated */
for( int i = 0; i < p_item->i_action; i++ )
{
QPushButton *button =
new QPushButton( qfu( p_item->ppsz_action_text[i] ));
CONNECT( button, clicked(), signalMapper, map() );
signalMapper->setMapping( button, i );
l->addWidget( button, line, 2 + i, Qt::AlignRight );
}
CONNECT( signalMapper, mapped( int ),
this, actionRequested( int ) );
}
}
void StringListConfigControl::actionRequested( int i_action )
{
/* Supplementary check for boundaries */
if( i_action < 0 || i_action >= p_item->i_action ) return;
vlc_value_t val;
val.psz_string = qtu( (combo->itemData( combo->currentIndex() ).toString() ) );
p_item->ppf_action[i_action]( p_this, getName(), val, val, 0 );
if( p_item->b_dirty )
{
combo->clear();
finish( true );
p_item->b_dirty = VLC_FALSE;
}
}
StringListConfigControl::StringListConfigControl( vlc_object_t *_p_this,
module_config_t *_p_item, QLabel *_label, QComboBox *_combo,
......
......@@ -360,6 +360,7 @@ private:
class StringListConfigControl : public VStringConfigControl
{
Q_OBJECT;
public:
StringListConfigControl( vlc_object_t *, module_config_t *, QWidget *,
bool, QGridLayout*, int& );
......@@ -373,6 +374,9 @@ private:
void finish( bool );
QLabel *label;
QComboBox *combo;
private slots:
void actionRequested( int );
};
#if 0
struct ModuleCheckBox {
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment