Added UpdaterSettingsWidget #81

This commit is contained in:
Daniel Brunner
2018-03-24 14:58:59 +01:00
parent 36c2c143a5
commit 937425a4a5
5 changed files with 72 additions and 2 deletions

View File

@@ -11,6 +11,7 @@
#include "updatersettings.h"
#include "updaterdialog.h"
#include "updatersettingswidget.h"
UpdaterPlugin::UpdaterPlugin(QObject *parent) :
ZeiterfassungPlugin(parent)
@@ -38,3 +39,8 @@ void UpdaterPlugin::attachTo(MainWindow &mainWindow)
if(lastUpdateCheck.isNull() || lastUpdateCheck < QDate::currentDate())
new UpdaterDialog(mainWindow);
}
SettingsWidget *UpdaterPlugin::settingsWidget(ZeiterfassungSettings &settings, QWidget *parent) const
{
return new UpdaterSettingsWidget(settings, parent);
}

View File

@@ -19,6 +19,8 @@ public:
// ZeiterfassungPlugin interface
void attachTo(MainWindow &mainWindow) Q_DECL_OVERRIDE;
virtual SettingsWidget *settingsWidget(ZeiterfassungSettings &settings, QWidget *parent = Q_NULLPTR) const Q_DECL_OVERRIDE;
private:
QTranslator m_translator;
};

View File

@@ -18,11 +18,13 @@ DEFINES += QT_DEPRECATED_WARNINGS QT_DISABLE_DEPRECATED_BEFORE=0x060000 QT_MESSA
HEADERS += updaterdialog.h \
updaterplugin.h \
updatersettings.h
updatersettings.h \
updatersettingswidget.h
SOURCES += updaterdialog.cpp \
updaterplugin.cpp \
updatersettings.cpp
updatersettings.cpp \
updatersettingswidget.cpp
FORMS += updaterdialog.ui

View File

@@ -0,0 +1,32 @@
#include "updatersettingswidget.h"
#include <QFormLayout>
#include <QLineEdit>
UpdaterSettingsWidget::UpdaterSettingsWidget(ZeiterfassungSettings &settings, QWidget *parent) :
SettingsWidget(parent),
m_settings(settings)
{
auto layout = new QFormLayout(this);
layout->setMargin(0);
m_lineEdit = new QLineEdit(m_settings.url().toString(), this);
layout->addRow(tr("Updater url:"), m_lineEdit);
setLayout(layout);
}
bool UpdaterSettingsWidget::isValid(QString &message) const
{
auto valid = QUrl::fromUserInput(m_lineEdit->text()).isValid();
if(!valid)
message = tr("The updater url is invalid!");
return valid;
}
void UpdaterSettingsWidget::apply()
{
m_settings.setUrl(QUrl(m_lineEdit->text()));
}

View File

@@ -0,0 +1,28 @@
#ifndef UPDATERSETTINGSWIDGET_H
#define UPDATERSETTINGSWIDGET_H
#include "settingswidget.h"
#include "updatersettings.h"
class QLineEdit;
class UpdaterSettingsWidget : public SettingsWidget
{
Q_OBJECT
public:
explicit UpdaterSettingsWidget(ZeiterfassungSettings &settings, QWidget *parent = Q_NULLPTR);
virtual bool isValid(QString &message) const Q_DECL_OVERRIDE;
public Q_SLOTS:
virtual void apply() Q_DECL_OVERRIDE;
private:
UpdaterSettings m_settings;
QLineEdit *m_lineEdit;
};
#endif // UPDATERSETTINGSWIDGET_H