Implemented changed signals in ZeiterfassungSettings
This commit is contained in:
@@ -44,7 +44,7 @@ TimeAssignmentDialog::TimeAssignmentDialog(const QMap<QString, QString> &project
|
|||||||
ui->comboBoxWorkpackage->addItem(workpackage);
|
ui->comboBoxWorkpackage->addItem(workpackage);
|
||||||
ui->comboBoxWorkpackage->clearEditText();
|
ui->comboBoxWorkpackage->clearEditText();
|
||||||
|
|
||||||
for(const auto &text : settings.texte())
|
for(const auto &text : settings.texts())
|
||||||
ui->comboBoxText->addItem(text);
|
ui->comboBoxText->addItem(text);
|
||||||
ui->comboBoxText->clearEditText();
|
ui->comboBoxText->clearEditText();
|
||||||
}
|
}
|
||||||
|
@@ -1,5 +1,17 @@
|
|||||||
#include "zeiterfassungsettings.h"
|
#include "zeiterfassungsettings.h"
|
||||||
|
|
||||||
|
const QString ZeiterfassungSettings::m_language("language");
|
||||||
|
const QString ZeiterfassungSettings::m_url("url");
|
||||||
|
const QString ZeiterfassungSettings::m_username("username");
|
||||||
|
const QString ZeiterfassungSettings::m_password("password");
|
||||||
|
const QString ZeiterfassungSettings::m_projects("projects");
|
||||||
|
const QString ZeiterfassungSettings::m_subprojects("subprojects");
|
||||||
|
const QString ZeiterfassungSettings::m_workpackages("workpackages");
|
||||||
|
const QString ZeiterfassungSettings::m_texts("texte");
|
||||||
|
const QString ZeiterfassungSettings::m_theme("theme");
|
||||||
|
const QLocale::Language ZeiterfassungSettings::m_defaultLanguage(QLocale::AnyLanguage);
|
||||||
|
const QUrl ZeiterfassungSettings::m_defaultUrl(QStringLiteral("http://10.1.0.11:8080/evoApps/"));
|
||||||
|
|
||||||
ZeiterfassungSettings::ZeiterfassungSettings(const QString &organization,
|
ZeiterfassungSettings::ZeiterfassungSettings(const QString &organization,
|
||||||
const QString &application, QObject *parent) :
|
const QString &application, QObject *parent) :
|
||||||
QSettings(organization, application, parent)
|
QSettings(organization, application, parent)
|
||||||
@@ -34,121 +46,157 @@ ZeiterfassungSettings::ZeiterfassungSettings(QObject *parent) :
|
|||||||
|
|
||||||
QLocale::Language ZeiterfassungSettings::language() const
|
QLocale::Language ZeiterfassungSettings::language() const
|
||||||
{
|
{
|
||||||
return value(QStringLiteral("language"), QLocale::AnyLanguage).value<QLocale::Language>();
|
return value(m_language, m_defaultLanguage).value<QLocale::Language>();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::setLanguage(QLocale::Language language)
|
void ZeiterfassungSettings::setLanguage(QLocale::Language language)
|
||||||
{
|
{
|
||||||
setValue(QStringLiteral("language"), language);
|
if(this->language() != language)
|
||||||
|
{
|
||||||
|
setValue(m_language, language);
|
||||||
|
Q_EMIT languageChanged(language);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QUrl ZeiterfassungSettings::url() const
|
QUrl ZeiterfassungSettings::url() const
|
||||||
{
|
{
|
||||||
return value(QStringLiteral("url"), QUrl(QStringLiteral("http://10.1.0.11:8080/evoApps/"))).toUrl();
|
return value(m_url, m_defaultUrl).toUrl();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::setUrl(const QUrl &url)
|
void ZeiterfassungSettings::setUrl(const QUrl &url)
|
||||||
{
|
{
|
||||||
setValue(QStringLiteral("url"), url);
|
if(this->url() != url)
|
||||||
|
{
|
||||||
|
setValue(m_url, url);
|
||||||
|
Q_EMIT urlChanged(url);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString ZeiterfassungSettings::username() const
|
QString ZeiterfassungSettings::username() const
|
||||||
{
|
{
|
||||||
return value(QStringLiteral("username")).toString();
|
return value(m_username).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::setUsername(const QString &username)
|
void ZeiterfassungSettings::setUsername(const QString &username)
|
||||||
{
|
{
|
||||||
setValue(QStringLiteral("username"), username);
|
if(this->username() != username)
|
||||||
|
{
|
||||||
|
setValue(m_username, username);
|
||||||
|
Q_EMIT usernameChanged(username);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QString ZeiterfassungSettings::password() const
|
QString ZeiterfassungSettings::password() const
|
||||||
{
|
{
|
||||||
return value(QStringLiteral("password")).toString();
|
return value(m_password).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::setPassword(const QString &password)
|
void ZeiterfassungSettings::setPassword(const QString &password)
|
||||||
{
|
{
|
||||||
setValue(QStringLiteral("password"), password);
|
if(this->password() != password)
|
||||||
|
{
|
||||||
|
setValue(m_password, password);
|
||||||
|
Q_EMIT passwordChanged(password);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList ZeiterfassungSettings::projects() const
|
QStringList ZeiterfassungSettings::projects() const
|
||||||
{
|
{
|
||||||
return value(QStringLiteral("projects")).toStringList();
|
return value(m_projects).toStringList();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::setProjects(const QStringList &projects)
|
void ZeiterfassungSettings::setProjects(const QStringList &projects)
|
||||||
{
|
{
|
||||||
setValue(QStringLiteral("projects"), projects);
|
if(this->projects() != projects)
|
||||||
|
{
|
||||||
|
setValue(m_projects, projects);
|
||||||
|
Q_EMIT projectsChanged(projects);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::prependProject(const QString &project)
|
void ZeiterfassungSettings::prependProject(const QString &project)
|
||||||
{
|
{
|
||||||
prependItem(QStringLiteral("projects"), project);
|
setProjects(prependItem(projects(), project));
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList ZeiterfassungSettings::subprojects() const
|
QStringList ZeiterfassungSettings::subprojects() const
|
||||||
{
|
{
|
||||||
return value(QStringLiteral("subprojects")).toStringList();
|
return value(m_subprojects).toStringList();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::setSubprojects(const QStringList &subprojects)
|
void ZeiterfassungSettings::setSubprojects(const QStringList &subprojects)
|
||||||
{
|
{
|
||||||
setValue(QStringLiteral("subprojects"), subprojects);
|
if(this->subprojects() != subprojects)
|
||||||
|
{
|
||||||
|
setValue(m_subprojects, subprojects);
|
||||||
|
Q_EMIT subprojectsChanged(subprojects);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::prependSubproject(const QString &subproject)
|
void ZeiterfassungSettings::prependSubproject(const QString &subproject)
|
||||||
{
|
{
|
||||||
prependItem(QStringLiteral("subprojects"), subproject);
|
setSubprojects(prependItem(subprojects(), subproject));
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList ZeiterfassungSettings::workpackages() const
|
QStringList ZeiterfassungSettings::workpackages() const
|
||||||
{
|
{
|
||||||
return value(QStringLiteral("workpackages")).toStringList();
|
return value(m_workpackages).toStringList();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::setWorkpackages(const QStringList &workpackages)
|
void ZeiterfassungSettings::setWorkpackages(const QStringList &workpackages)
|
||||||
{
|
{
|
||||||
setValue(QStringLiteral("workpackages"), workpackages);
|
if(this->workpackages() != workpackages)
|
||||||
|
{
|
||||||
|
setValue(m_workpackages, workpackages);
|
||||||
|
Q_EMIT workpackagesChanged(workpackages);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::prependWorkpackage(const QString &workpackage)
|
void ZeiterfassungSettings::prependWorkpackage(const QString &workpackage)
|
||||||
{
|
{
|
||||||
prependItem(QStringLiteral("workpackages"), workpackage);
|
setWorkpackages(prependItem(workpackages(), workpackage));
|
||||||
}
|
}
|
||||||
|
|
||||||
QStringList ZeiterfassungSettings::texte() const
|
QStringList ZeiterfassungSettings::texts() const
|
||||||
{
|
{
|
||||||
return value(QStringLiteral("texte")).toStringList();
|
return value(m_texts).toStringList();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::setTexte(const QStringList &texte)
|
void ZeiterfassungSettings::setTexts(const QStringList &texts)
|
||||||
{
|
{
|
||||||
setValue(QStringLiteral("texte"), texte);
|
if(this->texts() != texts)
|
||||||
|
{
|
||||||
|
setValue(m_texts, texts);
|
||||||
|
Q_EMIT textsChanged(texts);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::prependText(const QString &text)
|
void ZeiterfassungSettings::prependText(const QString &text)
|
||||||
{
|
{
|
||||||
prependItem(QStringLiteral("texte"), text);
|
setTexts(prependItem(texts(), text));
|
||||||
}
|
}
|
||||||
|
|
||||||
QString ZeiterfassungSettings::theme() const
|
QString ZeiterfassungSettings::theme() const
|
||||||
{
|
{
|
||||||
return value(QStringLiteral("theme")).toString();
|
return value(m_theme).toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::setTheme(const QString &theme)
|
void ZeiterfassungSettings::setTheme(const QString &theme)
|
||||||
{
|
{
|
||||||
setValue(QStringLiteral("theme"), theme);
|
if(this->theme() != theme)
|
||||||
|
{
|
||||||
|
setValue(m_theme, theme);
|
||||||
|
Q_EMIT themeChanged(theme);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ZeiterfassungSettings::prependItem(const QString &name, const QString &item)
|
QStringList ZeiterfassungSettings::prependItem(QStringList list, const QString &item)
|
||||||
{
|
{
|
||||||
if(item.trimmed().isEmpty())
|
if(item.trimmed().isEmpty())
|
||||||
return;
|
return list;
|
||||||
|
|
||||||
auto entries = value(name).toStringList();
|
list.removeAll(item);
|
||||||
entries.removeAll(item);
|
list.prepend(item);
|
||||||
entries.prepend(item);
|
|
||||||
setValue(name, entries);
|
return list;
|
||||||
}
|
}
|
||||||
|
@@ -12,6 +12,15 @@
|
|||||||
class ZEITERFASSUNGCORELIBSHARED_EXPORT ZeiterfassungSettings : public QSettings
|
class ZEITERFASSUNGCORELIBSHARED_EXPORT ZeiterfassungSettings : public QSettings
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
Q_PROPERTY(QLocale::Language language READ language WRITE setLanguage NOTIFY languageChanged)
|
||||||
|
Q_PROPERTY(QUrl url READ url WRITE setUrl NOTIFY urlChanged)
|
||||||
|
Q_PROPERTY(QString username READ username WRITE setUsername NOTIFY usernameChanged)
|
||||||
|
Q_PROPERTY(QString password READ password WRITE setPassword NOTIFY passwordChanged)
|
||||||
|
Q_PROPERTY(QStringList projects READ projects WRITE setProjects NOTIFY projectsChanged)
|
||||||
|
Q_PROPERTY(QStringList subprojects READ subprojects WRITE setSubprojects NOTIFY subprojectsChanged)
|
||||||
|
Q_PROPERTY(QStringList workpackages READ workpackages WRITE setWorkpackages NOTIFY workpackagesChanged)
|
||||||
|
Q_PROPERTY(QStringList texts READ texts WRITE setTexts NOTIFY textsChanged)
|
||||||
|
Q_PROPERTY(QString theme READ theme WRITE setTheme NOTIFY themeChanged)
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit ZeiterfassungSettings(const QString &organization,
|
explicit ZeiterfassungSettings(const QString &organization,
|
||||||
@@ -47,13 +56,36 @@ public:
|
|||||||
void setWorkpackages(const QStringList &workpackages);
|
void setWorkpackages(const QStringList &workpackages);
|
||||||
void prependWorkpackage(const QString &workpackage);
|
void prependWorkpackage(const QString &workpackage);
|
||||||
|
|
||||||
QStringList texte() const;
|
QStringList texts() const;
|
||||||
void setTexte(const QStringList &texte);
|
void setTexts(const QStringList &texts);
|
||||||
void prependText(const QString &text);
|
void prependText(const QString &text);
|
||||||
|
|
||||||
QString theme() const;
|
QString theme() const;
|
||||||
void setTheme(const QString &theme);
|
void setTheme(const QString &theme);
|
||||||
|
|
||||||
|
Q_SIGNALS:
|
||||||
|
void languageChanged(QLocale::Language language);
|
||||||
|
void urlChanged(const QUrl &url);
|
||||||
|
void usernameChanged(const QString &username);
|
||||||
|
void passwordChanged(const QString &password);
|
||||||
|
void projectsChanged(const QStringList &projects);
|
||||||
|
void subprojectsChanged(const QStringList &subprojects);
|
||||||
|
void workpackagesChanged(const QStringList &workpackages);
|
||||||
|
void textsChanged(const QStringList &texts);
|
||||||
|
void themeChanged(const QString &theme);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void prependItem(const QString &name, const QString &item);
|
QStringList prependItem(QStringList list, const QString &item);
|
||||||
|
|
||||||
|
static const QString m_language;
|
||||||
|
static const QString m_url;
|
||||||
|
static const QString m_username;
|
||||||
|
static const QString m_password;
|
||||||
|
static const QString m_projects;
|
||||||
|
static const QString m_subprojects;
|
||||||
|
static const QString m_workpackages;
|
||||||
|
static const QString m_texts;
|
||||||
|
static const QString m_theme;
|
||||||
|
static const QLocale::Language m_defaultLanguage;
|
||||||
|
static const QUrl m_defaultUrl;
|
||||||
};
|
};
|
||||||
|
@@ -458,7 +458,7 @@ void MainWindow::updateComboboxes()
|
|||||||
ui->comboBoxText->clear();
|
ui->comboBoxText->clear();
|
||||||
|
|
||||||
{
|
{
|
||||||
auto texte = m_settings.texte();
|
auto texte = m_settings.texts();
|
||||||
for(const auto &text : texte)
|
for(const auto &text : texte)
|
||||||
ui->comboBoxText->addItem(text);
|
ui->comboBoxText->addItem(text);
|
||||||
if(texte.count())
|
if(texte.count())
|
||||||
|
Reference in New Issue
Block a user