File indexing completed on 2024-05-12 05:53:36

0001 /*
0002     SPDX-FileCopyrightText: 2020-2020 Carlos Alves <cbcalves@gmail.com>
0003     SPDX-FileCopyrightText: 2007-2008 Robert Knight <robertknight@gmail.com>
0004     SPDX-FileCopyrightText: 1997, 1998 Lars Doelle <lars.doelle@on-line.de>
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 // Own
0010 #include "HighlightScrolledLines.h"
0011 
0012 // Konsole
0013 #include "../TerminalScrollBar.h"
0014 
0015 namespace Konsole
0016 {
0017 HighlightScrolledLines::HighlightScrolledLines() = default;
0018 
0019 HighlightScrolledLines::~HighlightScrolledLines() = default;
0020 
0021 bool HighlightScrolledLines::isEnabled()
0022 {
0023     return _enabled;
0024 }
0025 
0026 void HighlightScrolledLines::setEnabled(bool enable)
0027 {
0028     _enabled = enable;
0029 }
0030 
0031 int HighlightScrolledLines::getPreviousScrollCount()
0032 {
0033     return _previousScrollCount;
0034 }
0035 
0036 void HighlightScrolledLines::setPreviousScrollCount(int scrollCount)
0037 {
0038     _previousScrollCount = scrollCount;
0039 }
0040 
0041 void HighlightScrolledLines::setTimer(TerminalScrollBar *parent)
0042 {
0043     if (_enabled && _timer == nullptr) {
0044         _timer = std::make_unique<QTimer>();
0045         _timer->setSingleShot(true);
0046         _timer->setInterval(250);
0047         _timer->connect(_timer.get(), &QTimer::timeout, parent, &TerminalScrollBar::highlightScrolledLinesEvent);
0048     }
0049 }
0050 
0051 void HighlightScrolledLines::startTimer()
0052 {
0053     _timer->start();
0054 }
0055 
0056 bool HighlightScrolledLines::isTimerActive()
0057 {
0058     return _timer->isActive();
0059 }
0060 
0061 QRect &HighlightScrolledLines::rect()
0062 {
0063     return _rect;
0064 }
0065 } // namespace Konsole