Compare commits

..

No commits in common. "a156c5331aff147d7c3805eb05b3f00c8264ed92" and "8b299bacc38f0c966577a801debc51a2c84aa7e8" have entirely different histories.

3 changed files with 29 additions and 42 deletions

View file

@ -40,7 +40,7 @@ MainWindow::MainWindow()
QMessageBox(QMessageBox::Icon::Information, "Datenbankinformation", QMessageBox(QMessageBox::Icon::Information, "Datenbankinformation",
"Es wurde eine <b>veraltete</b> Datenbankdatei erkannt.<br />Diese wurde " "Es wurde eine <b>veraltete</b> Datenbankdatei erkannt.<br />Diese wurde "
"umbenannt und eine <b>neue</b> Datei wurde erstellt.") "umbenannt und eine <b>neue</b> Datei wurde erstellt.")
.exec(); .exec();
} }
statusBar()->showMessage("Gespeicherte Daten wurden geladen.", STATUSBAR_TIMEOUT); statusBar()->showMessage("Gespeicherte Daten wurden geladen.", STATUSBAR_TIMEOUT);
@ -63,7 +63,7 @@ MainWindow::MainWindow()
QMessageBox(QMessageBox::Icon::Warning, "Sind Sie sicher?", QMessageBox(QMessageBox::Icon::Warning, "Sind Sie sicher?",
"Möchten Sie wirklich alle gespeicherten Daten verwerfen?", "Möchten Sie wirklich alle gespeicherten Daten verwerfen?",
QMessageBox::StandardButton::Yes | QMessageBox::StandardButton::No, this) QMessageBox::StandardButton::Yes | QMessageBox::StandardButton::No, this)
.exec(); .exec();
if (dlgResult == QMessageBox::No) if (dlgResult == QMessageBox::No)
return; return;
@ -126,9 +126,7 @@ MainWindow::MainWindow()
"SOFTWARE ODER SONSTIGER VERWENDUNG DER SOFTWARE ENTSTANDEN."); "SOFTWARE ODER SONSTIGER VERWENDUNG DER SOFTWARE ENTSTANDEN.");
QMessageBox::information(this, "Lizenzinformation", licenseText); QMessageBox::information(this, "Lizenzinformation", licenseText);
}); });
connect(ui_.reportAction, &QAction::triggered, this, [=]() { connect(ui_.reportAction, &QAction::triggered, this, [=]() { ReportDialog(this).exec(); });
ReportDialog(this).exec();
});
connect(ui_.configAction, &QAction::triggered, this, [=]() { connect(ui_.configAction, &QAction::triggered, this, [=]() {
int result = SettingsDialog(this).exec(); int result = SettingsDialog(this).exec();
if (result == QDialog::Accepted) { if (result == QDialog::Accepted) {
@ -300,7 +298,7 @@ void MainWindow::onGivenSpinBoxValueChanged(double value)
} }
void MainWindow::onBasketViewSelectionChanged(const QItemSelection& selected, void MainWindow::onBasketViewSelectionChanged(const QItemSelection& selected,
[[maybe_unused]] const QItemSelection& deselected) [[maybe_unused]] const QItemSelection& deselected)
{ {
if (selected.size() > 0) { if (selected.size() > 0) {
ui_.cancelArticleButton->setEnabled(true); ui_.cancelArticleButton->setEnabled(true);
@ -310,7 +308,7 @@ void MainWindow::onBasketViewSelectionChanged(const QItemSelection& selected,
} }
void MainWindow::onSalesViewSelectionChanged(const QItemSelection& selected, void MainWindow::onSalesViewSelectionChanged(const QItemSelection& selected,
[[maybe_unused]] const QItemSelection& deselected) [[maybe_unused]] const QItemSelection& deselected)
{ {
if (selected.size() > 0) { if (selected.size() > 0) {
ui_.cancelSaleButton->setEnabled(true); ui_.cancelSaleButton->setEnabled(true);
@ -335,7 +333,7 @@ void MainWindow::onCancelArticleButtonClicked([[maybe_unused]] bool checked)
QMessageBox(QMessageBox::Icon::Warning, "Sind Sie sicher?", QMessageBox(QMessageBox::Icon::Warning, "Sind Sie sicher?",
"Möchten Sie wirklich den Artikel stornieren?", "Möchten Sie wirklich den Artikel stornieren?",
QMessageBox::StandardButton::Yes | QMessageBox::StandardButton::No, this) QMessageBox::StandardButton::Yes | QMessageBox::StandardButton::No, this)
.exec(); .exec();
if (dlgResult == QMessageBox::No) if (dlgResult == QMessageBox::No)
return; return;
@ -361,7 +359,7 @@ void MainWindow::onCancelSaleButtonClicked([[maybe_unused]] bool checked)
QMessageBox(QMessageBox::Icon::Warning, "Sind Sie sicher?", QMessageBox(QMessageBox::Icon::Warning, "Sind Sie sicher?",
"Möchten Sie wirklich aus abgeschlossenen Verkäufen stornieren?", "Möchten Sie wirklich aus abgeschlossenen Verkäufen stornieren?",
QMessageBox::StandardButton::Yes | QMessageBox::StandardButton::No, this) QMessageBox::StandardButton::Yes | QMessageBox::StandardButton::No, this)
.exec(); .exec();
if (dlgResult == QMessageBox::No) if (dlgResult == QMessageBox::No)
return; return;
@ -424,7 +422,7 @@ void MainWindow::onCancelAllArticlesButtonClicked([[maybe_unused]] bool checked)
QMessageBox(QMessageBox::Icon::Warning, "Sind Sie sicher?", QMessageBox(QMessageBox::Icon::Warning, "Sind Sie sicher?",
"Möchten Sie wirklich *alle* Artikel des aktuellen Einkaufs stornieren?", "Möchten Sie wirklich *alle* Artikel des aktuellen Einkaufs stornieren?",
QMessageBox::StandardButton::Yes | QMessageBox::StandardButton::No, this) QMessageBox::StandardButton::Yes | QMessageBox::StandardButton::No, this)
.exec(); .exec();
if (dlgResult == QMessageBox::No) if (dlgResult == QMessageBox::No)
return; return;
@ -434,19 +432,17 @@ void MainWindow::onCancelAllArticlesButtonClicked([[maybe_unused]] bool checked)
ui_.sellerNoEdit->setFocus(); ui_.sellerNoEdit->setFocus();
} }
void MainWindow::onAboutQt() { void MainWindow::onAboutQt() { QMessageBox::aboutQt(this); }
QMessageBox::aboutQt(this);
}
void MainWindow::onAbout() void MainWindow::onAbout()
{ {
QMessageBox::about( QMessageBox::about(
this, "Über", this, "Über",
QString("<p style='text-align:center;'><b>KIMA2</b> - Version ") + PROJECT_VERSION + QString("<p style='text-align:center;'><b>KIMA2</b> - Version ") + PROJECT_VERSION +
"</p>" "</p>"
"<p>KIMA2 ist ein kleines Kassenprogramm für Kindersachenmärkte.<p />" "<p>KIMA2 ist ein kleines Kassenprogramm für Kindersachenmärkte.<p />"
"<p>Copyright © Martin Brodbeck &lt;<a href=mailto:martin@brodbeck-online.de" "<p>Copyright © Martin Brodbeck &lt;<a href=mailto:martin@brodbeck-online.de"
">info@rustysoft.de</a>&gt;</p>"); ">info@rustysoft.de</a>&gt;</p>");
} }
void MainWindow::onImportSellerExcelActionTriggered() void MainWindow::onImportSellerExcelActionTriggered()
@ -455,13 +451,13 @@ void MainWindow::onImportSellerExcelActionTriggered()
QMessageBox(QMessageBox::Icon::Information, "Import nicht möglich", QMessageBox(QMessageBox::Icon::Information, "Import nicht möglich",
"Der Import ist nicht möglich, da schon Verkäufe getätigt wurden.", "Der Import ist nicht möglich, da schon Verkäufe getätigt wurden.",
QMessageBox::StandardButton::Ok, this) QMessageBox::StandardButton::Ok, this)
.exec(); .exec();
return; return;
} }
auto filename = QFileDialog::getOpenFileName( auto filename = QFileDialog::getOpenFileName(
this, "Verkäufer importieren", QString(), this, "Verkäufer importieren", QString(),
"Alle unterstützte Dateien (*.xlsx *.csv);;Excel Dateien (*.xlsx);;CSV Dateien (*.csv)"); "Alle unterstützte Dateien (*.xlsx *.csv);;Excel Dateien (*.xlsx);;CSV Dateien (*.csv)");
if (filename.isEmpty()) if (filename.isEmpty())
return; return;
@ -474,16 +470,7 @@ void MainWindow::onImportSellerExcelActionTriggered()
std::size_t numImported{}; std::size_t numImported{};
if (case_insensitive_match(filePath.extension().string(), std::string(".xlsx"))) { if (case_insensitive_match(filePath.extension().string(), std::string(".xlsx"))) {
try { numImported = ExcelReader::readSellersFromFile(filePath, marketplace_.get());
numImported = ExcelReader::readSellersFromFile(filePath, marketplace_.get());
} catch (const std::exception& e) {
QMessageBox(QMessageBox::Icon::Critical, "Fehler beim Importieren",
"Beim Import aus der Excel-Datei ist ein Fehler aufgetreten. "
"Sie könnten ggf. versuchen, die Daten aus einer .csv Datei zu imporieren.",
QMessageBox::StandardButton::Ok, this).exec();
std::cerr << e.what() << std::endl;
return;
}
} else { } else {
numImported = CsvReader::readSellersFromFile(filePath, marketplace_.get()); numImported = CsvReader::readSellersFromFile(filePath, marketplace_.get());
} }
@ -496,7 +483,7 @@ void MainWindow::onImportSellerExcelActionTriggered()
<< "</b> Verkäufer importiert."; << "</b> Verkäufer importiert.";
QMessageBox(QMessageBox::Icon::Information, "Verkäufer erfolgreich importiert", QMessageBox(QMessageBox::Icon::Information, "Verkäufer erfolgreich importiert",
msg.str().c_str(), QMessageBox::StandardButton::Ok, this) msg.str().c_str(), QMessageBox::StandardButton::Ok, this)
.exec(); .exec();
} }
void MainWindow::onImportSellerJsonActionTriggered() void MainWindow::onImportSellerJsonActionTriggered()
@ -505,12 +492,12 @@ void MainWindow::onImportSellerJsonActionTriggered()
QMessageBox(QMessageBox::Icon::Information, "Import nicht möglich", QMessageBox(QMessageBox::Icon::Information, "Import nicht möglich",
"Der Import ist nicht möglich, da schon Verkäufe getätigt wurden.", "Der Import ist nicht möglich, da schon Verkäufe getätigt wurden.",
QMessageBox::StandardButton::Ok, this) QMessageBox::StandardButton::Ok, this)
.exec(); .exec();
return; return;
} }
auto filename = QFileDialog::getOpenFileName(this, "Verkäufer importieren", QString(), auto filename = QFileDialog::getOpenFileName(this, "Verkäufer importieren", QString(),
"JSON Dateien (*.json)"); "JSON Dateien (*.json)");
if (filename.isEmpty()) if (filename.isEmpty())
return; return;
@ -532,13 +519,13 @@ void MainWindow::onImportSellerJsonActionTriggered()
<< "</b> Verkäufer importiert."; << "</b> Verkäufer importiert.";
QMessageBox(QMessageBox::Icon::Information, "Verkäufer erfolgreich importiert", QMessageBox(QMessageBox::Icon::Information, "Verkäufer erfolgreich importiert",
msg.str().c_str(), QMessageBox::StandardButton::Ok, this) msg.str().c_str(), QMessageBox::StandardButton::Ok, this)
.exec(); .exec();
} }
void MainWindow::onExportSellerJsonActionTriggered() void MainWindow::onExportSellerJsonActionTriggered()
{ {
auto filename = QFileDialog::getSaveFileName( auto filename = QFileDialog::getSaveFileName(
this, "Verkäufer exportieren", QString("kima2_verkaeufer.json"), "JSON Dateien (*.json)"); this, "Verkäufer exportieren", QString("kima2_verkaeufer.json"), "JSON Dateien (*.json)");
if (filename.isEmpty()) if (filename.isEmpty())
return; return;
@ -557,9 +544,9 @@ void MainWindow::onExportSalesJsonActionTriggered()
QSettings settings; QSettings settings;
auto filename = QFileDialog::getSaveFileName( auto filename = QFileDialog::getSaveFileName(
this, "Umsätze/Transaktionen exportieren", this, "Umsätze/Transaktionen exportieren",
QString("kima2_umsaetze_kasse") + settings.value("global/cashPointNo").toString() + ".json", QString("kima2_umsaetze_kasse") + settings.value("global/cashPointNo").toString() + ".json",
"JSON Dateien (*.json)"); "JSON Dateien (*.json)");
if (filename.isEmpty()) if (filename.isEmpty())
return; return;
@ -579,7 +566,7 @@ void MainWindow::onImportSalesJsonActionTriggered()
QSettings settings; QSettings settings;
auto filename = QFileDialog::getOpenFileName(this, "Umsätze/Transaktionen importieren", auto filename = QFileDialog::getOpenFileName(this, "Umsätze/Transaktionen importieren",
QString(), "JSON Dateien (*.json)"); QString(), "JSON Dateien (*.json)");
if (filename.isEmpty()) if (filename.isEmpty())
return; return;
@ -597,7 +584,7 @@ void MainWindow::onImportSalesJsonActionTriggered()
} catch (std::runtime_error& err) { } catch (std::runtime_error& err) {
QMessageBox(QMessageBox::Icon::Warning, "Import nicht möglich", err.what(), QMessageBox::Ok, QMessageBox(QMessageBox::Icon::Warning, "Import nicht möglich", err.what(), QMessageBox::Ok,
this) this)
.exec(); .exec();
} }
setSaleModel(); setSaleModel();
updateStatLabel(); updateStatLabel();

@ -1 +1 @@
Subproject commit 6c91e845320e907658fa5192f6884d1fcbbf3ad9 Subproject commit e4a899dcafcfa14e448348e9b3c8c06d7697dbf8

@ -1 +1 @@
Subproject commit e93c12ab69a25fcaa963416f0e348d3269263190 Subproject commit e18babe5598d53a9e51ac9263d5b62ea2c3276e6