]> git.lyx.org Git - lyx.git/commitdiff
Get rid of Qt4 code in src/
authorJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 18 Nov 2022 16:19:50 +0000 (17:19 +0100)
committerJean-Marc Lasgouttes <lasgouttes@lyx.org>
Fri, 18 Nov 2022 16:19:50 +0000 (17:19 +0100)
Qt4 code has been identidifed by
  git grep -l 'QT_VERSION.*\(0x050000\|0x04\)' src

Uses of QT_VERSION_CHECK have been checked too.

been used to remember what places need further work.

Then remaining Qt4 references have been searched using
  git grep -i qt4
  git grep -i 'qt 4'
and relevant issues have been either fixed or noted in the new
TODO.killqt4 file.

28 files changed:
TODO.killqt4 [new file with mode: 0644]
src/frontends/qt/FancyLineEdit.cpp
src/frontends/qt/GuiApplication.cpp
src/frontends/qt/GuiApplication.h
src/frontends/qt/GuiBibtex.cpp
src/frontends/qt/GuiCitation.cpp
src/frontends/qt/GuiDocument.cpp
src/frontends/qt/GuiFontLoader.cpp
src/frontends/qt/GuiFontMetrics.cpp
src/frontends/qt/GuiFontMetrics.h
src/frontends/qt/GuiImage.cpp
src/frontends/qt/GuiKeySymbol.cpp
src/frontends/qt/GuiLyXFiles.cpp
src/frontends/qt/GuiPainter.cpp
src/frontends/qt/GuiPrefs.cpp
src/frontends/qt/GuiRef.cpp
src/frontends/qt/GuiSearch.cpp
src/frontends/qt/GuiToolbar.cpp
src/frontends/qt/GuiView.cpp
src/frontends/qt/GuiWorkArea.cpp
src/frontends/qt/Menus.cpp
src/frontends/qt/TocWidget.cpp
src/frontends/qt/qt_helpers.cpp
src/lyxfind.cpp
src/support/FileMonitor.cpp
src/support/FileName.cpp
src/support/Package.cpp
src/support/filetools.cpp

diff --git a/TODO.killqt4 b/TODO.killqt4
new file mode 100644 (file)
index 0000000..86254fb
--- /dev/null
@@ -0,0 +1,16 @@
+Things left to do after killing Qt4 (obtained by grepping for Qt4 and 'Qt 4'):
+* look at the FIXME KILLQT4 comments in src/ and resolve them
+* update README
+* update INSTALL
+* update INSTALL.cmake
+* update INSTALL.MacOSX
+* update autoconf
+see also lib/RELEASE-NOTES
+* update cmake
+* check whether development/autotests/keytest.py really needs QT4
+  investigate references to Qt4 in keytest
+* update or remove development/lyx.rpm.README
+* update or remove development/lyxserver/server_monitor.cpp
+* update or remove development/tools/count_total_lines_of_compiled_code.sh
+* check references to qt4 in lib/symbols
+
index b9874d2e89389a25e7b9ea2c6986544843b4bcbe..666ad5fdce5b863f8039e3e217c8d1432a86fead 100644 (file)
@@ -19,8 +19,6 @@
 #include "GuiApplication.h"
 #endif
 
-#if QT_VERSION >= 0x040600
-
 #include <QEvent>
 #include <QDebug>
 #include <QString>
@@ -33,9 +31,7 @@
 #include <QPainter>
 #include <QStyle>
 #include <QPaintEvent>
-#if QT_VERSION >= 0x050000
 #include <QWindow>
-#endif
 
 enum { margin = 6 };
 
@@ -120,7 +116,7 @@ FancyLineEdit::FancyLineEdit(QWidget *parent) :
 {
        ensurePolished();
        updateMargins();
-       
+
        connect(this, SIGNAL(textChanged(QString)),
                this, SLOT(checkButtons(QString)));
        connect(m_d->m_iconbutton[Left], SIGNAL(clicked()),
@@ -198,10 +194,8 @@ void FancyLineEdit::updateMargins()
        Side realRight = (leftToRight ? Right : Left);
 
        qreal dpr = 1.0;
-#if QT_VERSION >= 0x050000
        // Consider device/pixel ratio (HiDPI)
        dpr = devicePixelRatio();
-#endif
        int leftMargin = (m_d->m_iconbutton[realLeft]->pixmap().width() / dpr ) + 8;
        int rightMargin = (m_d->m_iconbutton[realRight]->pixmap().width() / dpr) + 8;
        // Note KDE does not reserve space for the highlight color
@@ -224,7 +218,7 @@ void FancyLineEdit::updateButtonPositions()
                Side iconpos = (Side)i;
                if (layoutDirection() == Qt::RightToLeft)
                        iconpos = (iconpos == Left ? Right : Left);
-               
+
                if (iconpos == FancyLineEdit::Right) {
                        const int iconoffset = textMargins().right() + 4;
                        m_d->m_iconbutton[i]->setGeometry(
@@ -342,12 +336,9 @@ IconButton::IconButton(QWidget *parent)
 
 void IconButton::paintEvent(QPaintEvent *)
 {
-       qreal dpr = 1.0;
-#if QT_VERSION >= 0x050000
        // Consider device/pixel ratio (HiDPI)
        QWindow * window = this->window()->windowHandle();
-       dpr = window->devicePixelRatio();
-#endif
+       qreal const dpr = window->devicePixelRatio();
        QRect pixmapRect(QPoint(), m_pixmap.size() / dpr);
        pixmapRect.moveCenter(rect().center());
        QPixmap pm = m_pixmap;
@@ -381,6 +372,4 @@ void IconButton::animateShow(bool visible)
 
 } // namespace lyx
 
-#endif // QT_VERSION >= 0x040600
-
 #include "moc_FancyLineEdit.cpp"
index ff33065fe34fe313fd051ef1d21227d614f02ec2..3e847435e27bf5fcd94f6acbf2b19be7e5fe8e23 100644 (file)
 #endif
 #endif
 
-#if (QT_VERSION < 0x050000) || (QT_VERSION >= 0x050400)
+#if (QT_VERSION >= 0x050400)
 #if defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN)
-#if (QT_VERSION < 0x050000)
-#include <QWindowsMime>
-#define QWINDOWSMIME QWindowsMime
-#define QVARIANTTYPE QVariant::Type
-#elif (QT_VERSION >= 0x060000)
+#if (QT_VERSION >= 0x060000)
 #include <QtGui/private/qguiapplication_p.h>
 #include <QtGui/private/qwindowsmime_p.h>
 #include <QtGui/qpa/qplatformintegration.h>
@@ -719,7 +715,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 +727,6 @@ QIcon getIcon(FuncRequest const & f, bool unknown, bool rtl)
                                return thmicn;
                }
        }
-#endif
 
        IconInfo icondata = iconInfo(f, unknown, rtl);
        if (icondata.filepath.isEmpty())
@@ -784,11 +778,7 @@ public:
 
        QString translate(const char * /* context */,
                const char *sourceText,
-#if QT_VERSION >= 0x050000
                const char * /* disambiguation */ = nullptr, int /* n */ = -1) const override
-#else
-               const char * /*comment*/ = 0) const override
-#endif
        {
                // Here we declare the strings that need to be translated from Qt own GUI
                // This is needed to include these strings to po files
@@ -879,7 +869,7 @@ public:
 ////////////////////////////////////////////////////////////////////////
 // Windows specific stuff goes here...
 
-#if (QT_VERSION < 0x050000) || (QT_VERSION >= 0x050400)
+#if (QT_VERSION >= 0x050400)
 #if defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN)
 // QWindowsMimeMetafile can only be compiled on Windows.
 
@@ -1045,7 +1035,7 @@ struct GuiApplication::Private
                , last_state_(Qt::ApplicationInactive)
        #endif
        {
-       #if (QT_VERSION < 0x050000) || (QT_VERSION >= 0x050400)
+       #if (QT_VERSION >= 0x050400)
        #if defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN)
                /// WMF Mime handler for Windows clipboard.
                wmf_mime_ = new QWindowsMimeMetafile;
@@ -1134,7 +1124,7 @@ struct GuiApplication::Private
        QMacPasteboardMimeGraphics mac_pasteboard_mime_;
 #endif
 
-#if (QT_VERSION < 0x050000) || (QT_VERSION >= 0x050400)
+#if (QT_VERSION >= 0x050400)
 #if defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN)
        /// WMF Mime handler for Windows clipboard.
        QWindowsMimeMetafile * wmf_mime_;
@@ -1239,11 +1229,8 @@ GuiApplication::GuiApplication(int & argc, char ** argv)
        if (lyxrc.typewriter_font_name.empty())
                lyxrc.typewriter_font_name = fromqstr(typewriterFontName());
 
-#if (QT_VERSION >= 0x050000)
-       // Qt4 does this in event(), see below.
        // Track change of keyboard
        connect(inputMethod(), SIGNAL(localeChanged()), this, SLOT(onLocaleChanged()));
-#endif
 
        d->general_timer_.setInterval(500);
        connect(&d->general_timer_, SIGNAL(timeout()),
@@ -1266,36 +1253,9 @@ GuiApplication * theGuiApp()
 }
 
 
-#if QT_VERSION < 0x050000
-// Emulate platformName() for Qt4
-
-// FIXME: when ditching this method, remove all tests
-//     platformName() == "qt4x11"
-// in the code
-QString GuiApplication::platformName() const
-{
-# if defined(Q_WS_X11)
-       // Note that this one does not really exist
-       return "qt4x11";
-# elif defined(Q_OS_MAC)
-       return "cocoa";
-# elif defined(Q_OS_WIN) || defined(Q_CYGWIN_WIN)
-       return "windows";
-# else
-       LYXERR0("Unknown platform!");
-       return "unknown";
-# endif
-}
-#endif
-
-
 double GuiApplication::pixelRatio() const
 {
-#if QT_VERSION >= 0x050000
        return qt_scale_factor * devicePixelRatio();
-#else
-       return 1.0;
-#endif
 }
 
 
@@ -2363,11 +2323,7 @@ docstring GuiApplication::viewStatusMessage()
 
 string GuiApplication::inputLanguageCode() const
 {
-#if (QT_VERSION < 0x050000)
-       QLocale loc = keyboardInputLocale();
-#else
        QLocale loc = inputMethod()->locale();
-#endif
        //LYXERR0("input lang = " << fromqstr(loc.name()));
        return loc.name() == "C" ? "en_US" : fromqstr(loc.name());
 }
@@ -2862,12 +2818,10 @@ void GuiApplication::execBatchCommands()
                return;
 
 #ifdef Q_OS_MAC
-#if QT_VERSION > 0x040600
        setAttribute(Qt::AA_MacDontSwapCtrlAndMeta,lyxrc.mac_dontswap_ctrl_meta);
-#endif
-#if QT_VERSION >= 0x050000 && QT_VERSION < 0x060000
+#  if QT_VERSION < 0x060000
        setAttribute(Qt::AA_UseHighDpiPixmaps,true);
-#endif
+#  endif
        // Create the global default menubar which is shown for the dialogs
        // and if no GuiView is visible.
        // This must be done after the session was recovered to know the "last files".
@@ -3033,15 +2987,6 @@ bool GuiApplication::event(QEvent * e)
                e->accept();
                return true;
        }
-#if (QT_VERSION < 0x050000)
-       // Qt5 uses a signal for that, see above.
-       case QEvent::KeyboardLayoutChange:
-               //LYXERR0("keyboard change");
-               if (currentView() && currentView()->currentBufferView())
-                       currentView()->currentBufferView()->cursor().setLanguageFromInput();
-               e->accept();
-               return true;
-#endif
        case QEvent::ApplicationPaletteChange: {
                // runtime switch from/to dark mode
                onPaletteChanged();
index e40815e8be2495337cd92e152f033b1e11395fca..4aa99504ce4b61cb3dd3fe809859f0bc3c76da57 100644 (file)
@@ -164,21 +164,12 @@ public:
        ///
        GuiView & view(int id) const;
 
-#if (QT_VERSION < 0x050000)
-       /// Emulate platformName() for Qt4
-       QString platformName() const;
-#endif
-
        /// Current ratio between physical pixels and device-independent pixels
        double pixelRatio() const;
 
        /// How to load image files
        support::search_mode imageSearchMode() const {
-#if QT_VERSION >= 0x050000
                return pixelRatio() > 1 ? support::check_hidpi : support::must_exist;
-#else
-               return support::must_exist;
-#endif
        }
 
        /// return true if the key is part of a shortcut
index 3c71884246aee54333104190f37ec6568d024da1..b9c928a2de7448b1ab1597f29aec6d5c3a7a368e 100644 (file)
@@ -108,13 +108,8 @@ GuiBibtex::GuiBibtex(GuiView & lv)
                this, SLOT(filterChanged(QString)));
        connect(filter_, SIGNAL(returnPressed()),
                this, SLOT(filterPressed()));
-#if (QT_VERSION < 0x050000)
-       connect(filter_, SIGNAL(downPressed()),
-               availableLV, SLOT(setFocus()));
-#else
        connect(filter_, &FancyLineEdit::downPressed,
                availableLV, [this](){ focusAndHighlight(availableLV); });
-#endif
 
        availableLV->setToolTip(formatToolTip(qt_("This list consists of all databases that are indexed by LaTeX and thus are found without a file path. "
                                    "This is usually everything in the bib/ subdirectory of LaTeX's texmf tree. "
@@ -129,11 +124,7 @@ GuiBibtex::GuiBibtex(GuiView & lv)
        bc().addReadOnly(bibtocCB);
        bc().addReadOnly(bibEncodingCO);
 
-#if (QT_VERSION < 0x050000)
-       selectedLV->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
-#else
        selectedLV->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
-#endif
 
        // Always put the default encoding in the first position.
        bibEncodingCO->addItem(qt_("Document Encoding"), "default");
index 4b5548803b4b288f8709b80d9a6eee16d4309e65..c5fa26631098b17c331d78b0fc71ea603b2b0c45 100644 (file)
@@ -153,13 +153,8 @@ GuiCitation::GuiCitation(GuiView & lv)
                this, SLOT(filterChanged(QString)));
        connect(filter_, SIGNAL(returnPressed()),
                this, SLOT(filterPressed()));
-#if (QT_VERSION < 0x050000)
-       connect(filter_, SIGNAL(downPressed()),
-               availableLV, SLOT(setFocus()));
-#else
        connect(filter_, &FancyLineEdit::downPressed,
                availableLV, [this](){ focusAndHighlight(availableLV); });
-#endif
        connect(regexp_, SIGNAL(triggered()),
                this, SLOT(regexChanged()));
        connect(casesense_, SIGNAL(triggered()),
@@ -167,11 +162,7 @@ GuiCitation::GuiCitation(GuiView & lv)
        connect(instant_, SIGNAL(triggered(bool)),
                this, SLOT(instantChanged(bool)));
 
-#if (QT_VERSION < 0x050000)
-       selectedLV->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
-#else
        selectedLV->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
-#endif
 
        selectedLV->setToolTip(qt_("Ordered list of all cited references.\n"
                                   "You can reorder, add and remove references with the buttons on the left."));
index b3f31302ddbc58e8a10d2b9058fba28e4982607d..ff6c2dffa8bed218c549125e81651231adcb23d0 100644 (file)
@@ -909,13 +909,8 @@ GuiDocument::GuiDocument(GuiView & lv)
        masterChildModule->childrenTW->setColumnCount(2);
        masterChildModule->childrenTW->headerItem()->setText(0, qt_("Child Document"));
        masterChildModule->childrenTW->headerItem()->setText(1, qt_("Include to Output"));
-#if (QT_VERSION > 0x050000)
-        masterChildModule->childrenTW->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
-        masterChildModule->childrenTW->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
-#else
-        masterChildModule->childrenTW->header()->setResizeMode(0, QHeaderView::ResizeToContents);
-        masterChildModule->childrenTW->header()->setResizeMode(1, QHeaderView::ResizeToContents);
-#endif
+       masterChildModule->childrenTW->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
+       masterChildModule->childrenTW->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
 
        // Formats
        outputModule = new UiWidget<Ui::OutputUi>(this);
@@ -1679,13 +1674,8 @@ GuiDocument::GuiDocument(GuiView & lv)
                this, SLOT(moduleFilterChanged(QString)));
        connect(filter_, SIGNAL(returnPressed()),
                this, SLOT(moduleFilterPressed()));
-#if (QT_VERSION < 0x050000)
-       connect(filter_, SIGNAL(downPressed()),
-               modulesModule->availableLV, SLOT(setFocus()));
-#else
        connect(filter_, &FancyLineEdit::downPressed,
                modulesModule->availableLV, [this](){ focusAndHighlight(modulesModule->availableLV); });
-#endif
 
 
        // PDF support
@@ -1793,11 +1783,10 @@ GuiDocument::GuiDocument(GuiView & lv)
        docPS->addPanel(outputModule, N_("Formats[[output]]"));
        docPS->addPanel(preambleModule, N_("LaTeX Preamble"));
        docPS->setCurrentPanel("Document Class");
+// FIXME KILLQT4: check that this is still needed (is this workaround still needed?)
 // 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
 }
 
 
index a47e55509295e8a05017029bc07637a9a86f7e54..ebc38575558cdc6b2911e3e0fa2c706ecdeb25da 100644 (file)
@@ -66,27 +66,9 @@ namespace {
 struct SymbolFont {
        FontFamily lyx_family;
        QString family;
-#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
-       QString xlfd;
-#endif
 };
 
 SymbolFont symbol_fonts[] = {
-#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
-       { SYMBOL_FAMILY,"symbol", "-*-symbol-*-*-*-*-*-*-*-*-*-*-adobe-fontspecific"},
-       { CMR_FAMILY,   "cmr10",  "-*-cmr10-medium-*-*-*-*-*-*-*-*-*-*-*" },
-       { CMSY_FAMILY,  "cmsy10", "-*-cmsy10-*-*-*-*-*-*-*-*-*-*-*-*" },
-       { CMM_FAMILY,   "cmmi10", "-*-cmmi10-medium-*-*-*-*-*-*-*-*-*-*-*" },
-       { CMEX_FAMILY,  "cmex10", "-*-cmex10-*-*-*-*-*-*-*-*-*-*-*-*" },
-       { MSA_FAMILY,   "msam10", "-*-msam10-*-*-*-*-*-*-*-*-*-*-*-*" },
-       { MSB_FAMILY,   "msbm10", "-*-msbm10-*-*-*-*-*-*-*-*-*-*-*-*" },
-       { DS_FAMILY,    "dsrom10", "-*-dsrom10-*-*-*-*-*-*-*-*-*-*-*-*" },
-       { EUFRAK_FAMILY,"eufm10", "-*-eufm10-medium-*-*-*-*-*-*-*-*-*-*-*" },
-       { RSFS_FAMILY,  "rsfs10", "-*-rsfs10-medium-*-*-*-*-*-*-*-*-*-*-*" },
-       { STMARY_FAMILY,"stmary10","-*-stmary10-medium-*-*-*-*-*-*-*-*-*-*-*" },
-       { WASY_FAMILY,  "wasy10", "-*-wasy10-medium-*-*-*-*-*-*-*-*-*-*-*" },
-       { ESINT_FAMILY, "esint10","-*-esint10-medium-*-*-*-*-*-*-*-*-*-*-*" }
-#else
        { SYMBOL_FAMILY,"symbol"},
        { CMR_FAMILY,   "cmr10"},
        { CMSY_FAMILY,  "cmsy10"},
@@ -100,7 +82,6 @@ SymbolFont symbol_fonts[] = {
        { STMARY_FAMILY,"stmary10"},
        { WASY_FAMILY,  "wasy10"},
        { ESINT_FAMILY, "esint10"}
-#endif
 };
 
 size_t const nr_symbol_fonts = sizeof(symbol_fonts) / sizeof(symbol_fonts[0]);
@@ -147,19 +128,6 @@ GuiFontInfo & fontinfo(FontInfo const & f)
 }
 
 
-#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
-QString rawName(QString const & family)
-{
-       for (size_t i = 0; i < nr_symbol_fonts; ++i)
-               if (family == symbol_fonts[i].family)
-                       return symbol_fonts[i].xlfd;
-
-       LYXERR(Debug::FONT, "BUG: family not found !");
-       return QString();
-}
-#endif
-
-
 QString symbolFamily(FontFamily family)
 {
        for (size_t i = 0; i < nr_symbol_fonts; ++i) {
@@ -190,10 +158,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
-           ) {
+           && (style.isEmpty() || fi.styleName().contains(style))) {
                LYXERR_NOENDL(Debug::FONT, " got it ");
                return true;
        }
@@ -209,8 +174,7 @@ QFont symbolFont(QString const & family, bool * ok)
        upper[0] = family[0].toUpper();
 
        QFont font;
-       if (guiApp->platformName() == "qt4x11"
-           || guiApp->platformName() == "xcb"
+       if (guiApp->platformName() == "xcb"
            || guiApp->platformName().contains("wayland")) {
                // On *nix we have to also specify the foundry to be able to
                // discriminate our fonts when the texlive fonts are managed by
@@ -220,7 +184,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 +194,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!");
@@ -248,20 +210,6 @@ QFont symbolFont(QString const & family, bool * ok)
                return font;
        }
 
-#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
-       // A simple setFamily() fails on Qt 2
-
-       QString const raw = rawName(family);
-       LYXERR_NOENDL(Debug::FONT, "Trying " << raw << " ... ");
-       font.setRawName(raw);
-
-       if (isChosenFont(font, family, QString())) {
-               LYXERR_NOPOS(Debug::FONT, "raw version!");
-               *ok = true;
-               return font;
-       }
-#endif
-
        LYXERR_NOPOS(Debug::FONT, " FAILED :-(");
        *ok = false;
        return font;
@@ -337,13 +285,12 @@ QFont makeQFont(FontInfo const & f)
                                toqstr(lyxrc.roman_font_foundry));
                        font.setFamily(family);
 #ifdef Q_OS_MAC
-#if QT_VERSION >= 0x040300 //&& QT_VERSION < 0x040800
+                       // FIXME KILLQT4: Double-check that this is fixed in Qt5
                        // 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;
                }
@@ -394,10 +341,6 @@ QFont makeQFont(FontInfo const & f)
        else
                LYXERR(Debug::FONT, "This font is NOT an exact match");
 
-#if (QT_VERSION < QT_VERSION_CHECK(5, 0, 0))
-       LYXERR(Debug::FONT, "XFLD: " << font.rawName());
-#endif
-
        font.setPointSizeF(f.realSize() * lyxrc.currentZoom / 100.0);
 
        LYXERR(Debug::FONT, "The font has size: " << font.pointSizeF());
@@ -453,13 +396,9 @@ bool FontLoader::canBeDisplayed(char_type c)
 {
        // bug 8493
        if (c == 0x0009)
+               // FIXME KILLQT4: get rid of this function if not needed anymore
                // FIXME check whether this is still needed for Qt5
                return false;
-#if QT_VERSION < 0x050000 && defined(QT_MAC_USE_COCOA) && (QT_MAC_USE_COCOA > 0)
-       // bug 7954, see also comment in GuiPainter::text()
-       if (c == 0x00ad)
-               return false;
-#endif
        return true;
 }
 
index cc3a32929bc5299132fb83d80b5eec7f6f233606..bde48c045a0b537c9aa4e77e06829eea8546f651 100644 (file)
@@ -53,14 +53,6 @@ using namespace lyx::support;
 #endif
 
 
-#if QT_VERSION < 0x050000
-inline uint qHash(double key)
-{
-       return qHash(QByteArray(reinterpret_cast<char const *>(&key), sizeof(key)));
-}
-#endif
-
-
 namespace std {
 
 /*
@@ -91,7 +83,8 @@ int const strwidth_cache_max_cost = 1024 * 1024;
 int const breakstr_cache_max_cost = 10 * 1024 * 1024;
 // Qt 5.x already has its own caching of QTextLayout objects
 // but it does not seem to work well on MacOS X.
-#if (QT_VERSION < 0x050000) || defined(Q_OS_MAC)
+#if defined(Q_OS_MAC)
+//FIXME KILLQT4: check wether setting the cache to 0 hurts on macOS
 // Limit qtextlayout_cache_ size to 500 elements (we do not know the
 // size of the QTextLayout objects anyway).
 int const qtextlayout_cache_max_size = 500;
@@ -291,11 +284,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();
@@ -354,7 +343,7 @@ struct TextLayoutHelper
        /// \c s is the original string
        /// \c isrtl is true if the string is right-to-left
        /// \c naked is true to disable the insertion of zero width annotations
-       /// FIXME: remove \c naked argument when Qt4 support goes away.
+       /// FIXME KILLQT4: remove \c naked argument when Qt4 support goes away.
        TextLayoutHelper(docstring const & s, bool isrtl, bool naked = false);
 
        /// translate QString index to docstring index
index 0187c5c85ff762488ea312685211aec6baa5f59d..ff2f0a33b8cafbe9bb6a8a1dfedcc74969f4a024 100644 (file)
@@ -120,7 +120,7 @@ private:
        double slope_;
 
        /// If true, avoid extra annotation in string for QTextLayout
-       // FIXME: remove wen Qt4 suport goes away
+       // FIXME KILLQT4: remove when Qt4 suport goes away
        bool needs_naked_ = false;
 
        /// Cache of char widths
index 6e4c0723a3e15f612bdaa927d813a74651b851dc..e73a7985c5e91409837e898ebe872e24ab886d70 100644 (file)
@@ -64,25 +64,17 @@ QImage const & GuiImage::image() const
 
 unsigned int GuiImage::width() const
 {
-#if QT_VERSION >= 0x050000
        return static_cast<unsigned int>(ceil(is_transformed_ ?
                (transformed_.width() / transformed_.devicePixelRatio()) :
                (original_.width() / original_.devicePixelRatio())));
-#else
-       return is_transformed_ ? transformed_.width() : original_.width();
-#endif
 }
 
 
 unsigned int GuiImage::height() const
 {
-#if QT_VERSION >= 0x050000
        return static_cast<unsigned int>(ceil(is_transformed_ ?
                (transformed_.height() / transformed_.devicePixelRatio()) :
                (original_.height() / original_.devicePixelRatio())));
-#else
-       return is_transformed_ ? transformed_.height() : original_.height();
-#endif
 }
 
 
@@ -117,9 +109,7 @@ bool GuiImage::setPixmap(Params const & params)
                        return false;
        }
 
-#if QT_VERSION >= 0x050000
        original_.setDevicePixelRatio(params.pixel_ratio);
-#endif
 
        is_transformed_ = clip(params);
        is_transformed_ |= rotate(params);
@@ -141,14 +131,9 @@ bool GuiImage::clip(Params const & params)
                // No clipping is necessary.
                return false;
 
-#if QT_VERSION >= 0x050000
        double const pixelRatio = is_transformed_ ? transformed_.devicePixelRatio() : original_.devicePixelRatio();
        int const new_width  = static_cast<int>((params.bb.xr.inBP() - params.bb.xl.inBP()) * pixelRatio);
        int const new_height = static_cast<int>((params.bb.yt.inBP() - params.bb.yb.inBP()) * pixelRatio);
-#else
-       int const new_width  = static_cast<int>((params.bb.xr.inBP() - params.bb.xl.inBP()));
-       int const new_height = static_cast<int>((params.bb.yt.inBP() - params.bb.yb.inBP()));
-#endif
 
        QImage const & image = is_transformed_ ? transformed_ : original_;
 
@@ -191,19 +176,8 @@ bool GuiImage::scale(Params const & params)
        if (params.scale == 100)
                return false;
 
-#if QT_VERSION >= 0x050000
        double const pixelRatio = is_transformed_ ? transformed_.devicePixelRatio() : original_.devicePixelRatio();
-       qreal scale = qreal(params.scale) / 100.0 * pixelRatio;
-#else
-       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
+       qreal const scale = qreal(params.scale) / 100.0 * pixelRatio;
 
        QTransform m;
        m.scale(scale, scale);
index 551ea8dc6dbe4de27fdda1312d4a2f122acb8495..47cadeae57eff5605d732c314469a32d6ff8dbff 100644 (file)
@@ -11,7 +11,7 @@
 #include <config.h>
 
 #include "GuiKeySymbol.h"
-#if defined(Q_OS_MAC) && QT_VERSION > 0x050000
+#if defined(Q_OS_MAC)
 #include "GuiApplication.h"
 #endif
 #include "qt_helpers.h"
@@ -867,7 +867,7 @@ bool KeySymbol::operator==(KeySymbol const & ks) const
 KeyModifier q_key_state(Qt::KeyboardModifiers state)
 {
        KeyModifier k = NoModifier;
-#if defined(Q_OS_MAC) && (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0)) && (QT_VERSION < QT_VERSION_CHECK(5, 12, 0))
+#if defined(Q_OS_MAC) && (QT_VERSION < QT_VERSION_CHECK(5, 12, 0))
        /// Additional check for Control and Meta modifier swap state.
        /// Starting with Qt 5 the modifiers aren't reported correctly.
        /// Until this is fixed a correction is required.
index 2c97f2baa243b60adf0b289a7b41373dfcd6225f..1bfbdbb5ce2b5dd620fd922db2cfa33b2e7b5fc6 100644 (file)
@@ -189,13 +189,8 @@ GuiLyXFiles::GuiLyXFiles(GuiView & lv)
        filter_->setClearButton(true);
        filter_->setPlaceholderText(qt_("All available files"));
        filter_->setToolTip(qt_("Enter string to filter the list of available files"));
-#if (QT_VERSION < 0x050000)
-       connect(filter_, SIGNAL(downPressed()),
-               filesLW, SLOT(setFocus()));
-#else
        connect(filter_, &FancyLineEdit::downPressed,
                filesLW, [this](){ focusAndHighlight(filesLW); });
-#endif
 
        filterBarL->addWidget(filter_, 0);
        findKeysLA->setBuddy(filter_);
index b243c6e6481164647293b54a00614dcc5d48e256..a64d006ac29ab9f5c21d613490591d944d2b3b83 100644 (file)
@@ -315,13 +315,6 @@ void GuiPainter::text(int x, int y, docstring const & s,
        */
        QString str = toqstr(s);
 
-#if 0
-       // HACK: QT3 refuses to show single compose characters
-       //       Still needed with Qt4?
-       if (ls == 1 && str[0].unicode() >= 0x05b0 && str[0].unicode() <= 0x05c2)
-               str = ' ' + str;
-#endif
-
        QFont ff = getFont(f);
        ff.setWordSpacing(wordspacing);
        GuiFontMetrics const & fm = getFontMetrics(f);
index 03d630d397f3b1350bb6e315cdd9b3ed64841fa8..9697902b802596cdf5e41cd7675beaa3221f04eb 100644 (file)
@@ -438,13 +438,11 @@ PrefInput::PrefInput(GuiPreferences * form)
                this, SIGNAL(changed()));
 
        // reveal checkbox for switching Ctrl and Meta on Mac:
-       bool swapcb = false;
 #ifdef Q_OS_MAC
-#if QT_VERSION > 0x040600
-       swapcb = true;
-#endif
+       dontswapCB->setVisible(true);
+#else
+       dontswapCB->setVisible(false);
 #endif
-       dontswapCB->setVisible(swapcb);
 }
 
 
@@ -2635,11 +2633,8 @@ 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"
+       if (guiApp->platformName() != "xcb"
            && !guiApp->platformName().contains("wayland"))
-#endif
                useSystemThemeIconsCB->hide();
 }
 
@@ -3573,11 +3568,10 @@ GuiPreferences::GuiPreferences(GuiView & lv)
        addModule(formats);
 
        prefsPS->setCurrentPanel("User Interface");
+// FIXME KILLQT4: check that this is still needed (what bug is it?)
 // 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));
index 9cb9d81c91178b65ff93a9adb88a6a9d05da6b07..ad4d7107a94772ae7626b1f7dec5818761a5d5b2 100644 (file)
@@ -59,13 +59,8 @@ GuiRef::GuiRef(GuiView & lv)
        filter_->setClearButton(true);
        filter_->setPlaceholderText(qt_("All available labels"));
        filter_->setToolTip(qt_("Enter string to filter the list of available labels"));
-#if (QT_VERSION < 0x050000)
-       connect(filter_, SIGNAL(downPressed()),
-               refsTW, SLOT(setFocus()));
-#else
        connect(filter_, &FancyLineEdit::downPressed,
                refsTW, [this](){ focusAndHighlight(refsTW); });
-#endif
 
        filterBarL->addWidget(filter_, 0);
        findKeysLA->setBuddy(filter_);
index f12d42c11d42f155ee08a3d55f9ee4b24b27893e..8ac62c68a73d775e38e7082941a23ecdd01e25e4 100644 (file)
@@ -42,9 +42,7 @@
 #include <QHideEvent>
 #include <QShowEvent>
 #include "QSizePolicy"
-#if QT_VERSION >= 0x050000
 #include <QSvgRenderer>
-#endif
 
 using namespace std;
 using namespace lyx::support;
@@ -233,11 +231,9 @@ void GuiSearchWidget::handleIndicators()
 
                bool const dark_mode = guiApp && guiApp->isInDarkMode();
                qreal dpr = 1.0;
-#if QT_VERSION >= 0x050000
                // Consider device/pixel ratio (HiDPI)
                if (guiApp && guiApp->currentView())
                        dpr = guiApp->currentView()->devicePixelRatio();
-#endif
                QString imagedir = "images/";
                QPixmap bpixmap = getPixmap("images/", "search-options", "svgz,png");
                QPixmap pm = bpixmap;
@@ -250,16 +246,13 @@ void GuiSearchWidget::handleIndicators()
                        pm.fill(Qt::transparent);
                        QPainter painter(&pm);
                        int x = 0;
-                       
+
                        tip = qt_("Active options:");
                        tip += "<ul>";
                        if (caseCB->isChecked()) {
                                tip += "<li>" + qt_("Case sensitive search");
                                QPixmap spixmap = getPixmap("images/", "search-case-sensitive", "svgz,png");
-#if QT_VERSION < 0x050000
-                               painter.drawPixmap(x, 0, spixmap);
-#else
-                               // With Qt5, we render SVG directly for HiDPI scalability
+                               // We render SVG directly for HiDPI scalability
                                FileName fname = imageLibFileSearch(imagedir, "search-case-sensitive", "svgz,png");
                                QString fpath = toqstr(fname.absFileName());
                                if (!fpath.isEmpty()) {
@@ -268,15 +261,11 @@ void GuiSearchWidget::handleIndicators()
                                                svgRenderer.render(&painter, QRectF(0, 0, spixmap.width() * dpr,
                                                                                    spixmap.height() * dpr));
                                }
-#endif
                                x += (spixmap.width() * dpr) + gap;
                        }
                        if (wordsCB->isChecked()) {
                                tip += "<li>" + qt_("Whole words only");
                                QPixmap spixmap = getPixmap("images/", "search-whole-words", "svgz,png");
-#if QT_VERSION < 0x050000
-                               painter.drawPixmap(x, 0, spixmap);
-#else
                                FileName fname = imageLibFileSearch(imagedir, "search-whole-words", "svgz,png");
                                QString fpath = toqstr(fname.absFileName());
                                if (!fpath.isEmpty()) {
@@ -285,15 +274,11 @@ void GuiSearchWidget::handleIndicators()
                                                svgRenderer.render(&painter, QRectF(x, 0, spixmap.width() * dpr,
                                                                                    spixmap.height() * dpr));
                                }
-#endif
                                x += (spixmap.width() * dpr) + gap;
                        }
                        if (selectionCB->isChecked()) {
                                tip += "<li>" + qt_("Search only in selection");
                                QPixmap spixmap = getPixmap("images/", "search-selection", "svgz,png");
-#if QT_VERSION < 0x050000
-                               painter.drawPixmap(x, 0, spixmap);
-#else
                                FileName fname = imageLibFileSearch(imagedir, "search-selection", "svgz,png");
                                QString fpath = toqstr(fname.absFileName());
                                if (!fpath.isEmpty()) {
@@ -302,15 +287,11 @@ void GuiSearchWidget::handleIndicators()
                                                svgRenderer.render(&painter, QRectF(x, 0, spixmap.width() * dpr,
                                                                                    spixmap.height() * dpr));
                                }
-#endif
                                x += (spixmap.width() * dpr) + gap;
                        }
                        if (instantSearchCB->isChecked()) {
                                tip += "<li>" + qt_("Search as you type");
                                QPixmap spixmap = getPixmap("images/", "search-instant", "svgz,png");
-#if QT_VERSION < 0x050000
-                               painter.drawPixmap(x, 0, spixmap);
-#else
                                FileName fname = imageLibFileSearch(imagedir, "search-instant", "svgz,png");
                                QString fpath = toqstr(fname.absFileName());
                                if (!fpath.isEmpty()) {
@@ -319,15 +300,11 @@ void GuiSearchWidget::handleIndicators()
                                                svgRenderer.render(&painter, QRectF(x, 0, spixmap.width() * dpr,
                                                                                    spixmap.height() * dpr));
                                }
-#endif
                                x += (spixmap.width() * dpr) + gap;
                        }
                        if (wrapCB->isChecked()) {
                                tip += "<li>" + qt_("Wrap search");
                                QPixmap spixmap = getPixmap("images/", "search-wrap", "svgz,png");
-#if QT_VERSION < 0x050000
-                               painter.drawPixmap(x, 0, spixmap);
-#else
                                FileName fname = imageLibFileSearch(imagedir, "search-wrap", "svgz,png");
                                QString fpath = toqstr(fname.absFileName());
                                if (!fpath.isEmpty()) {
@@ -336,18 +313,14 @@ void GuiSearchWidget::handleIndicators()
                                                svgRenderer.render(&painter, QRectF(x, 0, spixmap.width() * dpr,
                                                                                    spixmap.height() * dpr));
                                }
-#endif
                                x += (spixmap.width() * dpr) + gap;
                        }
                        tip += "</ul>";
-#if QT_VERSION >= 0x050000
                        pm.setDevicePixelRatio(dpr);
-#endif
                        painter.end();
                } else {
                        tip = qt_("Click here to change search options");
-#if QT_VERSION >= 0x050000
-                       // With Qt5, we render SVG directly for HiDPI scalability
+                       // We render SVG directly for HiDPI scalability
                        FileName fname = imageLibFileSearch(imagedir, "search-options", "svgz,png");
                        QString fpath = toqstr(fname.absFileName());
                        if (!fpath.isEmpty()) {
@@ -360,7 +333,6 @@ void GuiSearchWidget::handleIndicators()
                                        pm.setDevicePixelRatio(dpr);
                                }
                        }
-#endif
                }
                if (dark_mode) {
                        QImage img = pm.toImage();
index 51699c98a8741a2f2e451464f3e501b9cda49a5a..ed8dd0af58cc2ae4adb5451136ef1164e74d4583 100644 (file)
@@ -521,7 +521,7 @@ void GuiToolbar::add(ToolbarItem const & item)
        case ToolbarItem::MINIBUFFER:
                command_buffer_ = new GuiCommandBuffer(&owner_);
                addWidget(command_buffer_);
-               /// \todo find a Qt4 equivalent to setHorizontalStretchable(true);
+               /// \todo find a Qt5 equivalent to setHorizontalStretchable(true);
                //setHorizontalStretchable(true);
                break;
        case ToolbarItem::TABLEINSERT: {
index 24d6703e30741621fd2d330c271aa9b579925b50..e8f7606e8ee0a01247a6783ee0db81aa22ec8868 100644 (file)
@@ -159,7 +159,6 @@ public:
                /// The text to be written on top of the pixmap
                QString const text = lyx_version ?
                        qt_("version ") + lyx_version : qt_("unknown version");
-#if QT_VERSION >= 0x050000
                QString imagedir = "images/";
                FileName fname = imageLibFileSearch(imagedir, "banner", "svgz");
                QSvgRenderer svgRenderer(toqstr(fname.absFileName()));
@@ -171,9 +170,6 @@ public:
                } else {
                        splash_ = getPixmap("images/", "banner", "png");
                }
-#else
-               splash_ = getPixmap("images/", "banner", "svgz,png");
-#endif
 
                QPainter pain(&splash_);
                pain.setPen(QColor(0, 0, 0));
@@ -262,11 +258,7 @@ private:
 
        /// Current ratio between physical pixels and device-independent pixels
        double pixelRatio() const {
-#if QT_VERSION >= 0x050000
                return qt_scale_factor * devicePixelRatio();
-#else
-               return 1.0;
-#endif
        }
 
        qreal fontSize() const {
@@ -286,11 +278,7 @@ private:
 
        /// Ratio between physical pixels and device-independent pixels of splash image
        double splashPixelRatio() const {
-#if QT_VERSION >= 0x050000
                return splash_.devicePixelRatio();
-#else
-               return 1.0;
-#endif
        }
 };
 
@@ -606,15 +594,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();
@@ -986,7 +969,7 @@ void GuiView::saveLayout() const
        settings.setValue("devel_mode", devel_mode_);
        settings.beginGroup("views");
        settings.beginGroup(QString::number(id_));
-       if (guiApp->platformName() == "qt4x11" || guiApp->platformName() == "xcb") {
+       if (guiApp->platformName() == "xcb") {
                settings.setValue("pos", pos());
                settings.setValue("size", size());
        } else
@@ -1052,7 +1035,7 @@ bool GuiView::restoreLayout()
        char_nb_count_enabled_ = settings.value("char_nb_count_enabled", true).toBool();
        stat_counts_->setVisible(word_count_enabled_ || char_count_enabled_ || char_nb_count_enabled_);
 
-       if (guiApp->platformName() == "qt4x11" || guiApp->platformName() == "xcb") {
+       if (guiApp->platformName() == "xcb") {
                QPoint pos = settings.value("pos", QPoint(50, 50)).toPoint();
                QSize size = settings.value("size", QSize(690, 510)).toSize();
                resize(size);
@@ -1820,11 +1803,7 @@ void GuiView::resetCommandExecute()
 
 double GuiView::pixelRatio() const
 {
-#if QT_VERSION >= 0x050000
        return qt_scale_factor * devicePixelRatio();
-#else
-       return 1.0;
-#endif
 }
 
 
@@ -5217,11 +5196,9 @@ Dialog * GuiView::findOrBuild(string const & name, bool hide_it)
 
        dialog = build(name);
        d.dialogs_[name].reset(dialog);
-#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
        // Force a uniform style for group boxes
        // On Mac non-flat works better, on Linux flat is standard
        flatGroupBoxes(dialog->asQWidget(), guiApp->platformName() != "cocoa");
-#endif
        if (lyxrc.allow_geometry_session)
                dialog->restoreSession();
        if (hide_it)
index 802fbc71b70d8867c6d5ae7284f1aa791b430121..495f2a9ff5e4ccbc718c1db739cde6b86418f551 100644 (file)
@@ -53,9 +53,6 @@
 #include "frontends/WorkAreaManager.h"
 
 #include <QContextMenuEvent>
-#if (QT_VERSION < 0x050000)
-#include <QInputContext>
-#endif
 #include <QDrag>
 #include <QHelpEvent>
 #ifdef Q_OS_MAC
@@ -182,11 +179,7 @@ GuiWorkArea::GuiWorkArea(Buffer & buffer, GuiView & gv)
 
 double GuiWorkArea::pixelRatio() const
 {
-#if QT_VERSION >= 0x050000
        return qt_scale_factor * devicePixelRatio();
-#else
-       return 1.0;
-#endif
 }
 
 
@@ -202,7 +195,7 @@ void GuiWorkArea::init()
                });
 
        d->resetScreen();
-       // With Qt4.5 a mouse event will happen before the first paint event
+       // A mouse event will happen before the first paint event,
        // so make sure that the buffer view has an up to date metrics.
        d->buffer_view_->resize(viewport()->width(), viewport()->height());
 
@@ -724,10 +717,6 @@ void GuiWorkArea::mousePressEvent(QMouseEvent * e)
                return;
        }
 
-#if (QT_VERSION < 0x050000) && !defined(__HAIKU__)
-       inputContext()->reset();
-#endif
-
 #if (QT_VERSION >= QT_VERSION_CHECK(6, 0, 0))
        FuncRequest const cmd(LFUN_MOUSE_PRESS, e->position().x(), e->position().y(),
 #else
@@ -860,13 +849,6 @@ void GuiWorkArea::wheelEvent(QWheelEvent * ev)
        // Wheel rotation by one notch results in a delta() of 120 (see
        // documentation of QWheelEvent)
        // But first we have to ignore horizontal scroll events.
-#if QT_VERSION < 0x050000
-       if (ev->orientation() == Qt::Horizontal) {
-               ev->accept();
-               return;
-       }
-       double const delta = ev->delta() / 120.0;
-#else
        QPoint const aDelta = ev->angleDelta();
        // skip horizontal wheel event
        if (abs(aDelta.x()) > abs(aDelta.y())) {
@@ -874,7 +856,6 @@ void GuiWorkArea::wheelEvent(QWheelEvent * ev)
                return;
        }
        double const delta = aDelta.y() / 120.0;
-#endif
 
        bool zoom = false;
        switch (lyxrc.scroll_wheel_zoom) {
@@ -1232,9 +1213,7 @@ void GuiWorkArea::Private::resetScreen()
                screen_ = QImage(pr * p->viewport()->width(),
                                 pr * p->viewport()->height(),
                                 QImage::Format_ARGB32_Premultiplied);
-#  if QT_VERSION >= 0x050000
                screen_.setDevicePixelRatio(pr);
-#  endif
        }
 }
 
@@ -1378,11 +1357,7 @@ QVariant GuiWorkArea::inputMethodQuery(Qt::InputMethodQuery query) const
        switch (query) {
                // this is the CJK-specific composition window position and
                // the context menu position when the menu key is pressed.
-#if (QT_VERSION < 0x050000)
-       case Qt::ImMicroFocus: {
-#else
        case Qt::ImCursorRectangle: {
-#endif
                CaretGeometry const & cg = bufferView().caretGeometry();
                return QRect(cg.left - 10 * (d->preedit_lines_ != 1),
                             cg.top + cg.height() * d->preedit_lines_,
@@ -1595,11 +1570,7 @@ void TabWorkArea::paintEvent(QPaintEvent * event)
                // painting of the frame of the tab widget.
                // This is needed for gtk style in Qt.
                QStylePainter p(this);
-#if QT_VERSION < 0x050000
-               QStyleOptionTabWidgetFrameV2 opt;
-#else
                QStyleOptionTabWidgetFrame opt;
-#endif
                initStyleOption(&opt);
                opt.rect = style()->subElementRect(QStyle::SE_TabWidgetTabPane,
                        &opt, this);
index 6b0c12b82181f9275fd716a4e823db902da432fa..5ea7133665fdfd84ce8a63ec21daccd47bd1274d 100644 (file)
 #include <QHash>
 #include <QList>
 #include <QMenuBar>
-#include <QString>
-#if QT_VERSION >= 0x040600
 #include <QProxyStyle>
-#endif
+#include <QString>
 
 #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
@@ -2280,11 +2278,10 @@ MenuDefinition Menus::Impl::mac_special_menu_;
 */
 void Menus::Impl::macxMenuBarInit(QMenuBar * qmb)
 {
-       /* Since Qt 4.2, the qt/mac menu code has special code for
-          specifying the role of a menu entry. However, it does not
-          work very well with our scheme of creating menus on demand,
-          and therefore we need to put these entries in a special
-          invisible menu. (JMarc)
+       /* The qt/mac menu code has special code for specifying the role
+          of a menu entry. However, it does not work very well with our
+          scheme of creating menus on demand, and therefore we need to
+          put these entries in a special invisible menu. (JMarc)
        */
 
        /* The entries of our special mac menu. If we add support for
@@ -2306,11 +2303,6 @@ void Menus::Impl::macxMenuBarInit(QMenuBar * qmb)
                 QAction::AboutRole},
                {LFUN_DIALOG_SHOW, "prefs", "Preferences",
                 QAction::PreferencesRole},
-#if !(defined(QT_MAC_USE_COCOA) || (QT_VERSION >= 0x050000))
-               /* This doesn't work with Cocoa. */
-               {LFUN_RECONFIGURE, "", "Reconfigure",
-                QAction::ApplicationSpecificRole},
-#endif
                {LFUN_LYX_QUIT, "", "Quit LyX", QAction::QuitRole}
        };
        const size_t num_entries = sizeof(entries) / sizeof(entries[0]);
@@ -2641,7 +2633,7 @@ void Menus::fillMenuBar(QMenuBar * qmb, GuiView * view, bool initial)
        } else {
                // Clear all menubar contents before filling it.
                qmb->clear();
-#if (QT_VERSION >= 0x050000 && defined(Q_OS_MAC))
+#if (defined(Q_OS_MAC))
                d->macxMenuBarInit(qmb);
 #endif
        }
@@ -2684,8 +2676,8 @@ void Menus::fillMenuBar(QMenuBar * qmb, GuiView * view, bool initial)
                Menu * menuptr = new Menu(view, m->submenuname(), true);
                menuptr->setTitle(label(*m));
 
-#if defined(Q_OS_MAC) && (defined(QT_MAC_USE_COCOA) || (QT_VERSION >= 0x050000))
-               // On Mac OS with QT/cocoa, the menu is not displayed if there is no action
+#if defined(Q_OS_MAC)
+               // On Mac OS with Qt/Cocoa, the menu is not displayed if there is no action
                // so we create a temporary one here
                QAction * action = new QAction(menuptr);
                menuptr->addAction(action);
index 573e232993d80705f92e33134343f8b70984d752..fcbd605848125e64840138b116e1a1ecb860fc7f 100644 (file)
@@ -102,13 +102,8 @@ TocWidget::TocWidget(GuiView & gui_view, QWidget * parent)
                this, SLOT(showContextMenu(const QPoint &)));
        connect(filter_, SIGNAL(textEdited(QString)),
                this, SLOT(filterContents()));
-#if (QT_VERSION < 0x050000)
-       connect(filter_, SIGNAL(downPressed()),
-               tocTV, SLOT(setFocus()));
-#else
        connect(filter_, &FancyLineEdit::downPressed,
                tocTV, [this](){ focusAndHighlight(tocTV); });
-#endif
        connect(activeFilterCO, SIGNAL(activated(int)),
                this, SLOT(filterContents()));
 
index 0431c042ad1c1c69658fe8e8e5e0c7ed1db24734..a123035866126969dab7bd955adcf99edfba6961 100644 (file)
@@ -269,22 +269,16 @@ void setMessageColour(list<QWidget *> highlighted, list<QWidget *> plain)
 }
 
 
+/// FIXME KILLQT4: kill this function
 /// wrapper to hide the change of method name to setSectionResizeMode
 void setSectionResizeMode(QHeaderView * view,
     int logicalIndex, QHeaderView::ResizeMode mode) {
-#if (QT_VERSION >= 0x050000)
        view->setSectionResizeMode(logicalIndex, mode);
-#else
-       view->setResizeMode(logicalIndex, mode);
-#endif
 }
 
+/// FIXME KILLQT4: kill this function
 void setSectionResizeMode(QHeaderView * view, QHeaderView::ResizeMode mode) {
-#if (QT_VERSION >= 0x050000)
        view->setSectionResizeMode(mode);
-#else
-       view->setResizeMode(mode);
-#endif
 }
 
 void showDirectory(FileName const & directory)
index 0ba2acec9010a4d194352901cc12b9143416b047..39543fa5ad2556940914b620520c1541e58bce18 100644 (file)
 //#define ResultsDebug
 #define USE_QT_FOR_SEARCH
 #if defined(USE_QT_FOR_SEARCH)
-       #include <QtCore>       // sets QT_VERSION
-       #if (QT_VERSION >= 0x050000)
-               #include <QRegularExpression>
-               #define QTSEARCH 1
-       #else
-               #define QTSEARCH 0
-       #endif
+       #include <QRegularExpression>
+       #define QTSEARCH 1
 #else
        #define QTSEARCH 0
 #endif
index 0af322d9eeabe2b4144fa568894a687c7e2b8a86..4a81cc2fc8d86fa5a0939fe03bcc9984637bf851 100644 (file)
@@ -126,15 +126,7 @@ void FileMonitorGuard::refresh(bool const emit)
        if (!qwatcher_->files().contains(qfilename)) {
                bool const existed = exists_;
                exists_ = QFile(qfilename).exists();
-#if (QT_VERSION >= 0x050000)
                if (exists_ && !qwatcher_->addPath(qfilename))
-#else
-               auto add_path = [&]() {
-                       qwatcher_->addPath(qfilename);
-                       return qwatcher_->files().contains(qfilename);
-               };
-               if (exists_ && !add_path())
-#endif
                {
                        LYXERR(Debug::FILES,
                               "Could not add path to QFileSystemWatcher: " << filename_);
index 5b494a5ec9213031f47c40da6fc92738ca179264..32a5862fdb6568bc91cd22670ce6e4b1c0780445 100644 (file)
@@ -778,11 +778,7 @@ docstring FileName::fileContents(string const & encoding) const
        if (encoding.empty() || encoding == "UTF-8")
                s = QString::fromUtf8(contents.data());
        else if (encoding == "ascii")
-#if (QT_VERSION < 0x050000)
-               s = QString::fromAscii(contents.data());
-#else
                s = QString::fromLatin1(contents.data());
-#endif
        else if (encoding == "local8bit")
                s = QString::fromLocal8Bit(contents.data());
        else if (encoding == "latin1")
index a779544f9999893e416985db15a6e441e10e1fcd..400bf15707c98ead5eaa9cb5377e9a869ed9f1ea 100644 (file)
@@ -420,12 +420,9 @@ FileName const get_document_dir(FileName const & home_dir)
        (void)home_dir; // Silence warning about unused variable.
        os::GetFolderPath win32_folder_path;
        return FileName(win32_folder_path(os::GetFolderPath::PERSONAL));
-#elif defined (USE_MACOSX_PACKAGING) && (QT_VERSION >= 0x050000)
-       (void)home_dir; // Silence warning about unused variable.
-       return FileName(fromqstr(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)));
 #elif defined (USE_MACOSX_PACKAGING)
        (void)home_dir; // Silence warning about unused variable.
-       return FileName(fromqstr(QDesktopServices::storageLocation(QDesktopServices::DocumentsLocation)));
+       return FileName(fromqstr(QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation)));
 #else // Posix-like.
        return home_dir;
 #endif
@@ -686,13 +683,9 @@ FileName const get_default_user_support_dir(FileName const & home_dir)
        os::GetFolderPath win32_folder_path;
        return FileName(addPath(win32_folder_path(os::GetFolderPath::APPDATA), PACKAGE));
 
-#elif defined (USE_MACOSX_PACKAGING) && (QT_VERSION >= 0x050000)
-       (void)home_dir; // Silence warning about unused variable.
-       return FileName(addPath(fromqstr(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)), PACKAGE));
-
 #elif defined (USE_MACOSX_PACKAGING)
        (void)home_dir; // Silence warning about unused variable.
-       return FileName(addPath(fromqstr(QDesktopServices::storageLocation(QDesktopServices::DataLocation)), PACKAGE));
+       return FileName(addPath(fromqstr(QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation)), PACKAGE));
 
 #elif defined (USE_HAIKU_PACKAGING)
        return FileName(addPath(home_dir.absFileName(), string("/config/settings/") + PACKAGE));
index d554f477ebfe70387a75fd961f34c7f1be850968..e24dcbaf770942a3bd8fcb54605bbab0a22cdf8a 100644 (file)
@@ -1314,12 +1314,8 @@ void fileUnlock(int fd, const char * /* lock_file*/)
 
 std::string toHexHash(const std::string & str)
 {
-       // Use the best available hashing algorithm. Qt 5 proposes SHA-2, but Qt 4 is limited to SHA-1.
-#if QT_VERSION >= 0x050000
+       // Use the best available hashing algorithm.
        auto hashAlgo = QCryptographicHash::Sha256;
-#else
-       auto hashAlgo = QCryptographicHash::Sha1;
-#endif
 
        QByteArray hash = QCryptographicHash::hash(toqstr(str).toLocal8Bit(), hashAlgo);
        return fromqstr(QString(hash.toHex()));