diff options
author | Nico Vertriest <nico.vertriest@qt.io> | 2020-08-05 11:18:33 +0200 |
---|---|---|
committer | Paul Wicking <paul.wicking@qt.io> | 2020-09-01 06:13:06 +0200 |
commit | fcea9d4b72a207f1a416a8f11c74b99e1a1b1078 (patch) | |
tree | 0752a76620a221432c51c5a5434c4cff36e5267d /src/gui/doc/snippets | |
parent | fec48857e89b814ce522a6b34f8d4e4fb95cc243 (diff) |
Doc: Make Qt Gui snippets compilable - textdocument-lists
Task-number: QTBUG-81486
Change-Id: I5f8017c7dc7fc735af83279ac340e3dfde68af89
Reviewed-by: Topi Reiniƶ <topi.reinio@qt.io>
Diffstat (limited to 'src/gui/doc/snippets')
-rw-r--r-- | src/gui/doc/snippets/snippets.pro | 3 | ||||
-rw-r--r-- | src/gui/doc/snippets/textdocument-lists/mainwindow.cpp | 144 | ||||
-rw-r--r-- | src/gui/doc/snippets/textdocument-lists/textdocument-lists.pro | 6 |
3 files changed, 18 insertions, 135 deletions
diff --git a/src/gui/doc/snippets/snippets.pro b/src/gui/doc/snippets/snippets.pro index cb75894561..86b4f8c9da 100644 --- a/src/gui/doc/snippets/snippets.pro +++ b/src/gui/doc/snippets/snippets.pro @@ -19,5 +19,6 @@ contains(QT_BUILD_PARTS, tests) { textdocument-imageformat \ textdocument-images \ textdocument-listitems \ - textdocument-listitemstyles + textdocument-listitemstyles \ + textdocument-lists } diff --git a/src/gui/doc/snippets/textdocument-lists/mainwindow.cpp b/src/gui/doc/snippets/textdocument-lists/mainwindow.cpp index 785f7ebcc9..5cb81c8721 100644 --- a/src/gui/doc/snippets/textdocument-lists/mainwindow.cpp +++ b/src/gui/doc/snippets/textdocument-lists/mainwindow.cpp @@ -47,138 +47,23 @@ ** $QT_END_LICENSE$ ** ****************************************************************************/ +#include <QTextEdit> +#include <QTextList> -#include <QtWidgets> - -#include "mainwindow.h" - -MainWindow::MainWindow() -{ - QMenu *fileMenu = new QMenu(tr("&File")); - - fileMenu->addAction(tr("E&xit"), this, SLOT(close()), - QKeySequence(tr("Ctrl+Q", "File|Exit"))); - - QMenu *editMenu = new QMenu(tr("&Edit")); - - cutAction = editMenu->addAction(tr("Cu&t"), this, SLOT(cutSelection()), - QKeySequence(tr("Ctrl+X", "Edit|Cut"))); - copyAction = editMenu->addAction(tr("&Copy"), this, SLOT(copySelection()), - QKeySequence(tr("Ctrl+C", "Edit|Copy"))); - pasteAction = editMenu->addAction(tr("&Paste"), this, - SLOT(pasteSelection()), QKeySequence(tr("Ctrl+V", "Edit|Paste"))); - - QMenu *selectMenu = new QMenu(tr("&Select")); - selectMenu->addAction(tr("&Word"), this, SLOT(selectWord())); - selectMenu->addAction(tr("&Line"), this, SLOT(selectLine())); - selectMenu->addAction(tr("&Block"), this, SLOT(selectBlock())); - selectMenu->addAction(tr("&Frame"), this, SLOT(selectFrame())); - - QMenu *insertMenu = new QMenu(tr("&Insert")); - - insertMenu->addAction(tr("&List"), this, SLOT(insertList()), - QKeySequence(tr("Ctrl+L", "Insert|List"))); - - menuBar()->addMenu(fileMenu); - menuBar()->addMenu(editMenu); - menuBar()->addMenu(selectMenu); - menuBar()->addMenu(insertMenu); - - editor = new QTextEdit(this); - document = new QTextDocument(this); - editor->setDocument(document); - - connect(editor, &QTextEdit::selectionChanged, - this, &MainWindow::updateMenus); - - updateMenus(); - - setCentralWidget(editor); - setWindowTitle(tr("Text Document Writer")); -} - -void MainWindow::cutSelection() -{ - QTextCursor cursor = editor->textCursor(); - if (cursor.hasSelection()) { - selection = cursor.selection(); - cursor.removeSelectedText(); - } -} - -void MainWindow::copySelection() -{ - QTextCursor cursor = editor->textCursor(); - if (cursor.hasSelection()) { - selection = cursor.selection(); - cursor.clearSelection(); - } -} - -void MainWindow::pasteSelection() -{ - QTextCursor cursor = editor->textCursor(); - cursor.insertFragment(selection); -} - -void MainWindow::selectWord() -{ - QTextCursor cursor = editor->textCursor(); - QTextBlock block = cursor.block(); - - cursor.beginEditBlock(); - cursor.movePosition(QTextCursor::StartOfWord); - cursor.movePosition(QTextCursor::EndOfWord, QTextCursor::KeepAnchor); - cursor.endEditBlock(); - - editor->setTextCursor(cursor); -} - -void MainWindow::selectLine() +namespace textdocument_lists { +struct MainWindow { - QTextCursor cursor = editor->textCursor(); - QTextBlock block = cursor.block(); + void insertList(); - cursor.beginEditBlock(); - cursor.movePosition(QTextCursor::StartOfLine); - cursor.movePosition(QTextCursor::EndOfLine, QTextCursor::KeepAnchor); - cursor.endEditBlock(); - - editor->setTextCursor(cursor); -} - -void MainWindow::selectBlock() -{ - QTextCursor cursor = editor->textCursor(); - QTextBlock block = cursor.block(); - - cursor.beginEditBlock(); - cursor.movePosition(QTextCursor::StartOfBlock); - cursor.movePosition(QTextCursor::EndOfBlock, QTextCursor::KeepAnchor); - cursor.endEditBlock(); - - editor->setTextCursor(cursor); -} - -void MainWindow::selectFrame() -{ - QTextCursor cursor = editor->textCursor(); - QTextFrame *frame = cursor.currentFrame(); - - cursor.beginEditBlock(); - cursor.setPosition(frame->firstPosition()); - cursor.setPosition(frame->lastPosition(), QTextCursor::KeepAnchor); - cursor.endEditBlock(); - - editor->setTextCursor(cursor); -} +private: + QTextEdit *editor = nullptr; +}; void MainWindow::insertList() { QTextCursor cursor = editor->textCursor(); - cursor.beginEditBlock(); - QTextList *list = cursor.currentList(); + //! [0] QTextListFormat listFormat; if (list) { @@ -189,15 +74,6 @@ void MainWindow::insertList() listFormat.setStyle(QTextListFormat::ListDisc); cursor.insertList(listFormat); //! [0] - - cursor.endEditBlock(); } -void MainWindow::updateMenus() -{ - QTextCursor cursor = editor->textCursor(); - cutAction->setEnabled(cursor.hasSelection()); - copyAction->setEnabled(cursor.hasSelection()); - - pasteAction->setEnabled(!selection.isEmpty()); -} +} //textdocument_lists diff --git a/src/gui/doc/snippets/textdocument-lists/textdocument-lists.pro b/src/gui/doc/snippets/textdocument-lists/textdocument-lists.pro new file mode 100644 index 0000000000..c37654876c --- /dev/null +++ b/src/gui/doc/snippets/textdocument-lists/textdocument-lists.pro @@ -0,0 +1,6 @@ +TEMPLATE = lib +TARGET = textdocument-lists +QT += core gui widgets + +SOURCES = \ + mainwindow.cpp |