| /* |
| Copyright (C) 2007 Staikos Computing Services Inc. |
| |
| 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 "config.h" |
| #include "UndoStepQt.h" |
| |
| using namespace WebCore; |
| |
| #ifndef QT_NO_UNDOCOMMAND |
| static QString undoNameForEditAction(const EditAction editAction) |
| { |
| switch (editAction) { |
| case EditActionUnspecified: |
| return QString(); |
| case EditActionSetColor: |
| return QObject::tr("Set Color"); |
| case EditActionSetBackgroundColor: |
| return QObject::tr("Set Background Color"); |
| case EditActionTurnOffKerning: |
| return QObject::tr("Turn Off Kerning"); |
| case EditActionTightenKerning: |
| return QObject::tr("Tighten Kerning"); |
| case EditActionLoosenKerning: |
| return QObject::tr("Loosen Kerning"); |
| case EditActionUseStandardKerning: |
| return QObject::tr("Use Standard Kerning"); |
| case EditActionTurnOffLigatures: |
| return QObject::tr("Turn Off Ligatures"); |
| case EditActionUseStandardLigatures: |
| return QObject::tr("Use Standard Ligatures"); |
| case EditActionUseAllLigatures: |
| return QObject::tr("Use All Ligatures"); |
| case EditActionRaiseBaseline: |
| return QObject::tr("Raise Baseline"); |
| case EditActionLowerBaseline: |
| return QObject::tr("Lower Baseline"); |
| case EditActionSetTraditionalCharacterShape: |
| return QObject::tr("Set Traditional Character Shape"); |
| case EditActionSetFont: |
| return QObject::tr("Set Font"); |
| case EditActionChangeAttributes: |
| return QObject::tr("Change Attributes"); |
| case EditActionAlignLeft: |
| return QObject::tr("Align Left"); |
| case EditActionAlignRight: |
| return QObject::tr("Align Right"); |
| case EditActionCenter: |
| return QObject::tr("Center"); |
| case EditActionJustify: |
| return QObject::tr("Justify"); |
| case EditActionSetWritingDirection: |
| return QObject::tr("Set Writing Direction"); |
| case EditActionSubscript: |
| return QObject::tr("Subscript"); |
| case EditActionSuperscript: |
| return QObject::tr("Superscript"); |
| case EditActionUnderline: |
| return QObject::tr("Underline"); |
| case EditActionOutline: |
| return QObject::tr("Outline"); |
| case EditActionUnscript: |
| return QObject::tr("Unscript"); |
| case EditActionDrag: |
| return QObject::tr("Drag"); |
| case EditActionCut: |
| return QObject::tr("Cut"); |
| case EditActionPaste: |
| return QObject::tr("Paste"); |
| case EditActionPasteFont: |
| return QObject::tr("Paste Font"); |
| case EditActionPasteRuler: |
| return QObject::tr("Paste Ruler"); |
| case EditActionTyping: |
| return QObject::tr("Typing"); |
| case EditActionCreateLink: |
| return QObject::tr("Create Link"); |
| case EditActionUnlink: |
| return QObject::tr("Unlink"); |
| case EditActionInsertList: |
| return QObject::tr("Insert List"); |
| case EditActionFormatBlock: |
| return QObject::tr("Formatting"); |
| case EditActionIndent: |
| return QObject::tr("Indent"); |
| case EditActionOutdent: |
| return QObject::tr("Outdent"); |
| } |
| |
| ASSERT_NOT_REACHED(); |
| return QString(); |
| } |
| |
| UndoStepQt::UndoStepQt(WTF::RefPtr<UndoStep> step, QUndoCommand *parent) |
| : QUndoCommand(parent) |
| , m_step(step) |
| , m_first(true) |
| { |
| setText(undoNameForEditAction(step->editingAction())); |
| } |
| #else |
| UndoStepQt::UndoStepQt(WTF::RefPtr<UndoStep> step) |
| : m_step(step) |
| , m_first(true) |
| { |
| } |
| #endif |
| |
| UndoStepQt::~UndoStepQt() |
| { |
| } |
| |
| |
| void UndoStepQt::redo() |
| { |
| if (m_first) { |
| m_first = false; |
| return; |
| } |
| if (m_step) |
| m_step->reapply(); |
| } |
| |
| |
| void UndoStepQt::undo() |
| { |
| if (m_step) |
| m_step->unapply(); |
| } |
| |
| |
| // vim: ts=4 sw=4 et |