diff --git a/LogarithmPlotter/__init__.py b/LogarithmPlotter/__init__.py index 26ef788..cf95148 100644 --- a/LogarithmPlotter/__init__.py +++ b/LogarithmPlotter/__init__.py @@ -17,7 +17,7 @@ """ from shutil import which -__VERSION__ = "0.3.0" +__VERSION__ = "0.4.0" is_release = True diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml index 21fc23f..5eae7c1 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/AppMenuBar.qml @@ -194,11 +194,12 @@ MenuBar { } Menu { + id: colorSchemeSetting title: qsTr("Color Scheme") property var schemes: ["Breeze Light", "Breeze Dark", "Solarized", "Github Light", "Github Dark", "Nord", "Monokai"] Repeater { - model: ["Breeze Light", "Breeze Dark", "Solarized", "Github Light", "Github Dark", "Nord", "Monokai"] + model: colorSchemeSetting.schemes MenuItem { text: modelData diff --git a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml index 0eb70ac..7a6a921 100644 --- a/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml +++ b/LogarithmPlotter/qml/eu/ad5001/LogarithmPlotter/Popup/GreetScreen.qml @@ -37,143 +37,159 @@ Popup { height: Math.min(parent.height-40, 700) modal: true focus: true + clip: true closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutside - Item { - id: welcome - height: logo.height - width: logo.width + 10 + welcomeText.width + ScrollView { + anchors.left: parent.left + anchors.right: parent.right anchors.top: parent.top - anchors.topMargin: (parent.width-width)/2 - anchors.horizontalCenter: parent.horizontalCenter + anchors.bottom: parent.bottom + anchors.bottomMargin: bottomButtons.height + 20 + clip: true - Image { - id: logo - source: "../icons/logarithmplotter.svg" - sourceSize.width: 48 - sourceSize.height: 48 - width: 48 - height: 48 - } - - Label { - id: welcomeText - anchors.verticalCenter: parent.verticalCenter - anchors.left: logo.right - anchors.leftMargin: 10 - //width: parent.width - wrapMode: Text.WordWrap - font.pixelSize: 32 - text: qsTr("Welcome to LogarithmPlotter") + Column { + width: greetingPopup.width - 25 + spacing: 10 + clip: true + topPadding: 35 + + Row { + id: welcome + height: logo.height + spacing: 10 + anchors.horizontalCenter: parent.horizontalCenter + + Image { + id: logo + source: "../icons/logarithmplotter.svg" + sourceSize.width: 48 + sourceSize.height: 48 + width: 48 + height: 48 + } + + Label { + id: welcomeText + anchors.verticalCenter: parent.verticalCenter + wrapMode: Text.WordWrap + font.pixelSize: 32 + text: qsTr("Welcome to LogarithmPlotter") + } + } + + Label { + id: versionText + anchors.horizontalCenter: parent.horizontalCenter + wrapMode: Text.WordWrap + width: implicitWidth + font.pixelSize: 18 + font.italic: true + text: qsTr("Version %1").arg(Helper.getVersion()) + } + + Label { + id: helpText + anchors.horizontalCenter: parent.horizontalCenter + wrapMode: Text.WordWrap + font.pixelSize: 14 + width: parent.width - 50 + text: qsTr("Take a few seconds to configure LogarithmPlotter.\nThese settings can be changed at any time from the \"Settings\" menu.") + } + + CheckBox { + id: checkForUpdatesSetting + anchors.left: parent.left + checked: Helper.getSettingBool("check_for_updates") + text: qsTr('Check for updates on startup (requires online connectivity)') + onClicked: { + Helper.setSettingBool("check_for_updates", checked) + // Set in the menu bar + appMenu.settingsMenu.children[0].checked = checked + } + } + + CheckBox { + id: resetRedoStackSetting + anchors.left: parent.left + checked: Helper.getSettingBool("reset_redo_stack") + text: qsTr('Reset redo stack when a new action is added to history') + onClicked: { + Helper.setSettingBool("reset_redo_stack", checked) + appMenu.settingsMenu.children[1].checked = checked + } + } + + CheckBox { + id: enableLatexSetting + anchors.left: parent.left + checked: Helper.getSettingBool("enable_latex") + text: qsTr('Enable LaTeX rendering') + onClicked: { + Helper.setSettingBool("enable_latex", checked) + appMenu.settingsMenu.children[2].checked = checked + } + } + + CheckBox { + id: autocloseFormulaSetting + anchors.left: parent.left + checked: Helper.getSettingBool("expression_editor.autoclose") + text: qsTr('Automatically close parenthesises and brackets in expressions') + onClicked: { + Helper.setSettingBool("expression_editor.autoclose", checked) + appMenu.settingsMenu.children[3].children[0].checked = checked + } + } + + CheckBox { + id: colorizeFormulaSetting + anchors.left: parent.left + checked: Helper.getSettingBool("expression_editor.colorize") + text: qsTr('Enable syntax highlighting for expressions') + onClicked: { + Helper.setSettingBool("expression_editor.colorize", checked) + appMenu.settingsMenu.children[3].children[1].checked = checked + } + } + + CheckBox { + id: autocompleteFormulaSetting + anchors.left: parent.left + checked: Helper.getSettingBool("autocompletion.enabled") + text: qsTr('Enable autocompletion interface in expression editor') + onClicked: { + Helper.setSettingBool("autocompletion.enabled", checked) + appMenu.settingsMenu.children[3].children[2].checked = checked + } + } + + Row { + anchors.left: parent.left + anchors.leftMargin: 10 + spacing: 10 + + Label { + id: colorSchemeLabel + anchors.verticalCenter: parent.verticalCenter + wrapMode: Text.WordWrap + text: qsTr("Color scheme:") + } + + ComboBox { + model: ["Breeze Light", "Breeze Dark", "Solarized", "Github Light", "Github Dark", "Nord", "Monokai"] + currentIndex: Helper.getSettingInt("expression_editor.color_scheme") + + onActivated: function(index) { + Helper.setSettingInt("expression_editor.color_scheme", index) + } + } + } } } - - Label { - id: versionText - anchors.horizontalCenter: parent.horizontalCenter - anchors.top: welcome.bottom - anchors.topMargin: 10 - //width: parent.width - wrapMode: Text.WordWrap - width: implicitWidth - font.pixelSize: 18 - font.italic: true - text: qsTr("Version %1").arg(Helper.getVersion()) - } - - Label { - id: helpText - anchors.horizontalCenter: parent.horizontalCenter - anchors.top: versionText.bottom - anchors.topMargin: 40 - //width: parent.width - wrapMode: Text.WordWrap - font.pixelSize: 14 - width: parent.width - 50 - text: qsTr("Take a few seconds to configure LogarithmPlotter.\nThese settings can be changed at any time from the \"Settings\" menu.") - } - - CheckBox { - id: checkForUpdatesSetting - anchors.left: parent.left - //anchors.horizontalCenter: parent.horizontalCenter - anchors.top: helpText.bottom - anchors.topMargin: 10 - checked: Helper.getSettingBool("check_for_updates") - text: qsTr('Check for updates on startup (requires online connectivity)') - onClicked: { - Helper.setSettingBool("check_for_updates", checked) - // Set in the menu bar - appMenu.settingsMenu.children[0].checked = checked - } - } - - CheckBox { - id: resetRedoStackSetting - anchors.left: parent.left - //anchors.horizontalCenter: parent.horizontalCenter - anchors.top: checkForUpdatesSetting.bottom - checked: Helper.getSettingBool("reset_redo_stack") - text: qsTr('Reset redo stack when a new action is added to history') - onClicked: { - Helper.setSettingBool("reset_redo_stack", checked) - appMenu.settingsMenu.children[1].checked = checked - } - } - - CheckBox { - id: enableLatexSetting - anchors.left: parent.left - //anchors.horizontalCenter: parent.horizontalCenter - anchors.top: resetRedoStackSetting.bottom - checked: Helper.getSettingBool("enable_latex") - text: qsTr('Enable LaTeX rendering') - onClicked: { - Helper.setSettingBool("enable_latex", checked) - appMenu.settingsMenu.children[2].checked = checked - } - } - - CheckBox { - id: autocloseFormulaSetting - anchors.left: parent.left - //anchors.horizontalCenter: parent.horizontalCenter - anchors.top: enableLatexSetting.bottom - checked: Helper.getSettingBool("expression_editor.autoclose") - text: qsTr('Automatically close parenthesises and brackets in expressions') - onClicked: { - Helper.setSettingBool("expression_editor.autoclose", checked) - appMenu.settingsMenu.children[3].children[0].checked = checked - } - } - - CheckBox { - id: colorizeFormulaSetting - anchors.left: parent.left - //anchors.horizontalCenter: parent.horizontalCenter - anchors.top: autocloseFormulaSetting.bottom - checked: Helper.getSettingBool("expression_editor.colorize") - text: qsTr('Enable syntax highlighting for expressions') - onClicked: { - Helper.setSettingBool("expression_editor.colorize", checked) - appMenu.settingsMenu.children[3].children[1].checked = checked - } - } - - CheckBox { - id: autocompleteFormulaSetting - anchors.left: parent.left - //anchors.horizontalCenter: parent.horizontalCenter - anchors.top: colorizeFormulaSetting.bottom - checked: Helper.getSettingBool("autocompletion.enabled") - text: qsTr('Enable autocompletion interface in expression editor') - onClicked: { - Helper.setSettingBool("autocompletion.enabled", checked) - appMenu.settingsMenu.children[3].children[2].checked = checked - } - } - + Row { + id: bottomButtons anchors.bottom: parent.bottom anchors.bottomMargin: 10 spacing: 10 @@ -201,7 +217,7 @@ Popup { } } - Component.onCompleted: if(Helper.getSetting("last_install_greet") != Helper.getVersion()) { + Component.onCompleted: if(Helper.getSetting("last_install_greet") +1 != Helper.getVersion()) { greetingPopup.open() }