migrate
This commit is contained in:
2023-03-28 10:38:01 +02:00
parent 2654b6b935
commit 55dcb7577e
3 changed files with 100 additions and 0 deletions
+73
View File
@@ -14,6 +14,8 @@
#include <QMessageBox>
#include <QDebug>
#include <QFileDialog>
cMainWindow::cMainWindow(QWidget *parent) :
QMainWindow(parent),
@@ -101,6 +103,9 @@ void cMainWindow::initUI()
ui->m_lpMainTab->addTab(m_lpMonthlyView, "Monthly");
ui->m_lpMainTab->setCurrentWidget(m_lpMonthlyView);
connect(ui->m_exportTimesheet, &QAction::triggered, this, &cMainWindow::onExportTimesheet);
connect(ui->m_exportSalery, &QAction::triggered, this, &cMainWindow::onExportSalery);
}
void cMainWindow::openDB()
@@ -210,3 +215,71 @@ void cMainWindow::openDB()
qDebug() << "CREATE TABLE vacation";
}
}
void cMainWindow::onExportTimesheet()
{
if(!m_monthlyBookingList.count())
return;
QSettings settings;
QString path = settings.value("timesheet/lastExportFolder", QVariant::fromValue(QDir::homePath())).toString();
QString directory = QFileDialog::getExistingDirectory(this, tr("Export Timesheet"), path);
if(directory.isEmpty())
return;
settings.setValue("timesheet/lastExportFolder", QVariant::fromValue(directory));
for(int x = 0;x < m_monthlyBookingList.count();x++)
{
cMonthlyBooking* monthlyBooking = m_monthlyBookingList[x];
if(!monthlyBooking)
continue;
if(monthlyBooking->timesheet().isEmpty())
continue;
QString fileName = directory + QDir::separator() + monthlyBooking->date().toString("yyyy-MM") + ".pdf";
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly))
return;
file.write(monthlyBooking->timesheet());
file.close();
}
}
void cMainWindow::onExportSalery()
{
if(!m_monthlyBookingList.count())
return;
QSettings settings;
QString path = settings.value("salery/lastExportFolder", QVariant::fromValue(QDir::homePath())).toString();
QString directory = QFileDialog::getExistingDirectory(this, tr("Export Salery"), path);
if(directory.isEmpty())
return;
settings.setValue("salery/lastExportFolder", QVariant::fromValue(directory));
for(int x = 0;x < m_monthlyBookingList.count();x++)
{
cMonthlyBooking* monthlyBooking = m_monthlyBookingList[x];
if(!monthlyBooking)
continue;
if(monthlyBooking->salery().isEmpty())
continue;
QString fileName = directory + QDir::separator() + monthlyBooking->date().toString("yyyy-MM") + ".pdf";
QFile file(fileName);
if(!file.open(QIODevice::WriteOnly))
return;
file.write(monthlyBooking->salery());
file.close();
}
}
+3
View File
@@ -48,6 +48,9 @@ private:
protected:
void closeEvent(QCloseEvent* event);
private slots:
void onExportTimesheet();
void onExportSalery();
};
#endif // CMAINWINDOW_H
+24
View File
@@ -29,6 +29,20 @@
<height>21</height>
</rect>
</property>
<widget class="QMenu" name="menu_File">
<property name="title">
<string>&amp;File</string>
</property>
<widget class="QMenu" name="menu_Export">
<property name="title">
<string>&amp;Export</string>
</property>
<addaction name="m_exportTimesheet"/>
<addaction name="m_exportSalery"/>
</widget>
<addaction name="menu_Export"/>
</widget>
<addaction name="menu_File"/>
</widget>
<widget class="QToolBar" name="mainToolBar">
<attribute name="toolBarArea">
@@ -39,6 +53,16 @@
</attribute>
</widget>
<widget class="QStatusBar" name="statusBar"/>
<action name="m_exportSalery">
<property name="text">
<string>&amp;Salery...</string>
</property>
</action>
<action name="m_exportTimesheet">
<property name="text">
<string>&amp;Timesheet...</string>
</property>
</action>
</widget>
<layoutdefault spacing="6" margin="11"/>
<resources/>