//------------------------------------------------------------------------------
// cfggames.cpp
//------------------------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// This library 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
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
// 02110-1301  USA
//
//------------------------------------------------------------------------------
// Copyright (C) 2024 "Zalewa" <zalewapl@gmail.com>
//------------------------------------------------------------------------------
#include "cfggames.h"

#include "configuration/doomseekerconfig.h"

#include "ui_cfggames.h"

DClass<CFGGames> : public Ui::CFGGames {};
DPointered(CFGGames)

static const QVariant SPECIAL_OS_USERNAME = 1;

CFGGames::CFGGames(QWidget *parent)
	: ConfigPage(parent)
{
	d->setupUi(this);
}

CFGGames::~CFGGames()
{
}

void CFGGames::readSettings()
{
	switch (gConfig.doomseeker.playerNameChoice)
	{
	case DoomseekerConfig::DoomseekerCfg::PNC_OS:
	default:
		d->rbUseOSUsername->setChecked(true);
		break;
	case DoomseekerConfig::DoomseekerCfg::PNC_Custom:
		d->rbCustomUsername->setChecked(true);
		break;
	}
	d->lePlayerName->setText(gConfig.doomseeker.playerName);
}

void CFGGames::saveSettings()
{
	if (d->rbCustomUsername->isChecked())
		gConfig.doomseeker.playerNameChoice = DoomseekerConfig::DoomseekerCfg::PNC_Custom;
	else
		gConfig.doomseeker.playerNameChoice = DoomseekerConfig::DoomseekerCfg::PNC_OS;
	gConfig.doomseeker.playerName = d->lePlayerName->text().trimmed();
}
