Commit bfcafac5 authored by Francois Cartegnie's avatar Francois Cartegnie

Qt: hotkeys selector: refer cols by name

parent d0ceff3a
...@@ -1136,11 +1136,11 @@ KeySelectorControl::KeySelectorControl( vlc_object_t *_p_this, ...@@ -1136,11 +1136,11 @@ KeySelectorControl::KeySelectorControl( vlc_object_t *_p_this,
table = new QTreeWidget( p ); table = new QTreeWidget( p );
table->setColumnCount(3); table->setColumnCount(3);
table->headerItem()->setText( 0, qtr( "Action" ) ); table->headerItem()->setText( ACTION_COL, qtr( "Action" ) );
table->headerItem()->setText( 1, qtr( "Hotkey" ) ); table->headerItem()->setText( HOTKEY_COL, qtr( "Hotkey" ) );
table->headerItem()->setToolTip( 1, qtr( "Application level hotkey" ) ); table->headerItem()->setToolTip( HOTKEY_COL, qtr( "Application level hotkey" ) );
table->headerItem()->setText( 2, qtr( "Global" ) ); table->headerItem()->setText( GLOBAL_HOTKEY_COL, qtr( "Global" ) );
table->headerItem()->setToolTip( 2, qtr( "Desktop level hotkey" ) ); table->headerItem()->setToolTip( GLOBAL_HOTKEY_COL, qtr( "Desktop level hotkey" ) );
table->setAlternatingRowColors( true ); table->setAlternatingRowColors( true );
table->setSelectionBehavior( QAbstractItemView::SelectItems ); table->setSelectionBehavior( QAbstractItemView::SelectItems );
...@@ -1215,15 +1215,15 @@ void KeySelectorControl::finish() ...@@ -1215,15 +1215,15 @@ void KeySelectorControl::finish()
- KeyValue in String in column 1 - KeyValue in String in column 1
*/ */
QTreeWidgetItem *treeItem = new QTreeWidgetItem(); QTreeWidgetItem *treeItem = new QTreeWidgetItem();
treeItem->setText( 0, qtr( p_config_item->psz_text ) ); treeItem->setText( ACTION_COL, qtr( p_config_item->psz_text ) );
treeItem->setData( 0, Qt::UserRole, treeItem->setData( ACTION_COL, Qt::UserRole,
QVariant( qfu( p_config_item->psz_name ) ) ); QVariant( qfu( p_config_item->psz_name ) ) );
QString keys = qfu( p_config_item->value.psz ); QString keys = qfu( p_config_item->value.psz );
treeItem->setText( 1, keys ); treeItem->setText( HOTKEY_COL, keys );
treeItem->setToolTip( 1, qtr("Double click to change.\nDelete key to remove.") ); treeItem->setToolTip( HOTKEY_COL, qtr("Double click to change.\nDelete key to remove.") );
treeItem->setToolTip( 2, qtr("Double click to change.\nDelete key to remove.") ); treeItem->setToolTip( GLOBAL_HOTKEY_COL, qtr("Double click to change.\nDelete key to remove.") );
treeItem->setData( 1, Qt::UserRole, QVariant( keys ) ); treeItem->setData( HOTKEY_COL, Qt::UserRole, QVariant( keys ) );
table->addTopLevelItem( treeItem ); table->addTopLevelItem( treeItem );
continue; continue;
} }
...@@ -1240,12 +1240,13 @@ void KeySelectorControl::finish() ...@@ -1240,12 +1240,13 @@ void KeySelectorControl::finish()
QMap<QString, QString>::const_iterator i = global_keys.constBegin(); QMap<QString, QString>::const_iterator i = global_keys.constBegin();
while (i != global_keys.constEnd()) while (i != global_keys.constEnd())
{ {
QList<QTreeWidgetItem *> list = table->findItems( i.key(), Qt::MatchExactly|Qt::MatchWrap, 0 ); QList<QTreeWidgetItem *> list =
table->findItems( i.key(), Qt::MatchExactly|Qt::MatchWrap, ACTION_COL );
if( list.count() >= 1 ) if( list.count() >= 1 )
{ {
QString keys = i.value(); QString keys = i.value();
list[0]->setText( 2, keys ); list[0]->setText( GLOBAL_HOTKEY_COL, keys );
list[0]->setData( 2, Qt::UserRole, keys ); list[0]->setData( GLOBAL_HOTKEY_COL, Qt::UserRole, keys );
} }
if( list.count() >= 2 ) if( list.count() >= 2 )
msg_Dbg( p_this, "This is probably wrong, %s", qtu(i.key()) ); msg_Dbg( p_this, "This is probably wrong, %s", qtu(i.key()) );
...@@ -1264,7 +1265,7 @@ void KeySelectorControl::finish() ...@@ -1264,7 +1265,7 @@ void KeySelectorControl::finish()
void KeySelectorControl::filter( const QString &qs_search ) void KeySelectorControl::filter( const QString &qs_search )
{ {
QList<QTreeWidgetItem *> resultList = QList<QTreeWidgetItem *> resultList =
table->findItems( qs_search, Qt::MatchContains, 0 ); table->findItems( qs_search, Qt::MatchContains, ACTION_COL );
for( int i = 0; i < table->topLevelItemCount(); i++ ) for( int i = 0; i < table->topLevelItemCount(); i++ )
{ {
table->topLevelItem( i )->setHidden( table->topLevelItem( i )->setHidden(
...@@ -1282,12 +1283,13 @@ void KeySelectorControl::selectKey( QTreeWidgetItem *keyItem, int column ) ...@@ -1282,12 +1283,13 @@ void KeySelectorControl::selectKey( QTreeWidgetItem *keyItem, int column )
if( !keyItem ) return; if( !keyItem ) return;
/* If clicked on the first column, assuming user wants the normal hotkey */ /* If clicked on the first column, assuming user wants the normal hotkey */
if( column == 0 ) column = 1; if( column == ACTION_COL ) column = HOTKEY_COL;
bool b_global = ( column == 2 ); bool b_global = ( column == GLOBAL_HOTKEY_COL );
/* Launch a small dialog to ask for a new key */ /* Launch a small dialog to ask for a new key */
KeyInputDialog *d = new KeyInputDialog( table, keyItem->text( 0 ), table, b_global ); KeyInputDialog *d = new KeyInputDialog( table, keyItem->text( ACTION_COL ),
table, b_global );
d->setExistingkeysSet( &existingkeys ); d->setExistingkeysSet( &existingkeys );
d->exec(); d->exec();
...@@ -1303,10 +1305,10 @@ void KeySelectorControl::selectKey( QTreeWidgetItem *keyItem, int column ) ...@@ -1303,10 +1305,10 @@ void KeySelectorControl::selectKey( QTreeWidgetItem *keyItem, int column )
{ {
it = table->topLevelItem(i); it = table->topLevelItem(i);
if( ( keyItem != it ) && if( ( keyItem != it ) &&
( it->data( 1 + b_global, Qt::UserRole ).toString() == newKey ) ) ( it->data( column, Qt::UserRole ).toString() == newKey ) )
{ {
it->setText( 1 + b_global, NULL ); it->setText( column, NULL );
it->setData( 1 + b_global, Qt::UserRole, QVariant() ); it->setData( column, Qt::UserRole, QVariant() );
} }
} }
} }
...@@ -1316,8 +1318,8 @@ void KeySelectorControl::selectKey( QTreeWidgetItem *keyItem, int column ) ...@@ -1316,8 +1318,8 @@ void KeySelectorControl::selectKey( QTreeWidgetItem *keyItem, int column )
} }
else if( d->result() == 2 ) else if( d->result() == 2 )
{ {
keyItem->setText( 1 + b_global, NULL ); keyItem->setText( column, NULL );
keyItem->setData( 1 + b_global, Qt::UserRole, QVariant() ); keyItem->setData( column, Qt::UserRole, QVariant() );
} }
delete d; delete d;
...@@ -1329,15 +1331,15 @@ void KeySelectorControl::doApply() ...@@ -1329,15 +1331,15 @@ void KeySelectorControl::doApply()
for( int i = 0; i < table->topLevelItemCount() ; i++ ) for( int i = 0; i < table->topLevelItemCount() ; i++ )
{ {
it = table->topLevelItem(i); it = table->topLevelItem(i);
if( it->data( 1, Qt::UserRole ).toInt() >= 0 ) if( it->data( HOTKEY_COL, Qt::UserRole ).toInt() >= 0 )
config_PutPsz( p_this, config_PutPsz( p_this,
qtu( it->data( 0, Qt::UserRole ).toString() ), qtu( it->data( ACTION_COL, Qt::UserRole ).toString() ),
qtu( it->data( 1, Qt::UserRole ).toString() ) ); qtu( it->data( HOTKEY_COL, Qt::UserRole ).toString() ) );
if( !it->data( 2, Qt::UserRole ).toString().isEmpty() ) if( !it->data( GLOBAL_HOTKEY_COL, Qt::UserRole ).toString().isEmpty() )
{ {
config_PutPsz( p_this, config_PutPsz( p_this,
qtu( "global-" + it->data( 0, Qt::UserRole ).toString() ), qtu( "global-" + it->data( ACTION_COL, Qt::UserRole ).toString() ),
qtu( it->data( 2, Qt::UserRole ).toString() ) ); qtu( it->data( GLOBAL_HOTKEY_COL, Qt::UserRole ).toString() ) );
} }
} }
...@@ -1363,7 +1365,7 @@ bool KeySelectorControl::eventFilter( QObject *obj, QEvent *e ) ...@@ -1363,7 +1365,7 @@ bool KeySelectorControl::eventFilter( QObject *obj, QEvent *e )
} }
else if( keyEv->key() == Qt::Key_Delete ) else if( keyEv->key() == Qt::Key_Delete )
{ {
if( aTable->currentColumn() != 0 ) if( aTable->currentColumn() != ACTION_COL )
{ {
aTable->currentItem()->setText( aTable->currentColumn(), NULL ); aTable->currentItem()->setText( aTable->currentColumn(), NULL );
aTable->currentItem()->setData( aTable->currentColumn(), Qt::UserRole, QVariant() ); aTable->currentItem()->setData( aTable->currentColumn(), Qt::UserRole, QVariant() );
......
...@@ -510,6 +510,12 @@ private: ...@@ -510,6 +510,12 @@ private:
QTreeWidget *table; QTreeWidget *table;
QList<module_config_t *> values; QList<module_config_t *> values;
QSet<QString> existingkeys; QSet<QString> existingkeys;
enum
{
ACTION_COL = 0,
HOTKEY_COL = 1,
GLOBAL_HOTKEY_COL = 2
};
private slots: private slots:
void selectKey( QTreeWidgetItem * = NULL, int column = 1 ); void selectKey( QTreeWidgetItem * = NULL, int column = 1 );
......
Markdown is supported
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