Merge branch 'master' into meson

This commit is contained in:
Martin Brodbeck 2019-10-10 08:13:30 +02:00
commit fc308c644c
19 changed files with 79 additions and 67 deletions

View file

@ -29,11 +29,11 @@ set(CORE_SOURCES
add_library(core STATIC ${CORE_SOURCES})
target_include_directories(core PRIVATE ${PROJECT_SOURCE_DIR}/3rdparty/csv-parser/include)
if (WIN32)
target_link_libraries(core PRIVATE printer Boost::boost Boost::date_time sqlite3 nlohmann_json::nlohmann_json ${XLNT_LIBRARY} csv)
target_link_libraries(core PRIVATE Boost::boost Boost::date_time sqlite3 nlohmann_json::nlohmann_json ${XLNT_LIBRARY} csv)
target_link_libraries(core PRIVATE bcrypt)
else()
target_link_libraries(core PRIVATE printer Boost::boost Boost::date_time sqlite3 nlohmann_json::nlohmann_json ${XLNT_LIBRARIES} csv)
target_link_libraries(core PRIVATE Boost::boost Boost::date_time sqlite3 nlohmann_json::nlohmann_json ${XLNT_LIBRARIES} csv)
endif()
#target_include_directories(core PRIVATE ${PROJECT_SOURCE_DIR}/3rdparty/csv-parser)
target_include_directories(core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..)

View file

@ -21,31 +21,6 @@ std::string formatCentAsEuroString(const int cent, int width)
return currStream.str();
}
std::optional<PrinterDevice> convertToPosPrinterDevice(const std::string& device,
const std::string& endpoint)
{
if (device.empty()) {
return std::nullopt;
}
PrinterDevice printerDevice;
std::string delimiter = ":";
try {
printerDevice.idVendor = std::stoi(device.substr(0, device.find(delimiter)), 0, 16);
printerDevice.idProduct = std::stoi(device.substr(device.find(delimiter) + 1), 0, 16);
if (endpoint.empty()) {
printerDevice.endpoint = 0x03;
} else {
printerDevice.endpoint = std::stoi(endpoint, 0, 16);
}
} catch (std::exception& ex) {
throw ex;
}
return printerDevice;
}
std::string& ltrim(std::string& str, const std::string& chars)
{
str.erase(0, str.find_first_not_of(chars));
@ -71,4 +46,4 @@ bool case_insensitive_match(std::string s1, std::string s2)
if (s1.compare(s2) == 0)
return true; // The strings are same
return false; // not matched
}
}

View file

@ -1,15 +1,11 @@
#ifndef UTILS_H
#define UTILS_H
#include "posprinter.h"
#ifndef CORE_UTILS_H
#define CORE_UTILS_H
#include <locale>
#include <optional>
#include <string>
std::string formatCentAsEuroString(const int cent, int width = 10);
std::optional<PrinterDevice> convertToPosPrinterDevice(const std::string& vendor,
const std::string& endpoint);
std::string& ltrim(std::string& str, const std::string& chars = "\t\n\v\f\r ");
std::string& rtrim(std::string& str, const std::string& chars = "\t\n\v\f\r ");
std::string& trim(std::string& str, const std::string& chars = "\t\n\v\f\r ");

View file

@ -1,7 +1,7 @@
#ifndef BASKET_MODEL_H
#define BASKET_MODEL_H
#include <marketplace.h>
#include <core/marketplace.h>
#include <QAbstractTableModel>
@ -27,4 +27,4 @@ class BasketModel : public QAbstractTableModel
Marketplace* marketplace_;
};
#endif
#endif

View file

@ -2,18 +2,18 @@
#include "basketmodel.h"
#include "config.h"
#include "jsonutil.h"
#include "pricedialog.h"
#include "reportdialog.h"
#include "salemodel.h"
#include "sellerdialog.h"
#include "settingsdialog.h"
#include <utils.h>
#include <csvreader.h>
#include <excelreader.h>
#include <posprinter.h>
#include <core/csvreader.h>
#include <core/excelreader.h>
#include <core/jsonutil.h>
#include <core/utils.h>
#include <printer/posprinter.h>
#include <printer/utils.h>
#include <exception>
#include <filesystem>

View file

@ -3,7 +3,7 @@
#include "ui_mainwindow.h"
#include <marketplace.h>
#include <core/marketplace.h>
#include <QMainWindow>
#include <QtGui/QCloseEvent>
@ -53,4 +53,4 @@ class MainWindow : public QMainWindow
std::unique_ptr<Marketplace> marketplace_;
};
#endif
#endif

View file

@ -2,8 +2,9 @@
#include "mainwindow.h"
#include <posprinter.h>
#include <utils.h>
#include <core/utils.h>
#include <printer/posprinter.h>
#include <printer/utils.h>
#include <filesystem>

View file

@ -5,7 +5,7 @@
#include "reportmodel.h"
#include <marketplace.h>
#include <core/marketplace.h>
#include <QDialog>
@ -30,4 +30,4 @@ class ReportDialog : public QDialog
std::unique_ptr<ReportModel> model_;
};
#endif
#endif

View file

@ -1,7 +1,7 @@
#ifndef REPORT_MODEL_H
#define REPORT_MODEL_H
#include <marketplace.h>
#include <core/marketplace.h>
#include <QAbstractTableModel>
@ -20,4 +20,4 @@ class ReportModel : public QAbstractTableModel
int maxFeeInCent_{};
};
#endif
#endif

View file

@ -1,6 +1,6 @@
#include "salemodel.h"
#include <article.h>
#include <core/article.h>
#include <algorithm>

View file

@ -1,7 +1,7 @@
#ifndef SALEMODEL_H
#define SALEMODEL_H
#include <marketplace.h>
#include <core/marketplace.h>
#include <QAbstractItemModel>
@ -28,4 +28,4 @@ class SaleModel : public QAbstractItemModel
std::unique_ptr<Sale> rootItem{new Sale()};
};
#endif
#endif

View file

@ -1,7 +1,7 @@
#ifndef SELLER_MODEL_H
#define SELLER_MODEL_H
#include <marketplace.h>
#include <core/marketplace.h>
#include <QAbstractTableModel>
@ -28,4 +28,4 @@ class SellerModel : public QAbstractTableModel
Marketplace* marketplace_;
};
#endif
#endif

View file

@ -2,9 +2,10 @@
#include "mainwindow.h"
#include <database.h>
#include <posprinter.h>
#include <utils.h>
#include <core/database.h>
#include <printer/posprinter.h>
#include <printer/utils.h>
#include <core/utils.h>
#include <exception>
#include <stdexcept>
@ -116,4 +117,4 @@ void SettingsDialog::accept()
}
QDialog::accept();
}
}

View file

@ -3,7 +3,7 @@
#include "ui_settingsdialog.h"
#include <marketplace.h>
#include <core/marketplace.h>
#include <QDialog>
@ -21,4 +21,4 @@ class SettingsDialog : public QDialog
Marketplace* market_{};
};
#endif
#endif

View file

@ -11,6 +11,7 @@ endif()
set(PRINTER_SOURCES
posprinter.cpp
utils.cpp
)
add_library(printer STATIC ${PRINTER_SOURCES})
@ -19,4 +20,4 @@ if(WIN32)
else()
target_link_libraries(printer core ${LibUSB_LIBRARIES})
endif()
target_include_directories(printer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_include_directories(printer PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..)

View file

@ -1,6 +1,6 @@
#include "posprinter.h"
#include <marketplace.h>
#include <core/marketplace.h>
#include <boost/date_time/posix_time/posix_time.hpp>
@ -213,4 +213,4 @@ bool PosPrinter::isValid()
return true;
else
return false;
}
}

View file

@ -1,8 +1,8 @@
#ifndef POS_PRINTER_H
#define POS_PRINTER_H
#include <sale.h>
#include <seller.h>
#include <core/sale.h>
#include <core/seller.h>
#include <memory>

26
src/printer/utils.cpp Normal file
View file

@ -0,0 +1,26 @@
#include "utils.h"
std::optional<PrinterDevice> convertToPosPrinterDevice(const std::string& device,
const std::string& endpoint)
{
if (device.empty()) {
return std::nullopt;
}
PrinterDevice printerDevice;
std::string delimiter = ":";
try {
printerDevice.idVendor = std::stoi(device.substr(0, device.find(delimiter)), 0, 16);
printerDevice.idProduct = std::stoi(device.substr(device.find(delimiter) + 1), 0, 16);
if (endpoint.empty()) {
printerDevice.endpoint = 0x03;
} else {
printerDevice.endpoint = std::stoi(endpoint, 0, 16);
}
} catch (std::exception& ex) {
throw ex;
}
return printerDevice;
}

12
src/printer/utils.h Normal file
View file

@ -0,0 +1,12 @@
#ifndef PRINTER_UTILS_H
#define PRINTER_UTILS_H
#include "posprinter.h"
#include <optional>
#include <string>
std::optional<PrinterDevice> convertToPosPrinterDevice(const std::string& vendor,
const std::string& endpoint);
#endif