mirror of
https://bitbucket.org/librepilot/librepilot.git
synced 2024-12-02 10:24:11 +01:00
GCS: Right, fixed this the right way per suggestion of PeterG (Thanks :)
). Splitters now have 6 pixels of grab area on each side again, without crashing 4.7.0. I still is ugly code, but Qt leaves us no option :) Added some comments to make this clear. git-svn-id: svn://svn.openpilot.org/OpenPilot/trunk@1769 ebee16cc-31ac-478f-84a7-5cbb03baadba
This commit is contained in:
parent
da583e0914
commit
c2fee8fc6d
@ -46,7 +46,6 @@ public:
|
|||||||
setMask(QRegion(contentsRect()));
|
setMask(QRegion(contentsRect()));
|
||||||
setAttribute(Qt::WA_MouseNoMask, true);
|
setAttribute(Qt::WA_MouseNoMask, true);
|
||||||
}
|
}
|
||||||
void setOrientation(Qt::Orientation orientation);
|
|
||||||
protected:
|
protected:
|
||||||
void resizeEvent(QResizeEvent *event);
|
void resizeEvent(QResizeEvent *event);
|
||||||
void paintEvent(QPaintEvent *event);
|
void paintEvent(QPaintEvent *event);
|
||||||
@ -60,8 +59,20 @@ using namespace Core::Internal;
|
|||||||
|
|
||||||
void MiniSplitterHandle::resizeEvent(QResizeEvent *event)
|
void MiniSplitterHandle::resizeEvent(QResizeEvent *event)
|
||||||
{
|
{
|
||||||
|
// Warning: We specifically replace the QSplitterHandle::resizeEvent,
|
||||||
|
// since there's no way of doing this while still calling it.
|
||||||
|
// That's because it has pretty much identical code (in 4.7.0) which
|
||||||
|
// undoes what we do here. And they didn't make that code configurable :)
|
||||||
|
// This means that with Qt upgrades it's worthwhile to see if anything changed
|
||||||
|
// in QSplitterHandle::resizeEvent, to see if there's anything important we miss.
|
||||||
|
|
||||||
|
if (orientation() == Qt::Horizontal)
|
||||||
|
setContentsMargins(6, 0, 6, 0);
|
||||||
|
else
|
||||||
|
setContentsMargins(0, 6, 0, 6);
|
||||||
setMask(QRegion(contentsRect()));
|
setMask(QRegion(contentsRect()));
|
||||||
QSplitterHandle::resizeEvent(event);
|
|
||||||
|
QWidget::resizeEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MiniSplitterHandle::paintEvent(QPaintEvent *event)
|
void MiniSplitterHandle::paintEvent(QPaintEvent *event)
|
||||||
@ -70,16 +81,6 @@ void MiniSplitterHandle::paintEvent(QPaintEvent *event)
|
|||||||
painter.fillRect(event->rect(), Utils::StyleHelper::borderColor());
|
painter.fillRect(event->rect(), Utils::StyleHelper::borderColor());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void MiniSplitterHandle::setOrientation(Qt::Orientation orientation)
|
|
||||||
{
|
|
||||||
QSplitterHandle::setOrientation(orientation);
|
|
||||||
if (orientation == Qt::Horizontal)
|
|
||||||
setContentsMargins(6, 0, 6, 0);
|
|
||||||
else
|
|
||||||
setContentsMargins(0, 6, 0, 6);
|
|
||||||
}
|
|
||||||
|
|
||||||
QSplitterHandle *MiniSplitter::createHandle()
|
QSplitterHandle *MiniSplitter::createHandle()
|
||||||
{
|
{
|
||||||
return new MiniSplitterHandle(orientation(), this);
|
return new MiniSplitterHandle(orientation(), this);
|
||||||
|
Loading…
Reference in New Issue
Block a user