Add asterisk to the drawing name item if the drawing has changed since last save or open operation
This commit is contained in:
parent
17bbe345af
commit
ec2348b1ec
10
draw.js
10
draw.js
|
|
@ -701,6 +701,7 @@ var DrawingArea = new Lang.Class({
|
||||||
this.emit('show-osd', 'document-save-symbolic', name, -1);
|
this.emit('show-osd', 'document-save-symbolic', name, -1);
|
||||||
if (name != DEFAULT_FILE_NAME)
|
if (name != DEFAULT_FILE_NAME)
|
||||||
this.jsonName = name;
|
this.jsonName = name;
|
||||||
|
this.lastJsonContents = contents;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -733,6 +734,7 @@ var DrawingArea = new Lang.Class({
|
||||||
this.emit('show-osd', 'document-open-symbolic', name, -1);
|
this.emit('show-osd', 'document-open-symbolic', name, -1);
|
||||||
if (name != DEFAULT_FILE_NAME)
|
if (name != DEFAULT_FILE_NAME)
|
||||||
this.jsonName = name;
|
this.jsonName = name;
|
||||||
|
this.lastJsonContents = contents;
|
||||||
},
|
},
|
||||||
|
|
||||||
_loadPersistent: function() {
|
_loadPersistent: function() {
|
||||||
|
|
@ -767,6 +769,11 @@ var DrawingArea = new Lang.Class({
|
||||||
this.loadJson(previousName, true);
|
this.loadJson(previousName, true);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
get drawingContentsHasChanged() {
|
||||||
|
let contents = `[\n ` + new Array(...this.elements.map(element => JSON.stringify(element))).join(`,\n\n `) + `\n]`;
|
||||||
|
return contents != this.lastJsonContents;
|
||||||
|
},
|
||||||
|
|
||||||
disable: function() {
|
disable: function() {
|
||||||
this.erase();
|
this.erase();
|
||||||
this.menu.disable();
|
this.menu.disable();
|
||||||
|
|
@ -1387,7 +1394,8 @@ var DrawingMenu = new Lang.Class({
|
||||||
_updateDrawingNameMenuItem: function() {
|
_updateDrawingNameMenuItem: function() {
|
||||||
getActor(this.drawingNameMenuItem).visible = this.area.jsonName ? true : false;
|
getActor(this.drawingNameMenuItem).visible = this.area.jsonName ? true : false;
|
||||||
if (this.area.jsonName) {
|
if (this.area.jsonName) {
|
||||||
this.drawingNameMenuItem.label.set_text(`<i>${this.area.jsonName}</i>`);
|
let prefix = this.area.drawingContentsHasChanged ? "* " : "";
|
||||||
|
this.drawingNameMenuItem.label.set_text(`<i>${prefix}${this.area.jsonName}</i>`);
|
||||||
this.drawingNameMenuItem.label.get_clutter_text().set_use_markup(true);
|
this.drawingNameMenuItem.label.get_clutter_text().set_use_markup(true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue