1 /* 2 SPDX-FileCopyrightText: 2008 Michael Jansen <kde@michael-jansen.biz> 3 4 SPDX-License-Identifier: LGPL-2.0-or-later 5 */ 6 7 #include "action_group_widget.h" 8 9 #include "conditions/conditions_widget.h" 10 11 #include "action_data/action_data_group.h" 12 ActionGroupWidget(QWidget * parent)13ActionGroupWidget::ActionGroupWidget(QWidget *parent) 14 : HotkeysWidgetBase(parent) 15 , _conditions(new ConditionsWidget) 16 { 17 extend(_conditions, i18n("Conditions")); 18 connect(_conditions, SIGNAL(changed(bool)), SLOT(slotChanged())); 19 } 20 ~ActionGroupWidget()21ActionGroupWidget::~ActionGroupWidget() 22 { 23 _conditions = nullptr; 24 } 25 setActionData(KHotKeys::ActionDataGroup * group)26void ActionGroupWidget::setActionData(KHotKeys::ActionDataGroup *group) 27 { 28 _data = group; 29 30 // BUG: conditions copies twice from the original. Once in 31 // setConditionsList and once because of the copyFromObject call below. 32 Q_ASSERT(_conditions); 33 _conditions->setConditionsList(group->conditions()); 34 35 Base::copyFromObject(); 36 } 37 doCopyFromObject()38void ActionGroupWidget::doCopyFromObject() 39 { 40 Q_ASSERT(data()); 41 Base::doCopyFromObject(); 42 43 Q_ASSERT(_conditions); 44 _conditions->copyFromObject(); 45 } 46 doCopyToObject()47void ActionGroupWidget::doCopyToObject() 48 { 49 Q_ASSERT(data()); 50 Base::doCopyToObject(); 51 52 Q_ASSERT(_conditions); 53 _conditions->copyToObject(); 54 } 55 isChanged() const56bool ActionGroupWidget::isChanged() const 57 { 58 return _conditions->hasChanges() || Base::isChanged(); 59 } 60 61 #include "moc_action_group_widget.cpp" 62