101 lines
3.3 KiB
Diff
101 lines
3.3 KiB
Diff
|
diff --git a/app/main.cpp b/app/main.cpp
|
||
|
index b06c43b..0cf128f 100644
|
||
|
--- a/app/main.cpp
|
||
|
+++ b/app/main.cpp
|
||
|
@@ -81,7 +81,12 @@ int main(int argc, char *argv[])
|
||
|
importPathList.prepend(QCoreApplication::applicationDirPath() + "/../../../qmltermwidget");
|
||
|
engine.setImportPathList(importPathList);
|
||
|
|
||
|
- engine.load(QUrl("qrc:/main.qml"));
|
||
|
+ engine.load(QUrl(QStringLiteral ("qrc:/main.qml")));
|
||
|
+
|
||
|
+ if (engine.rootObjects().isEmpty()) {
|
||
|
+ qDebug() << "Cannot load QML interface";
|
||
|
+ return EXIT_FAILURE;
|
||
|
+ }
|
||
|
|
||
|
// Quit the application when the engine closes.
|
||
|
QObject::connect((QObject*) &engine, SIGNAL(quit()), (QObject*) &app, SLOT(quit()));
|
||
|
diff --git a/app/qml/ApplicationSettings.qml b/app/qml/ApplicationSettings.qml
|
||
|
index 2c645f6..d0f8beb 100644
|
||
|
--- a/app/qml/ApplicationSettings.qml
|
||
|
+++ b/app/qml/ApplicationSettings.qml
|
||
|
@@ -33,6 +33,11 @@ QtObject{
|
||
|
|
||
|
// GENERAL SETTINGS ///////////////////////////////////////////////////////
|
||
|
|
||
|
+ property int x: 100
|
||
|
+ property int y: 100
|
||
|
+ property int width: 1024
|
||
|
+ property int height: 768
|
||
|
+
|
||
|
property bool fullscreen: false
|
||
|
property bool showMenubar: true
|
||
|
|
||
|
@@ -211,6 +216,10 @@ QtObject{
|
||
|
function composeSettingsString(){
|
||
|
var settings = {
|
||
|
fps: fps,
|
||
|
+ x: x,
|
||
|
+ y: y,
|
||
|
+ width: width,
|
||
|
+ height: height,
|
||
|
windowScaling: windowScaling,
|
||
|
showTerminalSize: showTerminalSize,
|
||
|
fontScaling: fontScaling,
|
||
|
@@ -291,6 +300,11 @@ QtObject{
|
||
|
fps = settings.fps !== undefined ? settings.fps: fps
|
||
|
windowScaling = settings.windowScaling !== undefined ? settings.windowScaling : windowScaling
|
||
|
|
||
|
+ x = settings.x !== undefined ? settings.x : x
|
||
|
+ y = settings.y !== undefined ? settings.y : y
|
||
|
+ width = settings.width !== undefined ? settings.width : width
|
||
|
+ height = settings.height !== undefined ? settings.height : height
|
||
|
+
|
||
|
fontNames = settings.fontNames !== undefined ? settings.fontNames : fontNames
|
||
|
fontScaling = settings.fontScaling !== undefined ? settings.fontScaling : fontScaling
|
||
|
|
||
|
diff --git a/app/qml/main.qml b/app/qml/main.qml
|
||
|
index 7a201a1..ed0801c 100644
|
||
|
--- a/app/qml/main.qml
|
||
|
+++ b/app/qml/main.qml
|
||
|
@@ -28,10 +28,29 @@ ApplicationWindow{
|
||
|
|
||
|
width: 1024
|
||
|
height: 768
|
||
|
+
|
||
|
+ // Save window properties automatically
|
||
|
+ onXChanged: appSettings.x = x
|
||
|
+ onYChanged: appSettings.y = y
|
||
|
+ onWidthChanged: appSettings.width = width
|
||
|
+ onHeightChanged: appSettings.height = height
|
||
|
+
|
||
|
+ // Load saved window geometry and show the window
|
||
|
+ Component.onCompleted: {
|
||
|
+ appSettings.handleFontChanged();
|
||
|
+
|
||
|
+ x = appSettings.x
|
||
|
+ y = appSettings.y
|
||
|
+ width = appSettings.width
|
||
|
+ height = appSettings.height
|
||
|
+
|
||
|
+ visible = true
|
||
|
+ }
|
||
|
+
|
||
|
minimumWidth: 320
|
||
|
minimumHeight: 240
|
||
|
|
||
|
- visible: true
|
||
|
+ visible: false
|
||
|
|
||
|
property bool fullscreen: appSettings.fullscreen
|
||
|
onFullscreenChanged: visibility = (fullscreen ? Window.FullScreen : Window.Windowed)
|
||
|
@@ -140,7 +159,6 @@ ApplicationWindow{
|
||
|
terminalSize: terminalContainer.terminalSize
|
||
|
}
|
||
|
}
|
||
|
- Component.onCompleted: appSettings.handleFontChanged();
|
||
|
onClosing: {
|
||
|
// OSX Since we are currently supporting only one window
|
||
|
// quit the application when it is closed.
|