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