browser/css/jsdialogs.css | 6 ++++++
browser/src/app/LOUtil.ts | 9 +++++++--
browser/src/control/jsdialog/Widget.Combobox.js | 5 ++++-
3 files changed, 17 insertions(+), 3 deletions(-)
New commits:
commit da2b9b3f3bc747eebdfc779b1da5ca62dcda1c3f
Author: Dennis Francis <
dennis....@collabora.com>
AuthorDate: Fri Apr 17 23:05:10 2026 +0530
Commit: Szymon Kłos <
eszk...@gmail.com>
CommitDate: Tue Apr 21 07:57:51 2026 +0200
browser: submenu entries need extra space for icon in grid
Signed-off-by: Dennis Francis <
dennis....@collabora.com>
Change-Id: I018eafda7aa335167ff5796d193f98211b3fa705
diff --git a/browser/css/jsdialogs.css b/browser/css/jsdialogs.css
index 368e7a6b1e..35a3b555cb 100644
--- a/browser/css/jsdialogs.css
+++ b/browser/css/jsdialogs.css
@@ -1516,6 +1516,12 @@ img.context-menu-icon {
grid-template-columns: 1fr 25px;
align-items: center;
}
+
+/* add extra column space for the icon. */
+.ui-combobox-entry.ui-has-menu.ui-has-img {
+ grid-template-columns: 25px 1fr 25px;
+}
+
/* Arrow/chevron */
.ui-combobox-entry.ui-has-menu::after {
content: '';
diff --git a/browser/src/control/jsdialog/Widget.Combobox.js b/browser/src/control/jsdialog/Widget.Combobox.js
index 8e8c8097d7..16b4a56b0d 100644
--- a/browser/src/control/jsdialog/Widget.Combobox.js
+++ b/browser/src/control/jsdialog/Widget.Combobox.js
@@ -45,6 +45,9 @@ JSDialog.comboboxEntry = function (parentContainer, data, builder) {
var icon = window.L.DomUtil.create('img', 'ui-combobox-icon', entry);
icon.alt = '';
builder._isStringCloseToURL(data.icon) ? icon.src = data.icon : app.LOUtil.setImage(icon, app.LOUtil.getIconNameOfCommand(data.icon), builder.map, true);
+ if (data.hasSubMenu) {
+ window.L.DomUtil.addClass(entry, 'ui-has-img');
+ }
}
if (data.hint) {
commit fa2c843e387fedae6f37b2c0532788114e5814b8
Author: Dennis Francis <
dennis....@collabora.com>
AuthorDate: Fri Apr 17 22:58:20 2026 +0530
Commit: Szymon Kłos <
eszk...@gmail.com>
CommitDate: Tue Apr 21 07:57:51 2026 +0200
browser: context-menu: incorrect layout when no icon
Issue:
Open any calc document and right-click on a cell.
Note that the entry `Paste Special` and `Sparkline` does not align with
the rest of the items in the context menu which have icons.
Solution:
Add placeholder image for the entries without an icon.
Signed-off-by: Dennis Francis <
dennis....@collabora.com>
Change-Id: I3aca2193e2e088426234e408ba74febcba4d5199
diff --git a/browser/src/app/LOUtil.ts b/browser/src/app/LOUtil.ts
index 6dbfe833b9..b5cee8949f 100644
--- a/browser/src/app/LOUtil.ts
+++ b/browser/src/app/LOUtil.ts
@@ -324,10 +324,15 @@ class LOUtil {
return url;
}
- public static setImage(img: HTMLImageElement, name: string, map: any): void {
+ public static setImage(
+ img: HTMLImageElement,
+ name: string,
+ map: any,
+ imageIsLayoutCritical?: boolean,
+ ): void {
const setupIcon = function () {
img.src = LOUtil.getImageURL(name);
- LOUtil.checkIfImageExists(img);
+ LOUtil.checkIfImageExists(img, imageIsLayoutCritical);
};
setupIcon();
diff --git a/browser/src/control/jsdialog/Widget.Combobox.js b/browser/src/control/jsdialog/Widget.Combobox.js
index c58a18b9e5..8e8c8097d7 100644
--- a/browser/src/control/jsdialog/Widget.Combobox.js
+++ b/browser/src/control/jsdialog/Widget.Combobox.js
@@ -44,7 +44,7 @@ JSDialog.comboboxEntry = function (parentContainer, data, builder) {
if (data.icon) {
var icon = window.L.DomUtil.create('img', 'ui-combobox-icon', entry);
icon.alt = '';
- builder._isStringCloseToURL(data.icon) ? icon.src = data.icon : app.LOUtil.setImage(icon, app.LOUtil.getIconNameOfCommand(data.icon), builder.map);
+ builder._isStringCloseToURL(data.icon) ? icon.src = data.icon : app.LOUtil.setImage(icon, app.LOUtil.getIconNameOfCommand(data.icon), builder.map, true);
}
if (data.hint) {