diff options
Diffstat (limited to 'ui')
-rw-r--r-- | ui/qt/widgets/overlay_scroll_bar.cpp | 13 | ||||
-rw-r--r-- | ui/qt/widgets/overlay_scroll_bar.h | 4 |
2 files changed, 14 insertions, 3 deletions
diff --git a/ui/qt/widgets/overlay_scroll_bar.cpp b/ui/qt/widgets/overlay_scroll_bar.cpp index 68f1ba0f56..73a291b058 100644 --- a/ui/qt/widgets/overlay_scroll_bar.cpp +++ b/ui/qt/widgets/overlay_scroll_bar.cpp @@ -25,7 +25,6 @@ #include <QMouseEvent> #include <QPainter> -#include <QProxyStyle> #include <QResizeEvent> #include <QStyleOptionSlider> @@ -81,11 +80,13 @@ OverlayScrollBar::OverlayScrollBar(Qt::Orientation orientation, QWidget *parent) end_pos_(-1), selected_pos_(-1) { - setStyle(new OsbProxyStyle); + style_ = new OsbProxyStyle(); + setStyle(style_); + child_style_ = new OsbProxyStyle(); child_sb_.raise(); child_sb_.installEventFilter(this); - child_sb_.setStyle(new OsbProxyStyle); + child_sb_.setStyle(child_style_); // XXX Do we need to connect anything else? connect(this, SIGNAL(rangeChanged(int,int)), this, SLOT(setChildRange(int,int))); @@ -94,6 +95,12 @@ OverlayScrollBar::OverlayScrollBar(Qt::Orientation orientation, QWidget *parent) connect(&child_sb_, SIGNAL(valueChanged(int)), this, SLOT(setValue(int))); } +OverlayScrollBar::~OverlayScrollBar() +{ + delete child_style_; + delete style_; +} + QSize OverlayScrollBar::sizeHint() const { return QSize(packet_map_width_ + child_sb_.sizeHint().width(), diff --git a/ui/qt/widgets/overlay_scroll_bar.h b/ui/qt/widgets/overlay_scroll_bar.h index c6d2909f32..dd3624ac66 100644 --- a/ui/qt/widgets/overlay_scroll_bar.h +++ b/ui/qt/widgets/overlay_scroll_bar.h @@ -23,6 +23,7 @@ #define __OVERLAY_SCROLL_BAR_H__ #include <QScrollBar> +#include <QProxyStyle> class OverlayScrollBar : public QScrollBar { @@ -30,6 +31,7 @@ class OverlayScrollBar : public QScrollBar public: OverlayScrollBar(Qt::Orientation orientation, QWidget * parent = 0); + virtual ~OverlayScrollBar(); virtual QSize sizeHint() const; @@ -72,6 +74,8 @@ protected: virtual void mouseReleaseEvent(QMouseEvent * event); private: + QProxyStyle* style_; + QProxyStyle* child_style_; QScrollBar child_sb_; QImage packet_map_img_; QImage marked_packet_img_; |