libs/flake
KoShapeRenameCommand.cpp
Go to the documentation of this file.00001 /* This file is part of the KDE project 00002 * Copyright (C) 2008 Thorsten Zachmann <zachmann@kde.org> 00003 * 00004 * This library is free software; you can redistribute it and/or 00005 * modify it under the terms of the GNU Library General Public 00006 * License as published by the Free Software Foundation; either 00007 * version 2 of the License, or (at your option) any later version. 00008 * 00009 * This library is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 * Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Library General Public License 00015 * along with this library; see the file COPYING.LIB. If not, write to 00016 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00017 * Boston, MA 02110-1301, USA. 00018 */ 00019 00020 #include "KoShapeRenameCommand.h" 00021 00022 #include <QString> 00023 #include <klocale.h> 00024 #include "KoShape.h" 00025 00026 class KoShapeRenameCommand::Private 00027 { 00028 public: 00029 Private(KoShape *shape, const QString &newName) 00030 : shape(shape) 00031 , newName(newName) 00032 , oldName(shape->name()) 00033 {} 00034 00035 KoShape *shape; 00036 QString newName; 00037 QString oldName; 00038 }; 00039 00040 KoShapeRenameCommand::KoShapeRenameCommand(KoShape *shape, const QString &newName, QUndoCommand *parent) 00041 : QUndoCommand(parent) 00042 , d(new Private(shape, newName)) 00043 { 00044 // TODO 2.1 add "Rename Shape" 00045 //setText(); 00046 } 00047 00048 KoShapeRenameCommand::~KoShapeRenameCommand() 00049 { 00050 delete d; 00051 } 00052 00053 void KoShapeRenameCommand::redo() 00054 { 00055 QUndoCommand::redo(); 00056 d->shape->setName(d->newName); 00057 } 00058 00059 void KoShapeRenameCommand::undo() 00060 { 00061 QUndoCommand::undo(); 00062 d->shape->setName(d->oldName); 00063 }
