* Merge CTB::ButtonType into CaptureTool::Type Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Remove configshortcuts.cpp which I forgot to do earlier Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Add activeButtonTool & activeButtonToolType in CaptureWidget Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Rename slots in CaptureTool for better mnemonics Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Fix move tool bug Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Refactor ShortcutsWidget::initButtons Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Move code from CaptureWidget to SelectionWidget: part 1 Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Move code from CaptureWidget to SelectionWidget: part 2 Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Move code from CaptureWidget to SelectionWidget: part 3 Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Move code from CaptureWidget to SelectionWidget: part 4 Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Add SelectionWidget::updateCursor Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Move code from CaptureWidget to SelectionWidget: part 5 Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Refactor mouse events in CaptureWidget Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Overlay message update Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Replace connect/disconnect with blockSignals Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * updateIcon on button animation finished Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Remove CaptureWidget::selectAll Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Move moveLeft and similar to SelectionWidget Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Mark update calls for removal Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Specialize CaptureWidget update to affected rects Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Tune update of tool objects Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Remove redundant CaptureTool requests Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Improve performance of update in CaptureWidget Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Fix failing builds Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Fix failing builds again Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Fix undo/redo update Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Undo/redo update workaround Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Extend capture tool update rects Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Fix circle count tool update bug Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Add 'Left Double-Click' tooltip to copy button Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com> * Improve ColorPicker performance Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
54 lines
1.2 KiB
C++
54 lines
1.2 KiB
C++
// SPDX-License-Identifier: GPL-3.0-or-later
|
|
// SPDX-FileCopyrightText: 2017-2019 Alejandro Sirgo Rica & Contributors
|
|
|
|
#pragma once
|
|
|
|
#include "capturebutton.h"
|
|
#include "src/tools/capturetool.h"
|
|
#include <QMap>
|
|
#include <QVector>
|
|
|
|
class QWidget;
|
|
class QPropertyAnimation;
|
|
|
|
class CaptureToolButton : public CaptureButton
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit CaptureToolButton(const CaptureTool::Type,
|
|
QWidget* parent = nullptr);
|
|
~CaptureToolButton();
|
|
|
|
static const QList<CaptureTool::Type>& getIterableButtonTypes();
|
|
static int getPriorityByButton(CaptureTool::Type);
|
|
|
|
QString name() const;
|
|
QString description() const;
|
|
QIcon icon() const;
|
|
CaptureTool* tool() const;
|
|
|
|
void setColor(const QColor& c);
|
|
void animatedShow();
|
|
|
|
protected:
|
|
void mousePressEvent(QMouseEvent* e) override;
|
|
static QList<CaptureTool::Type> iterableButtonTypes;
|
|
|
|
CaptureTool* m_tool;
|
|
|
|
signals:
|
|
void pressedButton(CaptureToolButton*);
|
|
|
|
private:
|
|
CaptureToolButton(QWidget* parent = nullptr);
|
|
CaptureTool::Type m_buttonType;
|
|
|
|
QPropertyAnimation* m_emergeAnimation;
|
|
|
|
static QColor m_mainColor;
|
|
|
|
void initButton();
|
|
void updateIcon();
|
|
};
|