diff options
author | Fan Yang <unknown> | 2021-12-12 09:06:41 +1100 |
---|---|---|
committer | Fan Yang <unknown> | 2021-12-12 09:06:41 +1100 |
commit | 18f1b6ba58164e16e81b015ff30f567beb19c67e (patch) | |
tree | d72b932f8ec39ff32336e3ab13e224840ffc1249 /qt/ScintillaEditBase | |
parent | f0681c4a2bedc30768450657c63a0b73baa41051 (diff) | |
download | scintilla-mirror-18f1b6ba58164e16e81b015ff30f567beb19c67e.tar.gz |
Made compatible with Qt 6.
Authored by Fan Yang and Justin Dailey.
Diffstat (limited to 'qt/ScintillaEditBase')
-rw-r--r-- | qt/ScintillaEditBase/PlatQt.cpp | 21 | ||||
-rw-r--r-- | qt/ScintillaEditBase/PlatQt.h | 1 |
2 files changed, 21 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() diff --git a/qt/ScintillaEditBase/PlatQt.h b/qt/ScintillaEditBase/PlatQt.h index 02f3b0f7a..a7c405156 100644 --- a/qt/ScintillaEditBase/PlatQt.h +++ b/qt/ScintillaEditBase/PlatQt.h @@ -28,6 +28,7 @@ #include <QPaintDevice> #include <QPainter> #include <QHash> +#include <QTextCodec> namespace Scintilla::Internal { |