aboutsummaryrefslogtreecommitdiffhomepage
path: root/qt/ScintillaEditBase/PlatQt.cpp
diff options
context:
space:
mode:
authorFan Yang <unknown>2021-12-12 09:06:41 +1100
committerFan Yang <unknown>2021-12-12 09:06:41 +1100
commit18f1b6ba58164e16e81b015ff30f567beb19c67e (patch)
treed72b932f8ec39ff32336e3ab13e224840ffc1249 /qt/ScintillaEditBase/PlatQt.cpp
parentf0681c4a2bedc30768450657c63a0b73baa41051 (diff)
downloadscintilla-mirror-18f1b6ba58164e16e81b015ff30f567beb19c67e.tar.gz
Made compatible with Qt 6.
Authored by Fan Yang and Justin Dailey.
Diffstat (limited to 'qt/ScintillaEditBase/PlatQt.cpp')
-rw-r--r--qt/ScintillaEditBase/PlatQt.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/qt/ScintillaEditBase/PlatQt.cpp b/qt/ScintillaEditBase/PlatQt.cpp
index 3cf4cab44..5ce1c1b66 100644
--- a/qt/ScintillaEditBase/PlatQt.cpp
+++ b/qt/ScintillaEditBase/PlatQt.cpp
@@ -36,7 +36,6 @@
#include <QListWidget>
#include <QVarLengthArray>
#include <QScrollBar>
-#include <QDesktopWidget>
#include <QTextLayout>
#include <QTextLine>
#include <QLibrary>
@@ -620,7 +619,11 @@ XYPOSITION SurfaceImpl::WidthText(const Font *font, std::string_view text)
QFontMetricsF metrics(*FontPointer(font), device);
SetCodec(font);
QString su = UnicodeFromText(codec, text);
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ return metrics.horizontalAdvance(su);
+#else
return metrics.width(su);
+#endif
}
void SurfaceImpl::DrawTextNoClipUTF8(PRectangle rc,
@@ -701,7 +704,11 @@ XYPOSITION SurfaceImpl::WidthTextUTF8(const Font *font, std::string_view text)
{
QFontMetricsF metrics(*FontPointer(font), device);
QString su = QString::fromUtf8(text.data(), static_cast<int>(text.length()));
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ return metrics.horizontalAdvance(su);
+#else
return metrics.width(su);
+#endif
}
XYPOSITION SurfaceImpl::Ascent(const Font *font)
@@ -922,7 +929,11 @@ public:
protected:
void selectionChanged(const QItemSelection &selected, const QItemSelection &deselected) override;
void mouseDoubleClickEvent(QMouseEvent *event) override;
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+ void initViewItemOption(QStyleOptionViewItem *option) const override;
+#else
QStyleOptionViewItem viewOptions() const override;
+#endif
private:
IListBoxDelegate *delegate;
@@ -1242,12 +1253,20 @@ void ListWidget::mouseDoubleClickEvent(QMouseEvent * /* event */)
}
}
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+void ListWidget::initViewItemOption(QStyleOptionViewItem *option) const
+{
+ QListWidget::initViewItemOption(option);
+ option->state |= QStyle::State_Active;
+}
+#else
QStyleOptionViewItem ListWidget::viewOptions() const
{
QStyleOptionViewItem result = QListWidget::viewOptions();
result.state |= QStyle::State_Active;
return result;
}
+#endif
//----------------------------------------------------------------------
Menu::Menu() noexcept : mid(nullptr) {}
void Menu::CreatePopUp()