+{
+ QDialog *d = new QDialog( this );
+ QGridLayout *assoLayout = new QGridLayout( d );
+
+ QListWidget *filetypeList = new QListWidget;
+ assoLayout->addWidget( filetypeList, 0, 0, 1, 4 );
+
+ QListWidgetItem *currentItem;
+
+#define addType( ext ) \
+ currentItem = new QListWidgetItem( ext, filetypeList ); \
+ currentItem->setCheckState( Qt::Checked ); \
+ listAsso.append( currentItem );
+
+ addType( ".avi" );
+
+ QDialogButtonBox *buttonBox = new QDialogButtonBox( d );
+ QPushButton *closeButton = new QPushButton( qtr( "&Apply" ) );
+ QPushButton *clearButton = new QPushButton( qtr( "&Cancel" ) );
+ buttonBox->addButton( closeButton, QDialogButtonBox::AcceptRole );
+ buttonBox->addButton( clearButton, QDialogButtonBox::ActionRole );
+
+ assoLayout->addWidget( buttonBox, 1, 2, 1, 2 );
+
+ CONNECT( closeButton, clicked(), this, saveAsso() );
+ CONNECT( clearButton, clicked(), d, reject() );
+ d->exec();
+ delete d;
+}
+
+void addAsso( char *psz_ext )