diff options
Diffstat (limited to 'doc/src/snippets/textdocument-lists/mainwindow.cpp')
-rw-r--r-- | doc/src/snippets/textdocument-lists/mainwindow.cpp | 192 |
1 files changed, 0 insertions, 192 deletions
diff --git a/doc/src/snippets/textdocument-lists/mainwindow.cpp b/doc/src/snippets/textdocument-lists/mainwindow.cpp deleted file mode 100644 index 7ae36b0ced..0000000000 --- a/doc/src/snippets/textdocument-lists/mainwindow.cpp +++ /dev/null @@ -1,192 +0,0 @@ -/**************************************************************************** -** -** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies). -** Contact: http://www.qt-project.org/ -** -** This file is part of the documentation of the Qt Toolkit. -** -** $QT_BEGIN_LICENSE:BSD$ -** You may use this file under the terms of the BSD license as follows: -** -** "Redistribution and use in source and binary forms, with or without -** modification, are permitted provided that the following conditions are -** met: -** * Redistributions of source code must retain the above copyright -** notice, this list of conditions and the following disclaimer. -** * Redistributions in binary form must reproduce the above copyright -** notice, this list of conditions and the following disclaimer in -** the documentation and/or other materials provided with the -** distribution. -** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor -** the names of its contributors may be used to endorse or promote -** products derived from this software without specific prior written -** permission. -** -** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT -** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, -** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." -** -** $QT_END_LICENSE$ -** -****************************************************************************/ - -#include <QtGui> - -#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, SIGNAL(selectionChanged()), this, SLOT(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() -{ - QTextCursor cursor = editor->textCursor(); - QTextBlock block = cursor.block(); - - 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); -} - -void MainWindow::insertList() -{ - QTextCursor cursor = editor->textCursor(); - cursor.beginEditBlock(); - - QTextList *list = cursor.currentList(); -//! [0] - QTextListFormat listFormat; - if (list) { - listFormat = list->format(); - listFormat.setIndent(listFormat.indent() + 1); - } - - 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()); -} |