#ifndef SETTINGSCONTROLLER_H
#define SETTINGSCONTROLLER_H

#include <Controller/controller.h>
#include <View/settings.h>

/*!
 * \brief The SettingsController class.
 */
class SettingsController : public Controller
{
public:

    /*!
     * \brief SettingsController constructor.
     * \param view Settings controller view.
     */
    SettingsController(Settings *view);

    /*!
     * \brief saveDefaultDir Saves the default folder.
     */
    void saveDefaultDir();

    /*!
     * \brief saveAlwaysAsk Saves the always ask value.
     */
    void saveAlwaysAsk();

    /*!
     * \brief clearValues Clears the setttings values.
     */
    void clearValues();

    /*!
     * \brief changeLanguage Changes the app language.
     * \param language Language to translate the app.
     */
    void changeLanguage(QString language);

private:

    /*!
     * \brief loadSettings Loads the settings values.
     */
    void loadSettings();

    /*!
     * \brief getSettingsLanguage Gets the app language.
     * \return App language
     */
    QString getSettingsLanguage();

    /*!
     * \brief setLanguage Specifies the app language.
     * \param language App language.
     */
    void setLanguage(QString language);

};

#endif // SETTINGSCONTROLLER_H
