Fixed error handling of StripFactory
This commit is contained in:
1 parent
7d03c764e8
commit
b52a357f67
5 files changed
+26
-22
No files matched your search
@@ -17,6 +17,7 @@
|
||||
#include "replies/loginpagereply.h"
|
||||
#include "replies/loginreply.h"
|
||||
#include "replies/userinforeply.h"
|
||||
#include "stripfactory.h"
|
||||
|
||||
bool loadAndInstallTranslator(QTranslator &translator,
|
||||
const QLocale &locale,
|
||||
@@ -198,7 +199,15 @@ int main(int argc, char *argv[])
|
||||
reply->deleteLater();
|
||||
}
|
||||
|
||||
MainWindow mainWindow(settings, erfassung, userInfo);
|
||||
StripFactory stripFactory(&app);
|
||||
if(!stripFactory.load(QDir(QCoreApplication::applicationDirPath()).absoluteFilePath("strips")))
|
||||
{
|
||||
QMessageBox::warning(&splashScreen, QCoreApplication::translate("main", "Could not load strips!"),
|
||||
QCoreApplication::translate("main", "Could not load strips!") % "\n\n" % stripFactory.errorString());
|
||||
return -1;
|
||||
}
|
||||
|
||||
MainWindow mainWindow(settings, erfassung, userInfo, stripFactory);
|
||||
mainWindow.show();
|
||||
|
||||
splashScreen.finish(&mainWindow);
|
||||
|
||||
+4
-10
@@ -36,13 +36,14 @@
|
||||
#include "replies/createtimeassignmentreply.h"
|
||||
#include "replies/createbookingreply.h"
|
||||
|
||||
MainWindow::MainWindow(ZeiterfassungSettings &settings, ZeiterfassungApi &erfassung, const ZeiterfassungApi::UserInfo &userInfo, QWidget *parent) :
|
||||
MainWindow::MainWindow(ZeiterfassungSettings &settings, ZeiterfassungApi &erfassung, const ZeiterfassungApi::UserInfo &userInfo,
|
||||
StripFactory &stripFactory, QWidget *parent) :
|
||||
QMainWindow(parent),
|
||||
ui(new Ui::MainWindow),
|
||||
m_settings(settings),
|
||||
m_erfassung(erfassung),
|
||||
m_userInfo(userInfo),
|
||||
m_stripFactory(new StripFactory(this)),
|
||||
m_stripFactory(stripFactory),
|
||||
m_currentStripWidget(Q_NULLPTR)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
@@ -63,7 +64,7 @@ MainWindow::MainWindow(ZeiterfassungSettings &settings, ZeiterfassungApi &erfass
|
||||
layout->addWidget(label);
|
||||
}
|
||||
|
||||
m_stripsWidgets[i] = new StripsWidget(m_erfassung, m_stripFactory, m_userInfo.userId, m_projects, widget);
|
||||
m_stripsWidgets[i] = new StripsWidget(m_erfassung, m_userInfo.userId, m_stripFactory, m_projects, widget);
|
||||
layout->addWidget(m_stripsWidgets[i++]);
|
||||
|
||||
layout->addStretch(1);
|
||||
@@ -126,13 +127,6 @@ MainWindow::MainWindow(ZeiterfassungSettings &settings, ZeiterfassungApi &erfass
|
||||
m_holidaysLabel->setFrameShape(QFrame::Panel);
|
||||
m_holidaysLabel->setFrameShadow(QFrame::Sunken);
|
||||
|
||||
if(!m_stripFactory->load(QDir(QCoreApplication::applicationDirPath()).absoluteFilePath("strips")))
|
||||
{
|
||||
QMessageBox::warning(this, tr("Could not load strips!"), tr("Could not load strips!") % "\n\n" % m_stripFactory->errorString());
|
||||
qApp->exit(-1);
|
||||
return;
|
||||
}
|
||||
|
||||
dateChanged();
|
||||
|
||||
if(settings.lastUpdateCheck().isNull() || settings.lastUpdateCheck() < QDate::currentDate())
|
||||
|
||||
+3
-2
@@ -21,7 +21,8 @@ class MainWindow : public QMainWindow
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit MainWindow(ZeiterfassungSettings &settings, ZeiterfassungApi &erfassung, const ZeiterfassungApi::UserInfo &userInfo, QWidget *parent = Q_NULLPTR);
|
||||
explicit MainWindow(ZeiterfassungSettings &settings, ZeiterfassungApi &erfassung, const ZeiterfassungApi::UserInfo &userInfo,
|
||||
StripFactory &stripFactory, QWidget *parent = Q_NULLPTR);
|
||||
~MainWindow();
|
||||
|
||||
private Q_SLOTS:
|
||||
@@ -60,7 +61,7 @@ private:
|
||||
QLabel *m_balanceLabel;
|
||||
QLabel *m_holidaysLabel;
|
||||
|
||||
StripFactory *m_stripFactory;
|
||||
StripFactory &m_stripFactory;
|
||||
StripsWidget *m_stripsWidgets[7];
|
||||
StripsWidget *m_currentStripWidget;
|
||||
};
|
||||
|
||||
+6
-6
@@ -15,12 +15,12 @@
|
||||
#include "timeutils.h"
|
||||
#include "stripfactory.h"
|
||||
|
||||
StripsWidget::StripsWidget(ZeiterfassungApi &erfassung, StripFactory *stripFactory,
|
||||
int userId, const QMap<QString, QString> &projects, QWidget *parent) :
|
||||
StripsWidget::StripsWidget(ZeiterfassungApi &erfassung, int userId, StripFactory &stripFactory,
|
||||
const QMap<QString, QString> &projects, QWidget *parent) :
|
||||
QWidget(parent),
|
||||
m_erfassung(erfassung),
|
||||
m_stripFactory(stripFactory),
|
||||
m_userId(userId),
|
||||
m_stripFactory(stripFactory),
|
||||
m_projects(projects),
|
||||
m_layout(new QVBoxLayout(this)),
|
||||
m_bookingsModel(new BookingsModel(this)),
|
||||
@@ -440,7 +440,7 @@ QString StripsWidget::buildProjectString(const QString &project)
|
||||
|
||||
QWidget *StripsWidget::appendBookingStartStrip(int id, const QTime &time)
|
||||
{
|
||||
auto widget = m_stripFactory->createBookingStartStrip(this);
|
||||
auto widget = m_stripFactory.createBookingStartStrip(this);
|
||||
|
||||
if(auto labelTime = widget->findChild<QWidget*>("labelTime"))
|
||||
labelTime->setProperty("text", time.toString(QStringLiteral("HH:mm")));
|
||||
@@ -459,7 +459,7 @@ QWidget *StripsWidget::appendBookingStartStrip(int id, const QTime &time)
|
||||
|
||||
QWidget *StripsWidget::appendBookingEndStrip(int id, const QTime &time)
|
||||
{
|
||||
auto widget = m_stripFactory->createBookingEndStrip(this);
|
||||
auto widget = m_stripFactory.createBookingEndStrip(this);
|
||||
|
||||
if(auto labelTime = widget->findChild<QWidget*>("labelTime"))
|
||||
labelTime->setProperty("text", time.toString(QStringLiteral("HH:mm")));
|
||||
@@ -478,7 +478,7 @@ QWidget *StripsWidget::appendBookingEndStrip(int id, const QTime &time)
|
||||
|
||||
QWidget *StripsWidget::appendTimeAssignmentStrip(int id, const QTime &duration, const QString &project, const QString &subproject, const QString &workpackage, const QString &text)
|
||||
{
|
||||
auto widget = m_stripFactory->createTimeAssignmentStrip(this);
|
||||
auto widget = m_stripFactory.createTimeAssignmentStrip(this);
|
||||
|
||||
if(auto labelTime = widget->findChild<QWidget*>("labelTime"))
|
||||
labelTime->setProperty("text", duration == QTime(0, 0) ? tr("Open") : duration.toString(QStringLiteral("HH:mm")));
|
||||
|
||||
+3
-3
@@ -21,8 +21,8 @@ class StripsWidget : public QWidget
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit StripsWidget(ZeiterfassungApi &erfassung, StripFactory *stripFactory,
|
||||
int userId, const QMap<QString, QString> &projects, QWidget *parent = Q_NULLPTR);
|
||||
explicit StripsWidget(ZeiterfassungApi &erfassung, int userId, StripFactory &stripFactory,
|
||||
const QMap<QString, QString> &projects, QWidget *parent = Q_NULLPTR);
|
||||
|
||||
BookingsModel *bookingsModel() const;
|
||||
TimeAssignmentsModel *timeAssignmentsModel() const;
|
||||
@@ -70,8 +70,8 @@ private:
|
||||
const QString &workpackage, const QString &text);
|
||||
|
||||
ZeiterfassungApi &m_erfassung;
|
||||
StripFactory *m_stripFactory;
|
||||
int m_userId;
|
||||
StripFactory &m_stripFactory;
|
||||
const QMap<QString, QString> &m_projects;
|
||||
|
||||
QBoxLayout *m_layout;
|
||||
|
||||
Reference in new issue
Block a user