summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@qt.io>2018-11-27 12:09:13 +0100
committerKai Koehne <kai.koehne@qt.io>2018-11-28 11:50:47 +0000
commite1cb690912a6d7bb1a8a3a32afa8a08472d52aa8 (patch)
treeaf2ea0132d58f56a9245a07cef476e42eb5b99cd
parentf34661999aaf09920b46e5789a578cb81ebb0c6d (diff)
downloadqttools-e1cb690912a6d7bb1a8a3a32afa8a08472d52aa8.tar.gz
distancefieldgenerator: Add command line interface
Fixes: QTBUG-72052 Change-Id: I52aa7081334b2515e670373c7975a9ec2bb7c00b Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
-rw-r--r--src/distancefieldgenerator/main.cpp17
-rw-r--r--src/distancefieldgenerator/mainwindow.cpp32
-rw-r--r--src/distancefieldgenerator/mainwindow.h2
3 files changed, 33 insertions, 18 deletions
diff --git a/src/distancefieldgenerator/main.cpp b/src/distancefieldgenerator/main.cpp
index c7b5cab13..6a39e8cc3 100644
--- a/src/distancefieldgenerator/main.cpp
+++ b/src/distancefieldgenerator/main.cpp
@@ -30,9 +30,6 @@
#include <QApplication>
#include <QCommandLineParser>
-#include <QFile>
-#include <QFileInfo>
-#include <QRawFont>
QT_USE_NAMESPACE
@@ -44,9 +41,21 @@ int main(int argc, char **argv)
app.setApplicationName(QStringLiteral("Qt Distance Field Generator"));
app.setApplicationVersion(QStringLiteral(QT_VERSION_STR));
+ QCommandLineParser parser;
+ parser.setApplicationDescription(
+ QCoreApplication::translate("main",
+ "Allows to prepare a font cache for Qt applications."));
+ parser.addHelpOption();
+ parser.addVersionOption();
+ parser.addPositionalArgument(QLatin1String("file"),
+ QCoreApplication::translate("main",
+ "Font file (*.ttf, *.otf)"));
+ parser.process(app);
+
MainWindow mainWindow;
+ if (!parser.positionalArguments().isEmpty())
+ mainWindow.open(parser.positionalArguments().constFirst());
mainWindow.showMaximized();
return app.exec();
}
-
diff --git a/src/distancefieldgenerator/mainwindow.cpp b/src/distancefieldgenerator/mainwindow.cpp
index 98efe9572..d41840484 100644
--- a/src/distancefieldgenerator/mainwindow.cpp
+++ b/src/distancefieldgenerator/mainwindow.cpp
@@ -84,6 +84,22 @@ MainWindow::~MainWindow()
delete ui;
}
+void MainWindow::open(const QString &path)
+{
+ m_fileName.clear();
+ m_fontFile = path;
+ m_fontDir = QFileInfo(path).absolutePath();
+ m_settings.setValue(QStringLiteral("fontDirectory"), m_fontDir);
+
+ ui->lwUnicodeRanges->clear();
+ ui->lwUnicodeRanges->setDisabled(true);
+ ui->action_Save->setDisabled(true);
+ ui->action_Save_as->setDisabled(true);
+ ui->tbSave->setDisabled(true);
+ ui->action_Open->setDisabled(true);
+ m_model->setFont(path);
+}
+
void MainWindow::setupConnections()
{
connect(ui->action_Open, &QAction::triggered, this, &MainWindow::openFont);
@@ -567,20 +583,8 @@ void MainWindow::openFont()
tr("Open font file"),
m_fontDir,
tr("Fonts (*.ttf *.otf);;All files (*)"));
- if (!fileName.isEmpty()) {
- m_fileName.clear();
- m_fontFile = fileName;
- m_fontDir = QFileInfo(fileName).absolutePath();
- m_settings.setValue(QStringLiteral("fontDirectory"), m_fontDir);
-
- ui->lwUnicodeRanges->clear();
- ui->lwUnicodeRanges->setDisabled(true);
- ui->action_Save->setDisabled(true);
- ui->action_Save_as->setDisabled(true);
- ui->tbSave->setDisabled(true);
- ui->action_Open->setDisabled(true);
- m_model->setFont(fileName);
- }
+ if (!fileName.isEmpty())
+ open(fileName);
}
void MainWindow::updateProgressBar()
diff --git a/src/distancefieldgenerator/mainwindow.h b/src/distancefieldgenerator/mainwindow.h
index 09b4db588..dfb346a95 100644
--- a/src/distancefieldgenerator/mainwindow.h
+++ b/src/distancefieldgenerator/mainwindow.h
@@ -49,6 +49,8 @@ public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
+ void open(const QString &path);
+
private slots:
void openFont();
void startProgressBar(quint16 glyphCount);