PrismLauncher/launcher/ui/widgets/GameOptions/GameOptionWidgetKeyBind.cpp
Tayou 8a6c0e7314
Small Refactor (move all related widgets to subfolder)
Signed-off-by: Tayou <tayou@gmx.net>
2023-08-12 16:01:19 +02:00

62 lines
2.5 KiB
C++

// SPDX-License-Identifier: GPL-3.0-only
/*
* Prism Launcher - Minecraft Launcher
* Copyright (C) 2023 Tayou <tayou@gmx.net>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, version 3.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#include "GameOptionWidgetKeyBind.h"
#include "ui_GameOptionWidgetKeyBind.h"
GameOptionWidgetKeyBind::GameOptionWidgetKeyBind(QWidget* parent, std::shared_ptr<GameOption> knownOption) : GameOptionWidget(parent), ui(new Ui::GameOptionWidgetKeyBind)
{
ui->setupUi(this);
if (knownOption == nullptr) {
ui->horizontalLayout->removeWidget(ui->resetButton);
delete ui->resetButton;
} else {
ui->resetButton->setMaximumWidth(ui->resetButton->height());
ui->resetButton->setToolTip(QString(tr("Default Value: %1")).arg(knownOption->getDefaultString()));
}
}
GameOptionWidgetKeyBind::~GameOptionWidgetKeyBind()
{
delete ui;
}
void GameOptionWidgetKeyBind::setEditorData(GameOptionItem optionItem) {
/*for (auto& keyBinding : *keybindingOptions) {
// this could become a std::find_if eventually, if someone wants to bother making it that.
if (keyBinding->minecraftKeyCode == contents[row].knownOption->getDefaultString()) {
return keyBinding->displayName; // + " (" + contents[row].knownOption->getDefaultString() + ")";
}
}
return contents[row].knownOption->getDefaultString();*/
ui->keySequenceEdit->setKeySequence(optionItem.value);
}
void GameOptionWidgetKeyBind::saveEditorData(GameOptionItem optionItem) {
QString minecraftKeyCode;
/*for (auto& keyBinding : *keybindingOptions) {
// this could become a std::find_if eventually, if someone wants to bother making it that.
if (keyBinding->qtKeyCode.keyboardKey == ui->keySequenceEdit->keySequence()[0].key() ||
keyBinding->qtKeyCode.mouseButton == ui->keySequenceEdit->keySequence()[0].key()) {
minecraftKeyCode = keyBinding->minecraftKeyCode;
}
}*/
optionItem.value = minecraftKeyCode;
}