summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-10-06 18:39:11 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-10-06 18:39:11 +0300
commit3fdfc9b69f6f6f1e0726830cd03c03b87db25a7e (patch)
tree48f8a3b21e5f4aee76d810980c99a99011950dc1 /src
parentAdjust the height of the bottom widgets (diff)
downloadnheko-3fdfc9b69f6f6f1e0726830cd03c03b87db25a7e.tar.xz
Remove Scrollbar
Diffstat (limited to 'src')
-rw-r--r--src/timeline/TimelineView.h3
-rw-r--r--src/ui/ScrollBar.cpp59
-rw-r--r--src/ui/ScrollBar.h54
3 files changed, 1 insertions, 115 deletions
diff --git a/src/timeline/TimelineView.h b/src/timeline/TimelineView.h

index c1d36cf8..b0909b44 100644 --- a/src/timeline/TimelineView.h +++ b/src/timeline/TimelineView.h
@@ -22,6 +22,7 @@ #include <QList> #include <QQueue> #include <QScrollArea> +#include <QScrollBar> #include <QStyle> #include <QStyleOption> #include <QTimer> @@ -31,7 +32,6 @@ #include "MatrixClient.h" #include "timeline/TimelineItem.h" -#include "ui/ScrollBar.h" class StateKeeper { @@ -291,7 +291,6 @@ private: QVBoxLayout *scroll_layout_; QScrollArea *scroll_area_; - ScrollBar *scrollbar_; QWidget *scroll_widget_; QString firstSender_; diff --git a/src/ui/ScrollBar.cpp b/src/ui/ScrollBar.cpp deleted file mode 100644
index 37218a13..00000000 --- a/src/ui/ScrollBar.cpp +++ /dev/null
@@ -1,59 +0,0 @@ -/* - * nheko Copyright (C) 2017 Konstantinos Sideris <siderisk@auth.gr> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "ScrollBar.h" - -ScrollBar::ScrollBar(QScrollArea *area, QWidget *parent) - : QScrollBar(parent) - , area_{area} -{} - -void -ScrollBar::paintEvent(QPaintEvent *) -{ - if (!width() && !height()) { - hide(); - return; - } - - QPainter p(this); - p.setRenderHint(QPainter::TextAntialiasing); - p.setRenderHint(QPainter::Antialiasing); - p.setRenderHint(QPainter::SmoothPixmapTransform); - - p.setPen(Qt::NoPen); - - p.setBrush(backgroundColor()); - QRect backgroundArea(Padding, 0, handleWidth_, height()); - p.drawRoundedRect(backgroundArea, roundRadius_, roundRadius_); - - int areaHeight = area_->height(); - int widgetHeight = area_->widget()->height(); - - double visiblePercentage = (double)areaHeight / (double)widgetHeight; - int handleHeight = std::max(visiblePercentage * areaHeight, (double)minHandleHeight_); - - if (maximum() == 0) { - return; - } - - int handle_y = (value() * (areaHeight - handleHeight - roundRadius_ / 2)) / maximum(); - - p.setBrush(handleColor()); - QRect handleArea(Padding, handle_y, handleWidth_, handleHeight); - p.drawRoundedRect(handleArea, roundRadius_, roundRadius_); -} diff --git a/src/ui/ScrollBar.h b/src/ui/ScrollBar.h deleted file mode 100644
index 2b5382aa..00000000 --- a/src/ui/ScrollBar.h +++ /dev/null
@@ -1,54 +0,0 @@ -/* - * nheko Copyright (C) 2017 Konstantinos Sideris <siderisk@auth.gr> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#pragma once - -#include <QPainter> -#include <QScrollArea> -#include <QScrollBar> - -class ScrollBar : public QScrollBar -{ - Q_OBJECT - Q_PROPERTY(QColor backgroundColor READ backgroundColor WRITE setBackgroundColor) - Q_PROPERTY(QColor handleColor READ handleColor WRITE setHandleColor) - -public: - ScrollBar(QScrollArea *area, QWidget *parent = nullptr); - - QColor backgroundColor() const { return bgColor_; } - void setBackgroundColor(QColor &color) { bgColor_ = color; } - - QColor handleColor() const { return handleColor_; } - void setHandleColor(QColor &color) { handleColor_ = color; } - -protected: - void paintEvent(QPaintEvent *e) override; - -private: - int roundRadius_ = 4; - int handleWidth_ = 7; - int minHandleHeight_ = 20; - - const int Padding = 4; - - QScrollArea *area_; - QRect handle_; - - QColor bgColor_ = QColor(33, 33, 33, 30); - QColor handleColor_ = QColor(0, 0, 0, 80); -};