[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/kwin/kcmkwin/kwinrules
From: Darío Andrés Rodríguez <andresbajotierra () gmail ! co
Date: 2009-05-01 2:10:14
Message-ID: 1241143814.289560.13809.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 961918 by darioandres:
Fix a selection bug. Use proper selection commands
Also, do not delete and recreate every list item when moving, just taking and reinserting.
BUG: 187492
M +9 -11 ruleslist.cpp
--- trunk/KDE/kdebase/workspace/kwin/kcmkwin/kwinrules/ruleslist.cpp #961917:961918
@@ -67,8 +67,8 @@
QListWidgetItem *item = rules_listbox->currentItem();
int itemRow = rules_listbox->row(item);
- if( item != NULL )
- item->setSelected( true ); // make current==selected
+ if( item != NULL ) // make current==selected
+ rules_listbox->setCurrentItem( item, QItemSelectionModel::ClearAndSelect );
modify_button->setEnabled( item != NULL );
delete_button->setEnabled( item != NULL );
moveup_button->setEnabled( item != NULL && itemRow > 0 );
@@ -83,7 +83,7 @@
return;
int pos = rules_listbox->currentRow() + 1;
rules_listbox->insertItem( pos , rule->description );
- rules_listbox->item(pos)->setSelected( true );
+ rules_listbox->setCurrentRow( pos, QItemSelectionModel::ClearAndSelect );
rules.insert( rules.begin() + pos, rule );
emit changed( true );
}
@@ -118,10 +118,9 @@
assert( pos != -1 );
if( pos > 0 )
{
- QString txt = rules_listbox->item(pos)->text();
- delete rules_listbox->takeItem( pos );
- rules_listbox->insertItem( pos - 1 , txt );
- rules_listbox->item(pos-1)->setSelected( true );
+ QListWidgetItem * item = rules_listbox->takeItem( pos );
+ rules_listbox->insertItem( pos - 1 , item );
+ rules_listbox->setCurrentItem( item, QItemSelectionModel::ClearAndSelect );
Rules* rule = rules[ pos ];
rules[ pos ] = rules[ pos - 1 ];
rules[ pos - 1 ] = rule;
@@ -135,10 +134,9 @@
assert( pos != -1 );
if( pos < int( rules_listbox->count()) - 1 )
{
- QString txt = rules_listbox->item(pos)->text();
- delete rules_listbox->takeItem( pos );
- rules_listbox->insertItem( pos + 1 , txt);
- rules_listbox->item(pos+1)->setSelected( true );
+ QListWidgetItem * item = rules_listbox->takeItem( pos );
+ rules_listbox->insertItem( pos + 1 , item );
+ rules_listbox->setCurrentItem( item, QItemSelectionModel::ClearAndSelect );
Rules* rule = rules[ pos ];
rules[ pos ] = rules[ pos + 1 ];
rules[ pos + 1 ] = rule;
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic