File indexing completed on 2024-05-05 17:34:13
0001 /** 0002 * SPDX-FileCopyrightText: 1999-2001 Lubos Lunak <l.lunak@kde.org> 0003 * SPDX-FileCopyrightText: 2009 Michael Jansen <kde@michael-jansen.biz> 0004 * 0005 * SPDX-License-Identifier: LGPL-2.0-or-later 0006 */ 0007 0008 #include "simple_action_data.h" 0009 0010 #include "action_data/action_data_visitor.h" 0011 #include "conditions/conditions.h" 0012 #include "conditions/conditions_list.h" 0013 0014 #include <KConfigGroup> 0015 0016 namespace KHotKeys 0017 { 0018 SimpleActionData::SimpleActionData(ActionDataGroup *parent_P, const QString &name_P, const QString &comment_P) 0019 : ActionData(parent_P, name_P, comment_P, nullptr, new Condition_list("", this), nullptr) 0020 { 0021 } 0022 0023 void SimpleActionData::accept(ActionDataVisitor *visitor) 0024 { 0025 visitor->visitSimpleActionData(this); 0026 } 0027 0028 void SimpleActionData::accept(ActionDataConstVisitor *visitor) const 0029 { 0030 visitor->visitSimpleActionData(this); 0031 } 0032 0033 void SimpleActionData::doEnable() 0034 { 0035 if (trigger()) { 0036 trigger()->enable(); 0037 update_triggers(); 0038 } 0039 } 0040 0041 void SimpleActionData::doDisable() 0042 { 0043 if (trigger()) { 0044 trigger()->disable(); 0045 update_triggers(); 0046 } 0047 } 0048 0049 void SimpleActionData::set_action(Action *action_P) 0050 { 0051 ActionList *tmp = new ActionList("Simple_action_data"); 0052 tmp->append(action_P); 0053 set_actions(tmp); 0054 } 0055 0056 void SimpleActionData::set_trigger(Trigger *trigger_P) 0057 { 0058 Trigger_list *tmp = new Trigger_list("Simple_action"); 0059 tmp->append(trigger_P); 0060 set_triggers(tmp); 0061 } 0062 0063 const Action *SimpleActionData::action() const 0064 { 0065 if (actions() == nullptr || actions()->isEmpty()) 0066 return nullptr; 0067 return actions()->first(); 0068 } 0069 0070 Action *SimpleActionData::action() 0071 { 0072 if (actions() == nullptr || actions()->isEmpty()) 0073 return nullptr; 0074 return actions()->first(); 0075 } 0076 0077 const Trigger *SimpleActionData::trigger() const 0078 { 0079 if (triggers() == nullptr || triggers()->isEmpty()) 0080 return nullptr; 0081 0082 return triggers()->first(); 0083 } 0084 0085 Trigger *SimpleActionData::trigger() 0086 { 0087 if (triggers() == nullptr || triggers()->isEmpty()) 0088 return nullptr; 0089 0090 return triggers()->first(); 0091 } 0092 0093 } // namespace KHotKeys