padOsd: Use map to store misc action label data
We'll be adding more stuff here, so it's a bit inconvenient to keep it an array. https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1290
This commit is contained in:
parent
c511c469fe
commit
989118981b
@ -444,13 +444,13 @@ var PadDiagram = GObject.registerClass({
|
||||
this._updateDiagramScale();
|
||||
|
||||
for (let i = 0; i < this._labels.length; i++) {
|
||||
let [label, action, idx, dir] = this._labels[i];
|
||||
const { label, action, idx, dir } = this._labels[i];
|
||||
let [found_, x, y, arrangement] = this._getLabelCoords(action, idx, dir);
|
||||
this._allocateChild(label, x, y, arrangement);
|
||||
}
|
||||
|
||||
if (this._editorActor && this._curEdited) {
|
||||
let [label_, action, idx, dir] = this._curEdited;
|
||||
const { action, idx, dir } = this._curEdited;
|
||||
let [found_, x, y, arrangement] = this._getLabelCoords(action, idx, dir);
|
||||
this._allocateChild(this._editorActor, x, y, arrangement);
|
||||
}
|
||||
@ -575,20 +575,20 @@ var PadDiagram = GObject.registerClass({
|
||||
this._invalidateSvg();
|
||||
}
|
||||
|
||||
_addLabel(type, idx, dir) {
|
||||
let [found] = this._getLabelCoords(type, idx, dir);
|
||||
_addLabel(action, idx, dir) {
|
||||
let [found] = this._getLabelCoords(action, idx, dir);
|
||||
if (!found)
|
||||
return false;
|
||||
|
||||
let label = new St.Label();
|
||||
this._labels.push([label, type, idx, dir]);
|
||||
this._labels.push({ label, action, idx, dir });
|
||||
this.add_actor(label);
|
||||
return true;
|
||||
}
|
||||
|
||||
updateLabels(getText) {
|
||||
for (let i = 0; i < this._labels.length; i++) {
|
||||
let [label, action, idx, dir] = this._labels[i];
|
||||
const { label, action, idx, dir } = this._labels[i];
|
||||
let str = getText(action, idx, dir);
|
||||
label.set_text(str);
|
||||
}
|
||||
@ -608,13 +608,13 @@ var PadDiagram = GObject.registerClass({
|
||||
this._editorActor.hide();
|
||||
|
||||
if (this._prevEdited) {
|
||||
let [label, action, idx, dir] = this._prevEdited;
|
||||
const { label, action, idx, dir } = this._prevEdited;
|
||||
this._applyLabel(label, action, idx, dir, str);
|
||||
this._prevEdited = null;
|
||||
}
|
||||
|
||||
if (this._curEdited) {
|
||||
let [label, action, idx, dir] = this._curEdited;
|
||||
const { label, action, idx, dir } = this._curEdited;
|
||||
this._applyLabel(label, action, idx, dir, str);
|
||||
if (continues)
|
||||
this._prevEdited = this._curEdited;
|
||||
@ -629,10 +629,10 @@ var PadDiagram = GObject.registerClass({
|
||||
return;
|
||||
|
||||
for (let i = 0; i < this._labels.length; i++) {
|
||||
let [label, itemAction, itemIdx, itemDir] = this._labels[i];
|
||||
if (action == itemAction && idx == itemIdx && dir == itemDir) {
|
||||
if (action == this._labels[i].action &&
|
||||
idx == this._labels[i].idx && dir == this._labels[i].dir) {
|
||||
this._curEdited = this._labels[i];
|
||||
editedLabel = label;
|
||||
editedLabel = this._curEdited.label;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user