aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--doc/ScintillaHistory.html11
-rw-r--r--qt/ScintillaEdit/ScintillaEdit.pro1
-rw-r--r--qt/ScintillaEditBase/PlatQt.cpp21
-rw-r--r--qt/ScintillaEditBase/PlatQt.h1
4 files changed, 33 insertions, 1 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index c4aec9cc9..d02801cf6 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -570,6 +570,17 @@
</table>
<h2>Releases</h2>
<h3>
+ <a href="https://www.scintilla.org/scintilla516.zip">Release 5.1.6</a>
+ </h3>
+ <ul>
+ <li>
+ Released 7 December 2021.
+ </li>
+ <li>
+ Made compatible with Qt 6.
+ </li>
+ </ul>
+ <h3>
<a href="https://www.scintilla.org/scintilla515.zip">Release 5.1.5</a>
</h3>
<ul>
diff --git a/qt/ScintillaEdit/ScintillaEdit.pro b/qt/ScintillaEdit/ScintillaEdit.pro
index 4326dc4b3..b9c41789b 100644
--- a/qt/ScintillaEdit/ScintillaEdit.pro
+++ b/qt/ScintillaEdit/ScintillaEdit.pro
@@ -6,6 +6,7 @@
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
+equals(QT_MAJOR_VERSION, 6): QT += core5compat
TARGET = ScintillaEdit
TEMPLATE = lib
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 {