/*
* This file is part of openauto project.
* Copyright (C) 2018 f1x.studio (Michal Szwaj)
*
* openauto 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; either version 3 of the License, or
* (at your option) any later version.
* openauto 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 openauto. If not, see .
*/
#pragma once
#include
#include
#include "openauto/Configuration/IConfiguration.hpp"
class QCheckBox;
namespace Ui
{
class SettingsWindow;
}
namespace autoapp
{
namespace ui
{
class SettingsWindow : public QWidget
{
Q_OBJECT
public:
explicit SettingsWindow(openauto::configuration::IConfiguration::Pointer configuration, QWidget *parent = nullptr);
~SettingsWindow() override;
private slots:
void onSave();
void onResetToDefaults();
void onUpdateScreenDPI(int value);
void onShowBindings();
private:
void showEvent(QShowEvent* event);
void load();
void loadButtonCheckBoxes();
void saveButtonCheckBoxes();
void saveButtonCheckBox(const QCheckBox* checkBox, openauto::configuration::IConfiguration::ButtonCodes& buttonCodes, aasdk::proto::enums::ButtonCode::Enum buttonCode);
void setButtonCheckBoxes(bool value);
Ui::SettingsWindow* ui_;
openauto::configuration::IConfiguration::Pointer configuration_;
};
}
}