/** configdialog.cpp - 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
 */

#include "configdialog.h"
#include "ui_configdialog.h"

ConfigDialog::ConfigDialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::ConfigDialog)
{
    ui->setupUi(this);
    connect(ui->checkIsBsAniPicDirectory, SIGNAL(clicked()), this, SLOT(onIsBsAniPicDirClicked()));
}

ConfigDialog::~ConfigDialog()
{
    delete ui;
}

void ConfigDialog::setDisplayImageNameInTitle(bool onoff) {
    ui->displayImageNameInTitle->setChecked(onoff);
}
bool ConfigDialog::getDisplayImageNameInTitle() {
    return(ui->displayImageNameInTitle->isChecked());
}

void ConfigDialog::setDisplayBsacText(bool onoff) {
    ui->displayBsacText->setChecked(onoff);
}
bool ConfigDialog::getDisplayBsacText() {
    return(ui->displayBsacText->isChecked());
}

void ConfigDialog::setDirName(const QString &name) {
    ui->labelDirName->setText(name);
}

void ConfigDialog::setIsBsAniPicDir(bool onoff) {
    ui->checkIsBsAniPicDirectory->setChecked(onoff);
    ui->checkIsBsAniPicDirectory->setEnabled(!onoff);
}

bool ConfigDialog::getIsBsAniPicDir() {
    return(ui->checkIsBsAniPicDirectory->isChecked());
}

void ConfigDialog::setPovDebugFileName(const QString& name) {
    ui->linePovrayDebugFileName->setText(name);
    maybeEnableFileName();
}

void ConfigDialog::maybeEnableFileName() {

    ui->linePovrayDebugFileName->setEnabled(ui->checkIsBsAniPicDirectory->isChecked());
    ui->labelPovrayDebugFileName->setEnabled(ui->checkIsBsAniPicDirectory->isChecked());
}

void ConfigDialog::onIsBsAniPicDirClicked() {
    maybeEnableFileName();
}

QString ConfigDialog::getPovDebugFileName() {
    return(ui->linePovrayDebugFileName->text());
}
