diff --git a/plugins/absenceplugin/absencedialog.cpp b/plugins/absenceplugin/absencedialog.cpp index 0b8faf8..f80265a 100644 --- a/plugins/absenceplugin/absencedialog.cpp +++ b/plugins/absenceplugin/absencedialog.cpp @@ -1,11 +1,21 @@ #include "absencedialog.h" #include "ui_absencedialog.h" -AbsenceDialog::AbsenceDialog(QWidget *parent) : +#include + +AbsenceDialog::AbsenceDialog(const QDate &date, QWidget *parent) : QDialog(parent), ui(new Ui::AbsenceDialog) { ui->setupUi(this); + +#if (QT_VERSION >= QT_VERSION_CHECK(5, 9, 0)) + setWindowFlag(Qt::WindowContextHelpButtonHint, false); +#else + setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); +#endif + + ui->labelTitle->setText(tr("Absences for %0").arg(date.toString(tr("dd.MM.yyyy")))); } AbsenceDialog::~AbsenceDialog() diff --git a/plugins/absenceplugin/absencedialog.h b/plugins/absenceplugin/absencedialog.h index 37cdb10..ceecb15 100644 --- a/plugins/absenceplugin/absencedialog.h +++ b/plugins/absenceplugin/absencedialog.h @@ -2,6 +2,8 @@ #include +class QDate; + namespace Ui { class AbsenceDialog; } class AbsenceDialog : public QDialog @@ -9,7 +11,7 @@ class AbsenceDialog : public QDialog Q_OBJECT public: - explicit AbsenceDialog(QWidget *parent = 0); + explicit AbsenceDialog(const QDate &date, QWidget *parent = 0); ~AbsenceDialog(); private: diff --git a/plugins/absenceplugin/absencedialog.ui b/plugins/absenceplugin/absencedialog.ui index 4b2e795..41582c0 100644 --- a/plugins/absenceplugin/absencedialog.ui +++ b/plugins/absenceplugin/absencedialog.ui @@ -1,7 +1,5 @@ + - - - AbsenceDialog @@ -13,26 +11,36 @@ - Dialog + Absences - - - - 30 - 240 - 341 - 32 - - - - Qt::Horizontal - - - QDialogButtonBox::Cancel|QDialogButtonBox::Ok - - + + + + + + 16 + + + + Absences for + + + + + + + + + + Qt::Horizontal + + + QDialogButtonBox::Close + + + + - diff --git a/plugins/absenceplugin/absenceplugin.cpp b/plugins/absenceplugin/absenceplugin.cpp index ecaa8b0..2e09928 100644 --- a/plugins/absenceplugin/absenceplugin.cpp +++ b/plugins/absenceplugin/absenceplugin.cpp @@ -34,5 +34,5 @@ AbsencePlugin::AbsencePlugin(QObject *parent) : void AbsencePlugin::attachTo(MainWindow &mainWindow) { for(auto stripsWidget : mainWindow.stripsWidgets()) - stripsWidget->headerLayout()->addWidget(new AbsenceWidget(stripsWidget)); + stripsWidget->headerLayout()->addWidget(new AbsenceWidget(*stripsWidget)); } diff --git a/plugins/absenceplugin/absenceplugin.pro b/plugins/absenceplugin/absenceplugin.pro index 4c1eaed..464f5ed 100644 --- a/plugins/absenceplugin/absenceplugin.pro +++ b/plugins/absenceplugin/absenceplugin.pro @@ -16,22 +16,20 @@ DEPENDPATH += $$PWD/$${PROJECT_ROOT}/zeiterfassungcorelib $$PWD/$${PROJECT_ROOT} DEFINES += QT_DEPRECATED_WARNINGS QT_DISABLE_DEPRECATED_BEFORE=0x060000 QT_MESSAGELOGCONTEXT -HEADERS += \ +HEADERS += absencedialog.h \ absenceplugin.h \ - absencewidget.h \ - absencedialog.h + absencewidget.h -SOURCES += \ +SOURCES += absencedialog.cpp \ absenceplugin.cpp \ - absencewidget.cpp \ - absencedialog.cpp + absencewidget.cpp -FORMS += \ - absencedialog.ui +FORMS += absencedialog.ui RESOURCES += absenceplugin_resources.qrc -TRANSLATIONS += +TRANSLATIONS += translations/absenceplugin_en.ts \ + translations/absenceplugin_de.ts OTHER_FILES += absenceplugin.json diff --git a/plugins/absenceplugin/absencewidget.cpp b/plugins/absenceplugin/absencewidget.cpp index 911e2c4..4e83ec9 100644 --- a/plugins/absenceplugin/absencewidget.cpp +++ b/plugins/absenceplugin/absencewidget.cpp @@ -1,9 +1,12 @@ #include "absencewidget.h" +#include "stripswidget.h" + #include "absencedialog.h" -AbsenceWidget::AbsenceWidget(QWidget *parent) : - QToolButton(parent) +AbsenceWidget::AbsenceWidget(StripsWidget &stripsWidget) : + QToolButton(&stripsWidget), + m_stripsWidget(stripsWidget) { setIcon(QIcon(QStringLiteral(":/zeiterfassung/plugins/absenceplugin/images/absence.png"))); setText(tr("Absence")); @@ -13,6 +16,6 @@ AbsenceWidget::AbsenceWidget(QWidget *parent) : void AbsenceWidget::pressedSlot() { - AbsenceDialog dialog(this); + AbsenceDialog dialog(m_stripsWidget.date(), this); dialog.exec(); } diff --git a/plugins/absenceplugin/absencewidget.h b/plugins/absenceplugin/absencewidget.h index eaec751..a93cc34 100644 --- a/plugins/absenceplugin/absencewidget.h +++ b/plugins/absenceplugin/absencewidget.h @@ -2,13 +2,18 @@ #include +class StripsWidget; + class AbsenceWidget : public QToolButton { Q_OBJECT public: - explicit AbsenceWidget(QWidget *parent = Q_NULLPTR); + explicit AbsenceWidget(StripsWidget &stripsWidget); private Q_SLOTS: void pressedSlot(); + +private: + StripsWidget &m_stripsWidget; }; diff --git a/plugins/absenceplugin/translations/absenceplugin_de.ts b/plugins/absenceplugin/translations/absenceplugin_de.ts new file mode 100644 index 0000000..a2ffce7 --- /dev/null +++ b/plugins/absenceplugin/translations/absenceplugin_de.ts @@ -0,0 +1,30 @@ + + + + + AbsenceDialog + + + Absences + Abwesenheiten + + + + Absences for %0 + Abwesenheiten für %0 + + + + dd.MM.yyyy + dd.MM.yyyy + + + + AbsenceWidget + + + Absence + Abwesenheit + + + diff --git a/plugins/absenceplugin/translations/absenceplugin_en.ts b/plugins/absenceplugin/translations/absenceplugin_en.ts new file mode 100644 index 0000000..a6f27b3 --- /dev/null +++ b/plugins/absenceplugin/translations/absenceplugin_en.ts @@ -0,0 +1,30 @@ + + + + + AbsenceDialog + + + Absences + + + + + Absences for %0 + + + + + dd.MM.yyyy + + + + + AbsenceWidget + + + Absence + + + +