diff options
Diffstat (limited to 'examples/scriptableapplication/mainwindow.cpp')
-rw-r--r-- | examples/scriptableapplication/mainwindow.cpp | 60 |
1 files changed, 35 insertions, 25 deletions
diff --git a/examples/scriptableapplication/mainwindow.cpp b/examples/scriptableapplication/mainwindow.cpp index 27e6f1247..ece7989e7 100644 --- a/examples/scriptableapplication/mainwindow.cpp +++ b/examples/scriptableapplication/mainwindow.cpp @@ -19,37 +19,44 @@ #include <QtCore/QDebug> #include <QtCore/QTextStream> -static const char defaultScript[] = R"( -import AppLib +using namespace Qt::StringLiterals; + +static const auto defaultScript = R"(import AppLib print("Hello, world") mainWindow.testFunction1() -)"; +)"_L1; MainWindow::MainWindow() - : m_scriptEdit(new QPlainTextEdit(QString::fromLatin1(defaultScript).trimmed(), this)) + : m_scriptEdit(new QPlainTextEdit(defaultScript, this)) { setWindowTitle(tr("Scriptable Application")); - QMenu *fileMenu = menuBar()->addMenu(tr("&File")); - const QIcon runIcon = QIcon::fromTheme(QStringLiteral("system-run")); - QAction *runAction = fileMenu->addAction(runIcon, tr("&Run..."), this, &MainWindow::slotRunScript); + auto *fileMenu = menuBar()->addMenu(tr("&File")); + const QIcon runIcon = QIcon::fromTheme("system-run"_L1); + auto *runAction = fileMenu->addAction(runIcon, tr("&Run..."), + this, &MainWindow::slotRunScript); runAction->setShortcut(Qt::CTRL | Qt::Key_R); - QAction *diagnosticAction = fileMenu->addAction(tr("&Print Diagnostics"), this, &MainWindow::slotPrintDiagnostics); + auto *diagnosticAction = fileMenu->addAction(tr("&Print Diagnostics"), + this, &MainWindow::slotPrintDiagnostics); diagnosticAction->setShortcut(Qt::CTRL | Qt::Key_D); - fileMenu->addAction(tr("&Invoke testFunction1()"), this, &MainWindow::testFunction1); - const QIcon quitIcon = QIcon::fromTheme(QStringLiteral("application-exit")); - QAction *quitAction = fileMenu->addAction(quitIcon, tr("&Quit"), qApp, &QCoreApplication::quit); + fileMenu->addAction(tr("&Invoke testFunction1()"), + this, &MainWindow::testFunction1); + const QIcon quitIcon = QIcon::fromTheme(QIcon::ThemeIcon::ApplicationExit); + auto *quitAction = fileMenu->addAction(quitIcon, tr("&Quit"), + qApp, &QCoreApplication::quit); quitAction->setShortcut(Qt::CTRL | Qt::Key_Q); - QMenu *editMenu = menuBar()->addMenu(tr("&Edit")); - const QIcon clearIcon = QIcon::fromTheme(QStringLiteral("edit-clear")); - QAction *clearAction = editMenu->addAction(clearIcon, tr("&Clear"), m_scriptEdit, &QPlainTextEdit::clear); + auto *editMenu = menuBar()->addMenu(tr("&Edit")); + const QIcon clearIcon = QIcon::fromTheme(QIcon::ThemeIcon::EditClear); + auto *clearAction = editMenu->addAction(clearIcon, tr("&Clear"), + m_scriptEdit, &QPlainTextEdit::clear); - QMenu *helpMenu = menuBar()->addMenu(tr("&Help")); - const QIcon aboutIcon = QIcon::fromTheme(QStringLiteral("help-about")); - QAction *aboutAction = helpMenu->addAction(aboutIcon, tr("&About Qt"), qApp, &QApplication::aboutQt); + auto *helpMenu = menuBar()->addMenu(tr("&Help")); + const QIcon aboutIcon = QIcon::fromTheme(QIcon::ThemeIcon::HelpAbout); + auto *aboutAction = helpMenu->addAction(aboutIcon, tr("&About Qt"), + qApp, &QApplication::aboutQt); - QToolBar *toolBar = new QToolBar; + auto *toolBar = new QToolBar; addToolBar(toolBar); toolBar->addAction(quitAction); toolBar->addSeparator(); @@ -62,26 +69,29 @@ MainWindow::MainWindow() m_scriptEdit->setFont(QFontDatabase::systemFont(QFontDatabase::FixedFont)); setCentralWidget(m_scriptEdit); - if (!PythonUtils::bindAppObject("__main__", "mainWindow", PythonUtils::MainWindowType, this)) + if (!PythonUtils::bindAppObject("__main__"_L1, "mainWindow"_L1, + PythonUtils::MainWindowType, this)) { statusBar()->showMessage(tr("Error loading the application module")); + } } void MainWindow::slotRunScript() { const QString text = m_scriptEdit->toPlainText().trimmed(); - const QStringList script = text.split(u'\n', Qt::SkipEmptyParts); - if (!script.isEmpty()) - runScript(script); + if (!text.isEmpty()) + runScript(text); } void MainWindow::slotPrintDiagnostics() { - const QStringList script = QStringList() - << "import sys" << "print('Path=', sys.path)" << "print('Executable=', sys.executable)"; + const QString script = R"P(import sys +print('Path=', sys.path) +print('Executable=', sys.executable) +)P"_L1; runScript(script); } -void MainWindow::runScript(const QStringList &script) +void MainWindow::runScript(const QString &script) { if (!::PythonUtils::runScript(script)) statusBar()->showMessage(tr("Error running script")); |