[LyX/master] Fix Disable Editing "Lock" icon protrudes into tab title on macOS

Stephan Witt switt at lyx.org
Tue Mar 2 17:34:41 UTC 2021


commit fde432493d62607f8d6a3bd87adc1b1dcded75aa
Author: Daniel Ramoeller <d.lyx at web.de>
Date:   Mon Feb 22 11:04:10 2021 +0100

    Fix Disable Editing "Lock" icon protrudes into tab title on macOS
    
    On macOS the Disable Editing "Lock" icon protrudes into tab title
    
    Also, since the close button is on the left, the lock is better positioned on the right.
    
    The detour via QIcon is to avoid a pixelated pixmap (because in LyX pixmaps don't adjust by default to the device's pixel ratio correctly).
    
    Also
    
    Fix for bug #12160.
---
 src/frontends/qt/GuiWorkArea.cpp |   11 +++++++++++
 1 files changed, 11 insertions(+), 0 deletions(-)

diff --git a/src/frontends/qt/GuiWorkArea.cpp b/src/frontends/qt/GuiWorkArea.cpp
index 39be80c..2ce276d 100644
--- a/src/frontends/qt/GuiWorkArea.cpp
+++ b/src/frontends/qt/GuiWorkArea.cpp
@@ -2020,10 +2020,21 @@ void TabWorkArea::updateTabTexts()
 			tab_text += "*";
 		QString tab_tooltip = it->abs();
 		if (buf.hasReadonlyFlag()) {
+#ifdef Q_OS_MAC
+			QLabel * readOnlyButton = new QLabel();
+			QIcon icon = QIcon(getPixmap("images/", "emblem-readonly", "svgz,png"));
+			readOnlyButton->setPixmap(icon.pixmap(QSize(16, 16)));
+			tabBar()->setTabButton(tab_index, QTabBar::RightSide, readOnlyButton);
+#else
 			setTabIcon(tab_index, QIcon(getPixmap("images/", "emblem-readonly", "svgz,png")));
+#endif
 			tab_tooltip = qt_("%1 (read only)").arg(tab_tooltip);
 		} else
+#ifdef Q_OS_MAC
+			tabBar()->setTabButton(tab_index, QTabBar::RightSide, 0);
+#else
 			setTabIcon(tab_index, QIcon());
+#endif
 		if (buf.notifiesExternalModification()) {
 			QString const warn = qt_("%1 (modified externally)");
 			tab_tooltip = warn.arg(tab_tooltip);


More information about the lyx-cvs mailing list