mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-25 20:48:52 +03:00
Remove Scrollbar
This commit is contained in:
parent
675f1be777
commit
3fdfc9b69f
4 changed files with 1 additions and 117 deletions
|
@ -200,7 +200,6 @@ set(SRC_FILES
|
||||||
src/ui/FloatingButton.cpp
|
src/ui/FloatingButton.cpp
|
||||||
src/ui/Label.cpp
|
src/ui/Label.cpp
|
||||||
src/ui/OverlayModal.cpp
|
src/ui/OverlayModal.cpp
|
||||||
src/ui/ScrollBar.cpp
|
|
||||||
src/ui/SnackBar.cpp
|
src/ui/SnackBar.cpp
|
||||||
src/ui/RaisedButton.cpp
|
src/ui/RaisedButton.cpp
|
||||||
src/ui/Ripple.cpp
|
src/ui/Ripple.cpp
|
||||||
|
@ -328,7 +327,6 @@ qt5_wrap_cpp(MOC_HEADERS
|
||||||
src/ui/FloatingButton.h
|
src/ui/FloatingButton.h
|
||||||
src/ui/Menu.h
|
src/ui/Menu.h
|
||||||
src/ui/OverlayWidget.h
|
src/ui/OverlayWidget.h
|
||||||
src/ui/ScrollBar.h
|
|
||||||
src/ui/SnackBar.h
|
src/ui/SnackBar.h
|
||||||
src/ui/RaisedButton.h
|
src/ui/RaisedButton.h
|
||||||
src/ui/Ripple.h
|
src/ui/Ripple.h
|
||||||
|
|
|
@ -22,6 +22,7 @@
|
||||||
#include <QList>
|
#include <QList>
|
||||||
#include <QQueue>
|
#include <QQueue>
|
||||||
#include <QScrollArea>
|
#include <QScrollArea>
|
||||||
|
#include <QScrollBar>
|
||||||
#include <QStyle>
|
#include <QStyle>
|
||||||
#include <QStyleOption>
|
#include <QStyleOption>
|
||||||
#include <QTimer>
|
#include <QTimer>
|
||||||
|
@ -31,7 +32,6 @@
|
||||||
|
|
||||||
#include "MatrixClient.h"
|
#include "MatrixClient.h"
|
||||||
#include "timeline/TimelineItem.h"
|
#include "timeline/TimelineItem.h"
|
||||||
#include "ui/ScrollBar.h"
|
|
||||||
|
|
||||||
class StateKeeper
|
class StateKeeper
|
||||||
{
|
{
|
||||||
|
@ -291,7 +291,6 @@ private:
|
||||||
QVBoxLayout *scroll_layout_;
|
QVBoxLayout *scroll_layout_;
|
||||||
|
|
||||||
QScrollArea *scroll_area_;
|
QScrollArea *scroll_area_;
|
||||||
ScrollBar *scrollbar_;
|
|
||||||
QWidget *scroll_widget_;
|
QWidget *scroll_widget_;
|
||||||
|
|
||||||
QString firstSender_;
|
QString firstSender_;
|
||||||
|
|
|
@ -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_);
|
|
||||||
}
|
|
|
@ -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);
|
|
||||||
};
|
|
Loading…
Reference in a new issue