view SettingsDialog.h @ 4:e30f00f760d3 default tip

Cleanup OSTC label and removed url The computer type will now show OSTC 4/5 instead of only 4. The url has been removed because it is no longer maintained. The ui header have been deleted because they are generated files shich should not be under version controll. Delete locally if you want to force an update of the dialog layout.
author Ideenmodellierer
date Sun, 30 Nov 2025 18:37:32 +0100
parents 0b3630a29ad8
children
line wrap: on
line source

//////////////////////////////////////////////////////////////////////////////
/// \file   SettingsDialog.h
/// \brief  Preference dialog for OSTC Companion.
/// \author JD Gascuel.
///
/// \copyright (c) 2011-2014 JD Gascuel. All rights reserved.
/// $Id$
//////////////////////////////////////////////////////////////////////////////
//
// BSD 2-Clause License:
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1. Redistributions of source code must retain the above copyright notice,
//    this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright notice,
//    this list of conditions and the following disclaimer in the documentation
//    and/or other materials provided with the distribution.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
// THE POSSIBILITY OF SUCH DAMAGE.
//
//////////////////////////////////////////////////////////////////////////////
// HISTORY
//  2013-03-17 : [jDG] Copyed and adapted from OSTC Planner.
//  2014-07-07 : [jDG] Cleanups for Subsurface google-summer-of-code.
//  2014-07-25 : [jDG] BSD 2-clause license.

//////////////////////////////////////////////////////////////////////////////
// Import Qt GUI

namespace Ui { class Settings; }

#include <QDialog>

class HardwareOperations;
class QAbstractButton;
class QSettings;

//////////////////////////////////////////////////////////////////////////////
/// \brief Implement preference dialog for OSTC Companion.
class Settings
  : public QDialog
{
    Q_OBJECT
    Ui::Settings* _ui;
    HardwareOperations* _op;

    void changeEvent(QEvent *e);

public:
    Settings(QWidget* parent, HardwareOperations *op);
    ~Settings();

    static QString language;
    static QString port;
    static QString currentPath;

    /// Setup date and time when connecting.
    static bool autoSetDateTime;

    /// Skip version check to make development easier
    static bool forceFirmwareUpdate;
    static bool forceRTEUpdate;
    static bool forceFontlibUpdate;
    static bool useFastMode;

    /// \brief restore preferences from settings
    static void reload(Settings *);

    /// \brief Save preferences to settings.
    static void save();

    /// \brief update Qt translators for language.
    static void setLanguage();

public slots:
    /// \brief dynamically change application's translation.
    void languageSlot(int i);

    /// \brief redo list of available ports.
    void updatePortsSlot();

    /// \brief save changes to settings.
    void accept();

    /// \brief restore saved preferences.
    void reject();

    /// \brief Reset all settings to default values
    void resetSettingsSlot();
};