/** configdialog.h - User configuration for bsAniPic
 *
 * bsAniPic - http://www.buckosoft.com/bsAniPic/
 *
 * Copyright(c) BuckoSoft, 2017.
 * Released under GNU GPL v3 https://www.gnu.org/licenses/gpl-3.0.en.html
 */

#ifndef CONFIGDIALOG_H
#define CONFIGDIALOG_H

#include <QDialog>

namespace Ui {
class ConfigDialog;
}

class Config {
public:
    Config();
    bool    isFilenameInWindowTitle;
    bool    isDisplayBsacText;
};

inline Config::Config() {
    isFilenameInWindowTitle = true;
    isDisplayBsacText = true;
}

/////////////////////////////////////////////////////////////////////////////////////////
class ConfigDialog : public QDialog
{
    Q_OBJECT

public:
    explicit ConfigDialog(QWidget *parent = 0);
    ~ConfigDialog();
    void setDisplayImageNameInTitle(bool onoff);
    bool getDisplayImageNameInTitle();

    void setDisplayBsacText(bool onoff);
    bool getDisplayBsacText();

    void setDirName(const QString& name);

    void setIsBsAniPicDir(bool onoff);
    bool getIsBsAniPicDir();

    void setPovDebugFileName(const QString& name);
    QString getPovDebugFileName();

private slots:
    void onIsBsAniPicDirClicked();

private:
    void maybeEnableFileName();
    Ui::ConfigDialog *ui;
};

#endif // CONFIGDIALOG_H
