Ejemplo n.º 1
0
void OBSHotkeyEdit::ClearKey()
{
	key = {0, OBS_KEY_NONE};

	changed = true;
	emit KeyChanged(key);

	RenderKey();
}
Ejemplo n.º 2
0
void OBSHotkeyEdit::ResetKey()
{
	key = original;

	changed = false;
	emit KeyChanged(key);

	RenderKey();
}
Ejemplo n.º 3
0
void CatManager::OnKeyDsr(bool stat)
{
    if(pOpt->ui.chbCatEnable->isChecked())
    {
    	if(pOpt->ui.cbKeyPttLine->currentIndex() == 1)
    		emit PttChanged(stat);
    	if(pOpt->ui.cbKeyKeyLine->currentIndex() == 1)
    		emit KeyChanged(stat);
    }
	qDebug() << "Cat DSR changed..";
}
Ejemplo n.º 4
0
void OBSHotkeyEdit::HandleNewKey(obs_key_combination_t new_key)
{
	if (new_key == key || obs_key_combination_is_empty(new_key))
		return;

	key = new_key;

	changed = true;
	emit KeyChanged(key);

	RenderKey();
}
Ejemplo n.º 5
0
void CatManager::OnKeyCts(bool stat)
{
    if(pOpt->ui.chbCatEnable->isChecked())
    {
    	qDebug() << "Cat Emit CTS.." << stat;
    	if(pOpt->ui.cbCatPttLine->currentIndex() == 2)
    		emit PttChanged(stat);
    	if(pOpt->ui.cbCatKeyLine->currentIndex() == 2)
    		emit KeyChanged(stat);
    }
    qDebug() << "Cat CTS changed.." << stat;
}
Ejemplo n.º 6
0
Bool ZFrame_KeyChooser::KeyDown( UShort KeySym )
{
  ZVector2f Size;
  Actual_KeySet = KeySym;
  // DisplayText = (ULong)KeySym;
  DisplayText = SDL_GetKeyName((SDL_Keycode)KeySym);
  DisplayText.MakeUpper();
  Text.SetDisplayText(DisplayText.String);
  Text.GetTextDisplaySize(&Size);
  Text.SetSize(Size.x,Size.y);
  Text.SetPosition(Dimensions.Width / 2.0f - Size.x / 2.0f, Dimensions.Height / 2.0f - Size.y / 2.0f );

  Event_KeyChanged = true;
  KeyChanged();
  return(true);
}
Ejemplo n.º 7
0
void OBSHotkeyWidget::RemoveEdit(size_t idx, bool signal)
{
	auto &edit = *(begin(edits) + idx);
	if (!obs_key_combination_is_empty(edit->original) && signal) {
		changed = true;
		emit KeyChanged();
	}

	revertButtons.erase(begin(revertButtons) + idx);
	removeButtons.erase(begin(removeButtons) + idx);
	edits.erase(begin(edits) + idx);

	auto item = layout()->takeAt(static_cast<int>(idx));
	QLayoutItem *child = nullptr;
	while ((child = item->layout()->takeAt(0))) {
		delete child->widget();
		delete child;
	}
	delete item;

	if (removeButtons.size() == 1)
		removeButtons.front()->setEnabled(false);
}
Ejemplo n.º 8
0
void OBSHotkeyWidget::AddEdit(obs_key_combination combo, int idx)
{
	auto edit = new OBSHotkeyEdit(combo);
	edit->setToolTip(toolTip);

	auto revert = new QPushButton;
	revert->setProperty("themeID", "hotkeyButtons");
	revert->setText(QTStr("Revert"));
	revert->setEnabled(false);

	auto clear = new QPushButton;
	clear->setProperty("themeID", "hotkeyButtons");
	clear->setText(QTStr("Clear"));
	clear->setEnabled(!obs_key_combination_is_empty(combo));

	QObject::connect(edit, &OBSHotkeyEdit::KeyChanged,
			[=](obs_key_combination_t new_combo)
	{
		clear->setEnabled(!obs_key_combination_is_empty(new_combo));
		revert->setEnabled(edit->original != new_combo);
	});

	auto add = new QPushButton;
	add->setProperty("themeID", "hotkeyButtons");
	add->setText("+");
	add->setMinimumWidth(50);

	auto remove = new QPushButton;
	remove->setProperty("themeID", "hotkeyButtons");
	remove->setText("-");
	remove->setEnabled(removeButtons.size() > 0);
	remove->setMinimumWidth(50);

	auto CurrentIndex = [&, remove]
	{
		auto res = std::find(begin(removeButtons),
					end(removeButtons),
					remove);
		return std::distance(begin(removeButtons), res);
	};

	QObject::connect(add, &QPushButton::clicked,
			[&, CurrentIndex]
	{
		AddEdit({0, OBS_KEY_NONE}, CurrentIndex() + 1);
	});

	QObject::connect(remove, &QPushButton::clicked,
			[&, CurrentIndex]
	{
		RemoveEdit(CurrentIndex());
	});

	QHBoxLayout *subLayout = new QHBoxLayout;
	subLayout->addWidget(edit);
	subLayout->addWidget(revert);
	subLayout->addWidget(clear);
	subLayout->addWidget(add);
	subLayout->addWidget(remove);

	if (removeButtons.size() == 1)
		removeButtons.front()->setEnabled(true);

	if (idx != -1) {
		revertButtons.insert(begin(revertButtons) + idx, revert);
		removeButtons.insert(begin(removeButtons) + idx, remove);
		edits.insert(begin(edits) + idx, edit);
	} else {
		revertButtons.emplace_back(revert);
		removeButtons.emplace_back(remove);
		edits.emplace_back(edit);
	}

	layout()->insertLayout(idx, subLayout);

	QObject::connect(revert, &QPushButton::clicked,
			edit, &OBSHotkeyEdit::ResetKey);
	QObject::connect(clear, &QPushButton::clicked,
			edit, &OBSHotkeyEdit::ClearKey);

	QObject::connect(edit, &OBSHotkeyEdit::KeyChanged,
			[&](obs_key_combination)
	{
		emit KeyChanged();
	});
}