summaryrefslogtreecommitdiffstats
path: root/examples/widgets/tools/codecs/mainwindow.cpp
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2018-11-12 15:18:12 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2018-11-30 10:00:04 +0000
commit7aaf54f5725c65bf830088a9cfd104ef4817f256 (patch)
tree34581b8df8e0415bc5ee47850c30dcd1900ae923 /examples/widgets/tools/codecs/mainwindow.cpp
parentc3a963da1f9e7b1d37e63eedded61da4fbdaaf9a (diff)
Codecs example: Add a dialog for showing common C++ encodings
Add a dialog where the user can enter a line of text, which is then displayed in several encodings with special characters converted suitable for C++/Python string literals. Task-number: QTBUG-60635 Change-Id: Ibd436f9f76e128c93cbb581235c730d636641d8a Reviewed-by: Andy Shaw <andy.shaw@qt.io>
Diffstat (limited to 'examples/widgets/tools/codecs/mainwindow.cpp')
-rw-r--r--examples/widgets/tools/codecs/mainwindow.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/examples/widgets/tools/codecs/mainwindow.cpp b/examples/widgets/tools/codecs/mainwindow.cpp
index 28f904d1a7..229c2ccfd4 100644
--- a/examples/widgets/tools/codecs/mainwindow.cpp
+++ b/examples/widgets/tools/codecs/mainwindow.cpp
@@ -51,6 +51,7 @@
#include <QtWidgets>
#include "mainwindow.h"
+#include "encodingdialog.h"
#include "previewform.h"
MainWindow::MainWindow()
@@ -188,9 +189,27 @@ void MainWindow::createMenus()
QAction *exitAct = fileMenu->addAction(tr("E&xit"), this, &QWidget::close);
exitAct->setShortcuts(QKeySequence::Quit);
+ auto toolMenu = menuBar()->addMenu(tr("&Tools"));
+ auto encodingAction = toolMenu->addAction(tr("Encodings"), this, &MainWindow::encodingDialog);
+ encodingAction->setShortcut(Qt::CTRL + Qt::Key_E);
+ encodingAction->setToolTip(tr("Shows a dialog allowing to convert to common encoding in programming languages."));
+
+
menuBar()->addSeparator();
QMenu *helpMenu = menuBar()->addMenu(tr("&Help"));
helpMenu->addAction(tr("&About"), this, &MainWindow::about);
helpMenu->addAction(tr("About &Qt"), qApp, &QApplication::aboutQt);
}
+
+void MainWindow::encodingDialog()
+{
+ if (!m_encodingDialog) {
+ m_encodingDialog = new EncodingDialog(this);
+ const QRect screenGeometry = QApplication::desktop()->screenGeometry(this);
+ m_encodingDialog->setMinimumWidth(screenGeometry.width() / 4);
+ }
+ m_encodingDialog->show();
+ m_encodingDialog->raise();
+
+}