mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-22 01:59:02 +00:00
Get rid of Qt4 code in src/
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.
This commit is contained in:
parent
d984730235
commit
ac248e392d
16
TODO.killqt4
Normal file
16
TODO.killqt4
Normal file
@ -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
|
||||
|
@ -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"
|
||||
|
@ -135,13 +135,9 @@
|
||||
#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();
|
||||
|
@ -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
|
||||
|
@ -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");
|
||||
|
@ -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."));
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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);
|
||||
|
@ -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.
|
||||
|
@ -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_);
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
dontswapCB->setVisible(true);
|
||||
#else
|
||||
dontswapCB->setVisible(false);
|
||||
#endif
|
||||
#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));
|
||||
|
@ -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_);
|
||||
|
@ -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();
|
||||
|
@ -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: {
|
||||
|
@ -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)
|
||||
|
@ -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);
|
||||
|
@ -76,10 +76,8 @@
|
||||
#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);
|
||||
|
@ -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()));
|
||||
|
||||
|
@ -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)
|
||||
|
@ -57,13 +57,8 @@
|
||||
//#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
|
||||
|
@ -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_);
|
||||
|
@ -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")
|
||||
|
@ -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));
|
||||
|
@ -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()));
|
||||
|
Loading…
Reference in New Issue
Block a user