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.
This commit is contained in:
Daniel Ramoeller 2021-02-22 11:04:10 +01:00 committed by Stephan Witt
parent c8de36916a
commit fde432493d

View File

@ -2020,10 +2020,21 @@ void TabWorkArea::updateTabTexts()
tab_text += "*"; tab_text += "*";
QString tab_tooltip = it->abs(); QString tab_tooltip = it->abs();
if (buf.hasReadonlyFlag()) { 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"))); setTabIcon(tab_index, QIcon(getPixmap("images/", "emblem-readonly", "svgz,png")));
#endif
tab_tooltip = qt_("%1 (read only)").arg(tab_tooltip); tab_tooltip = qt_("%1 (read only)").arg(tab_tooltip);
} else } else
#ifdef Q_OS_MAC
tabBar()->setTabButton(tab_index, QTabBar::RightSide, 0);
#else
setTabIcon(tab_index, QIcon()); setTabIcon(tab_index, QIcon());
#endif
if (buf.notifiesExternalModification()) { if (buf.notifiesExternalModification()) {
QString const warn = qt_("%1 (modified externally)"); QString const warn = qt_("%1 (modified externally)");
tab_tooltip = warn.arg(tab_tooltip); tab_tooltip = warn.arg(tab_tooltip);