LimeReport/limereport/lrsettingdialog.cpp

107 lines
2.6 KiB
C++
Raw Normal View History

#include "lrsettingdialog.h"
#include "ui_lrsettingdialog.h"
2017-12-11 16:48:00 +03:00
#include <QFile>
namespace LimeReport{
SettingDialog::SettingDialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::SettingDialog)
{
ui->setupUi(this);
2017-12-11 16:48:00 +03:00
QFile theme(":/qdarkstyle/style.qss");
if (!theme.exists()){
ui->cbbUseDarkTheme->setVisible(false);
}
}
SettingDialog::~SettingDialog()
{
delete ui;
}
int SettingDialog::verticalGridStep()
{
return ui->verticalGridStep->value();
}
int SettingDialog::horizontalGridStep()
{
return ui->horizontalGridStep->value();
}
QFont SettingDialog::defaultFont()
{
QFont result = ui->defaultFont->currentFont();
result.setPointSize(ui->defaultFontSize->value());
return result;
}
2017-12-11 16:48:00 +03:00
bool SettingDialog::userDarkTheme()
{
return ui->cbbUseDarkTheme->isChecked();
}
bool SettingDialog::suppressAbsentFieldsAndVarsWarnings()
{
return ui->cbSuppressWarnings->isChecked();
}
2018-04-10 16:28:48 +03:00
QLocale::Language SettingDialog::designerLanguage()
{
foreach (QLocale::Language language, m_aviableLanguages) {
2018-04-10 16:28:48 +03:00
if (ui->designerLanguage->currentText().compare(QLocale::languageToString(language)) == 0)
return language;
}
return QLocale().language();
}
void SettingDialog::setSuppressAbsentFieldsAndVarsWarnings(bool value){
ui->cbSuppressWarnings->setChecked(value);
}
void SettingDialog::setHorizontalGridStep(int value)
{
ui->horizontalGridStep->setValue(value);
}
void SettingDialog::setVerticalGridStep(int value)
{
ui->verticalGridStep->setValue(value);
}
void SettingDialog::setDefaultFont(const QFont &value)
{
ui->defaultFont->setCurrentFont(value);
ui->defaultFontSize->setValue(value.pointSize());
}
2017-12-11 16:48:00 +03:00
void SettingDialog::setUseDarkTheme(bool value)
{
ui->cbbUseDarkTheme->setChecked(value);
}
void SettingDialog::setDesignerLanguages(QList<QLocale::Language> languages, QLocale::Language currentLanguage)
2018-04-10 16:28:48 +03:00
{
m_aviableLanguages = languages;
m_currentLanguage = currentLanguage;
if (languages.isEmpty()) {
ui->designerLanguage->setVisible(false);
ui->lblLanguage->setVisible(false);
return;
}
2018-04-10 16:28:48 +03:00
ui->designerLanguage->addItem(QLocale::languageToString(currentLanguage));
foreach (QLocale::Language language, languages) {
2018-04-10 16:28:48 +03:00
if (language != currentLanguage)
ui->designerLanguage->addItem(QLocale::languageToString(language));
}
2018-12-11 20:04:44 +03:00
#ifdef HAVE_QT4
ui->designerLanguage->setCurrentIndex(ui->designerLanguage->findText(QLocale::languageToString(currentLanguage)));
#else
ui->designerLanguage->setCurrentText(QLocale::languageToString(currentLanguage));
2018-12-11 20:04:44 +03:00
#endif
2018-04-10 16:28:48 +03:00
}
} // namespace LimeReport