Still, I am wondering why we insist on supporting Qt4 for 2.4.0 (especially considering that we will have to continue this game for 2+ years after that).

I join to your wondering. And here is the patch to at least clean conditional code portions for Qt < 4.8.

Yuriy

From ba021353090922642e0e262db9afffd6d47e254c Mon Sep 17 00:00:00 2001
From: Yuriy Skalko <yuriy.ska...@gmail.com>
Date: Fri, 7 Oct 2022 18:37:53 +0300
Subject: [PATCH] Remove conditional compilation portions for old Qt versions <
 4.8

---
 src/frontends/qt/FancyLineEdit.cpp  |  4 ----
 src/frontends/qt/GuiApplication.cpp |  2 --
 src/frontends/qt/GuiDocument.cpp    |  2 --
 src/frontends/qt/GuiFontLoader.cpp  | 13 -------------
 src/frontends/qt/GuiFontMetrics.cpp |  4 ----
 src/frontends/qt/GuiImage.cpp       |  7 -------
 src/frontends/qt/GuiPrefs.cpp       |  4 ----
 src/frontends/qt/GuiView.cpp        |  6 ------
 src/frontends/qt/Menus.cpp          |  6 ++----
 9 files changed, 2 insertions(+), 46 deletions(-)

diff --git a/src/frontends/qt/FancyLineEdit.cpp 
b/src/frontends/qt/FancyLineEdit.cpp
index b9874d2e89..443094c705 100644
--- a/src/frontends/qt/FancyLineEdit.cpp
+++ b/src/frontends/qt/FancyLineEdit.cpp
@@ -19,8 +19,6 @@
 #include "GuiApplication.h"
 #endif
 
-#if QT_VERSION >= 0x040600
-
 #include <QEvent>
 #include <QDebug>
 #include <QString>
@@ -381,6 +379,4 @@ void IconButton::animateShow(bool visible)
 
 } // namespace lyx
 
-#endif // QT_VERSION >= 0x040600
-
 #include "moc_FancyLineEdit.cpp"
diff --git a/src/frontends/qt/GuiApplication.cpp 
b/src/frontends/qt/GuiApplication.cpp
index ff33065fe3..57293d4b84 100644
--- a/src/frontends/qt/GuiApplication.cpp
+++ b/src/frontends/qt/GuiApplication.cpp
@@ -719,7 +719,6 @@ QPixmap getPixmap(QString const & path, QString const & 
name, QString const & ex
 
 QIcon getIcon(FuncRequest const & f, bool unknown, bool rtl)
 {
-#if (QT_VERSION >= 0x040600)
        if (lyxrc.use_system_theme_icons) {
                // use the icons from system theme that are available
                QString action = toqstr(lyxaction.getActionName(f.action()));
@@ -732,7 +731,6 @@ QIcon getIcon(FuncRequest const & f, bool unknown, bool rtl)
                                return thmicn;
                }
        }
-#endif
 
        IconInfo icondata = iconInfo(f, unknown, rtl);
        if (icondata.filepath.isEmpty())
diff --git a/src/frontends/qt/GuiDocument.cpp b/src/frontends/qt/GuiDocument.cpp
index b3f31302dd..27cc39a775 100644
--- a/src/frontends/qt/GuiDocument.cpp
+++ b/src/frontends/qt/GuiDocument.cpp
@@ -1795,9 +1795,7 @@ GuiDocument::GuiDocument(GuiView & lv)
        docPS->setCurrentPanel("Document Class");
 // FIXME: hack to work around resizing bug in Qt >= 4.2
 // bug verified with Qt 4.2.{0-3} (JSpitzm)
-#if QT_VERSION >= 0x040200
        docPS->updateGeometry();
-#endif
 }
 
 
diff --git a/src/frontends/qt/GuiFontLoader.cpp 
b/src/frontends/qt/GuiFontLoader.cpp
index a47e555092..5ff54108bb 100644
--- a/src/frontends/qt/GuiFontLoader.cpp
+++ b/src/frontends/qt/GuiFontLoader.cpp
@@ -190,9 +190,7 @@ static bool isChosenFont(QFont & font, QString const & 
family,
        LYXERR_NOPOS(Debug::FONT, "got: " << fi.family());
 
        if (fi.family().contains(family)
-#if QT_VERSION >= 0x040800
            && (style.isEmpty() || fi.styleName().contains(style))
-#endif
            ) {
                LYXERR_NOENDL(Debug::FONT, " got it ");
                return true;
@@ -220,7 +218,6 @@ QFont symbolFont(QString const & family, bool * ok)
                font.setFamily(family);
        }
        font.setStyleStrategy(QFont::NoFontMerging);
-#if QT_VERSION >= 0x040800
        font.setStyleName("LyX");
 
        if (isChosenFont(font, family, "LyX")) {
@@ -231,7 +228,6 @@ QFont symbolFont(QString const & family, bool * ok)
 
        LYXERR_NOENDL(Debug::FONT, "Trying normal " << family << " ... ");
        font.setStyleName(QString());
-#endif
 
        if (isChosenFont(font, family, QString())) {
                LYXERR_NOPOS(Debug::FONT, "normal!");
@@ -336,15 +332,6 @@ QFont makeQFont(FontInfo const & f)
                        QString family = 
makeFontName(toqstr(lyxrc.roman_font_name),
                                toqstr(lyxrc.roman_font_foundry));
                        font.setFamily(family);
-#ifdef Q_OS_MAC
-#if QT_VERSION >= 0x040300 //&& QT_VERSION < 0x040800
-                       // Workaround for a Qt bug, see 
http://www.lyx.org/trac/ticket/3684
-                       // and 
http://bugreports.qt.nokia.com/browse/QTBUG-11145.
-                       // FIXME: Check whether this is really fixed in Qt 4.8
-                       if (family == "Times" && !font.exactMatch())
-                               font.setFamily("Times New Roman");
-#endif
-#endif
                        break;
                }
                case SANS_FAMILY:
diff --git a/src/frontends/qt/GuiFontMetrics.cpp 
b/src/frontends/qt/GuiFontMetrics.cpp
index 54d5fbd2ea..71886433ae 100644
--- a/src/frontends/qt/GuiFontMetrics.cpp
+++ b/src/frontends/qt/GuiFontMetrics.cpp
@@ -292,11 +292,7 @@ int GuiFontMetrics::width(docstring const & s) const
        */
        int w = 0;
        // is the string a single character from a math font ?
-#if QT_VERSION >= 0x040800
        bool const math_char = s.length() == 1 && font_.styleName() == "LyX";
-#else
-       bool const math_char = s.length() == 1;
-#endif
        if (math_char) {
                QString const qs = toqstr(s);
                int br_width = metrics_.boundingRect(qs).width();
diff --git a/src/frontends/qt/GuiImage.cpp b/src/frontends/qt/GuiImage.cpp
index 6e4c0723a3..9c0b96eb0e 100644
--- a/src/frontends/qt/GuiImage.cpp
+++ b/src/frontends/qt/GuiImage.cpp
@@ -198,13 +198,6 @@ bool GuiImage::scale(Params const & params)
        qreal scale = qreal(params.scale) / 100.0;
 #endif
 
-#if (QT_VERSION >= 0x040500) && (QT_VERSION <= 0x040502)
-       // Due to a bug in Qt, LyX will crash for certain
-       // scaling factors and sizes of the image.
-       // see bug #5957: http://www.lyx.org/trac/ticket/5957
-       scale += 0.0001;
-#endif
-
        QTransform m;
        m.scale(scale, scale);
        // Bilinear filtering is used to scale graphics preview
diff --git a/src/frontends/qt/GuiPrefs.cpp b/src/frontends/qt/GuiPrefs.cpp
index 5fa3b940d4..9611b7bfcb 100644
--- a/src/frontends/qt/GuiPrefs.cpp
+++ b/src/frontends/qt/GuiPrefs.cpp
@@ -2634,11 +2634,9 @@ PrefUserInterface::PrefUserInterface(GuiPreferences * 
form)
        iconSetCO->addItem(qt_("Classic"), "classic");
        iconSetCO->addItem(qt_("Oxygen"), "oxygen");
 
-#if QT_VERSION >= 0x040600
        if (guiApp->platformName() != "qt4x11"
            && guiApp->platformName() != "xcb"
            && !guiApp->platformName().contains("wayland"))
-#endif
                useSystemThemeIconsCB->hide();
 }
 
@@ -3572,9 +3570,7 @@ GuiPreferences::GuiPreferences(GuiView & lv)
        prefsPS->setCurrentPanel("User Interface");
 // FIXME: hack to work around resizing bug in Qt >= 4.2
 // bug verified with Qt 4.2.{0-3} (JSpitzm)
-#if QT_VERSION >= 0x040200
        prefsPS->updateGeometry();
-#endif
 
        bc().setPolicy(ButtonPolicy::PreferencesPolicy);
        bc().setOK(buttonBox->button(QDialogButtonBox::Ok));
diff --git a/src/frontends/qt/GuiView.cpp b/src/frontends/qt/GuiView.cpp
index 24d6703e30..d4d719199e 100644
--- a/src/frontends/qt/GuiView.cpp
+++ b/src/frontends/qt/GuiView.cpp
@@ -606,16 +606,10 @@ GuiView::GuiView(int id)
        setAttribute(Qt::WA_DeleteOnClose, true);
 
 #if !(defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN)) && !defined(Q_OS_MAC)
-       // QIcon::fromTheme was introduced in Qt 4.6
-#if (QT_VERSION >= 0x040600)
        // assign an icon to main form. We do not do it under Qt/Win or Qt/Mac,
        // since the icon is provided in the application bundle. We use a themed
        // version when available and use the bundled one as fallback.
        setWindowIcon(QIcon::fromTheme("lyx", getPixmap("images/", "lyx", 
"svg,png")));
-#else
-       setWindowIcon(getPixmap("images/", "lyx", "svg,png"));
-#endif
-
 #endif
        resetWindowTitle();
 
diff --git a/src/frontends/qt/Menus.cpp b/src/frontends/qt/Menus.cpp
index 6b0c12b821..d6b63d7d94 100644
--- a/src/frontends/qt/Menus.cpp
+++ b/src/frontends/qt/Menus.cpp
@@ -77,9 +77,7 @@
 #include <QList>
 #include <QMenuBar>
 #include <QString>
-#if QT_VERSION >= 0x040600
 #include <QProxyStyle>
-#endif
 
 #include <algorithm>
 #include <memory>
@@ -2146,7 +2144,7 @@ void Menu::Impl::populate(QMenu * qMenu, MenuDefinition 
const & menu)
                }
 }
 
-#if (defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN)) && (QT_VERSION >= 0x040600)
+#if (defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN))
 class AlwaysMnemonicStyle : public QProxyStyle {
 public:
        int styleHint(StyleHint hint, const QStyleOption *opt = 0, const 
QWidget *widget = 0,
@@ -2166,7 +2164,7 @@ public:
 Menu::Menu(GuiView * gv, QString const & name, bool top_level, bool keyboard)
 : QMenu(gv), d(new Menu::Impl)
 {
-#if (defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN)) && (QT_VERSION >= 0x040600)
+#if (defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN))
        if (keyboard)
                setStyle(new AlwaysMnemonicStyle);
 #else
-- 
2.28.0.windows.1

-- 
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to