]> git.sur5r.net Git - minitube/blob - src/minisplitter.cpp
Upload 3.9.3-2 to unstable
[minitube] / src / minisplitter.cpp
1 #include "minisplitter.h"
2
3 class MiniSplitterHandle : public QSplitterHandle {
4
5 public:
6     MiniSplitterHandle(Qt::Orientation orientation, QSplitter *parent);
7
8 protected:
9     void resizeEvent(QResizeEvent *event);
10     void paintEvent(QPaintEvent *event);
11 };
12
13 MiniSplitterHandle::MiniSplitterHandle(Qt::Orientation orientation, QSplitter *parent)
14     : QSplitterHandle(orientation, parent) {
15     setMask(QRegion(contentsRect()));
16     setAttribute(Qt::WA_MouseNoMask, true);
17 }
18
19 void MiniSplitterHandle::resizeEvent(QResizeEvent *event) {
20     if (orientation() == Qt::Horizontal)
21         setContentsMargins(2, 0, 2, 0);
22     else
23         setContentsMargins(0, 2, 0, 2);
24     setMask(QRegion(contentsRect()));
25     QSplitterHandle::resizeEvent(event);
26 }
27
28 void MiniSplitterHandle::paintEvent(QPaintEvent *event) {
29     QPainter painter(this);
30     painter.fillRect(event->rect(), Qt::black);
31 }
32
33 QSplitterHandle *MiniSplitter::createHandle() {
34     return new MiniSplitterHandle(orientation(), this);
35 }
36
37 MiniSplitter::MiniSplitter(Qt::Orientation orientation, QWidget *parent) : QSplitter(orientation, parent) {
38     setHandleWidth(1);
39     setChildrenCollapsible(false);
40 }