Restrukturering av filsystem

This commit is contained in:
Helge-Mikael Nordgård 2021-09-28 23:06:33 +02:00
parent 137a1e55fd
commit c548c6b68c
40 changed files with 4449 additions and 4385 deletions

View File

@ -1,5 +1,17 @@
TEMPLATE = subdirs QT += core gui
CONFIG += ordered greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
SUBDIRS += src CONFIG += c++11
RC_ICONS = saeterprosjekt.ico
include(src/core/core.pri)
include(src/mainwidgets/mainwidgets.pri)
include(src/uidialogs/maindialogs/maindialogs.pri)
include(src/uidialogs/widgetdialogs/kunde/kundedialoger.pri)
include(src/uidialogs/widgetdialogs/prosjekt/prosjektdialoger.pri)
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject> <!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 4.15.0, 2021-09-21T11:59:51. --> <!-- Written by QtCreator 4.15.0, 2021-09-28T22:59:07. -->
<qtcreator> <qtcreator>
<data> <data>
<variable>EnvironmentId</variable> <variable>EnvironmentId</variable>
@ -99,8 +99,8 @@
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value> <value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="int" key="EnableQmlDebugging">0</value> <value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\heno\Documents\build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Debug</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\heno\Documents\qt prosjekter\build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Debug</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/heno/Documents/build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Debug</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/heno/Documents/qt prosjekter/build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@ -137,8 +137,8 @@
<value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value> <value type="int" key="Qt4ProjectManager.Qt4BuildConfiguration.BuildConfiguration">2</value>
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\heno\Documents\build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Release</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\heno\Documents\qt prosjekter\build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Release</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/heno/Documents/build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Release</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/heno/Documents/qt prosjekter/build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@ -177,8 +177,8 @@
</valuemap> </valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2"> <valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="int" key="EnableQmlDebugging">0</value> <value type="int" key="EnableQmlDebugging">0</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\heno\Documents\build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Profile</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">C:\Users\heno\Documents\qt prosjekter\build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Profile</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/heno/Documents/build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Profile</value> <value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory.shadowDir">C:/Users/heno/Documents/qt prosjekter/build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Profile</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0"> <valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value> <value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
@ -294,14 +294,14 @@
<valuelist type="QVariantList" key="CustomOutputParsers"/> <valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value> <value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/> <valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/heno/Documents/qt prosjekter/Saeterprosjekt/src/core/core.pro</value> <value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">Qt4ProjectManager.Qt4RunConfiguration:C:/Users/heno/Documents/qt prosjekter/Saeterprosjekt/Saeterprosjekt.pro</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">C:/Users/heno/Documents/qt prosjekter/Saeterprosjekt/src/core/core.pro</value> <value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey">C:/Users/heno/Documents/qt prosjekter/Saeterprosjekt/Saeterprosjekt.pro</value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value> <value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value> <value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value> <value type="bool" key="RunConfiguration.UseLibrarySearchPath">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value> <value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value> <value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
<value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/heno/Documents/build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Debug/src/core</value> <value type="QString" key="RunConfiguration.WorkingDirectory.default">C:/Users/heno/Documents/qt prosjekter/build-Saeterprosjekt-Desktop_Qt_5_15_2_MinGW_64_bit-Debug</value>
</valuemap> </valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value> <value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap> </valuemap>

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

31
src/core/core.pri Normal file
View File

@ -0,0 +1,31 @@
INCLUDEPATH += \
$$PWD/../mainwidgets \
$$PWD/../uidialogs/maindialogs \
$$PWD/../uidialogs/widgetdialogs/kunde \
$$PWD/../uidialogs/widgetdialogs/prosjekt
DEPENDPATH += \
$$PWD/../mainwidgets \
$$PWD/../uidialogs/maindialogs \
$$PWD/../uidialogs/widgetdialogs/kunde \
$$PWD/../uidialogs/widgetdialogs/prosjekt
SOURCES += \
$$PWD/main.cpp \
$$PWD/mainwindow.cpp \
$$PWD/arbeidshest.cpp \
$$PWD/datahandler.cpp \
$$PWD/datatypes.cpp \
$$PWD/globals.cpp
HEADERS += \
$$PWD/mainwindow.h \
$$PWD/arbeidshest.h \
$$PWD/datahandler.h \
$$PWD/datatypes.h \
$$PWD/globals.h
FORMS += \
$$PWD/mainwindow.ui
RESOURCES += \
$$PWD/../../resources.qrc

View File

@ -1,66 +0,0 @@
QT += core gui
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
CONFIG += c++11
RC_ICONS = saeterprosjekt.ico
# You can make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
SOURCES += \
$$PWD/main.cpp \
$$PWD/mainwindow.cpp \
arbeidshest.cpp \
datahandler.cpp \
datatypes.cpp \
globals.cpp \
innstillingdialog.cpp \
kundewidget.cpp \
nykundedialog.cpp \
nyttprosjektdialog.cpp \
omdialog.cpp \
prosjektwidget.cpp \
redigerkundedialog.cpp \
redigerprosjektdialog.cpp \
varsledialog.cpp \
velgkundeprosjektdialog.cpp
HEADERS += \
$$PWD/mainwindow.h \
arbeidshest.h \
datahandler.h \
datatypes.h \
globals.h \
innstillingdialog.h \
kundewidget.h \
nykundedialog.h \
nyttprosjektdialog.h \
omdialog.h \
prosjektwidget.h \
redigerkundedialog.h \
redigerprosjektdialog.h \
varsledialog.h \
velgkundeprosjektdialog.h
FORMS += \
$$PWD/mainwindow.ui \
innstillingdialog.ui \
kundewidget.ui \
nykundedialog.ui \
nyttprosjektdialog.ui \
omdialog.ui \
prosjektwidget.ui \
redigerkundedialog.ui \
redigerprosjektdialog.ui \
varsledialog.ui \
velgkundeprosjektdialog.ui
# Default rules for deployment.
qnx: target.path = /tmp/$${TARGET}/bin
else: unix:!android: target.path = /opt/$${TARGET}/bin
!isEmpty(target.path): INSTALLS += target
RESOURCES += \
$$PWD/../../resources.qrc

View File

@ -1,93 +1,93 @@
#include "kundewidget.h" #include "kundewidget.h"
#include "ui_kundewidget.h" #include "ui_kundewidget.h"
KundeWidget::KundeWidget(QWidget *parent) : KundeWidget::KundeWidget(QWidget *parent) :
QWidget(parent), QWidget(parent),
ui(new Ui::KundeWidget) { ui(new Ui::KundeWidget) {
ui->setupUi(this); ui->setupUi(this);
} }
KundeWidget::~KundeWidget() { KundeWidget::~KundeWidget() {
delete ui; delete ui;
} }
void KundeWidget::lagKundeTabell(KundeKartotek &kundeKart) { void KundeWidget::lagKundeTabell(KundeKartotek &kundeKart) {
ui->kundeTabell->clear(); ui->kundeTabell->clear();
connect(ui->kundeTabell, SIGNAL(itemClicked(QTableWidgetItem*)), this, SLOT(celleKlikk(QTableWidgetItem*))); connect(ui->kundeTabell, SIGNAL(itemClicked(QTableWidgetItem*)), this, SLOT(celleKlikk(QTableWidgetItem*)));
// Sett aktive poster i et eget kartotek // Sett aktive poster i et eget kartotek
KundeKartotek aktivKartotek; KundeKartotek aktivKartotek;
for (int i = 0; i < kundeKart.size(); ++i) { for (int i = 0; i < kundeKart.size(); ++i) {
if (kundeKart.at(i).value("active").toBool()) { if (kundeKart.at(i).value("active").toBool()) {
aktivKartotek << kundeKart.at(i); aktivKartotek << kundeKart.at(i);
} }
} }
QStringList overskrifter; QStringList overskrifter;
overskrifter << "Kundenummer" << "Fornavn" << "Etternavn" << "Firmanavn" <<"Telefonnr" <<"Epostadresse"; overskrifter << "Kundenummer" << "Fornavn" << "Etternavn" << "Firmanavn" <<"Telefonnr" <<"Epostadresse";
ui->kundeTabell->setRowCount(aktivKartotek.size()); ui->kundeTabell->setRowCount(aktivKartotek.size());
ui->kundeTabell->setColumnCount(6); ui->kundeTabell->setColumnCount(6);
ui->kundeTabell->setHorizontalHeaderLabels(overskrifter); ui->kundeTabell->setHorizontalHeaderLabels(overskrifter);
for (int i = 0; i < aktivKartotek.size(); ++i) { for (int i = 0; i < aktivKartotek.size(); ++i) {
QTableWidgetItem *kundeID = new QTableWidgetItem(aktivKartotek.at(i).value("id").toString()); QTableWidgetItem *kundeID = new QTableWidgetItem(aktivKartotek.at(i).value("id").toString());
kundeID->setFlags(kundeID->flags() ^ Qt::ItemIsEditable); kundeID->setFlags(kundeID->flags() ^ Qt::ItemIsEditable);
kundeID->setData(Qt::UserRole, aktivKartotek.at(i).value("id").toInt()); kundeID->setData(Qt::UserRole, aktivKartotek.at(i).value("id").toInt());
QTableWidgetItem *fornavn = new QTableWidgetItem(aktivKartotek.at(i).value("fornavn").toString()); QTableWidgetItem *fornavn = new QTableWidgetItem(aktivKartotek.at(i).value("fornavn").toString());
fornavn->setFlags(fornavn->flags() ^ Qt::ItemIsEditable); fornavn->setFlags(fornavn->flags() ^ Qt::ItemIsEditable);
fornavn->setData(Qt::UserRole, aktivKartotek.at(i).value("id").toInt()); fornavn->setData(Qt::UserRole, aktivKartotek.at(i).value("id").toInt());
QTableWidgetItem *etternavn = new QTableWidgetItem(aktivKartotek.at(i).value("etternavn").toString()); QTableWidgetItem *etternavn = new QTableWidgetItem(aktivKartotek.at(i).value("etternavn").toString());
etternavn->setFlags(etternavn->flags() ^ Qt::ItemIsEditable); etternavn->setFlags(etternavn->flags() ^ Qt::ItemIsEditable);
etternavn->setData(Qt::UserRole, aktivKartotek.at(i).value("id").toInt()); etternavn->setData(Qt::UserRole, aktivKartotek.at(i).value("id").toInt());
QTableWidgetItem *firmanavn = new QTableWidgetItem(aktivKartotek.at(i).value("firmanavn").toString()); QTableWidgetItem *firmanavn = new QTableWidgetItem(aktivKartotek.at(i).value("firmanavn").toString());
firmanavn->setFlags(firmanavn->flags() ^ Qt::ItemIsEditable); firmanavn->setFlags(firmanavn->flags() ^ Qt::ItemIsEditable);
firmanavn->setData(Qt::UserRole, aktivKartotek.at(i).value("id").toInt()); firmanavn->setData(Qt::UserRole, aktivKartotek.at(i).value("id").toInt());
QTableWidgetItem *telefon = new QTableWidgetItem(aktivKartotek.at(i).value("tlf").toString()); QTableWidgetItem *telefon = new QTableWidgetItem(aktivKartotek.at(i).value("tlf").toString());
telefon->setFlags(telefon->flags() ^ Qt::ItemIsEditable); telefon->setFlags(telefon->flags() ^ Qt::ItemIsEditable);
telefon->setData(Qt::UserRole, aktivKartotek.at(i).value("id").toInt()); telefon->setData(Qt::UserRole, aktivKartotek.at(i).value("id").toInt());
QTableWidgetItem *epost = new QTableWidgetItem(aktivKartotek.at(i).value("epost").toString()); QTableWidgetItem *epost = new QTableWidgetItem(aktivKartotek.at(i).value("epost").toString());
epost->setFlags(epost->flags() ^ Qt::ItemIsEditable); epost->setFlags(epost->flags() ^ Qt::ItemIsEditable);
epost->setData(Qt::UserRole, aktivKartotek.at(i).value("id").toInt()); epost->setData(Qt::UserRole, aktivKartotek.at(i).value("id").toInt());
ui->kundeTabell->setItem(i, 0, kundeID); ui->kundeTabell->setItem(i, 0, kundeID);
ui->kundeTabell->setItem(i, 1, fornavn); ui->kundeTabell->setItem(i, 1, fornavn);
ui->kundeTabell->setItem(i, 2, etternavn); ui->kundeTabell->setItem(i, 2, etternavn);
ui->kundeTabell->setItem(i, 3, firmanavn); ui->kundeTabell->setItem(i, 3, firmanavn);
ui->kundeTabell->setItem(i, 4, telefon); ui->kundeTabell->setItem(i, 4, telefon);
ui->kundeTabell->setItem(i, 5, epost); ui->kundeTabell->setItem(i, 5, epost);
} }
} }
void KundeWidget::on_pushNyKunde_clicked() { void KundeWidget::on_pushNyKunde_clicked() {
emit opprettKunde(); emit opprettKunde();
} }
void KundeWidget::on_pushRediger_clicked() { void KundeWidget::on_pushRediger_clicked() {
emit redigerKunde(kundeNummer); emit redigerKunde(kundeNummer);
} }
void KundeWidget::celleKlikk(QTableWidgetItem *celleGjenstand) { void KundeWidget::celleKlikk(QTableWidgetItem *celleGjenstand) {
kundeNummer = celleGjenstand->data(Qt::UserRole).toInt(); kundeNummer = celleGjenstand->data(Qt::UserRole).toInt();
ui->pushRediger->setEnabled(true); ui->pushRediger->setEnabled(true);
ui->pushSlett->setEnabled(true); ui->pushSlett->setEnabled(true);
ui->pushProsjekt->setEnabled(true); ui->pushProsjekt->setEnabled(true);
ui->labelValgteKundeVerdi->setText(tr("kundenr. %1").arg(QString::number(kundeNummer))); ui->labelValgteKundeVerdi->setText(tr("kundenr. %1").arg(QString::number(kundeNummer)));
} }
void KundeWidget::on_pushSlett_clicked() { void KundeWidget::on_pushSlett_clicked() {
emit slettKunde(kundeNummer); emit slettKunde(kundeNummer);
} }
void KundeWidget::on_pushProsjekt_clicked() { void KundeWidget::on_pushProsjekt_clicked() {
emit tilordneProsjekt(kundeNummer); emit tilordneProsjekt(kundeNummer);
} }

View File

@ -1,42 +1,42 @@
#ifndef KUNDEWIDGET_H #ifndef KUNDEWIDGET_H
#define KUNDEWIDGET_H #define KUNDEWIDGET_H
#include <QWidget> #include <QWidget>
#include <QTableWidgetItem> #include <QTableWidgetItem>
#include "datahandler.h" #include "datahandler.h"
#include "datatypes.h" #include "datatypes.h"
namespace Ui { namespace Ui {
class KundeWidget; class KundeWidget;
} }
class KundeWidget : public QWidget class KundeWidget : public QWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit KundeWidget(QWidget *parent = nullptr); explicit KundeWidget(QWidget *parent = nullptr);
~KundeWidget(); ~KundeWidget();
void lagKundeTabell(KundeKartotek &kundeKart); void lagKundeTabell(KundeKartotek &kundeKart);
signals: signals:
void opprettKunde(); void opprettKunde();
void redigerKunde(int posisjon); void redigerKunde(int posisjon);
void slettKunde(int posisjon); void slettKunde(int posisjon);
void tilordneProsjekt(int posisjon); void tilordneProsjekt(int posisjon);
private slots: private slots:
void on_pushNyKunde_clicked(); void on_pushNyKunde_clicked();
void celleKlikk(QTableWidgetItem *celleGjenstand); void celleKlikk(QTableWidgetItem *celleGjenstand);
void on_pushRediger_clicked(); void on_pushRediger_clicked();
void on_pushSlett_clicked(); void on_pushSlett_clicked();
void on_pushProsjekt_clicked(); void on_pushProsjekt_clicked();
private: private:
Ui::KundeWidget *ui; Ui::KundeWidget *ui;
int kundeNummer; int kundeNummer;
}; };
#endif // KUNDEWIDGET_H #endif // KUNDEWIDGET_H

View File

@ -1,189 +1,189 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>KundeWidget</class> <class>KundeWidget</class>
<widget class="QWidget" name="KundeWidget"> <widget class="QWidget" name="KundeWidget">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>543</width> <width>543</width>
<height>499</height> <height>499</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<spacer name="horizontalSpacer_2"> <spacer name="horizontalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelHeadline"> <widget class="QLabel" name="labelHeadline">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Kundeliste</string> <string>Kundeliste</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<widget class="QTableWidget" name="kundeTabell"> <widget class="QTableWidget" name="kundeTabell">
<attribute name="verticalHeaderVisible"> <attribute name="verticalHeaderVisible">
<bool>false</bool> <bool>false</bool>
</attribute> </attribute>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<spacer name="horizontalSpacer_5"> <spacer name="horizontalSpacer_5">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelValgteKunde"> <widget class="QLabel" name="labelValgteKunde">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Valgte kunde: </string> <string>Valgte kunde: </string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelValgteKundeVerdi"> <widget class="QLabel" name="labelValgteKundeVerdi">
<property name="text"> <property name="text">
<string>Ingen kunde valgt</string> <string>Ingen kunde valgt</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_6"> <spacer name="horizontalSpacer_6">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<spacer name="horizontalSpacer_3"> <spacer name="horizontalSpacer_3">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushNyKunde"> <widget class="QPushButton" name="pushNyKunde">
<property name="text"> <property name="text">
<string>Ny kunde</string> <string>Ny kunde</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushRediger"> <widget class="QPushButton" name="pushRediger">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Rediger kunde</string> <string>Rediger kunde</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushSlett"> <widget class="QPushButton" name="pushSlett">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Slett kunde</string> <string>Slett kunde</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushProsjekt"> <widget class="QPushButton" name="pushProsjekt">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Tilordne prosjekt</string> <string>Tilordne prosjekt</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_4"> <spacer name="horizontalSpacer_4">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>

View File

@ -0,0 +1,21 @@
INCLUDEPATH += \
$$PWD/../core \
$$PWD/../uidialogs/widgetdialogs/kunde
DEPENDPATH += \
$$PWD/../core \
$$PWD/../uidialogs/widgetdialogs/kunde
SOURCES += \
$$PWD/kundewidget.cpp \
$$PWD/prosjektwidget.cpp
HEADERS += \
$$PWD/kundewidget.h \
$$PWD/prosjektwidget.h
FORMS += \
$$PWD/kundewidget.ui \
$$PWD/prosjektwidget.ui
RESOURCES += \
$$PWD/../../resources.qrc

View File

@ -1,140 +1,140 @@
#include "prosjektwidget.h" #include "prosjektwidget.h"
#include "ui_prosjektwidget.h" #include "ui_prosjektwidget.h"
ProsjektWidget::ProsjektWidget(QWidget *parent) : ProsjektWidget::ProsjektWidget(QWidget *parent) :
QWidget(parent), QWidget(parent),
ui(new Ui::ProsjektWidget) { ui(new Ui::ProsjektWidget) {
ui->setupUi(this); ui->setupUi(this);
} }
ProsjektWidget::~ProsjektWidget() { ProsjektWidget::~ProsjektWidget() {
delete ui; delete ui;
} }
void ProsjektWidget::oppdaterProsjektListe(ProsjektKartotek &kartotek, ProsjektBindinger &bindinger, KundeKartotek &kundeKart) { void ProsjektWidget::oppdaterProsjektListe(ProsjektKartotek &kartotek, ProsjektBindinger &bindinger, KundeKartotek &kundeKart) {
ui->prosjektTre->clear(); ui->prosjektTre->clear();
ui->prosjektTre->setColumnCount(1); ui->prosjektTre->setColumnCount(1);
connect(ui->prosjektTre, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(gjenstandKlikk(QTreeWidgetItem*,int))); connect(ui->prosjektTre, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(gjenstandKlikk(QTreeWidgetItem*,int)));
QList<QTreeWidgetItem *> prosjektListe; QList<QTreeWidgetItem *> prosjektListe;
QIcon prosjektIkon(":/res/clipboard.svg"); QIcon prosjektIkon(":/res/clipboard.svg");
QIcon prosjektFerdigIkon(":/res/check.svg"); QIcon prosjektFerdigIkon(":/res/check.svg");
QIcon kundeIkon(":/res/user.svg"); QIcon kundeIkon(":/res/user.svg");
for (int i = 0; i < kartotek.size(); ++i) { for (int i = 0; i < kartotek.size(); ++i) {
bool aktiv = kartotek.at(i).value("active").toBool(); bool aktiv = kartotek.at(i).value("active").toBool();
if (aktiv) { if (aktiv) {
bool ferdig = kartotek.at(i).value("ferdig").toBool(); bool ferdig = kartotek.at(i).value("ferdig").toBool();
QTreeWidgetItem *prosjektGjenstand = new QTreeWidgetItem(QTreeWidgetItem::Type); QTreeWidgetItem *prosjektGjenstand = new QTreeWidgetItem(QTreeWidgetItem::Type);
prosjektGjenstand->setText(0, kartotek.at(i).value("prosjektnavn").toString()); prosjektGjenstand->setText(0, kartotek.at(i).value("prosjektnavn").toString());
if (ferdig) if (ferdig)
prosjektGjenstand->setIcon(0,prosjektFerdigIkon); prosjektGjenstand->setIcon(0,prosjektFerdigIkon);
else else
prosjektGjenstand->setIcon(0, prosjektIkon); prosjektGjenstand->setIcon(0, prosjektIkon);
int ordrenummer = kartotek.at(i).value("ordrenummer").toInt(); int ordrenummer = kartotek.at(i).value("ordrenummer").toInt();
QList<QTreeWidgetItem *> kundeGjenstander; QList<QTreeWidgetItem *> kundeGjenstander;
if (bindinger.contains(ordrenummer)) { if (bindinger.contains(ordrenummer)) {
QList<int> kunder = bindinger.value(ordrenummer); QList<int> kunder = bindinger.value(ordrenummer);
for (int x = 0; x < kunder.size(); ++x) { for (int x = 0; x < kunder.size(); ++x) {
QString kundeFornavn, kundeEtternavn, kundeFirmanavn; QString kundeFornavn, kundeEtternavn, kundeFirmanavn;
for (int z = 0; z < kundeKart.size(); ++z) { for (int z = 0; z < kundeKart.size(); ++z) {
if (kundeKart.at(z).value("id").toInt() == kunder.at(x)) { if (kundeKart.at(z).value("id").toInt() == kunder.at(x)) {
kundeFornavn = kundeKart.at(z).value("fornavn").toString(); kundeFornavn = kundeKart.at(z).value("fornavn").toString();
kundeEtternavn = kundeKart.at(z).value("etternavn").toString(); kundeEtternavn = kundeKart.at(z).value("etternavn").toString();
if (!kundeKart.at(z).value("firmanavn").toString().isEmpty()) { if (!kundeKart.at(z).value("firmanavn").toString().isEmpty()) {
kundeFirmanavn = QString(tr("(%1)").arg(kundeKart.at(z).value("firmanavn").toString())); kundeFirmanavn = QString(tr("(%1)").arg(kundeKart.at(z).value("firmanavn").toString()));
} }
} }
} }
QTreeWidgetItem *kunde = new QTreeWidgetItem(QTreeWidgetItem::UserType); QTreeWidgetItem *kunde = new QTreeWidgetItem(QTreeWidgetItem::UserType);
kunde->setText(0, tr("%1 %2 %3").arg(kundeFornavn, kundeEtternavn, kundeFirmanavn)); kunde->setText(0, tr("%1 %2 %3").arg(kundeFornavn, kundeEtternavn, kundeFirmanavn));
kunde->setIcon(0, kundeIkon); kunde->setIcon(0, kundeIkon);
kunde->setData(0, Qt::UserRole, kunder.at(x)); kunde->setData(0, Qt::UserRole, kunder.at(x));
kundeGjenstander.append(kunde); kundeGjenstander.append(kunde);
} }
prosjektGjenstand->addChildren(kundeGjenstander); prosjektGjenstand->addChildren(kundeGjenstander);
} }
prosjektGjenstand->setData(0, Qt::UserRole, i); prosjektGjenstand->setData(0, Qt::UserRole, i);
prosjektListe.append(prosjektGjenstand); prosjektListe.append(prosjektGjenstand);
} }
} }
ui->prosjektTre->addTopLevelItems(prosjektListe); ui->prosjektTre->addTopLevelItems(prosjektListe);
} }
void ProsjektWidget::settGjeldendeProsjekt(ProsjektFil prosjekt) { void ProsjektWidget::settGjeldendeProsjekt(ProsjektFil prosjekt) {
valgtProsjekt = prosjekt; valgtProsjekt = prosjekt;
} }
void ProsjektWidget::on_pushNy_clicked() { void ProsjektWidget::on_pushNy_clicked() {
emit opprettProsjekt(); emit opprettProsjekt();
} }
void ProsjektWidget::gjenstandKlikk(QTreeWidgetItem *gjenstand, int kolonne) { void ProsjektWidget::gjenstandKlikk(QTreeWidgetItem *gjenstand, int kolonne) {
if (gjenstand->type() == QTreeWidgetItem::Type) { if (gjenstand->type() == QTreeWidgetItem::Type) {
emit hentProsjektFil(gjenstand->data(kolonne, Qt::UserRole).toInt()); emit hentProsjektFil(gjenstand->data(kolonne, Qt::UserRole).toInt());
kartotekPosisjon = gjenstand->data(kolonne, Qt::UserRole).toInt(); kartotekPosisjon = gjenstand->data(kolonne, Qt::UserRole).toInt();
ui->labelProsjektNavn->setText(valgtProsjekt.value("prosjektnavn").toString()); ui->labelProsjektNavn->setText(valgtProsjekt.value("prosjektnavn").toString());
ui->labelOrdrenrValue->setText(valgtProsjekt.value("ordrenummer").toString()); ui->labelOrdrenrValue->setText(valgtProsjekt.value("ordrenummer").toString());
ui->ordreText->setHtml(valgtProsjekt.value("prosjektbeskrivelse").toString()); ui->ordreText->setHtml(valgtProsjekt.value("prosjektbeskrivelse").toString());
quint64 prosjektStart = valgtProsjekt.value("prosjektstart").toULongLong(); quint64 prosjektStart = valgtProsjekt.value("prosjektstart").toULongLong();
quint64 prosjektSlutt = valgtProsjekt.value("prosjektslutt").toULongLong(); quint64 prosjektSlutt = valgtProsjekt.value("prosjektslutt").toULongLong();
QDateTime tProsjektStart(QDateTime::fromMSecsSinceEpoch(prosjektStart)); QDateTime tProsjektStart(QDateTime::fromMSecsSinceEpoch(prosjektStart));
QDateTime tProsjektSlutt(QDateTime::fromMSecsSinceEpoch(prosjektSlutt)); QDateTime tProsjektSlutt(QDateTime::fromMSecsSinceEpoch(prosjektSlutt));
ui->labelBegynnerValue->setText(tProsjektStart.toString("dd.MM.yyyy hh:mm")); ui->labelBegynnerValue->setText(tProsjektStart.toString("dd.MM.yyyy hh:mm"));
ui->labelSlutterValue->setText(tProsjektSlutt.toString("dd.MM.yyyy hh:mm")); ui->labelSlutterValue->setText(tProsjektSlutt.toString("dd.MM.yyyy hh:mm"));
prosjektUI(); prosjektUI();
} else { } else {
QTreeWidgetItem *forelder = gjenstand->parent(); QTreeWidgetItem *forelder = gjenstand->parent();
kartotekPosisjon = forelder->data(kolonne, Qt::UserRole).toInt(); kartotekPosisjon = forelder->data(kolonne, Qt::UserRole).toInt();
kundeID = gjenstand->data(kolonne, Qt::UserRole).toInt(); kundeID = gjenstand->data(kolonne, Qt::UserRole).toInt();
ui->labelProsjektNavn->setText("Ingen prosjekt valgt"); ui->labelProsjektNavn->setText("Ingen prosjekt valgt");
ui->labelOrdrenrValue->setText("-"); ui->labelOrdrenrValue->setText("-");
ui->labelBegynnerValue->setText("-"); ui->labelBegynnerValue->setText("-");
ui->labelSlutterValue->setText("-"); ui->labelSlutterValue->setText("-");
ui->ordreText->clear(); ui->ordreText->clear();
kundeUI(); kundeUI();
} }
} }
void ProsjektWidget::prosjektUI() { void ProsjektWidget::prosjektUI() {
ui->pushFjernKunde->setEnabled(false); ui->pushFjernKunde->setEnabled(false);
ui->pushRediger->setEnabled(true); ui->pushRediger->setEnabled(true);
ui->pushSlett->setEnabled(true); ui->pushSlett->setEnabled(true);
ui->pushMerkFerdig->setEnabled(true); ui->pushMerkFerdig->setEnabled(true);
} }
void ProsjektWidget::kundeUI() { void ProsjektWidget::kundeUI() {
ui->pushFjernKunde->setEnabled(true); ui->pushFjernKunde->setEnabled(true);
ui->pushRediger->setEnabled(false); ui->pushRediger->setEnabled(false);
ui->pushSlett->setEnabled(false); ui->pushSlett->setEnabled(false);
ui->pushMerkFerdig->setEnabled(false); ui->pushMerkFerdig->setEnabled(false);
} }
void ProsjektWidget::on_pushRediger_clicked() { void ProsjektWidget::on_pushRediger_clicked() {
emit redigerProsjekt(kartotekPosisjon); emit redigerProsjekt(kartotekPosisjon);
} }
void ProsjektWidget::on_pushSlett_clicked() { void ProsjektWidget::on_pushSlett_clicked() {
emit slettProsjekt(kartotekPosisjon); emit slettProsjekt(kartotekPosisjon);
} }
void ProsjektWidget::on_pushMerkFerdig_clicked() { void ProsjektWidget::on_pushMerkFerdig_clicked() {
emit settAktiv(kartotekPosisjon); emit settAktiv(kartotekPosisjon);
} }
void ProsjektWidget::on_pushFjernKunde_clicked() { void ProsjektWidget::on_pushFjernKunde_clicked() {
emit fjernKunde(kartotekPosisjon, kundeID); emit fjernKunde(kartotekPosisjon, kundeID);
} }

View File

@ -1,49 +1,49 @@
#ifndef PROSJEKTWIDGET_H #ifndef PROSJEKTWIDGET_H
#define PROSJEKTWIDGET_H #define PROSJEKTWIDGET_H
#include <QWidget> #include <QWidget>
#include <QTreeWidgetItem> #include <QTreeWidgetItem>
#include "datatypes.h" #include "datatypes.h"
namespace Ui { namespace Ui {
class ProsjektWidget; class ProsjektWidget;
} }
class ProsjektWidget : public QWidget class ProsjektWidget : public QWidget
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit ProsjektWidget(QWidget *parent = nullptr); explicit ProsjektWidget(QWidget *parent = nullptr);
~ProsjektWidget(); ~ProsjektWidget();
void oppdaterProsjektListe(ProsjektKartotek &kartotek, ProsjektBindinger &bindinger, KundeKartotek &kundeKart); void oppdaterProsjektListe(ProsjektKartotek &kartotek, ProsjektBindinger &bindinger, KundeKartotek &kundeKart);
void settGjeldendeProsjekt(ProsjektFil prosjekt); void settGjeldendeProsjekt(ProsjektFil prosjekt);
signals: signals:
void opprettProsjekt(); void opprettProsjekt();
void hentProsjektFil(int kartotekPlassering); void hentProsjektFil(int kartotekPlassering);
void redigerProsjekt(int kartotekPlassering); void redigerProsjekt(int kartotekPlassering);
void slettProsjekt(int kartotekPlassering); void slettProsjekt(int kartotekPlassering);
void settAktiv(int kartotekPlassering); void settAktiv(int kartotekPlassering);
void fjernKunde(int prosjektKartotekPosisjon, int kundeID); void fjernKunde(int prosjektKartotekPosisjon, int kundeID);
private slots: private slots:
void on_pushNy_clicked(); void on_pushNy_clicked();
void gjenstandKlikk(QTreeWidgetItem *gjenstand, int kolonne); void gjenstandKlikk(QTreeWidgetItem *gjenstand, int kolonne);
void on_pushRediger_clicked(); void on_pushRediger_clicked();
void on_pushSlett_clicked(); void on_pushSlett_clicked();
void on_pushMerkFerdig_clicked(); void on_pushMerkFerdig_clicked();
void on_pushFjernKunde_clicked(); void on_pushFjernKunde_clicked();
private: private:
Ui::ProsjektWidget *ui; Ui::ProsjektWidget *ui;
ProsjektFil valgtProsjekt; ProsjektFil valgtProsjekt;
void prosjektUI(); void prosjektUI();
void kundeUI(); void kundeUI();
int kartotekPosisjon, kundeID; int kartotekPosisjon, kundeID;
}; };
#endif // PROSJEKTWIDGET_H #endif // PROSJEKTWIDGET_H

View File

@ -1,351 +1,351 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>ProsjektWidget</class> <class>ProsjektWidget</class>
<widget class="QWidget" name="ProsjektWidget"> <widget class="QWidget" name="ProsjektWidget">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>605</width> <width>605</width>
<height>427</height> <height>427</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Form</string> <string>Form</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelHeadline"> <widget class="QLabel" name="labelHeadline">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Prosjektliste</string> <string>Prosjektliste</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_2"> <spacer name="horizontalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_5"> <layout class="QHBoxLayout" name="horizontalLayout_5">
<item> <item>
<widget class="QTreeWidget" name="prosjektTre"> <widget class="QTreeWidget" name="prosjektTre">
<attribute name="headerVisible"> <attribute name="headerVisible">
<bool>false</bool> <bool>false</bool>
</attribute> </attribute>
<column> <column>
<property name="text"> <property name="text">
<string notr="true">1</string> <string notr="true">1</string>
</property> </property>
</column> </column>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="prosjektDetaljGruppe"> <widget class="QGroupBox" name="prosjektDetaljGruppe">
<property name="title"> <property name="title">
<string>Prosjektdetaljer</string> <string>Prosjektdetaljer</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0"> <item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<spacer name="horizontalSpacer_4"> <spacer name="horizontalSpacer_4">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelProsjektNavn"> <widget class="QLabel" name="labelProsjektNavn">
<property name="font"> <property name="font">
<font> <font>
<pointsize>10</pointsize> <pointsize>10</pointsize>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Ingen prosjekt valgt</string> <string>Ingen prosjekt valgt</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_5"> <spacer name="horizontalSpacer_5">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_7"> <layout class="QHBoxLayout" name="horizontalLayout_7">
<item> <item>
<widget class="QLabel" name="labelOrdrenr"> <widget class="QLabel" name="labelOrdrenr">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Ordrenummer:</string> <string>Ordrenummer:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_7"> <spacer name="horizontalSpacer_7">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelOrdrenrValue"> <widget class="QLabel" name="labelOrdrenrValue">
<property name="text"> <property name="text">
<string>-</string> <string>-</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="QLabel" name="labelBegynner"> <widget class="QLabel" name="labelBegynner">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Startdato:</string> <string>Startdato:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_3"> <spacer name="horizontalSpacer_3">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelBegynnerValue"> <widget class="QLabel" name="labelBegynnerValue">
<property name="text"> <property name="text">
<string>-</string> <string>-</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_4"> <layout class="QHBoxLayout" name="horizontalLayout_4">
<item> <item>
<widget class="QLabel" name="labelSlutter"> <widget class="QLabel" name="labelSlutter">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Sluttdato:</string> <string>Sluttdato:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_6"> <spacer name="horizontalSpacer_6">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelSlutterValue"> <widget class="QLabel" name="labelSlutterValue">
<property name="text"> <property name="text">
<string>-</string> <string>-</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>40</height> <height>40</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<widget class="QGroupBox" name="groupBeskrivelse"> <widget class="QGroupBox" name="groupBeskrivelse">
<property name="title"> <property name="title">
<string>Ordrebeskrivelse</string> <string>Ordrebeskrivelse</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<widget class="QTextBrowser" name="ordreText"/> <widget class="QTextBrowser" name="ordreText"/>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_6"> <layout class="QHBoxLayout" name="horizontalLayout_6">
<item> <item>
<spacer name="horizontalSpacer_9"> <spacer name="horizontalSpacer_9">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushNy"> <widget class="QPushButton" name="pushNy">
<property name="text"> <property name="text">
<string>Nytt prosjekt</string> <string>Nytt prosjekt</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushRediger"> <widget class="QPushButton" name="pushRediger">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Rediger prosjekt</string> <string>Rediger prosjekt</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushSlett"> <widget class="QPushButton" name="pushSlett">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Slett prosjekt</string> <string>Slett prosjekt</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushMerkFerdig"> <widget class="QPushButton" name="pushMerkFerdig">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Marker som avsluttet/startet</string> <string>Marker som avsluttet/startet</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushFjernKunde"> <widget class="QPushButton" name="pushFjernKunde">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Fjern kunde</string> <string>Fjern kunde</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_8"> <spacer name="horizontalSpacer_8">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>

View File

@ -1,3 +0,0 @@
TEMPLATE = subdirs
SUBDIRS += core

View File

@ -1,55 +1,55 @@
#include "innstillingdialog.h" #include "innstillingdialog.h"
#include "ui_innstillingdialog.h" #include "ui_innstillingdialog.h"
InnstillingDialog::InnstillingDialog(QWidget *parent) : InnstillingDialog::InnstillingDialog(QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::InnstillingDialog) { ui(new Ui::InnstillingDialog) {
ui->setupUi(this); ui->setupUi(this);
QCoreApplication::setOrganizationName("Arctic Software"); QCoreApplication::setOrganizationName("Arctic Software");
QCoreApplication::setOrganizationDomain("arcticsoftware.no"); QCoreApplication::setOrganizationDomain("arcticsoftware.no");
QCoreApplication::setApplicationName("Saeterprosjekt"); QCoreApplication::setApplicationName("Saeterprosjekt");
QSettings settings; QSettings settings;
if (!settings.contains("yellowcondition")) { if (!settings.contains("yellowcondition")) {
settings.setValue("yellowcondition", 50); settings.setValue("yellowcondition", 50);
} }
if (!settings.contains("redcondition")) { if (!settings.contains("redcondition")) {
settings.setValue("redcondition", 90); settings.setValue("redcondition", 90);
} }
ui->dialGul->setValue(settings.value("yellowcondition").toInt()); ui->dialGul->setValue(settings.value("yellowcondition").toInt());
ui->dialRod->setValue(settings.value("redcondition").toInt()); ui->dialRod->setValue(settings.value("redcondition").toInt());
ui->labelGulVerdi->setText(tr("%1% av tiden gått før kondisjon").arg(settings.value("yellowcondition").toString())); ui->labelGulVerdi->setText(tr("%1% av tiden gått før kondisjon").arg(settings.value("yellowcondition").toString()));
ui->labelRodVerdi->setText(tr("%1% av tiden gått før kondisjon").arg(settings.value("redcondition").toString())); ui->labelRodVerdi->setText(tr("%1% av tiden gått før kondisjon").arg(settings.value("redcondition").toString()));
} }
InnstillingDialog::~InnstillingDialog() { InnstillingDialog::~InnstillingDialog() {
delete ui; delete ui;
} }
void InnstillingDialog::on_dialGul_sliderMoved(int position) { void InnstillingDialog::on_dialGul_sliderMoved(int position) {
ui->labelGulVerdi->setText(tr("%1% av tiden gått før kondisjon").arg(QString::number(position))); ui->labelGulVerdi->setText(tr("%1% av tiden gått før kondisjon").arg(QString::number(position)));
} }
void InnstillingDialog::on_dialRod_sliderMoved(int position) { void InnstillingDialog::on_dialRod_sliderMoved(int position) {
ui->labelRodVerdi->setText(tr("%1% av tiden gått før kondisjon").arg(QString::number(position))); ui->labelRodVerdi->setText(tr("%1% av tiden gått før kondisjon").arg(QString::number(position)));
} }
void InnstillingDialog::on_pushAvbryt_clicked() { void InnstillingDialog::on_pushAvbryt_clicked() {
QDialog::close(); QDialog::close();
} }
void InnstillingDialog::on_pushLagre_clicked() { void InnstillingDialog::on_pushLagre_clicked() {
QSettings settings; QSettings settings;
settings.setValue("yellowcondition", ui->dialGul->value()); settings.setValue("yellowcondition", ui->dialGul->value());
settings.setValue("redcondition", ui->dialRod->value()); settings.setValue("redcondition", ui->dialRod->value());
QDialog::close(); QDialog::close();
} }

View File

@ -1,33 +1,33 @@
#ifndef INNSTILLINGDIALOG_H #ifndef INNSTILLINGDIALOG_H
#define INNSTILLINGDIALOG_H #define INNSTILLINGDIALOG_H
#include <QDialog> #include <QDialog>
#include <QSettings> #include <QSettings>
#include <QtDebug> #include <QtDebug>
namespace Ui { namespace Ui {
class InnstillingDialog; class InnstillingDialog;
} }
class InnstillingDialog : public QDialog class InnstillingDialog : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit InnstillingDialog(QWidget *parent = nullptr); explicit InnstillingDialog(QWidget *parent = nullptr);
~InnstillingDialog(); ~InnstillingDialog();
private slots: private slots:
void on_dialGul_sliderMoved(int position); void on_dialGul_sliderMoved(int position);
void on_dialRod_sliderMoved(int position); void on_dialRod_sliderMoved(int position);
void on_pushAvbryt_clicked(); void on_pushAvbryt_clicked();
void on_pushLagre_clicked(); void on_pushLagre_clicked();
private: private:
Ui::InnstillingDialog *ui; Ui::InnstillingDialog *ui;
}; };
#endif // INNSTILLINGDIALOG_H #endif // INNSTILLINGDIALOG_H

View File

@ -1,186 +1,186 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>InnstillingDialog</class> <class>InnstillingDialog</class>
<widget class="QDialog" name="InnstillingDialog"> <widget class="QDialog" name="InnstillingDialog">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>446</width> <width>446</width>
<height>335</height> <height>335</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Juster innstillinger for Sæterprosjekt</string> <string>Juster innstillinger for Sæterprosjekt</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_3"> <layout class="QVBoxLayout" name="verticalLayout_3">
<item> <item>
<widget class="QGroupBox" name="groupKondisjoner"> <widget class="QGroupBox" name="groupKondisjoner">
<property name="font"> <property name="font">
<font> <font>
<pointsize>10</pointsize> <pointsize>10</pointsize>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="title"> <property name="title">
<string>Innstillinger for kondisjons terskler</string> <string>Innstillinger for kondisjons terskler</string>
</property> </property>
<property name="flat"> <property name="flat">
<bool>true</bool> <bool>true</bool>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QLabel" name="labelKondisjonGul"> <widget class="QLabel" name="labelKondisjonGul">
<property name="font"> <property name="font">
<font> <font>
<pointsize>8</pointsize> <pointsize>8</pointsize>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Kondisjon gul:</string> <string>Kondisjon gul:</string>
</property> </property>
<property name="textFormat"> <property name="textFormat">
<enum>Qt::PlainText</enum> <enum>Qt::PlainText</enum>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QDial" name="dialGul"> <widget class="QDial" name="dialGul">
<property name="minimum"> <property name="minimum">
<number>1</number> <number>1</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelGulVerdi"> <widget class="QLabel" name="labelGulVerdi">
<property name="font"> <property name="font">
<font> <font>
<pointsize>10</pointsize> <pointsize>10</pointsize>
<weight>50</weight> <weight>50</weight>
<bold>false</bold> <bold>false</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>% igjen av varslingstid</string> <string>% igjen av varslingstid</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<widget class="QLabel" name="labelKondisjonRod"> <widget class="QLabel" name="labelKondisjonRod">
<property name="font"> <property name="font">
<font> <font>
<pointsize>8</pointsize> <pointsize>8</pointsize>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Kondisjon rød:</string> <string>Kondisjon rød:</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QDial" name="dialRod"> <widget class="QDial" name="dialRod">
<property name="minimum"> <property name="minimum">
<number>1</number> <number>1</number>
</property> </property>
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelRodVerdi"> <widget class="QLabel" name="labelRodVerdi">
<property name="font"> <property name="font">
<font> <font>
<pointsize>10</pointsize> <pointsize>10</pointsize>
<weight>50</weight> <weight>50</weight>
<bold>false</bold> <bold>false</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>% igjen av varslingstid</string> <string>% igjen av varslingstid</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignCenter</set> <set>Qt::AlignCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>40</height> <height>40</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushAvbryt"> <widget class="QPushButton" name="pushAvbryt">
<property name="text"> <property name="text">
<string>Avbryt</string> <string>Avbryt</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushLagre"> <widget class="QPushButton" name="pushLagre">
<property name="text"> <property name="text">
<string>Lagre</string> <string>Lagre</string>
</property> </property>
<property name="default"> <property name="default">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>

View File

@ -0,0 +1,24 @@
INCLUDEPATH += \
$$PWD/../../core \
$$PWD/../../mainwidgets
DEPENDPATH += \
$$PWD/../../core \
$$PWD/../../mainwidgets
SOURCES += \
$$PWD/innstillingdialog.cpp \
$$PWD/omdialog.cpp \
$$PWD/varsledialog.cpp
HEADERS += \
$$PWD/innstillingdialog.h \
$$PWD/omdialog.h \
$$PWD/varsledialog.h
FORMS += \
$$PWD/innstillingdialog.ui \
$$PWD/omdialog.ui \
$$PWD/varsledialog.ui
RESOURCES += \
$$PWD/../../../resources.qrc

View File

@ -1,21 +1,21 @@
#include "omdialog.h" #include "omdialog.h"
#include "ui_omdialog.h" #include "ui_omdialog.h"
OmDialog::OmDialog(QWidget *parent) : OmDialog::OmDialog(QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::OmDialog) { ui(new Ui::OmDialog) {
ui->setupUi(this); ui->setupUi(this);
} }
OmDialog::~OmDialog() { OmDialog::~OmDialog() {
delete ui; delete ui;
} }
void OmDialog::setVersjon(qreal versjon) { void OmDialog::setVersjon(qreal versjon) {
ui->labelVersjon->setText(tr("Versjon %1").arg(versjon)); ui->labelVersjon->setText(tr("Versjon %1").arg(versjon));
} }
void OmDialog::on_pushOk_clicked() { void OmDialog::on_pushOk_clicked() {
QDialog::close(); QDialog::close();
} }

View File

@ -1,27 +1,27 @@
#ifndef OMDIALOG_H #ifndef OMDIALOG_H
#define OMDIALOG_H #define OMDIALOG_H
#include <QDialog> #include <QDialog>
namespace Ui { namespace Ui {
class OmDialog; class OmDialog;
} }
class OmDialog : public QDialog class OmDialog : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit OmDialog(QWidget *parent = nullptr); explicit OmDialog(QWidget *parent = nullptr);
~OmDialog(); ~OmDialog();
void setVersjon(qreal versjon); void setVersjon(qreal versjon);
private slots: private slots:
void on_pushOk_clicked(); void on_pushOk_clicked();
private: private:
Ui::OmDialog *ui; Ui::OmDialog *ui;
}; };
#endif // OMDIALOG_H #endif // OMDIALOG_H

View File

@ -1,146 +1,146 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>OmDialog</class> <class>OmDialog</class>
<widget class="QDialog" name="OmDialog"> <widget class="QDialog" name="OmDialog">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>386</width> <width>386</width>
<height>257</height> <height>257</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Om dette programmet</string> <string>Om dette programmet</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QLabel" name="labelAppHeadline"> <widget class="QLabel" name="labelAppHeadline">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:18pt; font-weight:600; color:#ff0000;&quot;&gt;Sæte&lt;/span&gt;&lt;span style=&quot; font-size:18pt; font-weight:600; color:#004add;&quot;&gt;rp&lt;/span&gt;&lt;span style=&quot; font-size:18pt; font-weight:600; color:#ffffff;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot; font-size:18pt; font-weight:600; color:#004add;&quot;&gt;os&lt;/span&gt;&lt;span style=&quot; font-size:18pt; font-weight:600; color:#ff0000;&quot;&gt;jekt&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-size:18pt; font-weight:600; color:#ff0000;&quot;&gt;Sæte&lt;/span&gt;&lt;span style=&quot; font-size:18pt; font-weight:600; color:#004add;&quot;&gt;rp&lt;/span&gt;&lt;span style=&quot; font-size:18pt; font-weight:600; color:#ffffff;&quot;&gt;r&lt;/span&gt;&lt;span style=&quot; font-size:18pt; font-weight:600; color:#004add;&quot;&gt;os&lt;/span&gt;&lt;span style=&quot; font-size:18pt; font-weight:600; color:#ff0000;&quot;&gt;jekt&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="textFormat"> <property name="textFormat">
<enum>Qt::RichText</enum> <enum>Qt::RichText</enum>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignHCenter|Qt::AlignTop</set> <set>Qt::AlignHCenter|Qt::AlignTop</set>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="QLabel" name="labelVersjon"> <widget class="QLabel" name="labelVersjon">
<property name="font"> <property name="font">
<font> <font>
<pointsize>12</pointsize> <pointsize>12</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>TextLabel</string> <string>TextLabel</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignHCenter|Qt::AlignTop</set> <set>Qt::AlignHCenter|Qt::AlignTop</set>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelCopyright"> <widget class="QLabel" name="labelCopyright">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Kopirett(c) av Helge-Mikael Nordgård</string> <string>Kopirett(c) av Helge-Mikael Nordgård</string>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignHCenter|Qt::AlignTop</set> <set>Qt::AlignHCenter|Qt::AlignTop</set>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelDesc"> <widget class="QLabel" name="labelDesc">
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Dette programmet er kopibeskyttet og lisensiert under GPLv3 (GNU General Public License versjon 3). Programmet er åpen og fri kildekode og kan modifiseres og redistribueres under visse betingelser. &lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.gnu.org/licenses/gpl-3.0.html&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;Du kan lese lisensen i sin helhet her.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;For å laste ned kildekoden, nye utgivelser, rapportere bugs m.m. kan du besøke &lt;a href=&quot;https://git.outlands.no/heno/Saeterprosjekt&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;prosjektets hjemmeside&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Dette programmet er kopibeskyttet og lisensiert under GPLv3 (GNU General Public License versjon 3). Programmet er åpen og fri kildekode og kan modifiseres og redistribueres under visse betingelser. &lt;/p&gt;&lt;p&gt;&lt;a href=&quot;https://www.gnu.org/licenses/gpl-3.0.html&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;Du kan lese lisensen i sin helhet her.&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;For å laste ned kildekoden, nye utgivelser, rapportere bugs m.m. kan du besøke &lt;a href=&quot;https://git.outlands.no/heno/Saeterprosjekt&quot;&gt;&lt;span style=&quot; text-decoration: underline; color:#0000ff;&quot;&gt;prosjektets hjemmeside&lt;/span&gt;&lt;/a&gt;.&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="textFormat"> <property name="textFormat">
<enum>Qt::RichText</enum> <enum>Qt::RichText</enum>
</property> </property>
<property name="alignment"> <property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set> <set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property> </property>
<property name="wordWrap"> <property name="wordWrap">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>40</height> <height>40</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushOk"> <widget class="QPushButton" name="pushOk">
<property name="text"> <property name="text">
<string>Ok</string> <string>Ok</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_2"> <spacer name="horizontalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>

View File

@ -1,65 +1,65 @@
#include "varsledialog.h" #include "varsledialog.h"
#include "ui_varsledialog.h" #include "ui_varsledialog.h"
VarsleDialog::VarsleDialog(QWidget *parent, AlertConditions alertCondition) : VarsleDialog::VarsleDialog(QWidget *parent, AlertConditions alertCondition) :
QDialog(parent), QDialog(parent),
ui(new Ui::VarsleDialog) { ui(new Ui::VarsleDialog) {
ui->setupUi(this); ui->setupUi(this);
condition = alertCondition; condition = alertCondition;
switch (condition) { switch (condition) {
case AlertConditions::CONDITION_GREEN: case AlertConditions::CONDITION_GREEN:
setConditionGreen(); setConditionGreen();
break; break;
case AlertConditions::CONDITION_YELLOW: case AlertConditions::CONDITION_YELLOW:
setConditionYellow(); setConditionYellow();
break; break;
case AlertConditions::CONDITION_RED: case AlertConditions::CONDITION_RED:
setConditionRed(); setConditionRed();
break; break;
default: default:
break; break;
} }
} }
VarsleDialog::~VarsleDialog() { VarsleDialog::~VarsleDialog() {
delete ui; delete ui;
} }
void VarsleDialog::settProsjektNavn(QString navn) { void VarsleDialog::settProsjektNavn(QString navn) {
ui->labelProsjektNavnVerdi->setText(navn); ui->labelProsjektNavnVerdi->setText(navn);
} }
void VarsleDialog::settStart(quint64 epoch) { void VarsleDialog::settStart(quint64 epoch) {
QDateTime tProsjektStart(QDateTime::fromMSecsSinceEpoch(epoch)); QDateTime tProsjektStart(QDateTime::fromMSecsSinceEpoch(epoch));
ui->labelStartVerdi->setText(tProsjektStart.toString("dd.MM.yyyy hh:mm")); ui->labelStartVerdi->setText(tProsjektStart.toString("dd.MM.yyyy hh:mm"));
} }
void VarsleDialog::settSlutt(quint64 epoch) { void VarsleDialog::settSlutt(quint64 epoch) {
QDateTime tProsjektStart(QDateTime::fromMSecsSinceEpoch(epoch)); QDateTime tProsjektStart(QDateTime::fromMSecsSinceEpoch(epoch));
ui->labelSluttVerdi->setText(tProsjektStart.toString("dd.MM.yyyy hh:mm")); ui->labelSluttVerdi->setText(tProsjektStart.toString("dd.MM.yyyy hh:mm"));
} }
void VarsleDialog::setConditionGreen() { void VarsleDialog::setConditionGreen() {
QString kText = "<html><head/><body><p>Kondisjon: <span style=\"color:#00c800;\">Grønn</span></p></body></html>"; QString kText = "<html><head/><body><p>Kondisjon: <span style=\"color:#00c800;\">Grønn</span></p></body></html>";
ui->labelKondisjonVerdi->setTextFormat(Qt::RichText); ui->labelKondisjonVerdi->setTextFormat(Qt::RichText);
ui->labelKondisjonVerdi->setText(kText); ui->labelKondisjonVerdi->setText(kText);
} }
void VarsleDialog::setConditionYellow() { void VarsleDialog::setConditionYellow() {
QString kText = "<html><head/><body><p>Kondisjon: <span style=\"color:#f1f100;\">! Gul !</span></p></body></html>"; QString kText = "<html><head/><body><p>Kondisjon: <span style=\"color:#f1f100;\">! Gul !</span></p></body></html>";
ui->labelKondisjonVerdi->setTextFormat(Qt::RichText); ui->labelKondisjonVerdi->setTextFormat(Qt::RichText);
ui->labelKondisjonVerdi->setText(kText); ui->labelKondisjonVerdi->setText(kText);
} }
void VarsleDialog::setConditionRed() { void VarsleDialog::setConditionRed() {
QString kText = "<html><head/><body><p>Kondisjon: <span style=\"color:#da0000;\">!!! RØD !!!</span></p></body></html>"; QString kText = "<html><head/><body><p>Kondisjon: <span style=\"color:#da0000;\">!!! RØD !!!</span></p></body></html>";
ui->labelKondisjonVerdi->setTextFormat(Qt::RichText); ui->labelKondisjonVerdi->setTextFormat(Qt::RichText);
ui->labelKondisjonVerdi->setText(kText); ui->labelKondisjonVerdi->setText(kText);
} }
void VarsleDialog::on_pushOk_clicked() { void VarsleDialog::on_pushOk_clicked() {
QDialog::close(); QDialog::close();
} }

View File

@ -1,35 +1,35 @@
#ifndef VARSLEDIALOG_H #ifndef VARSLEDIALOG_H
#define VARSLEDIALOG_H #define VARSLEDIALOG_H
#include <QDialog> #include <QDialog>
#include "datatypes.h" #include "datatypes.h"
namespace Ui { namespace Ui {
class VarsleDialog; class VarsleDialog;
} }
class VarsleDialog : public QDialog class VarsleDialog : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit VarsleDialog(QWidget *parent = nullptr, AlertConditions alertCondition = AlertConditions::CONDITION_GREEN); explicit VarsleDialog(QWidget *parent = nullptr, AlertConditions alertCondition = AlertConditions::CONDITION_GREEN);
~VarsleDialog(); ~VarsleDialog();
void settProsjektNavn(QString navn); void settProsjektNavn(QString navn);
void settStart(quint64 epoch); void settStart(quint64 epoch);
void settSlutt(quint64 epoch); void settSlutt(quint64 epoch);
private slots: private slots:
void on_pushOk_clicked(); void on_pushOk_clicked();
private: private:
Ui::VarsleDialog *ui; Ui::VarsleDialog *ui;
AlertConditions condition; AlertConditions condition;
void setConditionGreen(); void setConditionGreen();
void setConditionYellow(); void setConditionYellow();
void setConditionRed(); void setConditionRed();
}; };
#endif // VARSLEDIALOG_H #endif // VARSLEDIALOG_H

View File

@ -1,251 +1,251 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>VarsleDialog</class> <class>VarsleDialog</class>
<widget class="QDialog" name="VarsleDialog"> <widget class="QDialog" name="VarsleDialog">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>422</width> <width>422</width>
<height>311</height> <height>311</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Varsel om prosjekt</string> <string>Varsel om prosjekt</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelVarselHeading"> <widget class="QLabel" name="labelVarselHeading">
<property name="font"> <property name="font">
<font> <font>
<pointsize>16</pointsize> <pointsize>16</pointsize>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Varsel</string> <string>Varsel</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_2"> <spacer name="horizontalSpacer_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<spacer name="horizontalSpacer_3"> <spacer name="horizontalSpacer_3">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelKondisjonVerdi"> <widget class="QLabel" name="labelKondisjonVerdi">
<property name="font"> <property name="font">
<font> <font>
<pointsize>14</pointsize> <pointsize>14</pointsize>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Kondisjon: &lt;span style=&quot; color:#00c800;&quot;&gt;Grønn&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;Kondisjon: &lt;span style=&quot; color:#00c800;&quot;&gt;Grønn&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="textFormat"> <property name="textFormat">
<enum>Qt::RichText</enum> <enum>Qt::RichText</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_4"> <spacer name="horizontalSpacer_4">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<widget class="Line" name="line"> <widget class="Line" name="line">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_3"> <layout class="QHBoxLayout" name="horizontalLayout_3">
<item> <item>
<widget class="QLabel" name="labelProsjektnavn"> <widget class="QLabel" name="labelProsjektnavn">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Prosjektnavn:</string> <string>Prosjektnavn:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_5"> <spacer name="horizontalSpacer_5">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelProsjektNavnVerdi"> <widget class="QLabel" name="labelProsjektNavnVerdi">
<property name="text"> <property name="text">
<string>-</string> <string>-</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_4"> <layout class="QHBoxLayout" name="horizontalLayout_4">
<item> <item>
<widget class="QLabel" name="labelStart"> <widget class="QLabel" name="labelStart">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Start:</string> <string>Start:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_6"> <spacer name="horizontalSpacer_6">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelStartVerdi"> <widget class="QLabel" name="labelStartVerdi">
<property name="text"> <property name="text">
<string>-</string> <string>-</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_5"> <layout class="QHBoxLayout" name="horizontalLayout_5">
<item> <item>
<widget class="QLabel" name="labelSlutt"> <widget class="QLabel" name="labelSlutt">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Slutt:</string> <string>Slutt:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer name="horizontalSpacer_7"> <spacer name="horizontalSpacer_7">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelSluttVerdi"> <widget class="QLabel" name="labelSluttVerdi">
<property name="text"> <property name="text">
<string>-</string> <string>-</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>40</height> <height>40</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushOk"> <widget class="QPushButton" name="pushOk">
<property name="text"> <property name="text">
<string>Lukk varsel</string> <string>Lukk varsel</string>
</property> </property>
<property name="default"> <property name="default">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>

View File

@ -0,0 +1,24 @@
INCLUDEPATH += \
$$PWD/../../core \
$$PWD/../../mainwidgets
DEPENDPATH += \
$$PWD/../../core \
$$PWD/../../mainwidgets
SOURCES += \
$$PWD/nykundedialog.cpp \
$$PWD/redigerkundedialog.cpp \
$$PWD/velgkundeprosjektdialog.cpp
HEADERS += \
$$PWD/nykundedialog.h \
$$PWD/redigerkundedialog.h \
$$PWD/velgkundeprosjektdialog.h
FORMS += \
$$PWD/nykundedialog.ui \
$$PWD/redigerkundedialog.ui \
$$PWD/velgkundeprosjektdialog.ui
RESOURCES += \
$$PWD/../../../../resources.qrc

View File

@ -1,67 +1,67 @@
#include "nykundedialog.h" #include "nykundedialog.h"
#include "ui_nykundedialog.h" #include "ui_nykundedialog.h"
NyKundeDialog::NyKundeDialog(QWidget *parent) : NyKundeDialog::NyKundeDialog(QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::NyKundeDialog) { ui(new Ui::NyKundeDialog) {
ui->setupUi(this); ui->setupUi(this);
ui->lineTlf->setValidator(new QIntValidator(10000000, 99999999, this)); ui->lineTlf->setValidator(new QIntValidator(10000000, 99999999, this));
ui->linePostnr->setValidator(new QIntValidator(1000, 9999, this)); ui->linePostnr->setValidator(new QIntValidator(1000, 9999, this));
ui->labelFeilMelding->setText(""); ui->labelFeilMelding->setText("");
} }
NyKundeDialog::~NyKundeDialog() { NyKundeDialog::~NyKundeDialog() {
delete ui; delete ui;
} }
void NyKundeDialog::startTopp() { void NyKundeDialog::startTopp() {
ui->lineFornavn->setFocus(); ui->lineFornavn->setFocus();
} }
void NyKundeDialog::nyKundeId(quint64 id) { void NyKundeDialog::nyKundeId(quint64 id) {
ui->lineKundenummer->setText(QString::number(id)); ui->lineKundenummer->setText(QString::number(id));
} }
void NyKundeDialog::fokuserElement(UIElementer element) { void NyKundeDialog::fokuserElement(UIElementer element) {
switch (element) { switch (element) {
case UIElementer::FORNAVN: case UIElementer::FORNAVN:
ui->lineFornavn->selectAll(); ui->lineFornavn->selectAll();
ui->lineFornavn->setFocus(); ui->lineFornavn->setFocus();
break; break;
case UIElementer::ETTERNAVN: case UIElementer::ETTERNAVN:
ui->lineEtternavn->selectAll(); ui->lineEtternavn->selectAll();
ui->lineEtternavn->setFocus(); ui->lineEtternavn->setFocus();
break; break;
case UIElementer::FIRMANAVN: case UIElementer::FIRMANAVN:
ui->lineFirmanavn->selectAll(); ui->lineFirmanavn->selectAll();
ui->lineFirmanavn->setFocus(); ui->lineFirmanavn->setFocus();
break; break;
} }
} }
void NyKundeDialog::settFeilMelding(QString feilMelding) { void NyKundeDialog::settFeilMelding(QString feilMelding) {
ui->labelFeilMelding->setText(tr("<span style=\"font-weight:600; color:#ff0000;\">Feil: </span><span style=\"font-weight:600;\"/><span style=\"color:#000000;\">%1</span>").arg(feilMelding)); ui->labelFeilMelding->setText(tr("<span style=\"font-weight:600; color:#ff0000;\">Feil: </span><span style=\"font-weight:600;\"/><span style=\"color:#000000;\">%1</span>").arg(feilMelding));
} }
void NyKundeDialog::on_pushAvbryt_clicked() { void NyKundeDialog::on_pushAvbryt_clicked() {
QDialog::close(); QDialog::close();
} }
void NyKundeDialog::on_pushButton_clicked() { void NyKundeDialog::on_pushButton_clicked() {
KundeFil nyKunde; KundeFil nyKunde;
nyKunde.insert("fornavn", ui->lineFornavn->text()); nyKunde.insert("fornavn", ui->lineFornavn->text());
nyKunde.insert("etternavn", ui->lineEtternavn->text()); nyKunde.insert("etternavn", ui->lineEtternavn->text());
nyKunde.insert("firmanavn", ui->lineFirmanavn->text()); nyKunde.insert("firmanavn", ui->lineFirmanavn->text());
nyKunde.insert("adresse", ui->lineGate->text()); nyKunde.insert("adresse", ui->lineGate->text());
nyKunde.insert("postnr", ui->linePostnr->text().toInt()); nyKunde.insert("postnr", ui->linePostnr->text().toInt());
nyKunde.insert("sted", ui->lineSted->text()); nyKunde.insert("sted", ui->lineSted->text());
nyKunde.insert("epost", ui->lineEpost->text()); nyKunde.insert("epost", ui->lineEpost->text());
nyKunde.insert("tlf", ui->lineTlf->text().toInt()); nyKunde.insert("tlf", ui->lineTlf->text().toInt());
nyKunde.insert("id", ui->lineKundenummer->text().toInt()); nyKunde.insert("id", ui->lineKundenummer->text().toInt());
nyKunde.insert("active", true); nyKunde.insert("active", true);
emit leggTilKunde(nyKunde); emit leggTilKunde(nyKunde);
} }

View File

@ -1,37 +1,37 @@
#ifndef NYKUNDEDIALOG_H #ifndef NYKUNDEDIALOG_H
#define NYKUNDEDIALOG_H #define NYKUNDEDIALOG_H
#include <QDialog> #include <QDialog>
#include <QIntValidator> #include <QIntValidator>
#include "datatypes.h" #include "datatypes.h"
namespace Ui { namespace Ui {
class NyKundeDialog; class NyKundeDialog;
} }
class NyKundeDialog : public QDialog class NyKundeDialog : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit NyKundeDialog(QWidget *parent = nullptr); explicit NyKundeDialog(QWidget *parent = nullptr);
~NyKundeDialog(); ~NyKundeDialog();
void startTopp(); void startTopp();
void nyKundeId(quint64 id); void nyKundeId(quint64 id);
void fokuserElement(UIElementer element); void fokuserElement(UIElementer element);
void settFeilMelding(QString feilMelding); void settFeilMelding(QString feilMelding);
signals: signals:
void leggTilKunde(KundeFil kunde); void leggTilKunde(KundeFil kunde);
private slots: private slots:
void on_pushAvbryt_clicked(); void on_pushAvbryt_clicked();
void on_pushButton_clicked(); void on_pushButton_clicked();
private: private:
Ui::NyKundeDialog *ui; Ui::NyKundeDialog *ui;
}; };
#endif // NYKUNDEDIALOG_H #endif // NYKUNDEDIALOG_H

View File

@ -1,259 +1,259 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>NyKundeDialog</class> <class>NyKundeDialog</class>
<widget class="QDialog" name="NyKundeDialog"> <widget class="QDialog" name="NyKundeDialog">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>474</width> <width>474</width>
<height>358</height> <height>358</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Opprett ny kunde</string> <string>Opprett ny kunde</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<item row="0" column="0"> <item row="0" column="0">
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QFormLayout" name="formLayout"> <layout class="QFormLayout" name="formLayout">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="labelFornavn"> <widget class="QLabel" name="labelFornavn">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Fornavn:</string> <string>Fornavn:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QLineEdit" name="lineFornavn"/> <widget class="QLineEdit" name="lineFornavn"/>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="labelEtternavn"> <widget class="QLabel" name="labelEtternavn">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Etternavn:</string> <string>Etternavn:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QLineEdit" name="lineEtternavn"/> <widget class="QLineEdit" name="lineEtternavn"/>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="labelFirmanavn"> <widget class="QLabel" name="labelFirmanavn">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Firmanavn:</string> <string>Firmanavn:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="2" column="1">
<widget class="QLineEdit" name="lineFirmanavn"/> <widget class="QLineEdit" name="lineFirmanavn"/>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<widget class="Line" name="line"> <widget class="Line" name="line">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QFormLayout" name="formLayout_2"> <layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="labelGateadresse"> <widget class="QLabel" name="labelGateadresse">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Gateadresse:</string> <string>Gateadresse:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QLineEdit" name="lineGate"/> <widget class="QLineEdit" name="lineGate"/>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="labelPostnr"> <widget class="QLabel" name="labelPostnr">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Postnr:</string> <string>Postnr:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QLineEdit" name="linePostnr"/> <widget class="QLineEdit" name="linePostnr"/>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="labelSted"> <widget class="QLabel" name="labelSted">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Sted:</string> <string>Sted:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="2" column="1">
<widget class="QLineEdit" name="lineSted"/> <widget class="QLineEdit" name="lineSted"/>
</item> </item>
<item row="3" column="0"> <item row="3" column="0">
<widget class="QLabel" name="labelTlf"> <widget class="QLabel" name="labelTlf">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Telefon:</string> <string>Telefon:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="1"> <item row="3" column="1">
<widget class="QLineEdit" name="lineTlf"/> <widget class="QLineEdit" name="lineTlf"/>
</item> </item>
<item row="4" column="0"> <item row="4" column="0">
<widget class="QLabel" name="labelEpost"> <widget class="QLabel" name="labelEpost">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Epost:</string> <string>Epost:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="1"> <item row="4" column="1">
<widget class="QLineEdit" name="lineEpost"/> <widget class="QLineEdit" name="lineEpost"/>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<widget class="Line" name="line_2"> <widget class="Line" name="line_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="QLabel" name="labelID"> <widget class="QLabel" name="labelID">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Kundenummer:</string> <string>Kundenummer:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="lineKundenummer"> <widget class="QLineEdit" name="lineKundenummer">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="readOnly"> <property name="readOnly">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>40</height> <height>40</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelFeilMelding"> <widget class="QLabel" name="labelFeilMelding">
<property name="text"> <property name="text">
<string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; color:#ff0000;&quot;&gt;Feil: &lt;/span&gt;&lt;span style=&quot; font-weight:600;&quot;/&gt;&lt;span style=&quot; color:#000000;&quot;&gt;TextLabel&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string> <string>&lt;html&gt;&lt;head/&gt;&lt;body&gt;&lt;p&gt;&lt;span style=&quot; font-weight:600; color:#ff0000;&quot;&gt;Feil: &lt;/span&gt;&lt;span style=&quot; font-weight:600;&quot;/&gt;&lt;span style=&quot; color:#000000;&quot;&gt;TextLabel&lt;/span&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property> </property>
<property name="textFormat"> <property name="textFormat">
<enum>Qt::RichText</enum> <enum>Qt::RichText</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushAvbryt"> <widget class="QPushButton" name="pushAvbryt">
<property name="text"> <property name="text">
<string>Avbryt</string> <string>Avbryt</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton"> <widget class="QPushButton" name="pushButton">
<property name="text"> <property name="text">
<string>Lagre</string> <string>Lagre</string>
</property> </property>
<property name="default"> <property name="default">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>

View File

@ -1,73 +1,73 @@
#include "redigerkundedialog.h" #include "redigerkundedialog.h"
#include "ui_redigerkundedialog.h" #include "ui_redigerkundedialog.h"
RedigerKundeDialog::RedigerKundeDialog(QWidget *parent) : RedigerKundeDialog::RedigerKundeDialog(QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::RedigerKundeDialog) { ui(new Ui::RedigerKundeDialog) {
ui->setupUi(this); ui->setupUi(this);
ui->labelFeilMelding->setText(""); ui->labelFeilMelding->setText("");
} }
RedigerKundeDialog::~RedigerKundeDialog() { RedigerKundeDialog::~RedigerKundeDialog() {
delete ui; delete ui;
} }
void RedigerKundeDialog::settInnGamleVerdier(KundeFil gjeldendeKundeFil) { void RedigerKundeDialog::settInnGamleVerdier(KundeFil gjeldendeKundeFil) {
ui->lineKundenummer->setText(gjeldendeKundeFil.value("id").toString()); ui->lineKundenummer->setText(gjeldendeKundeFil.value("id").toString());
ui->lineFornavn->setText(gjeldendeKundeFil.value("fornavn").toString()); ui->lineFornavn->setText(gjeldendeKundeFil.value("fornavn").toString());
ui->lineEtternavn->setText(gjeldendeKundeFil.value("etternavn").toString()); ui->lineEtternavn->setText(gjeldendeKundeFil.value("etternavn").toString());
ui->lineFirmanavn->setText(gjeldendeKundeFil.value("firmanavn").toString()); ui->lineFirmanavn->setText(gjeldendeKundeFil.value("firmanavn").toString());
ui->lineGate->setText(gjeldendeKundeFil.value("adresse").toString()); ui->lineGate->setText(gjeldendeKundeFil.value("adresse").toString());
ui->linePostnr->setText(gjeldendeKundeFil.value("postnr").toString()); ui->linePostnr->setText(gjeldendeKundeFil.value("postnr").toString());
ui->lineSted->setText(gjeldendeKundeFil.value("sted").toString()); ui->lineSted->setText(gjeldendeKundeFil.value("sted").toString());
ui->lineEpost->setText(gjeldendeKundeFil.value("epost").toString()); ui->lineEpost->setText(gjeldendeKundeFil.value("epost").toString());
ui->lineTlf->setText(gjeldendeKundeFil.value("tlf").toString()); ui->lineTlf->setText(gjeldendeKundeFil.value("tlf").toString());
ui->lineFornavn->selectAll(); ui->lineFornavn->selectAll();
ui->lineFornavn->setFocus(); ui->lineFornavn->setFocus();
} }
void RedigerKundeDialog::fokuserElement(UIElementer element) { void RedigerKundeDialog::fokuserElement(UIElementer element) {
switch (element) { switch (element) {
case UIElementer::FORNAVN: case UIElementer::FORNAVN:
ui->lineFornavn->selectAll(); ui->lineFornavn->selectAll();
ui->lineFornavn->setFocus(); ui->lineFornavn->setFocus();
break; break;
case UIElementer::ETTERNAVN: case UIElementer::ETTERNAVN:
ui->lineEtternavn->selectAll(); ui->lineEtternavn->selectAll();
ui->lineEtternavn->setFocus(); ui->lineEtternavn->setFocus();
break; break;
case UIElementer::FIRMANAVN: case UIElementer::FIRMANAVN:
ui->lineFirmanavn->selectAll(); ui->lineFirmanavn->selectAll();
ui->lineFirmanavn->setFocus(); ui->lineFirmanavn->setFocus();
break; break;
} }
} }
void RedigerKundeDialog::settFeilMelding(QString feilMelding) { void RedigerKundeDialog::settFeilMelding(QString feilMelding) {
ui->labelFeilMelding->setText(tr("<span style=\"font-weight:600; color:#ff0000;\">Feil: </span><span style=\"font-weight:600;\"/><span style=\"color:#000000;\">%1</span>").arg(feilMelding)); ui->labelFeilMelding->setText(tr("<span style=\"font-weight:600; color:#ff0000;\">Feil: </span><span style=\"font-weight:600;\"/><span style=\"color:#000000;\">%1</span>").arg(feilMelding));
} }
void RedigerKundeDialog::on_pushAvbryt_clicked() { void RedigerKundeDialog::on_pushAvbryt_clicked() {
QDialog::close(); QDialog::close();
} }
void RedigerKundeDialog::on_pushButton_clicked() { void RedigerKundeDialog::on_pushButton_clicked() {
KundeFil oppdatertFil; KundeFil oppdatertFil;
oppdatertFil.insert("id", ui->lineKundenummer->text().toInt()); oppdatertFil.insert("id", ui->lineKundenummer->text().toInt());
oppdatertFil.insert("fornavn", ui->lineFornavn->text()); oppdatertFil.insert("fornavn", ui->lineFornavn->text());
oppdatertFil.insert("etternavn", ui->lineEtternavn->text()); oppdatertFil.insert("etternavn", ui->lineEtternavn->text());
oppdatertFil.insert("firmanavn", ui->lineFirmanavn->text()); oppdatertFil.insert("firmanavn", ui->lineFirmanavn->text());
oppdatertFil.insert("adresse", ui->lineGate->text()); oppdatertFil.insert("adresse", ui->lineGate->text());
oppdatertFil.insert("postnr", ui->linePostnr->text().toInt()); oppdatertFil.insert("postnr", ui->linePostnr->text().toInt());
oppdatertFil.insert("sted", ui->lineSted->text()); oppdatertFil.insert("sted", ui->lineSted->text());
oppdatertFil.insert("epost", ui->lineEpost->text()); oppdatertFil.insert("epost", ui->lineEpost->text());
oppdatertFil.insert("tlf", ui->lineTlf->text().toInt()); oppdatertFil.insert("tlf", ui->lineTlf->text().toInt());
oppdatertFil.insert("active", true); oppdatertFil.insert("active", true);
emit oppdaterKundeFil(oppdatertFil); emit oppdaterKundeFil(oppdatertFil);
} }

View File

@ -1,34 +1,34 @@
#ifndef REDIGERKUNDEDIALOG_H #ifndef REDIGERKUNDEDIALOG_H
#define REDIGERKUNDEDIALOG_H #define REDIGERKUNDEDIALOG_H
#include <QDialog> #include <QDialog>
#include "datatypes.h" #include "datatypes.h"
namespace Ui { namespace Ui {
class RedigerKundeDialog; class RedigerKundeDialog;
} }
class RedigerKundeDialog : public QDialog class RedigerKundeDialog : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit RedigerKundeDialog(QWidget *parent = nullptr); explicit RedigerKundeDialog(QWidget *parent = nullptr);
~RedigerKundeDialog(); ~RedigerKundeDialog();
void settInnGamleVerdier(KundeFil gjeldendeKundeFil); void settInnGamleVerdier(KundeFil gjeldendeKundeFil);
void fokuserElement(UIElementer element); void fokuserElement(UIElementer element);
void settFeilMelding(QString feilMelding); void settFeilMelding(QString feilMelding);
signals: signals:
void oppdaterKundeFil(KundeFil redigertKundeFil); void oppdaterKundeFil(KundeFil redigertKundeFil);
private slots: private slots:
void on_pushAvbryt_clicked(); void on_pushAvbryt_clicked();
void on_pushButton_clicked(); void on_pushButton_clicked();
private: private:
Ui::RedigerKundeDialog *ui; Ui::RedigerKundeDialog *ui;
}; };
#endif // REDIGERKUNDEDIALOG_H #endif // REDIGERKUNDEDIALOG_H

View File

@ -1,256 +1,256 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>RedigerKundeDialog</class> <class>RedigerKundeDialog</class>
<widget class="QDialog" name="RedigerKundeDialog"> <widget class="QDialog" name="RedigerKundeDialog">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>359</width> <width>359</width>
<height>365</height> <height>365</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Rediger Kunde</string> <string>Rediger Kunde</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout_2"> <layout class="QVBoxLayout" name="verticalLayout_2">
<item> <item>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<layout class="QFormLayout" name="formLayout"> <layout class="QFormLayout" name="formLayout">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="labelFornavn"> <widget class="QLabel" name="labelFornavn">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Fornavn:</string> <string>Fornavn:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QLineEdit" name="lineFornavn"/> <widget class="QLineEdit" name="lineFornavn"/>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="labelEtternavn"> <widget class="QLabel" name="labelEtternavn">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Etternavn:</string> <string>Etternavn:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QLineEdit" name="lineEtternavn"/> <widget class="QLineEdit" name="lineEtternavn"/>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="labelFirmanavn"> <widget class="QLabel" name="labelFirmanavn">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Firmanavn:</string> <string>Firmanavn:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="2" column="1">
<widget class="QLineEdit" name="lineFirmanavn"/> <widget class="QLineEdit" name="lineFirmanavn"/>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<widget class="Line" name="line"> <widget class="Line" name="line">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QFormLayout" name="formLayout_2"> <layout class="QFormLayout" name="formLayout_2">
<item row="0" column="0"> <item row="0" column="0">
<widget class="QLabel" name="labelGateadresse"> <widget class="QLabel" name="labelGateadresse">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Gateadresse:</string> <string>Gateadresse:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="0" column="1">
<widget class="QLineEdit" name="lineGate"/> <widget class="QLineEdit" name="lineGate"/>
</item> </item>
<item row="1" column="0"> <item row="1" column="0">
<widget class="QLabel" name="labelPostnr"> <widget class="QLabel" name="labelPostnr">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Postnr:</string> <string>Postnr:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="1" column="1">
<widget class="QLineEdit" name="linePostnr"/> <widget class="QLineEdit" name="linePostnr"/>
</item> </item>
<item row="2" column="0"> <item row="2" column="0">
<widget class="QLabel" name="labelSted"> <widget class="QLabel" name="labelSted">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Sted:</string> <string>Sted:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="2" column="1"> <item row="2" column="1">
<widget class="QLineEdit" name="lineSted"/> <widget class="QLineEdit" name="lineSted"/>
</item> </item>
<item row="3" column="0"> <item row="3" column="0">
<widget class="QLabel" name="labelTlf"> <widget class="QLabel" name="labelTlf">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Telefon:</string> <string>Telefon:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="3" column="1"> <item row="3" column="1">
<widget class="QLineEdit" name="lineTlf"/> <widget class="QLineEdit" name="lineTlf"/>
</item> </item>
<item row="4" column="0"> <item row="4" column="0">
<widget class="QLabel" name="labelEpost"> <widget class="QLabel" name="labelEpost">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Epost:</string> <string>Epost:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="4" column="1"> <item row="4" column="1">
<widget class="QLineEdit" name="lineEpost"/> <widget class="QLineEdit" name="lineEpost"/>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<widget class="Line" name="line_2"> <widget class="Line" name="line_2">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item> <item>
<widget class="QLabel" name="labelID"> <widget class="QLabel" name="labelID">
<property name="font"> <property name="font">
<font> <font>
<weight>75</weight> <weight>75</weight>
<bold>true</bold> <bold>true</bold>
</font> </font>
</property> </property>
<property name="text"> <property name="text">
<string>Kundenummer:</string> <string>Kundenummer:</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QLineEdit" name="lineKundenummer"> <widget class="QLineEdit" name="lineKundenummer">
<property name="enabled"> <property name="enabled">
<bool>true</bool> <bool>true</bool>
</property> </property>
<property name="readOnly"> <property name="readOnly">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
<item> <item>
<spacer name="verticalSpacer"> <spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Vertical</enum> <enum>Qt::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>20</width> <width>20</width>
<height>40</height> <height>40</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QLabel" name="labelFeilMelding"> <widget class="QLabel" name="labelFeilMelding">
<property name="text"> <property name="text">
<string>TextLabel</string> <string>TextLabel</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushAvbryt"> <widget class="QPushButton" name="pushAvbryt">
<property name="text"> <property name="text">
<string>Avbryt</string> <string>Avbryt</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushButton"> <widget class="QPushButton" name="pushButton">
<property name="text"> <property name="text">
<string>Lagre</string> <string>Lagre</string>
</property> </property>
<property name="default"> <property name="default">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>

View File

@ -1,47 +1,47 @@
#include "velgkundeprosjektdialog.h" #include "velgkundeprosjektdialog.h"
#include "ui_velgkundeprosjektdialog.h" #include "ui_velgkundeprosjektdialog.h"
VelgKundeProsjektDialog::VelgKundeProsjektDialog(QWidget *parent) : VelgKundeProsjektDialog::VelgKundeProsjektDialog(QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::VelgKundeProsjektDialog) { ui(new Ui::VelgKundeProsjektDialog) {
ui->setupUi(this); ui->setupUi(this);
} }
VelgKundeProsjektDialog::~VelgKundeProsjektDialog() { VelgKundeProsjektDialog::~VelgKundeProsjektDialog() {
delete ui; delete ui;
} }
void VelgKundeProsjektDialog::settKundeID(int id) { void VelgKundeProsjektDialog::settKundeID(int id) {
kundeID = id; kundeID = id;
} }
int VelgKundeProsjektDialog::hentKundeID() { int VelgKundeProsjektDialog::hentKundeID() {
return kundeID; return kundeID;
} }
void VelgKundeProsjektDialog::hentProsjekter(ProsjektKartotek &kartotek, ProsjektBindinger &bindinger) { void VelgKundeProsjektDialog::hentProsjekter(ProsjektKartotek &kartotek, ProsjektBindinger &bindinger) {
for (int i = 0; i < kartotek.size(); ++i) { for (int i = 0; i < kartotek.size(); ++i) {
QList<int> prosjektMedlemmer = bindinger.value(kartotek.at(i).value("ordrenummer").toInt()); QList<int> prosjektMedlemmer = bindinger.value(kartotek.at(i).value("ordrenummer").toInt());
if (!prosjektMedlemmer.contains(kundeID)) { if (!prosjektMedlemmer.contains(kundeID)) {
QListWidgetItem *prosjekt = new QListWidgetItem(kartotek.at(i).value("prosjektnavn").toString()); QListWidgetItem *prosjekt = new QListWidgetItem(kartotek.at(i).value("prosjektnavn").toString());
prosjekt->setData(Qt::UserRole, kartotek.at(i).value("ordrenummer").toInt()); prosjekt->setData(Qt::UserRole, kartotek.at(i).value("ordrenummer").toInt());
ui->prosjektListe->addItem(prosjekt); ui->prosjektListe->addItem(prosjekt);
} }
} }
} }
void VelgKundeProsjektDialog::on_pushAvbryt_clicked() { void VelgKundeProsjektDialog::on_pushAvbryt_clicked() {
QDialog::close(); QDialog::close();
} }
void VelgKundeProsjektDialog::on_prosjektListe_itemClicked(QListWidgetItem *item) { void VelgKundeProsjektDialog::on_prosjektListe_itemClicked(QListWidgetItem *item) {
ui->pushVelg->setEnabled(true); ui->pushVelg->setEnabled(true);
prosjektID = item->data(Qt::UserRole).toInt(); prosjektID = item->data(Qt::UserRole).toInt();
} }
void VelgKundeProsjektDialog::on_pushVelg_clicked() { void VelgKundeProsjektDialog::on_pushVelg_clicked() {
emit opprettBinding(kundeID, prosjektID); emit opprettBinding(kundeID, prosjektID);
} }

View File

@ -1,39 +1,39 @@
#ifndef VELGKUNDEPROSJEKTDIALOG_H #ifndef VELGKUNDEPROSJEKTDIALOG_H
#define VELGKUNDEPROSJEKTDIALOG_H #define VELGKUNDEPROSJEKTDIALOG_H
#include <QDialog> #include <QDialog>
#include <QListWidgetItem> #include <QListWidgetItem>
#include "datatypes.h" #include "datatypes.h"
namespace Ui { namespace Ui {
class VelgKundeProsjektDialog; class VelgKundeProsjektDialog;
} }
class VelgKundeProsjektDialog : public QDialog class VelgKundeProsjektDialog : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit VelgKundeProsjektDialog(QWidget *parent = nullptr); explicit VelgKundeProsjektDialog(QWidget *parent = nullptr);
~VelgKundeProsjektDialog(); ~VelgKundeProsjektDialog();
void settKundeID(int id); void settKundeID(int id);
int hentKundeID(); int hentKundeID();
void hentProsjekter(ProsjektKartotek &kartotek, ProsjektBindinger &bindinger); void hentProsjekter(ProsjektKartotek &kartotek, ProsjektBindinger &bindinger);
signals: signals:
void opprettBinding(int kunde, int prosjekt); void opprettBinding(int kunde, int prosjekt);
private slots: private slots:
void on_pushAvbryt_clicked(); void on_pushAvbryt_clicked();
void on_prosjektListe_itemClicked(QListWidgetItem *item); void on_prosjektListe_itemClicked(QListWidgetItem *item);
void on_pushVelg_clicked(); void on_pushVelg_clicked();
private: private:
Ui::VelgKundeProsjektDialog *ui; Ui::VelgKundeProsjektDialog *ui;
int kundeID, prosjektID; int kundeID, prosjektID;
}; };
#endif // VELGKUNDEPROSJEKTDIALOG_H #endif // VELGKUNDEPROSJEKTDIALOG_H

View File

@ -1,61 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0"> <ui version="4.0">
<class>VelgKundeProsjektDialog</class> <class>VelgKundeProsjektDialog</class>
<widget class="QDialog" name="VelgKundeProsjektDialog"> <widget class="QDialog" name="VelgKundeProsjektDialog">
<property name="geometry"> <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>400</width> <width>400</width>
<height>300</height> <height>300</height>
</rect> </rect>
</property> </property>
<property name="windowTitle"> <property name="windowTitle">
<string>Velg et prosjekt for kunden</string> <string>Velg et prosjekt for kunden</string>
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QListWidget" name="prosjektListe"/> <widget class="QListWidget" name="prosjektListe"/>
</item> </item>
<item> <item>
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" stdset="0"> <property name="sizeHint" stdset="0">
<size> <size>
<width>40</width> <width>40</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushAvbryt"> <widget class="QPushButton" name="pushAvbryt">
<property name="text"> <property name="text">
<string>Avbryt</string> <string>Avbryt</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="pushVelg"> <widget class="QPushButton" name="pushVelg">
<property name="enabled"> <property name="enabled">
<bool>false</bool> <bool>false</bool>
</property> </property>
<property name="text"> <property name="text">
<string>Velg prosjekt</string> <string>Velg prosjekt</string>
</property> </property>
<property name="default"> <property name="default">
<bool>true</bool> <bool>true</bool>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources/> <resources/>
<connections/> <connections/>
</ui> </ui>

View File

@ -1,91 +1,91 @@
#include "nyttprosjektdialog.h" #include "nyttprosjektdialog.h"
#include "ui_nyttprosjektdialog.h" #include "ui_nyttprosjektdialog.h"
NyttProsjektDialog::NyttProsjektDialog(QWidget *parent) : NyttProsjektDialog::NyttProsjektDialog(QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::NyttProsjektDialog) { ui(new Ui::NyttProsjektDialog) {
ui->setupUi(this); ui->setupUi(this);
QDateTime iDag = QDateTime::currentDateTime(); QDateTime iDag = QDateTime::currentDateTime();
QDate dagensDato = iDag.date(); QDate dagensDato = iDag.date();
ui->dateStart->setMinimumDate(dagensDato); ui->dateStart->setMinimumDate(dagensDato);
ui->dateSlutt->setMinimumDate(dagensDato); ui->dateSlutt->setMinimumDate(dagensDato);
} }
NyttProsjektDialog::~NyttProsjektDialog() { NyttProsjektDialog::~NyttProsjektDialog() {
delete ui; delete ui;
} }
void NyttProsjektDialog::opprettOrdreNr(int ordreNr) { void NyttProsjektDialog::opprettOrdreNr(int ordreNr) {
ui->lineOrdrenummer->setText(QString::number(ordreNr)); ui->lineOrdrenummer->setText(QString::number(ordreNr));
} }
void NyttProsjektDialog::fokusStart() { void NyttProsjektDialog::fokusStart() {
ui->lineProsjektNavn->setFocus(); ui->lineProsjektNavn->setFocus();
} }
void NyttProsjektDialog::on_pushAvbryt_clicked() { void NyttProsjektDialog::on_pushAvbryt_clicked() {
QDialog::close(); QDialog::close();
} }
void NyttProsjektDialog::on_pushLagre_clicked() { void NyttProsjektDialog::on_pushLagre_clicked() {
ProsjektFil nyttProsjekt; ProsjektFil nyttProsjekt;
nyttProsjekt.insert("prosjektnavn", ui->lineProsjektNavn->text()); nyttProsjekt.insert("prosjektnavn", ui->lineProsjektNavn->text());
nyttProsjekt.insert("ordrenummer", ui->lineOrdrenummer->text().toInt()); nyttProsjekt.insert("ordrenummer", ui->lineOrdrenummer->text().toInt());
nyttProsjekt.insert("prosjektbeskrivelse", ui->textEditProsjektBeskrivelse->toHtml()); nyttProsjekt.insert("prosjektbeskrivelse", ui->textEditProsjektBeskrivelse->toHtml());
nyttProsjekt.insert("varslestart", ui->checkVarsleStart->isChecked()); nyttProsjekt.insert("varslestart", ui->checkVarsleStart->isChecked());
nyttProsjekt.insert("varsleslutt", ui->checkVarsleSlutt->isChecked()); nyttProsjekt.insert("varsleslutt", ui->checkVarsleSlutt->isChecked());
QDateTime prosjektStartDato = ui->dateStart->dateTime(); QDateTime prosjektStartDato = ui->dateStart->dateTime();
quint64 mSekStart = prosjektStartDato.toMSecsSinceEpoch() + ui->timeStart->time().msecsSinceStartOfDay(); quint64 mSekStart = prosjektStartDato.toMSecsSinceEpoch() + ui->timeStart->time().msecsSinceStartOfDay();
QDateTime prosjektSluttDato = ui->dateSlutt->dateTime(); QDateTime prosjektSluttDato = ui->dateSlutt->dateTime();
quint64 mSekSlutt = prosjektSluttDato.toMSecsSinceEpoch() + ui->timeSlutt->time().msecsSinceStartOfDay(); quint64 mSekSlutt = prosjektSluttDato.toMSecsSinceEpoch() + ui->timeSlutt->time().msecsSinceStartOfDay();
nyttProsjekt.insert("prosjektstart", mSekStart); nyttProsjekt.insert("prosjektstart", mSekStart);
nyttProsjekt.insert("prosjektslutt", mSekSlutt); nyttProsjekt.insert("prosjektslutt", mSekSlutt);
int dognVarselStart = ui->spinBoxAntallDognVarslingStart->value(); int dognVarselStart = ui->spinBoxAntallDognVarslingStart->value();
int timerVarselStart = ui->spinBoxTimerForStart->value(); int timerVarselStart = ui->spinBoxTimerForStart->value();
quint64 epochVarselDognStart = dognVarselStart * 24 * 60 * 60 * 1000; quint64 epochVarselDognStart = dognVarselStart * 24 * 60 * 60 * 1000;
quint64 epochVarselTimerStart = timerVarselStart * 60 * 60 * 1000; quint64 epochVarselTimerStart = timerVarselStart * 60 * 60 * 1000;
quint64 epochVarselStart = epochVarselDognStart + epochVarselTimerStart; quint64 epochVarselStart = epochVarselDognStart + epochVarselTimerStart;
int dognVarselSlutt = ui->spinBoxAntallDognVarslingSlutt->value(); int dognVarselSlutt = ui->spinBoxAntallDognVarslingSlutt->value();
int timerVarselSlutt = ui->spinBoxTimerForSlutt->value(); int timerVarselSlutt = ui->spinBoxTimerForSlutt->value();
quint64 epochVarselDognSlutt = dognVarselSlutt * 24 * 60 * 60 * 1000; quint64 epochVarselDognSlutt = dognVarselSlutt * 24 * 60 * 60 * 1000;
quint64 epochVarselTimerSlutt = timerVarselSlutt * 60 * 60 * 1000; quint64 epochVarselTimerSlutt = timerVarselSlutt * 60 * 60 * 1000;
quint64 epochVarselSlutt = epochVarselDognSlutt + epochVarselTimerSlutt; quint64 epochVarselSlutt = epochVarselDognSlutt + epochVarselTimerSlutt;
nyttProsjekt.insert("varselstart", epochVarselStart); nyttProsjekt.insert("varselstart", epochVarselStart);
nyttProsjekt.insert("varselslutt", epochVarselSlutt); nyttProsjekt.insert("varselslutt", epochVarselSlutt);
nyttProsjekt.insert("dognvarselstart", ui->spinBoxAntallDognVarslingStart->value()); nyttProsjekt.insert("dognvarselstart", ui->spinBoxAntallDognVarslingStart->value());
nyttProsjekt.insert("dognvarselslutt", ui->spinBoxAntallDognVarslingSlutt->value()); nyttProsjekt.insert("dognvarselslutt", ui->spinBoxAntallDognVarslingSlutt->value());
nyttProsjekt.insert("timervarselstart", ui->spinBoxTimerForStart->value()); nyttProsjekt.insert("timervarselstart", ui->spinBoxTimerForStart->value());
nyttProsjekt.insert("timercarselslutt", ui->spinBoxTimerForSlutt->value()); nyttProsjekt.insert("timercarselslutt", ui->spinBoxTimerForSlutt->value());
nyttProsjekt.insert("active", true); nyttProsjekt.insert("active", true);
nyttProsjekt.insert("ferdig", false); nyttProsjekt.insert("ferdig", false);
emit leggTilProsjekt(nyttProsjekt); emit leggTilProsjekt(nyttProsjekt);
} }
void NyttProsjektDialog::on_checkVarsleStart_clicked() { void NyttProsjektDialog::on_checkVarsleStart_clicked() {
endreVarselStatus(); endreVarselStatus();
} }
void NyttProsjektDialog::on_checkVarsleSlutt_clicked() { void NyttProsjektDialog::on_checkVarsleSlutt_clicked() {
endreVarselStatus(); endreVarselStatus();
} }
void NyttProsjektDialog::endreVarselStatus() { void NyttProsjektDialog::endreVarselStatus() {
ui->spinBoxAntallDognVarslingSlutt->setEnabled(ui->checkVarsleSlutt->isChecked()); ui->spinBoxAntallDognVarslingSlutt->setEnabled(ui->checkVarsleSlutt->isChecked());
ui->spinBoxTimerForSlutt->setEnabled(ui->checkVarsleSlutt->isChecked()); ui->spinBoxTimerForSlutt->setEnabled(ui->checkVarsleSlutt->isChecked());
ui->spinBoxAntallDognVarslingStart->setEnabled(ui->checkVarsleStart->isChecked()); ui->spinBoxAntallDognVarslingStart->setEnabled(ui->checkVarsleStart->isChecked());
ui->spinBoxTimerForStart->setEnabled(ui->checkVarsleStart->isChecked()); ui->spinBoxTimerForStart->setEnabled(ui->checkVarsleStart->isChecked());
} }

View File

@ -1,37 +1,37 @@
#ifndef NYTTPROSJEKTDIALOG_H #ifndef NYTTPROSJEKTDIALOG_H
#define NYTTPROSJEKTDIALOG_H #define NYTTPROSJEKTDIALOG_H
#include <QDialog> #include <QDialog>
#include "datatypes.h" #include "datatypes.h"
namespace Ui { namespace Ui {
class NyttProsjektDialog; class NyttProsjektDialog;
} }
class NyttProsjektDialog : public QDialog class NyttProsjektDialog : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit NyttProsjektDialog(QWidget *parent = nullptr); explicit NyttProsjektDialog(QWidget *parent = nullptr);
~NyttProsjektDialog(); ~NyttProsjektDialog();
void opprettOrdreNr(int ordreNr); void opprettOrdreNr(int ordreNr);
void fokusStart(); void fokusStart();
signals: signals:
void leggTilProsjekt(ProsjektFil prosjekt); void leggTilProsjekt(ProsjektFil prosjekt);
private slots: private slots:
void on_pushAvbryt_clicked(); void on_pushAvbryt_clicked();
void on_pushLagre_clicked(); void on_pushLagre_clicked();
void on_checkVarsleStart_clicked(); void on_checkVarsleStart_clicked();
void on_checkVarsleSlutt_clicked(); void on_checkVarsleSlutt_clicked();
private: private:
Ui::NyttProsjektDialog *ui; Ui::NyttProsjektDialog *ui;
void endreVarselStatus(); void endreVarselStatus();
}; };
#endif // NYTTPROSJEKTDIALOG_H #endif // NYTTPROSJEKTDIALOG_H

View File

@ -0,0 +1,21 @@
INCLUDEPATH += \
$$PWD/../../core \
$$PWD/../../mainwidgets
DEPENDPATH += \
$$PWD/../../core \
$$PWD/../../mainwidgets
SOURCES += \
$$PWD/nyttprosjektdialog.cpp \
$$PWD/redigerprosjektdialog.cpp
HEADERS += \
$$PWD/nyttprosjektdialog.h \
$$PWD/redigerprosjektdialog.h
FORMS += \
$$PWD/nyttprosjektdialog.ui \
$$PWD/redigerprosjektdialog.ui
RESOURCES += \
$$PWD/../../../../resources.qrc

View File

@ -1,111 +1,111 @@
#include "redigerprosjektdialog.h" #include "redigerprosjektdialog.h"
#include "ui_redigerprosjektdialog.h" #include "ui_redigerprosjektdialog.h"
RedigerProsjektDialog::RedigerProsjektDialog(QWidget *parent) : RedigerProsjektDialog::RedigerProsjektDialog(QWidget *parent) :
QDialog(parent), QDialog(parent),
ui(new Ui::RedigerProsjektDialog) { ui(new Ui::RedigerProsjektDialog) {
ui->setupUi(this); ui->setupUi(this);
} }
RedigerProsjektDialog::~RedigerProsjektDialog() { RedigerProsjektDialog::~RedigerProsjektDialog() {
delete ui; delete ui;
} }
void RedigerProsjektDialog::settProsjektFil(ProsjektFil prosjekt) { void RedigerProsjektDialog::settProsjektFil(ProsjektFil prosjekt) {
prosjektFil = prosjekt; prosjektFil = prosjekt;
fyllSkjemaElementer(); fyllSkjemaElementer();
} }
void RedigerProsjektDialog::fyllSkjemaElementer() { void RedigerProsjektDialog::fyllSkjemaElementer() {
ui->lineProsjektNavn->setText(prosjektFil.value("prosjektnavn").toString()); ui->lineProsjektNavn->setText(prosjektFil.value("prosjektnavn").toString());
ui->lineOrdrenummer->setText(prosjektFil.value("ordrenummer").toString()); ui->lineOrdrenummer->setText(prosjektFil.value("ordrenummer").toString());
ui->textEditProsjektBeskrivelse->setHtml(prosjektFil.value("prosjektbeskrivelse").toString()); ui->textEditProsjektBeskrivelse->setHtml(prosjektFil.value("prosjektbeskrivelse").toString());
ui->checkVarsleStart->setChecked(prosjektFil.value("varslestart").toBool()); ui->checkVarsleStart->setChecked(prosjektFil.value("varslestart").toBool());
ui->checkVarsleSlutt->setChecked(prosjektFil.value("varsleslutt").toBool()); ui->checkVarsleSlutt->setChecked(prosjektFil.value("varsleslutt").toBool());
endreVarselStatus(); endreVarselStatus();
quint64 prosjektStart = prosjektFil.value("prosjektstart").toULongLong(); quint64 prosjektStart = prosjektFil.value("prosjektstart").toULongLong();
quint64 prosjektSlutt = prosjektFil.value("prosjektslutt").toULongLong(); quint64 prosjektSlutt = prosjektFil.value("prosjektslutt").toULongLong();
QDateTime tProsjektStart(QDateTime::fromMSecsSinceEpoch(prosjektStart)); QDateTime tProsjektStart(QDateTime::fromMSecsSinceEpoch(prosjektStart));
QDateTime tProsjektSlutt(QDateTime::fromMSecsSinceEpoch(prosjektSlutt)); QDateTime tProsjektSlutt(QDateTime::fromMSecsSinceEpoch(prosjektSlutt));
ui->dateStart->setDateTime(tProsjektStart); ui->dateStart->setDateTime(tProsjektStart);
ui->dateSlutt->setDateTime(tProsjektSlutt); ui->dateSlutt->setDateTime(tProsjektSlutt);
ui->timeStart->setDateTime(tProsjektStart); ui->timeStart->setDateTime(tProsjektStart);
ui->timeSlutt->setDateTime(tProsjektSlutt); ui->timeSlutt->setDateTime(tProsjektSlutt);
ui->spinBoxAntallDognVarslingStart->setValue(prosjektFil.value("dognvarselstart").toInt()); ui->spinBoxAntallDognVarslingStart->setValue(prosjektFil.value("dognvarselstart").toInt());
ui->spinBoxAntallDognVarslingSlutt->setValue(prosjektFil.value("dognvarselslutt").toInt()); ui->spinBoxAntallDognVarslingSlutt->setValue(prosjektFil.value("dognvarselslutt").toInt());
ui->spinBoxTimerForStart->setValue(prosjektFil.value("timervarselstart").toInt()); ui->spinBoxTimerForStart->setValue(prosjektFil.value("timervarselstart").toInt());
ui->spinBoxTimerForSlutt->setValue(prosjektFil.value("timercarselslutt").toInt()); ui->spinBoxTimerForSlutt->setValue(prosjektFil.value("timercarselslutt").toInt());
} }
void RedigerProsjektDialog::on_checkVarsleStart_clicked() { void RedigerProsjektDialog::on_checkVarsleStart_clicked() {
endreVarselStatus(); endreVarselStatus();
} }
void RedigerProsjektDialog::on_checkVarsleSlutt_clicked() { void RedigerProsjektDialog::on_checkVarsleSlutt_clicked() {
endreVarselStatus(); endreVarselStatus();
} }
void RedigerProsjektDialog::endreVarselStatus() { void RedigerProsjektDialog::endreVarselStatus() {
ui->spinBoxAntallDognVarslingSlutt->setEnabled(ui->checkVarsleSlutt->isChecked()); ui->spinBoxAntallDognVarslingSlutt->setEnabled(ui->checkVarsleSlutt->isChecked());
ui->spinBoxTimerForSlutt->setEnabled(ui->checkVarsleSlutt->isChecked()); ui->spinBoxTimerForSlutt->setEnabled(ui->checkVarsleSlutt->isChecked());
ui->spinBoxAntallDognVarslingStart->setEnabled(ui->checkVarsleStart->isChecked()); ui->spinBoxAntallDognVarslingStart->setEnabled(ui->checkVarsleStart->isChecked());
ui->spinBoxTimerForStart->setEnabled(ui->checkVarsleStart->isChecked()); ui->spinBoxTimerForStart->setEnabled(ui->checkVarsleStart->isChecked());
} }
void RedigerProsjektDialog::on_pushAvbryt_clicked() { void RedigerProsjektDialog::on_pushAvbryt_clicked() {
QDialog::close(); QDialog::close();
} }
void RedigerProsjektDialog::on_pushLagre_clicked() { void RedigerProsjektDialog::on_pushLagre_clicked() {
ProsjektFil nyttProsjekt; ProsjektFil nyttProsjekt;
nyttProsjekt.insert("prosjektnavn", ui->lineProsjektNavn->text()); nyttProsjekt.insert("prosjektnavn", ui->lineProsjektNavn->text());
nyttProsjekt.insert("ordrenummer", ui->lineOrdrenummer->text().toInt()); nyttProsjekt.insert("ordrenummer", ui->lineOrdrenummer->text().toInt());
nyttProsjekt.insert("prosjektbeskrivelse", ui->textEditProsjektBeskrivelse->toHtml()); nyttProsjekt.insert("prosjektbeskrivelse", ui->textEditProsjektBeskrivelse->toHtml());
nyttProsjekt.insert("varslestart", ui->checkVarsleStart->isChecked()); nyttProsjekt.insert("varslestart", ui->checkVarsleStart->isChecked());
nyttProsjekt.insert("varsleslutt", ui->checkVarsleSlutt->isChecked()); nyttProsjekt.insert("varsleslutt", ui->checkVarsleSlutt->isChecked());
QDateTime prosjektStartDato = ui->dateStart->dateTime(); QDateTime prosjektStartDato = ui->dateStart->dateTime();
quint64 mSekStart = prosjektStartDato.toMSecsSinceEpoch() + ui->timeStart->time().msecsSinceStartOfDay(); quint64 mSekStart = prosjektStartDato.toMSecsSinceEpoch() + ui->timeStart->time().msecsSinceStartOfDay();
QDateTime prosjektSluttDato = ui->dateSlutt->dateTime(); QDateTime prosjektSluttDato = ui->dateSlutt->dateTime();
quint64 mSekSlutt = prosjektSluttDato.toMSecsSinceEpoch() + ui->timeSlutt->time().msecsSinceStartOfDay(); quint64 mSekSlutt = prosjektSluttDato.toMSecsSinceEpoch() + ui->timeSlutt->time().msecsSinceStartOfDay();
nyttProsjekt.insert("prosjektstart", mSekStart); nyttProsjekt.insert("prosjektstart", mSekStart);
nyttProsjekt.insert("prosjektslutt", mSekSlutt); nyttProsjekt.insert("prosjektslutt", mSekSlutt);
int dognVarselStart = ui->spinBoxAntallDognVarslingStart->value(); int dognVarselStart = ui->spinBoxAntallDognVarslingStart->value();
int timerVarselStart = ui->spinBoxTimerForStart->value(); int timerVarselStart = ui->spinBoxTimerForStart->value();
quint64 epochVarselDognStart = dognVarselStart * 24 * 60 * 60 * 1000; quint64 epochVarselDognStart = dognVarselStart * 24 * 60 * 60 * 1000;
quint64 epochVarselTimerStart = timerVarselStart * 60 * 60 * 1000; quint64 epochVarselTimerStart = timerVarselStart * 60 * 60 * 1000;
quint64 epochVarselStart = epochVarselDognStart + epochVarselTimerStart; quint64 epochVarselStart = epochVarselDognStart + epochVarselTimerStart;
int dognVarselSlutt = ui->spinBoxAntallDognVarslingSlutt->value(); int dognVarselSlutt = ui->spinBoxAntallDognVarslingSlutt->value();
int timerVarselSlutt = ui->spinBoxTimerForSlutt->value(); int timerVarselSlutt = ui->spinBoxTimerForSlutt->value();
quint64 epochVarselDognSlutt = dognVarselSlutt * 24 * 60 * 60 * 1000; quint64 epochVarselDognSlutt = dognVarselSlutt * 24 * 60 * 60 * 1000;
quint64 epochVarselTimerSlutt = timerVarselSlutt * 60 * 60 * 1000; quint64 epochVarselTimerSlutt = timerVarselSlutt * 60 * 60 * 1000;
quint64 epochVarselSlutt = epochVarselDognSlutt + epochVarselTimerSlutt; quint64 epochVarselSlutt = epochVarselDognSlutt + epochVarselTimerSlutt;
nyttProsjekt.insert("varselstart", epochVarselStart); nyttProsjekt.insert("varselstart", epochVarselStart);
nyttProsjekt.insert("varselslutt", epochVarselSlutt); nyttProsjekt.insert("varselslutt", epochVarselSlutt);
nyttProsjekt.insert("dognvarselstart", ui->spinBoxAntallDognVarslingStart->value()); nyttProsjekt.insert("dognvarselstart", ui->spinBoxAntallDognVarslingStart->value());
nyttProsjekt.insert("dognvarselslutt", ui->spinBoxAntallDognVarslingSlutt->value()); nyttProsjekt.insert("dognvarselslutt", ui->spinBoxAntallDognVarslingSlutt->value());
nyttProsjekt.insert("timervarselstart", ui->spinBoxTimerForStart->value()); nyttProsjekt.insert("timervarselstart", ui->spinBoxTimerForStart->value());
nyttProsjekt.insert("timercarselslutt", ui->spinBoxTimerForSlutt->value()); nyttProsjekt.insert("timercarselslutt", ui->spinBoxTimerForSlutt->value());
nyttProsjekt.insert("active", true); nyttProsjekt.insert("active", true);
nyttProsjekt.insert("ferdig", false); nyttProsjekt.insert("ferdig", false);
emit lagreProsjekt(nyttProsjekt); emit lagreProsjekt(nyttProsjekt);
} }
void RedigerProsjektDialog::fokusStart() { void RedigerProsjektDialog::fokusStart() {
ui->lineProsjektNavn->setFocus(); ui->lineProsjektNavn->setFocus();
ui->lineProsjektNavn->selectAll(); ui->lineProsjektNavn->selectAll();
} }

View File

@ -1,38 +1,38 @@
#ifndef REDIGERPROSJEKTDIALOG_H #ifndef REDIGERPROSJEKTDIALOG_H
#define REDIGERPROSJEKTDIALOG_H #define REDIGERPROSJEKTDIALOG_H
#include <QDialog> #include <QDialog>
#include "datatypes.h" #include "datatypes.h"
namespace Ui { namespace Ui {
class RedigerProsjektDialog; class RedigerProsjektDialog;
} }
class RedigerProsjektDialog : public QDialog class RedigerProsjektDialog : public QDialog
{ {
Q_OBJECT Q_OBJECT
public: public:
explicit RedigerProsjektDialog(QWidget *parent = nullptr); explicit RedigerProsjektDialog(QWidget *parent = nullptr);
~RedigerProsjektDialog(); ~RedigerProsjektDialog();
void settProsjektFil(ProsjektFil prosjekt); void settProsjektFil(ProsjektFil prosjekt);
void fokusStart(); void fokusStart();
signals: signals:
void lagreProsjekt(ProsjektFil prosjekt); void lagreProsjekt(ProsjektFil prosjekt);
private slots: private slots:
void on_checkVarsleStart_clicked(); void on_checkVarsleStart_clicked();
void on_checkVarsleSlutt_clicked(); void on_checkVarsleSlutt_clicked();
void endreVarselStatus(); void endreVarselStatus();
void on_pushAvbryt_clicked(); void on_pushAvbryt_clicked();
void on_pushLagre_clicked(); void on_pushLagre_clicked();
private: private:
Ui::RedigerProsjektDialog *ui; Ui::RedigerProsjektDialog *ui;
ProsjektFil prosjektFil; ProsjektFil prosjektFil;
void fyllSkjemaElementer(); void fyllSkjemaElementer();
}; };
#endif // REDIGERPROSJEKTDIALOG_H #endif // REDIGERPROSJEKTDIALOG_H