Gui: port new code to Qt6

This commit is contained in:
wmayer
2023-10-12 08:37:05 +02:00
committed by wwmayer
parent 5f072c9fa4
commit 3ba5cd569d
5 changed files with 92 additions and 19 deletions

View File

@@ -86,7 +86,7 @@ DlgPreferencesImp::DlgPreferencesImp(QWidget* parent, Qt::WindowFlags fl)
auto ResetGroup = new QLabel(ui->buttonResetGroup);
ResetGroup->setAlignment(Qt::AlignCenter);
ResetGroup->setWordWrap(true);
ui->buttonResetGroup->layout()->setMargin(0);
ui->buttonResetGroup->layout()->setContentsMargins(0, 0, 0, 0);
ui->buttonResetGroup->layout()->addWidget(ResetGroup);
ui->buttonResetAll->setFixedWidth(Base::clamp<int>(length + 20, 108, 120));

View File

@@ -27,6 +27,7 @@
# include <QApplication>
# include <QComboBox>
# include <QDockWidget>
# include <QFile>
# include <QGraphicsView>
# include <QHeaderView>
# include <QKeyEvent>
@@ -1894,10 +1895,17 @@ void OverlayManager::Private::interceptEvent(QWidget *widget, QEvent *ev)
case QEvent::MouseMove:
case QEvent::MouseButtonDblClick: {
auto me = static_cast<QMouseEvent*>(ev);
lastIntercept = getChildAt(widget, me->globalPos());
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
QPointF screenPos = me->screenPos();
QPoint point = me->globalPos();
#else
QPointF screenPos = me->globalPosition();
QPoint point = screenPos.toPoint();
#endif
lastIntercept = getChildAt(widget, point);
QMouseEvent mouseEvent(ev->type(),
lastIntercept->mapFromGlobal(me->globalPos()),
me->screenPos(),
lastIntercept->mapFromGlobal(point),
screenPos,
me->button(),
me->buttons(),
me->modifiers());

View File

@@ -215,7 +215,11 @@ void OverlayProxyWidget::onTimer()
hitTest(QCursor::pos(), false);
}
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
void OverlayProxyWidget::enterEvent(QEvent *)
#else
void OverlayProxyWidget::enterEvent(QEnterEvent *)
#endif
{
if(!owner->count())
return;
@@ -1017,7 +1021,11 @@ void OverlayTabWidget::leaveEvent(QEvent*)
OverlayManager::instance()->refresh();
}
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
void OverlayTabWidget::enterEvent(QEvent*)
#else
void OverlayTabWidget::enterEvent(QEnterEvent*)
#endif
{
revealTime = QTime();
OverlayManager::instance()->refresh();
@@ -1890,7 +1898,14 @@ void OverlayTitleBar::mouseMoveEvent(QMouseEvent *me)
endDrag();
return;
}
OverlayManager::instance()->dragDockWidget(me->globalPos(),
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
QPoint point = me->globalPos();
#else
QPoint point = me->globalPosition().toPoint();
#endif
OverlayManager::instance()->dragDockWidget(point,
parentWidget(),
dragOffset,
dragSize);
@@ -1954,8 +1969,14 @@ void OverlayTitleBar::mouseReleaseEvent(QMouseEvent *me)
if (me->button() != Qt::LeftButton)
return;
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
QPoint point = me->globalPos();
#else
QPoint point = me->globalPosition().toPoint();
#endif
OverlayTabWidget::_Dragging = nullptr;
OverlayManager::instance()->dragDockWidget(me->globalPos(),
OverlayManager::instance()->dragDockWidget(point,
parentWidget(),
dragOffset,
dragSize,
@@ -2029,8 +2050,15 @@ void OverlaySizeGrip::paintEvent(QPaintEvent*)
void OverlaySizeGrip::mouseMoveEvent(QMouseEvent *me)
{
if ((me->buttons() & Qt::LeftButton))
Q_EMIT dragMove(me->globalPos());
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
QPoint point = me->globalPos();
#else
QPoint point = me->globalPosition().toPoint();
#endif
if ((me->buttons() & Qt::LeftButton)) {
Q_EMIT dragMove(point);
}
}
void OverlaySizeGrip::mousePressEvent(QMouseEvent *)
@@ -2091,7 +2119,11 @@ void OverlaySplitterHandle::showEvent(QShowEvent *ev)
QSplitterHandle::showEvent(ev);
}
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
void OverlaySplitterHandle::enterEvent(QEvent *ev)
#else
void OverlaySplitterHandle::enterEvent(QEnterEvent *ev)
#endif
{
timer.stop();
QSplitterHandle::enterEvent(ev);
@@ -2262,6 +2294,12 @@ void OverlaySplitterHandle::mouseMoveEvent(QMouseEvent *me)
return;
}
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
QPoint point = me->globalPos();
#else
QPoint point = me->globalPosition().toPoint();
#endif
if (dragging == 1) {
OverlayTabWidget *overlay = qobject_cast<OverlayTabWidget*>(
splitter()->parentWidget());
@@ -2283,14 +2321,14 @@ void OverlaySplitterHandle::mouseMoveEvent(QMouseEvent *me)
}
}
if (dragging == 1) {
QPoint offset = parentWidget()->mapFromGlobal(me->globalPos()) - dragOffset;
QPoint offset = parentWidget()->mapFromGlobal(point) - dragOffset;
moveSplitter(this->orientation() == Qt::Horizontal ? offset.x() : offset.y());
return;
}
setCursor(Qt::ClosedHandCursor);
}
OverlayManager::instance()->dragDockWidget(me->globalPos(),
OverlayManager::instance()->dragDockWidget(point,
dockWidget(),
dragOffset,
dragSize);
@@ -2329,11 +2367,18 @@ void OverlaySplitterHandle::mouseReleaseEvent(QMouseEvent *me)
return;
}
endDrag();
OverlayManager::instance()->dragDockWidget(me->globalPos(),
dockWidget(),
dragOffset,
dragSize,
true);
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
QPoint point = me->globalPos();
#else
QPoint point = me->globalPosition().toPoint();
#endif
OverlayManager::instance()->dragDockWidget(point,
dockWidget(),
dragOffset,
dragSize,
true);
// Warning! the handle itself maybe deleted after return from
// dragDockWidget().
}

View File

@@ -298,8 +298,12 @@ public:
static QLayoutItem *prepareTitleWidget(QWidget *widget, const QList<QAction*> &actions);
protected:
void leaveEvent(QEvent*);
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
void enterEvent(QEvent*);
#else
void enterEvent(QEnterEvent*);
#endif
void leaveEvent(QEvent*);
void changeEvent(QEvent*);
void resizeEvent(QResizeEvent*);
void paintEvent(QPaintEvent *);
@@ -486,8 +490,12 @@ public:
void endDrag();
protected:
virtual void showEvent(QShowEvent *);
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
virtual void enterEvent(QEvent *);
#else
virtual void enterEvent(QEnterEvent *);
#endif
virtual void showEvent(QShowEvent *);
virtual void leaveEvent(QEvent *);
virtual void paintEvent(QPaintEvent*);
virtual void changeEvent(QEvent*);
@@ -567,7 +575,11 @@ public:
void onMousePress();
protected:
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
void enterEvent(QEvent*);
#else
void enterEvent(QEnterEvent*);
#endif
void hideEvent(QHideEvent*);
void paintEvent(QPaintEvent*);

View File

@@ -1298,10 +1298,18 @@ int TreeWidget::iconSize() {
static int defaultSize;
if (defaultSize == 0) {
auto tree = instance();
if(tree)
if(tree) {
#if QT_VERSION < QT_VERSION_CHECK(6,0,0)
defaultSize = tree->viewOptions().decorationSize.width();
else
#else
QStyleOptionViewItem opt;
tree->initViewItemOption(&opt);
defaultSize = opt.decorationSize.width();
#endif
}
else {
defaultSize = QApplication::style()->pixelMetric(QStyle::PM_SmallIconSize);
}
}
if (treeIconSize() > 0)
return std::max(10, treeIconSize());