diff --git a/src/libs/kernel/commands/ResourceGroupModifyCoordinatorCmd.cpp b/src/libs/kernel/commands/ResourceGroupModifyCoordinatorCmd.cpp new file mode 100644 index 00000000..9db08958 --- /dev/null +++ b/src/libs/kernel/commands/ResourceGroupModifyCoordinatorCmd.cpp @@ -0,0 +1,42 @@ +/* This file is part of the KDE project + * Copyright (C) 2020 Dag Andersen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include "ResourceGroupModifyCoordinatorCmd.h" + +#include "ResourceGroup.h" + +using namespace KPlato; + +ResourceGroupModifyCoordinatorCmd::ResourceGroupModifyCoordinatorCmd(ResourceGroup *group, const QString &value, const KUndo2MagicString& name) + : NamedCommand(name), + m_group(group), + m_newvalue(value) +{ + m_oldvalue = group->coordinator(); +} + +void ResourceGroupModifyCoordinatorCmd::execute() +{ + m_group->setCoordinator(m_newvalue); +} + +void ResourceGroupModifyCoordinatorCmd::unexecute() +{ + m_group->setCoordinator(m_oldvalue); +} diff --git a/src/libs/kernel/commands/ResourceGroupModifyCoordinatorCmd.h b/src/libs/kernel/commands/ResourceGroupModifyCoordinatorCmd.h new file mode 100644 index 00000000..8e0332f3 --- /dev/null +++ b/src/libs/kernel/commands/ResourceGroupModifyCoordinatorCmd.h @@ -0,0 +1,47 @@ +/* This file is part of the KDE project + * Copyright (C) 2020 Dag Andersen + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#ifndef RESOURCEGROUPMODIFYCOORDINATORCMD_H +#define RESOURCEGROUPMODIFYCOORDINATORCMD_H + +#include "plankernel_export.h" + +#include "NamedCommand.h" + +namespace KPlato +{ + +class ResourceGroup; + +class PLANKERNEL_EXPORT ResourceGroupModifyCoordinatorCmd : public NamedCommand +{ + public: + ResourceGroupModifyCoordinatorCmd(ResourceGroup *group, const QString &value, const KUndo2MagicString& name = KUndo2MagicString()); + void execute() override; + void unexecute() override; + + private: + ResourceGroup *m_group; + QString m_newvalue; + QString m_oldvalue; +}; + +} + +#endif