Adding color schemes for expressions
This commit is contained in:
parent
7ec80e6682
commit
5ef8cac1c0
3 changed files with 150 additions and 133 deletions
|
@ -17,7 +17,7 @@
|
|||
"""
|
||||
from shutil import which
|
||||
|
||||
__VERSION__ = "0.3.0"
|
||||
__VERSION__ = "0.4.0"
|
||||
is_release = True
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue