COnfiguration and systray
This commit is contained in:
@@ -2,16 +2,113 @@ import QtQuick
|
||||
import QtQuick.Layouts
|
||||
import QtQuick.Controls
|
||||
|
||||
Item
|
||||
ColumnLayout
|
||||
{
|
||||
property string name: "company"
|
||||
property alias name: companyName
|
||||
property alias street: street
|
||||
property alias house: houseno
|
||||
property alias zipcode: zipcode
|
||||
property alias city: city
|
||||
anchors.fill: parent
|
||||
anchors.topMargin: 50
|
||||
|
||||
Label
|
||||
RowLayout
|
||||
{
|
||||
text: qsTr("Das Unternehmen")
|
||||
anchors.centerIn: parent
|
||||
font.pixelSize: 57
|
||||
font.bold: true
|
||||
Layout.fillWidth: true
|
||||
Label
|
||||
{
|
||||
text: qsTr("Namen")
|
||||
// font.pixelSize: 57
|
||||
// font.bold: true
|
||||
}
|
||||
|
||||
TextField
|
||||
{
|
||||
id: companyName
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
|
||||
RowLayout
|
||||
{
|
||||
Layout.fillWidth: true
|
||||
Label
|
||||
{
|
||||
text: qsTr("Straße")
|
||||
// font.pixelSize: 57
|
||||
// font.bold: true
|
||||
}
|
||||
|
||||
TextField
|
||||
{
|
||||
id: street
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: qsTr("Haus-Nr.")
|
||||
// font.pixelSize: 57
|
||||
// font.bold: true
|
||||
}
|
||||
|
||||
TextField
|
||||
{
|
||||
id: houseno
|
||||
Layout.fillWidth: true
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
RowLayout
|
||||
{
|
||||
Layout.fillWidth: true
|
||||
Label
|
||||
{
|
||||
text: qsTr("PLZ")
|
||||
// font.pixelSize: 57
|
||||
// font.bold: true
|
||||
}
|
||||
|
||||
ComboBox
|
||||
{
|
||||
id: zipcode
|
||||
Layout.fillWidth: true
|
||||
editable: true
|
||||
model: address_model
|
||||
textRole: "display"
|
||||
popup.height: 300
|
||||
popup.y: zipcode.y + 5 - (zipcode.height * 2)
|
||||
//currentIndex: -1
|
||||
onCurrentIndexChanged: city.currentIndex = zipcode.currentIndex
|
||||
validator: RegularExpressionValidator
|
||||
{
|
||||
regularExpression: /([0-9]{1,5})/
|
||||
}
|
||||
}
|
||||
|
||||
Label
|
||||
{
|
||||
text: qsTr("Stadt")
|
||||
// font.pixelSize: 57
|
||||
// font.bold: true
|
||||
}
|
||||
|
||||
ComboBox
|
||||
{
|
||||
id: city
|
||||
Layout.fillWidth: true
|
||||
editable: true
|
||||
model: address_model
|
||||
textRole: "city"
|
||||
popup.height: 300
|
||||
popup.y: zipcode.y + 5 - (zipcode.height * 2)
|
||||
currentIndex: -1
|
||||
}
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
|
||||
22
Gui/MiscConf.qml
Executable file
22
Gui/MiscConf.qml
Executable file
@@ -0,0 +1,22 @@
|
||||
import QtQuick
|
||||
import QtQuick.Controls
|
||||
import QtQuick.Layouts
|
||||
|
||||
ColumnLayout
|
||||
{
|
||||
property alias sysTray: sysTray
|
||||
anchors.fill: parent
|
||||
anchors.topMargin: 35
|
||||
|
||||
Switch
|
||||
{
|
||||
id: sysTray
|
||||
text: qsTr("Beim minimieren, in der Taskleiste anzeigen")
|
||||
checked: config.systray()
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
Layout.fillHeight: true
|
||||
}
|
||||
}
|
||||
@@ -15,7 +15,7 @@ GridLayout
|
||||
|
||||
ComboBox
|
||||
{
|
||||
property string name: "contacttype"
|
||||
//property string name: "contacttype"
|
||||
id: contacttype
|
||||
Layout.fillWidth: true
|
||||
editable: false
|
||||
@@ -150,6 +150,7 @@ GridLayout
|
||||
{
|
||||
contacts[num_contacts] = {}
|
||||
contacts[num_contacts]["title"] = title.currentText
|
||||
contacts[num_contacts]["ctype"] = contacttype.currentText
|
||||
contacts[num_contacts]["fname"] = firstname.text.trim()
|
||||
contacts[num_contacts]["lname"] = lastname.text.trim()
|
||||
contacts[num_contacts]["phone"] = phonenumber.text.trim()
|
||||
@@ -261,7 +262,7 @@ GridLayout
|
||||
id: mainRect
|
||||
Layout.fillWidth: true
|
||||
implicitHeight: 100
|
||||
color: "salmon" // firstname.palette.base
|
||||
color: firstname.palette.base
|
||||
border.color: firstname.activeFocus? firstname.palette.highlight: firstname.palette.base
|
||||
clip: true
|
||||
|
||||
@@ -310,32 +311,32 @@ GridLayout
|
||||
//spacing: 3
|
||||
Text
|
||||
{
|
||||
text: qsTr('Name: ') + model.name
|
||||
text: '<b>' + qsTr('Name: ') + '</b>' + model.name
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
color: "white"
|
||||
}
|
||||
Text
|
||||
{
|
||||
text: qsTr('Telefon: ') + model.phone
|
||||
text: '<b>' + qsTr('Telefon: ') + '</b>' + model.phone
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
color: "white"
|
||||
}
|
||||
Text
|
||||
{
|
||||
text: qsTr('Handy: ') + model.mobile
|
||||
text: '<b>' + qsTr('Handy: ') + '</b>' + model.mobile
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
color: "white"
|
||||
}
|
||||
Text
|
||||
{
|
||||
text: qsTr('Position: ') + model.posizion
|
||||
text: '<b>' + qsTr('Position: ') + '</b>' + model.posizion
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
color: "white"
|
||||
}
|
||||
|
||||
Text
|
||||
{
|
||||
text: qsTr('Typ: ') + model.cdata
|
||||
text: '<b>' + qsTr('Typ: ') + '</b>' + model.cdata
|
||||
horizontalAlignment: Text.AlignLeft
|
||||
color: "white"
|
||||
}
|
||||
|
||||
@@ -4,6 +4,8 @@ import QtQuick.Layouts
|
||||
|
||||
Item
|
||||
{
|
||||
property alias companyConf: companyConf
|
||||
property alias miscConf: miscConf
|
||||
anchors.fill: parent
|
||||
TabBar
|
||||
{
|
||||
@@ -27,6 +29,10 @@ Item
|
||||
text: qsTr("Sicherung")
|
||||
}
|
||||
|
||||
TabButton
|
||||
{
|
||||
text: qsTr("Sonstiges")
|
||||
}
|
||||
}
|
||||
|
||||
StackLayout
|
||||
@@ -72,6 +78,15 @@ Item
|
||||
}
|
||||
}
|
||||
|
||||
Item
|
||||
{
|
||||
id: miscelanea
|
||||
MiscConf
|
||||
{
|
||||
id: miscConf
|
||||
anchors.fill: parent
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
RowLayout
|
||||
@@ -101,7 +116,10 @@ Item
|
||||
break
|
||||
|
||||
case 2:
|
||||
console.log("Need to update company's info.")
|
||||
updateCompanyInfo()
|
||||
break
|
||||
case 4:
|
||||
updateMiscConf()
|
||||
break
|
||||
default:
|
||||
console.log("Need to handle users")
|
||||
@@ -109,4 +127,28 @@ Item
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function updateCompanyInfo()
|
||||
{
|
||||
var company = {}
|
||||
company['company'] = {}
|
||||
company['company']['NAME'] = companyConf.name.text.trim()
|
||||
company['company']['STREET'] = companyConf.street.text.trim()
|
||||
company['company']['HOUSE'] = companyConf.house.text.trim()
|
||||
company['company']['ZIPCODE'] = companyConf.zipcode.editText? companyConf.zipcode.editText.trim(): companyConf.zipcode.currentText
|
||||
company['company']['CITY'] = companyConf.city.editText? companyConf.city.editText.trim(): companyConf.city.currentText
|
||||
|
||||
if (company['company']['NAME'] === '' || company['company']['STREET'] === '' ||
|
||||
company['company']['HOUSE'] === '' || company['company']['ZIPCODE'] === '' ||
|
||||
company['company']['CITY'] === '');
|
||||
else config.saveCompanyInfo(company)
|
||||
}
|
||||
|
||||
function updateMiscConf()
|
||||
{
|
||||
var misc = {}
|
||||
misc['misc'] = {}
|
||||
misc['misc']['SYSTRAY'] = miscConf.sysTray.checked
|
||||
config.saveMiscConf(misc)
|
||||
}
|
||||
}
|
||||
|
||||
52
Gui/main.qml
52
Gui/main.qml
@@ -62,19 +62,6 @@ ApplicationWindow
|
||||
property alias window: appWindow
|
||||
}
|
||||
|
||||
Component.onCompleted:
|
||||
{
|
||||
if(bad_config)
|
||||
{
|
||||
importDialog.open()
|
||||
}
|
||||
else
|
||||
{
|
||||
if (db_con) appLoader.source= "LoginScreen.qml"
|
||||
else appLoader.source= "NoDbConnection.qml"
|
||||
}
|
||||
}
|
||||
|
||||
Dialog
|
||||
{
|
||||
id: importDialog
|
||||
@@ -127,4 +114,43 @@ ApplicationWindow
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted:
|
||||
{
|
||||
systray.activated.connect(showWindow)
|
||||
if(bad_config)
|
||||
{
|
||||
importDialog.open()
|
||||
}
|
||||
else
|
||||
{
|
||||
if (db_con) appLoader.source= "LoginScreen.qml"
|
||||
else appLoader.source= "NoDbConnection.qml"
|
||||
}
|
||||
}
|
||||
|
||||
function showWindow(why)
|
||||
{
|
||||
if (why === 3)
|
||||
{
|
||||
systray.setVisible(false)
|
||||
appWindow.show()
|
||||
}
|
||||
}
|
||||
onVisibilityChanged:
|
||||
{
|
||||
if (appWindow.visibility === Window.Minimized && config.systray())
|
||||
{
|
||||
systray.setVisible(true)
|
||||
appWindow.hide()
|
||||
}
|
||||
}
|
||||
|
||||
onClosing: (close) =>
|
||||
{
|
||||
if (false)
|
||||
{
|
||||
console.log("Main window closed!! Was soll ich tun? kann ich mich beenden?!")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user