settings = new QWebSettings(page->settings());
+#ifndef QT_NO_UNDOSTACK
undoStack = 0;
+#endif
mainFrame = 0;
#if QT_VERSION < 0x040400
networkInterface = 0;
#ifndef QT_NO_CONTEXTMENU
delete currentContextMenu;
#endif
+#ifndef QT_NO_UNDOSTACK
delete undoStack;
+#endif
delete settings;
delete page;
}
case QWebPage::Paste:
enabled = editor->canPaste();
break;
+#ifndef QT_NO_UNDOSTACK
case QWebPage::Undo:
case QWebPage::Redo:
// those two are handled by QUndoStack
break;
+#endif // QT_NO_UNDOSTACK
case QWebPage::ToggleBold:
case QWebPage::ToggleItalic:
case QWebPage::ToggleUnderline:
case Paste:
text = contextMenuItemTagPaste();
break;
-
+#ifndef QT_NO_UNDOSTACK
case Undo: {
QAction *a = undoStack()->createUndoAction(d->q);
d->actions[action] = a;
d->actions[action] = a;
return a;
}
+#endif // QT_NO_UNDOSTACK
case MoveToNextChar:
case MoveToPreviousChar:
case MoveToNextWord:
*/
bool QWebPage::isModified() const
{
+#ifdef QT_NO_UNDOSTACK
+ return false;
+#else
if (!d->undoStack)
return false;
return d->undoStack->canUndo();
+#endif // QT_NO_UNDOSTACK
}
+#ifndef QT_NO_UNDOSTACK
/*!
Returns a pointer to the undo stack used for editable content.
*/
return d->undoStack;
}
+#endif // QT_NO_UNDOSTACK
/*! \reimp
*/
+2008-08-15 Håvard Wall <hwall@trolltech.com>
+
+ Reviewed by Simon.
+
+ Fixes: compile with QT_NO_UNDOCOMMAND/STACK
+
+
+ * Api/qwebpage.cpp:
+ (SetCursorEvent::SetCursorEvent):
+ (QWebPagePrivate::createContextMenu):
+ (QWebPage::action):
+ * Api/qwebpage.h:
+ * Api/qwebpage_p.h:
+ * WebCoreSupport/EditCommandQt.cpp:
+ (EditCommandQt::EditCommandQt):
+ * WebCoreSupport/EditCommandQt.h:
+ * WebCoreSupport/EditorClientQt.cpp:
+ (dumpPath):
+ (WebCore::EditorClientQt::shouldInsertText):
+ (WebCore::EditorClientQt::shouldChangeSelectedRange):
+ (WebCore::EditorClientQt::isEditable):
+ (WebCore::EditorClientQt::registerCommandForUndo):
+ (WebCore::EditorClientQt::clearUndoRedoOperations):
+ (WebCore::EditorClientQt::canUndo):
+ (WebCore::EditorClientQt::canRedo):
+ (WebCore::EditorClientQt::undo):
+ (WebCore::EditorClientQt::redo):
+ (WebCore::EditorClientQt::shouldInsertNode):
+
2008-08-15 Håvard Wall <hwall@trolltech.com>
Reviewed by Simon.
/*
- * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
+ * Copyright (C) 2006 Nikolas Zimmermann <zimmermann@kde.org>
* Copyright (C) 2006 Zack Rusin <zack@kde.org>
* Copyright (C) 2006 Apple Computer, Inc.
*
static QString dumpPath(WebCore::Node *node)
{
QString str = node->nodeName();
-
+
WebCore::Node *parent = node->parentNode();
while (parent) {
str.append(QLatin1String(" > "));
range->endOffset(code), dumpPath(range->endContainer(code)).unicode());
return str;
}
-
+
namespace WebCore {
bool EditorClientQt::shouldDeleteRange(Range* range)
{
- if (dumpEditingCallbacks)
+ if (dumpEditingCallbacks)
printf("EDITING DELEGATE: shouldDeleteDOMRange:%s\n", dumpRange(range).toUtf8().constData());
return true;
bool EditorClientQt::shouldShowDeleteInterface(HTMLElement* element)
{
- if (drt_run)
+ if (drt_run)
return element->className() == "needsDeletionUI";
return false;
}
"WebViewInsertActionPasted",
"WebViewInsertActionDropped",
};
-
+
printf("EDITING DELEGATE: shouldInsertText:%s replacingDOMRange:%s givenAction:%s\n",
QString(string).toUtf8().constData(), dumpRange(range).toUtf8().constData(), insertactionstring[action]);
}
"FALSE",
"TRUE"
};
-
+
printf("EDITING DELEGATE: shouldChangeSelectedDOMRange:%s toDOMRange:%s affinity:%s stillSelecting:%s\n",
dumpRange(currentRange).toUtf8().constData(),
dumpRange(proposedRange).toUtf8().constData(),
void EditorClientQt::registerCommandForUndo(WTF::PassRefPtr<WebCore::EditCommand> cmd)
{
+#ifndef QT_NO_UNDOSTACK
Frame* frame = m_page->d->page->focusController()->focusedOrMainFrame();
if (m_inUndoRedo || (frame && !frame->editor()->lastEditCommand() /* HACK!! Don't recreate undos */)) {
return;
}
m_page->undoStack()->push(new EditCommandQt(cmd));
+#endif // QT_NO_UNDOSTACK
}
void EditorClientQt::registerCommandForRedo(WTF::PassRefPtr<WebCore::EditCommand>)
void EditorClientQt::clearUndoRedoOperations()
{
+#ifndef QT_NO_UNDOSTACK
return m_page->undoStack()->clear();
+#endif
}
bool EditorClientQt::canUndo() const
{
+#ifdef QT_NO_UNDOSTACK
+ return false;
+#else
return m_page->undoStack()->canUndo();
+#endif
}
bool EditorClientQt::canRedo() const
{
+#ifdef QT_NO_UNDOSTACK
+ return false;
+#else
return m_page->undoStack()->canRedo();
+#endif
}
void EditorClientQt::undo()
{
+#ifndef QT_NO_UNDOSTACK
m_inUndoRedo = true;
m_page->undoStack()->undo();
m_inUndoRedo = false;
+#endif
}
void EditorClientQt::redo()
{
+#ifndef QT_NO_UNDOSTACK
m_inUndoRedo = true;
m_page->undoStack()->redo();
m_inUndoRedo = false;
+#endif
}
bool EditorClientQt::shouldInsertNode(Node* node, Range* range, EditorInsertAction action)
"WebViewInsertActionPasted",
"WebViewInsertActionDropped",
};
-
+
printf("EDITING DELEGATE: shouldInsertNode:%s replacingDOMRange:%s givenAction:%s\n", dumpPath(node).toUtf8().constData(),
dumpRange(range).toUtf8().constData(), insertactionstring[action]);
}