diff options
| author | Michele Calgaro <michele.calgaro@yahoo.it> | 2022-08-09 08:23:06 +0900 |
|---|---|---|
| committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2022-08-09 08:35:42 +0900 |
| commit | 371ad533a3d4bf755ea1ccf50f8821261428d059 (patch) | |
| tree | a98e586a541117c37338559201ae0f3b5f2e87db /khotkeys/kcontrol/action_list_widget.cpp | |
| parent | 63b2f6622db2206a36556a6eaca9fca6e3b06275 (diff) | |
| download | tdebase-371ad533a3d4bf755ea1ccf50f8821261428d059.tar.gz tdebase-371ad533a3d4bf755ea1ccf50f8821261428d059.zip | |
TCC khotkeys: fixed logic related to action and condition item selection after deleting an existing item.
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 0c22a14875913dc185e029d0078a8d15c9ffe102)
Diffstat (limited to 'khotkeys/kcontrol/action_list_widget.cpp')
| -rw-r--r-- | khotkeys/kcontrol/action_list_widget.cpp | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/khotkeys/kcontrol/action_list_widget.cpp b/khotkeys/kcontrol/action_list_widget.cpp index 79744a09e..ffa71bce0 100644 --- a/khotkeys/kcontrol/action_list_widget.cpp +++ b/khotkeys/kcontrol/action_list_widget.cpp @@ -148,24 +148,45 @@ void Action_list_widget::new_selected( int type_P ) void Action_list_widget::copy_pressed() { - if ( !selected_item ) - return; + if ( !selected_item ) + { + return; + } + actions_listview->setSelected( create_listview_item( selected_item->action(), - selected_item->parent() ? NULL : actions_listview, selected_item->parent(), - selected_item, true ), true ); + selected_item->parent() ? NULL : actions_listview, selected_item->parent(), + selected_item, true ), true ); } void Action_list_widget::delete_pressed() { - delete selected_item; // CHECKME snad vyvola signaly pro enable() + if ( !selected_item ) + { + return; + } + + Action_list_item *nextItem = static_cast< Action_list_item* >(selected_item->nextSibling()); + delete selected_item; selected_item = NULL; + if (!nextItem) + { + // If the last item of the list was deleted, get the new last item + nextItem = static_cast< Action_list_item* >(actions_listview->lastItem()); + } + if (nextItem) + { + actions_listview->setSelected(nextItem, true); + current_changed(nextItem); + } } void Action_list_widget::modify_pressed() { - if ( !selected_item ) - return; - edit_listview_item( selected_item ); + if ( !selected_item ) + { + return; + } + edit_listview_item( selected_item ); } void Action_list_widget::current_changed( TQListViewItem* item_P ) |
