mirror of
https://github.com/WarmUpTill/SceneSwitcher.git
synced 2026-04-24 06:48:24 -05:00
Show current cursor position
This commit is contained in:
parent
41821cbeb2
commit
7cf7fd6112
|
|
@ -86,7 +86,8 @@ AdvSceneSwitcher.condition.audio.entry="Volume of {{audioSources}} is {{conditio
|
|||
AdvSceneSwitcher.condition.cursor="Screen region"
|
||||
AdvSceneSwitcher.condition.cursor.type.region="is in region"
|
||||
AdvSceneSwitcher.condition.cursor.type.moving="is moving"
|
||||
AdvSceneSwitcher.condition.cursor.entry="Cursor is {{conditions}} {{minX}} {{minY}} {{maxX}} {{maxY}}"
|
||||
AdvSceneSwitcher.condition.cursor.entry.line1="Cursor is {{conditions}} {{minX}} {{minY}} {{maxX}} {{maxY}}"
|
||||
AdvSceneSwitcher.condition.cursor.entry.line2="Cursor is currently at {{xPos}} x {{yPos}}"
|
||||
AdvSceneSwitcher.condition.scene="Scene"
|
||||
AdvSceneSwitcher.condition.scene.type.current="Current"
|
||||
AdvSceneSwitcher.condition.scene.type.previous="Previous"
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ private slots:
|
|||
void MinYChanged(int pos);
|
||||
void MaxXChanged(int pos);
|
||||
void MaxYChanged(int pos);
|
||||
void UpdateCursorPos();
|
||||
|
||||
protected:
|
||||
QSpinBox *_minX;
|
||||
|
|
@ -56,9 +57,12 @@ protected:
|
|||
QSpinBox *_maxX;
|
||||
QSpinBox *_maxY;
|
||||
QComboBox *_conditions;
|
||||
QLabel *_xPos;
|
||||
QLabel *_yPos;
|
||||
std::shared_ptr<MacroConditionCursor> _entryData;
|
||||
|
||||
private:
|
||||
void SetRegionSelectionVisible(bool);
|
||||
QTimer _timer;
|
||||
bool _loading = true;
|
||||
};
|
||||
|
|
|
|||
|
|
@ -77,6 +77,8 @@ MacroConditionCursorEdit::MacroConditionCursorEdit(
|
|||
_minY = new QSpinBox();
|
||||
_maxX = new QSpinBox();
|
||||
_maxY = new QSpinBox();
|
||||
_xPos = new QLabel("-");
|
||||
_yPos = new QLabel("-");
|
||||
|
||||
populateConditionSelection(_conditions);
|
||||
|
||||
|
|
@ -106,19 +108,32 @@ MacroConditionCursorEdit::MacroConditionCursorEdit(
|
|||
QWidget::connect(_maxY, SIGNAL(valueChanged(int)), this,
|
||||
SLOT(MaxYChanged(int)));
|
||||
|
||||
QHBoxLayout *mainLayout = new QHBoxLayout;
|
||||
|
||||
std::unordered_map<std::string, QWidget *> widgetPlaceholders = {
|
||||
{"{{conditions}}", _conditions},
|
||||
{"{{minX}}", _minX},
|
||||
{"{{minY}}", _minY},
|
||||
{"{{maxX}}", _maxX},
|
||||
{"{{maxY}}", _maxY}};
|
||||
|
||||
placeWidgets(obs_module_text("AdvSceneSwitcher.condition.cursor.entry"),
|
||||
mainLayout, widgetPlaceholders);
|
||||
{"{{maxY}}", _maxY},
|
||||
{"{{xPos}}", _xPos},
|
||||
{"{{yPos}}", _yPos},
|
||||
};
|
||||
QHBoxLayout *line1 = new QHBoxLayout;
|
||||
placeWidgets(obs_module_text(
|
||||
"AdvSceneSwitcher.condition.cursor.entry.line1"),
|
||||
line1, widgetPlaceholders);
|
||||
QHBoxLayout *line2 = new QHBoxLayout;
|
||||
placeWidgets(obs_module_text(
|
||||
"AdvSceneSwitcher.condition.cursor.entry.line2"),
|
||||
line2, widgetPlaceholders);
|
||||
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||
mainLayout->addLayout(line1);
|
||||
mainLayout->addLayout(line2);
|
||||
setLayout(mainLayout);
|
||||
|
||||
connect(&_timer, &QTimer::timeout, this,
|
||||
&MacroConditionCursorEdit::UpdateCursorPos);
|
||||
_timer.start(1000);
|
||||
|
||||
_entryData = entryData;
|
||||
UpdateEntryData();
|
||||
_loading = false;
|
||||
|
|
@ -176,6 +191,13 @@ void MacroConditionCursorEdit::MaxYChanged(int pos)
|
|||
_entryData->_maxY = pos;
|
||||
}
|
||||
|
||||
void MacroConditionCursorEdit::UpdateCursorPos()
|
||||
{
|
||||
std::pair<int, int> position = getCursorPos();
|
||||
_xPos->setText(QString::number(position.first));
|
||||
_yPos->setText(QString::number(position.second));
|
||||
}
|
||||
|
||||
void MacroConditionCursorEdit::SetRegionSelectionVisible(bool visible)
|
||||
{
|
||||
_minX->setVisible(visible);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user