Files
QtZeiterfassung/dialogs/timeassignmentdialog.cpp
T

120 lines
3.1 KiB
C++
Raw Normal View History

#include "timeassignmentdialog.h"
#include "ui_timeassignmentdialog.h"
2017-12-02 10:50:30 +01:00
2017-12-02 19:11:49 +01:00
#include <QMap>
2017-12-02 10:50:30 +01:00
#include <QStringBuilder>
#include <QDebug>
2017-12-03 22:22:07 +01:00
#include "zeiterfassungsettings.h"
TimeAssignmentDialog::TimeAssignmentDialog(const QMap<QString, QString> &projekte, const ZeiterfassungSettings &settings,
QWidget *parent) :
2017-12-02 10:50:30 +01:00
QDialog(parent),
ui(new Ui::TimeAssignmentDialog)
2017-12-02 10:50:30 +01:00
{
ui->setupUi(this);
{
2017-12-03 22:22:07 +01:00
for(const auto &preferedProjekt : settings.projekte())
{
if(!projekte.contains(preferedProjekt))
{
qWarning() << "cannot find projekt" << preferedProjekt;
continue;
}
ui->comboBoxProjekt->addItem(projekte.value(preferedProjekt) % " (" % preferedProjekt % ')', preferedProjekt);
}
2017-12-03 22:22:07 +01:00
if(settings.projekte().count())
ui->comboBoxProjekt->insertSeparator(ui->comboBoxProjekt->count());
for(auto iter = projekte.constBegin(); iter != projekte.constEnd(); iter++)
{
2017-12-03 22:22:07 +01:00
if(!settings.projekte().contains(iter.key()))
ui->comboBoxProjekt->addItem(iter.value() % " (" % iter.key() % ')', iter.key());
}
}
2017-12-03 22:22:07 +01:00
for(const auto &subprojekt : settings.subprojekte())
ui->comboBoxSubprojekt->addItem(subprojekt);
ui->comboBoxSubprojekt->clearEditText();
2017-12-03 22:22:07 +01:00
for(const auto &workpackage : settings.workpackages())
ui->comboBoxWorkpackage->addItem(workpackage);
ui->comboBoxWorkpackage->clearEditText();
2017-12-03 22:22:07 +01:00
for(const auto &text : settings.texte())
ui->comboBoxText->addItem(text);
ui->comboBoxText->clearEditText();
2017-12-02 10:50:30 +01:00
}
TimeAssignmentDialog::~TimeAssignmentDialog()
2017-12-02 10:50:30 +01:00
{
delete ui;
}
QTime TimeAssignmentDialog::getTime() const
2017-12-02 10:50:30 +01:00
{
return ui->timeEditTime->time();
}
void TimeAssignmentDialog::setTime(const QTime &time)
2017-12-02 10:50:30 +01:00
{
ui->timeEditTime->setTime(time);
}
QTime TimeAssignmentDialog::getTimespan() const
2017-12-02 10:50:30 +01:00
{
return ui->timeEditTimespan->time();
}
void TimeAssignmentDialog::setTimespan(const QTime &timespan)
2017-12-02 10:50:30 +01:00
{
ui->timeEditTimespan->setTime(timespan);
}
QString TimeAssignmentDialog::getProjekt() const
2017-12-02 10:50:30 +01:00
{
return ui->comboBoxProjekt->currentData().toString();
}
void TimeAssignmentDialog::setProjekt(const QString &projekt)
2017-12-02 10:50:30 +01:00
{
auto index = ui->comboBoxProjekt->findData(projekt);
if(index >= 0)
ui->comboBoxProjekt->setCurrentIndex(index);
else
qWarning() << "could not find projekt" << projekt;
}
QString TimeAssignmentDialog::getSubprojekt() const
2017-12-02 10:50:30 +01:00
{
return ui->comboBoxSubprojekt->currentText();
2017-12-02 10:50:30 +01:00
}
void TimeAssignmentDialog::setSubprojekt(const QString &subprojekt)
2017-12-02 10:50:30 +01:00
{
ui->comboBoxSubprojekt->setCurrentText(subprojekt);
2017-12-02 10:50:30 +01:00
}
QString TimeAssignmentDialog::getWorkpackage() const
2017-12-02 10:50:30 +01:00
{
return ui->comboBoxWorkpackage->currentText();
2017-12-02 10:50:30 +01:00
}
void TimeAssignmentDialog::setWorkpackage(const QString &workpackage)
2017-12-02 10:50:30 +01:00
{
ui->comboBoxWorkpackage->setCurrentText(workpackage);
2017-12-02 10:50:30 +01:00
}
QString TimeAssignmentDialog::getText() const
2017-12-02 10:50:30 +01:00
{
return ui->comboBoxText->currentText();
2017-12-02 10:50:30 +01:00
}
void TimeAssignmentDialog::setText(const QString &text)
2017-12-02 10:50:30 +01:00
{
ui->comboBoxText->setCurrentText(text);
2017-12-02 10:50:30 +01:00
}