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);
|
||||
if (name != DEFAULT_FILE_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);
|
||||
if (name != DEFAULT_FILE_NAME)
|
||||
this.jsonName = name;
|
||||
this.lastJsonContents = contents;
|
||||
},
|
||||
|
||||
_loadPersistent: function() {
|
||||
|
|
@ -767,6 +769,11 @@ var DrawingArea = new Lang.Class({
|
|||
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() {
|
||||
this.erase();
|
||||
this.menu.disable();
|
||||
|
|
@ -1387,7 +1394,8 @@ var DrawingMenu = new Lang.Class({
|
|||
_updateDrawingNameMenuItem: function() {
|
||||
getActor(this.drawingNameMenuItem).visible = this.area.jsonName ? true : false;
|
||||
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);
|
||||
}
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue