0
0
mirror of https://github.com/fralx/LimeReport.git synced 2025-09-23 08:29:07 +03:00

Language settings has been added to designer

This commit is contained in:
Arin Alexander
2018-05-15 22:14:17 +03:00
parent 3d8588316b
commit 8df8182875
13 changed files with 145 additions and 56 deletions

View File

@@ -720,7 +720,9 @@ void ReportDesignWidget::editSetting()
m_defaultFont = setting.defaultFont();
m_useDarkTheme = setting.userDarkTheme();
m_report->setSuppressFieldAndVarError(setting.suppressAbsentFieldsAndVarsWarnings());
m_report->setCurrentDesignerLanguage(setting.designerLanguage());
if (m_report->currentDesignerLanguage() != setting.designerLanguage() ){
m_report->setCurrentDesignerLanguage(setting.designerLanguage());
}
applySettings();
}
}

View File

@@ -71,7 +71,6 @@ public:
QSettings* settings();
void restoreSetting();
void setShowProgressDialog(bool value){m_showProgressDialog = value;}
private slots:
void slotNewReport();
void slotNewPage();

View File

@@ -950,40 +950,25 @@ void ReportEnginePrivate::activateLanguage(QLocale::Language language)
}
}
QString ReportEnginePrivate::getLanguagesDir() const
QList<QLocale::Language> ReportEnginePrivate::designerLanguages()
{
return m_languagesDir;
}
void ReportEnginePrivate::setLanguagesDir(const QString& languagesDir)
{
m_languagesDir = languagesDir;
}
void ReportEnginePrivate::addDesignerLanguage(QLocale::Language language)
{
if (!m_designerLanguages.contains(language))
m_designerLanguages.append(language);
}
void ReportEnginePrivate::removeDesignerLanguage(QLocale::Language language)
{
m_designerLanguages.removeAll(language);
}
QList<QLocale::Language>* ReportEnginePrivate::designerLanguages()
{
return &m_designerLanguages;
QList<QLocale::Language> result;
emit getAviableLanguages(&result);
return result;
}
QLocale::Language ReportEnginePrivate::currentDesignerLanguage()
{
return m_currentDesignerLanguage;
QLocale::Language result = emit getCurrentDefaultLanguage();
return result;
}
void ReportEnginePrivate::setCurrentDesignerLanguage(QLocale::Language language)
{
m_currentDesignerLanguage = language;
QMessageBox::information(m_designerWindow, tr("Warning") ,tr("The language will change after the application is restarted"));
emit currentDefaulLanguageChanged(language);
}
QString ReportEnginePrivate::styleSheet() const
@@ -1167,6 +1152,12 @@ ReportEngine::ReportEngine(QObject *parent)
connect(d, SIGNAL(onSave()), this, SIGNAL(onSave()));
connect(d, SIGNAL(onLoad(bool&)), this, SIGNAL(onLoad(bool&)));
connect(d, SIGNAL(saveFinished()), this, SIGNAL(saveFinished()));
connect(d, SIGNAL(getAviableLanguages(QList<QLocale::Language>*)),
this, SIGNAL(getAviableLanguages(QList<QLocale::Language>*)));
connect(d, SIGNAL(currentDefaulLanguageChanged(QLocale::Language)),
this, SIGNAL(currentDefaulLanguageChanged(QLocale::Language)));
connect(d, SIGNAL(getCurrentDefaultLanguage()),
this, SIGNAL(getCurrentDefaultLanguage()));
}
ReportEngine::~ReportEngine()
@@ -1273,19 +1264,19 @@ bool ReportEngine::setReportLanguage(QLocale::Language language)
return d->setReportLanguage(language);
}
void ReportEngine::addDesignerLanguage(QLocale::Language language)
Qt::LayoutDirection ReportEngine::previewLayoutDirection()
{
Q_D(ReportEngine);
d->addDesignerLanguage(language);
return d->previewLayoutDirection();
}
void ReportEngine::removeDesignerLanguage(QLocale::Language language)
void ReportEngine::setPreviewLayoutDirection(const Qt::LayoutDirection& previewLayoutDirection)
{
Q_D(ReportEngine);
d->removeDesignerLanguage(language);
d->setPreviewLayoutDirection(previewLayoutDirection);
}
QList<QLocale::Language>*ReportEngine::designerLanguages()
QList<QLocale::Language> ReportEngine::designerLanguages()
{
Q_D(ReportEngine);
return d->designerLanguages();

View File

@@ -113,9 +113,7 @@ public:
bool setReportLanguage(QLocale::Language language);
Qt::LayoutDirection previewLayoutDirection();
void setPreviewLayoutDirection(const Qt::LayoutDirection& previewLayoutDirection);
void addDesignerLanguage(QLocale::Language language);
void removeDesignerLanguage(QLocale::Language language);
QList<QLocale::Language>* designerLanguages();
QList<QLocale::Language> designerLanguages();
QLocale::Language currentDesignerLanguage();
signals:
void renderStarted();
@@ -124,6 +122,9 @@ signals:
void onLoad(bool& loaded);
void onSave();
void saveFinished();
void getAviableLanguages(QList<QLocale::Language>* languages);
void currentDefaulLanguageChanged(QLocale::Language);
QLocale::Language getCurrentDefaultLanguage();
public slots:
void cancelRender();
protected:

View File

@@ -84,7 +84,7 @@ public:
virtual void setSuppressFieldAndVarError(bool suppressFieldAndVarError) = 0;
virtual void setStyleSheet(const QString& styleSheet) = 0;
virtual QString styleSheet() const = 0;
virtual QList<QLocale::Language>* designerLanguages() = 0;
virtual QList<QLocale::Language> designerLanguages() = 0;
virtual QLocale::Language currentDesignerLanguage() = 0;
virtual void setCurrentDesignerLanguage(QLocale::Language language) = 0;
};
@@ -182,11 +182,7 @@ public:
void setPreviewLayoutDirection(const Qt::LayoutDirection& previewLayoutDirection);
QString styleSheet() const;
void setStyleSheet(const QString &styleSheet);
QString getLanguagesDir() const;
void setLanguagesDir(const QString& languagesDir);
void addDesignerLanguage(QLocale::Language language);
void removeDesignerLanguage(QLocale::Language language);
QList<QLocale::Language>* designerLanguages();
QList<QLocale::Language> designerLanguages();
QLocale::Language currentDesignerLanguage();
void setCurrentDesignerLanguage(QLocale::Language language);
signals:
@@ -199,6 +195,9 @@ signals:
void onLoad(bool& loaded);
void onSave();
void saveFinished();
void getAviableLanguages(QList<QLocale::Language>* languages);
void currentDefaulLanguageChanged(QLocale::Language);
QLocale::Language getCurrentDefaultLanguage();
public slots:
bool slotLoadFromFile(const QString& fileName);
void cancelRender();
@@ -257,8 +256,6 @@ private:
Qt::LayoutDirection m_previewLayoutDirection;
LimeReportPluginInterface* m_designerFactory;
QString m_styleSheet;
QString m_languagesDir;
QList<QLocale::Language> m_designerLanguages;
QLocale::Language m_currentDesignerLanguage;
};

View File

@@ -49,7 +49,7 @@ bool SettingDialog::suppressAbsentFieldsAndVarsWarnings()
QLocale::Language SettingDialog::designerLanguage()
{
foreach (QLocale::Language language, *m_designerLanguages) {
foreach (QLocale::Language language, m_aviableLanguages) {
if (ui->designerLanguage->currentText().compare(QLocale::languageToString(language)) == 0)
return language;
}
@@ -81,14 +81,22 @@ void SettingDialog::setUseDarkTheme(bool value)
ui->cbbUseDarkTheme->setChecked(value);
}
void SettingDialog::setDesignerLanguages(QList<QLocale::Language>* languages, QLocale::Language currentLanguage)
void SettingDialog::setDesignerLanguages(QList<QLocale::Language> languages, QLocale::Language currentLanguage)
{
m_designerLanguages = languages;
m_aviableLanguages = languages;
m_currentLanguage = currentLanguage;
if (languages.isEmpty()) {
ui->designerLanguage->setVisible(false);
ui->lblLanguage->setVisible(false);
return;
}
ui->designerLanguage->addItem(QLocale::languageToString(currentLanguage));
foreach (QLocale::Language language, *languages) {
foreach (QLocale::Language language, languages) {
if (language != currentLanguage)
ui->designerLanguage->addItem(QLocale::languageToString(language));
}
ui->designerLanguage->setCurrentText(QLocale::languageToString(currentLanguage));
}
} // namespace LimeReport

View File

@@ -28,10 +28,11 @@ public:
void setVerticalGridStep(int value);
void setDefaultFont(const QFont& value);
void setUseDarkTheme(bool value);
void setDesignerLanguages(QList<QLocale::Language>* languages, QLocale::Language currentLanguage);
void setDesignerLanguages(QList<QLocale::Language> languages, QLocale::Language currentLanguage);
private:
Ui::SettingDialog *ui;
QList<QLocale::Language>* m_designerLanguages;
QList<QLocale::Language> m_aviableLanguages;
QLocale::Language m_currentLanguage;
};
} // namespace LimeReport

View File

@@ -11,7 +11,7 @@
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="MinimumExpanding">
<sizepolicy hsizetype="Preferred" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
@@ -115,9 +115,9 @@
</widget>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_4">
<layout class="QHBoxLayout" name="hlLanguage">
<item>
<widget class="QLabel" name="label_4">
<widget class="QLabel" name="lblLanguage">
<property name="text">
<string>Language</string>
</property>