mirror of
https://github.com/fergalmoran/flameshot.git
synced 2025-12-29 05:11:32 +00:00
Add accept button to CaptureWidget
Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
This commit is contained in:
@@ -62,6 +62,11 @@ QVariant CaptureRequest::data() const
|
||||
return m_data;
|
||||
}
|
||||
|
||||
CaptureRequest::ExportTask CaptureRequest::tasks() const
|
||||
{
|
||||
return m_tasks;
|
||||
}
|
||||
|
||||
void CaptureRequest::addTask(CaptureRequest::ExportTask task)
|
||||
{
|
||||
m_tasks |= task;
|
||||
|
||||
@@ -37,6 +37,7 @@ public:
|
||||
QString path() const;
|
||||
QVariant data() const;
|
||||
CaptureMode captureMode() const;
|
||||
ExportTask tasks() const;
|
||||
|
||||
void addTask(ExportTask task);
|
||||
void exportCapture(const QPixmap& p);
|
||||
|
||||
@@ -243,6 +243,10 @@ void CaptureWidget::initButtons()
|
||||
{
|
||||
auto allButtonTypes = CaptureToolButton::getIterableButtonTypes();
|
||||
auto visibleButtonTypes = m_config.buttons();
|
||||
auto& request = *Controller::getInstance()->requests().find(m_id);
|
||||
if (request.tasks() == CaptureRequest::NO_TASK) {
|
||||
visibleButtonTypes.removeOne(CaptureTool::TYPE_ACCEPT);
|
||||
}
|
||||
QVector<CaptureToolButton*> vectorButtons;
|
||||
|
||||
// Add all buttons but hide those that were disabled in the Interface config
|
||||
@@ -262,6 +266,7 @@ void CaptureWidget::initButtons()
|
||||
case CaptureTool::TYPE_EXIT:
|
||||
case CaptureTool::TYPE_SAVE:
|
||||
case CaptureTool::TYPE_COPY:
|
||||
case CaptureTool::TYPE_ACCEPT:
|
||||
case CaptureTool::TYPE_UNDO:
|
||||
case CaptureTool::TYPE_IMAGEUPLOADER:
|
||||
case CaptureTool::TYPE_REDO:
|
||||
@@ -1179,6 +1184,13 @@ void CaptureWidget::initShortcuts()
|
||||
this,
|
||||
SLOT(copyScreenshot()));
|
||||
|
||||
auto& request = *Controller::getInstance()->requests().find(m_id);
|
||||
if (request.tasks() != CaptureRequest::NO_TASK) {
|
||||
new QShortcut(QKeySequence(ConfigHandler().shortcut("TYPE_ACCEPT")),
|
||||
this,
|
||||
SLOT(acceptCapture()));
|
||||
}
|
||||
|
||||
new QShortcut(
|
||||
QKeySequence(ConfigHandler().shortcut("TYPE_UNDO")), this, SLOT(undo()));
|
||||
|
||||
@@ -1457,6 +1469,12 @@ void CaptureWidget::saveScreenshot()
|
||||
close();
|
||||
}
|
||||
|
||||
void CaptureWidget::acceptCapture()
|
||||
{
|
||||
m_captureDone = true;
|
||||
close();
|
||||
}
|
||||
|
||||
void CaptureWidget::setCaptureToolObjects(
|
||||
const CaptureToolObjects& captureToolObjects)
|
||||
{
|
||||
|
||||
@@ -65,6 +65,7 @@ private slots:
|
||||
// TODO replace with tools
|
||||
void copyScreenshot();
|
||||
void saveScreenshot();
|
||||
void acceptCapture();
|
||||
void undo();
|
||||
void redo();
|
||||
void togglePanel();
|
||||
|
||||
Reference in New Issue
Block a user