#ifndef EDITOR_H
#define EDITOR_H
+#include <QIcon>
#include <QObject>
class QTextDocument;
void setFileName(const QString &fileName);
QString fileName() const;
+ Q_INVOKABLE QIcon iconFromFile(const QString &fileName) const;
+ Q_INVOKABLE QIcon iconFromTheme(const QString &iconName) const;
+
Q_SIGNALS:
void fileNameChanged(const QString &fileName);
void requestSaveFileName();
id: mainWindow
windowTitle: textEdit.modified ? qsTr("Declarative Widget Editor *modified*") : qsTr("Declarative Widget Editor")
+ windowIcon: _editor.iconFromFile(":/editor.png")
size: Qt.size(800, 600)
Action {
id: newAction
text: qsTr("New")
+ icon: _editor.iconFromTheme("document-new");
onTriggered: _editor.newDocument()
}
Action {
+ id: openAction
text: qsTr("Open")
+ icon: _editor.iconFromTheme("document-open")
onTriggered: {
FileDialog.nameFilters = [ qsTr("Plain text files (*.txt)"), qsTr("All files (*.*)") ]
var fileName = FileDialog.getOpenFileName()
}
Action {
+ id: saveAction
text: qsTr("Save")
+ icon: _editor.iconFromTheme("document-save")
onTriggered: _editor.save()
}
Action {
text: qsTr("Print")
+ icon: _editor.iconFromTheme("document-print")
}
Separator {}
Action {
text: qsTr("Close")
+ icon: _editor.iconFromTheme("application-exit")
onTriggered: mainWindow.close()
}
}
title: qsTr("Edit")
Action {
+ id: undoAction
text: qsTr("Undo")
+ icon: _editor.iconFromTheme("edit-undo")
onTriggered: textEdit.undo()
}
Action {
+ id: redoAction
text: qsTr("Redo")
+ icon: _editor.iconFromTheme("edit-redo")
onTriggered: textEdit.redo()
}
Action {
id: cutAction
text: qsTr("Cut")
+ icon: _editor.iconFromTheme("edit-cut")
onTriggered: textEdit.cut()
}
Action {
id: copyAction
text: qsTr("Copy")
+ icon: _editor.iconFromTheme("edit-copy")
onTriggered: textEdit.copy()
}
Action {
id: pasteAction
text: qsTr("Paste")
+ icon: _editor.iconFromTheme("edit-paste")
onTriggered: textEdit.paste()
}
Action {
text: qsTr("Select All")
+ icon: _editor.iconFromTheme("edit-select-all")
onTriggered: textEdit.selectAll()
}
}
Action {
text: qsTr("Enlarge Font")
+ icon: _editor.iconFromTheme("zoom-in")
onTriggered: textEdit.zoomIn()
}
Action {
text: qsTr("Shrink Font")
+ icon: _editor.iconFromTheme("zoom-out")
onTriggered: textEdit.zoomOut()
}
}
Action {
text: qsTr("About")
+ icon: mainWindow.windowIcon
onTriggered: MessageBox.about(qsTr("About Declarative Widgets Editor Example"),
qsTr("This is an example of a simple text editor written in QML using DeclarativeWidgets"))
}
action: newAction
}
- Separator {}
+ ActionItem {
+ action: openAction
+ }
- Label {
- text: "Zoom"
+ ActionItem {
+ action: saveAction
+ }
+ }
+
+ ToolBar {
+ ActionItem {
+ action: undoAction
+ }
+
+ ActionItem {
+ action: redoAction
}
}