Add --region option (#2013)

* Fix empty help message bug

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Add --region option

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix: initial selection even without --region

* Enable 'full --region'

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Enable 'screen --region'

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Allow negative width/height

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Fix screen intersection bug

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>

* Change output format of --print-geometry

Signed-off-by: Haris Gušić <harisgusic.dev@gmail.com>
This commit is contained in:
Haris Gušić
2021-11-08 22:59:46 +01:00
committed by GitHub
parent df5d99321a
commit 6432490c31
11 changed files with 257 additions and 104 deletions

View File

@@ -55,8 +55,8 @@ QByteArray CaptureRequest::serialize() const
QDataStream stream(&data, QIODevice::WriteOnly);
// Convert enums to integers
qint32 tasks = m_tasks, mode = m_mode;
stream << mode << m_delay << tasks << m_data << m_forcedID << m_id
<< m_path;
stream << mode << m_delay << tasks << m_data << m_forcedID << m_id << m_path
<< m_initialSelection;
return data;
}
@@ -72,6 +72,7 @@ CaptureRequest CaptureRequest::deserialize(const QByteArray& data)
stream >> request.m_forcedID;
stream >> request.m_id;
stream >> request.m_path;
stream >> request.m_initialSelection;
// Convert integers to enums
request.m_tasks = static_cast<ExportTask>(tasks);
@@ -104,6 +105,11 @@ CaptureRequest::ExportTask CaptureRequest::tasks() const
return m_tasks;
}
QRect CaptureRequest::initialSelection() const
{
return m_initialSelection;
}
void CaptureRequest::addTask(CaptureRequest::ExportTask task)
{
if (task == SAVE) {
@@ -112,6 +118,11 @@ void CaptureRequest::addTask(CaptureRequest::ExportTask task)
m_tasks |= task;
}
void CaptureRequest::removeTask(CaptureRequest::ExportTask task)
{
((int&)m_tasks) &= ~task;
}
void CaptureRequest::addSaveTask(const QString& path)
{
m_tasks |= SAVE;
@@ -124,6 +135,11 @@ void CaptureRequest::addPinTask(const QRect& pinWindowGeometry)
m_pinWindowGeometry = pinWindowGeometry;
}
void CaptureRequest::setInitialSelection(const QRect& selection)
{
m_initialSelection = selection;
}
void CaptureRequest::exportCapture(const QPixmap& capture)
{
if (m_tasks & SAVE) {