Compare commits

..

2 Commits

2 changed files with 30 additions and 32 deletions

View File

@ -184,7 +184,7 @@ Item {
ComboBox { ComboBox {
// TODO use model from metadata.h (in some way) // TODO use model from metadata.h (in some way)
model: ["A", "B", "C", ""] model: ["A", "B", "C", ""]
// BUG type will probably not been updated due to undo/redo step // BUG type is not been updated due to undo/redo step
currentIndex: find(item.type) currentIndex: find(item.type)
Component.onCompleted: currentIndex = find(item.type) Component.onCompleted: currentIndex = find(item.type)
onCurrentTextChanged: { onCurrentTextChanged: {

View File

@ -4,13 +4,12 @@ import QtQuick.Layouts
import QtQml.Models import QtQml.Models
Window { Window {
id: window
property bool discardChangesOnExit: false property bool discardChangesOnExit: false
property bool isDataModified: !appUndoStack.isClean property bool isDataModified: !appUndoStack.isClean
property string titleClean: `${Application.name}` property string titleClean: `${Application.name}`
property string titleDirty: `${Application.name}` + " *" property string titleDirty: `${Application.name}` + " *"
id: window
width: 480 width: 480
height: 800 height: 800
visible: true visible: true
@ -36,31 +35,30 @@ Window {
anchors.fill: parent anchors.fill: parent
} }
Component.onCompleted: { // Component.onCompleted: {
// core.displayStatusMessage.connect(displayStatusMessage) // // core.displayStatusMessage.connect(displayStatusMessage)
appUndoStack.cleanChanged.connect(cleanChanged) // appUndoStack.cleanChanged.connect(cleanChanged)
// core.userConfigChanged.connect(onUserConfigChanged) // // core.userConfigChanged.connect(onUserConfigChanged)
} // }
function cleanChanged() {
let clean = appUndoStack.clean
console.debug("Clean state changed to: " + clean)
// if (!clean) {
// footerText.text = ""
// }
}
// function cleanChanged() {
// let clean = appUndoStack.clean
// console.debug("Clean state changed to: " + clean)
// // if (!clean) {
// // footerText.text = ""
// // }
// }
onClosing: event => { onClosing: event => {
if (appUndoStack.clean) { if (appUndoStack.clean) {
console.debug("Closing on a clean undo stack.") console.debug("Closing on a clean undo stack.");
} else { } else {
console.debug("Closing on an unclean undo stack!") console.debug("Closing on an unclean undo stack!");
if (!window.discardChangesOnExit) { if (!window.discardChangesOnExit) {
event.accepted = false event.accepted = false;
exitOnUnsavedChangesDialog.open() exitOnUnsavedChangesDialog.open();
} }
} }
} }
Dialog { Dialog {
id: exitOnUnsavedChangesDialog id: exitOnUnsavedChangesDialog
@ -71,20 +69,20 @@ Window {
standardButtons: Dialog.Yes | Dialog.Cancel | Dialog.Discard standardButtons: Dialog.Yes | Dialog.Cancel | Dialog.Discard
contentItem: Label { contentItem: Label {
text: "Do you want save your changes?" text: "Do you want save your changes?\n" + "Or discard them?"
} }
onAccepted: { onAccepted: {
core.saveItems() core.saveItems();
window.close() window.close();
} }
onDiscarded: { onDiscarded: {
window.discardChangesOnExit = true window.discardChangesOnExit = true;
window.close() window.close();
} }
onRejected: { onRejected: {
console.debug("Canceling exit...") console.debug("Canceling exit...");
} }
} }
} }