- tweak: code management
This commit is contained in:
@@ -13,36 +13,20 @@ find_package(Qt6 COMPONENTS
|
||||
Gui
|
||||
Widgets
|
||||
Sql
|
||||
PrintSupport
|
||||
REQUIRED)
|
||||
|
||||
set(SOURCES
|
||||
main.cpp
|
||||
database.cpp
|
||||
loginwindow.cpp
|
||||
mainwindow.cpp
|
||||
routeswidget.cpp
|
||||
ticketswidget.cpp
|
||||
printwidget.cpp
|
||||
userswidget.cpp
|
||||
)
|
||||
add_executable(StationManager)
|
||||
|
||||
set(HEADERS
|
||||
database.h
|
||||
loginwindow.h
|
||||
mainwindow.h
|
||||
routeswidget.h
|
||||
ticketswidget.h
|
||||
printwidget.h
|
||||
userswidget.h
|
||||
database.cpp
|
||||
)
|
||||
file(GLOB_RECURSE SOURCES "src/*.cpp")
|
||||
target_sources(StationManager PRIVATE ${SOURCES})
|
||||
|
||||
add_executable(StationManager ${SOURCES} ${HEADERS})
|
||||
target_link_libraries(StationManager
|
||||
Qt::Core
|
||||
Qt::Gui
|
||||
Qt::Widgets
|
||||
Qt::Sql
|
||||
Qt::PrintSupport
|
||||
)
|
||||
|
||||
if (WIN32 AND NOT DEFINED CMAKE_TOOLCHAIN_FILE)
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#include <QApplication>
|
||||
#include <QMessageBox>
|
||||
|
||||
#include "database.h"
|
||||
#include "loginwindow.h"
|
||||
#include "mainwindow.h"
|
||||
#include "services/database.h"
|
||||
#include "userinterfaces/windows/loginwindow.h"
|
||||
#include "userinterfaces/windows/mainwindow.h"
|
||||
|
||||
int main(int argc, char* argv[]) {
|
||||
QApplication a(argc, argv);
|
||||
13
src/models/route.h
Normal file
13
src/models/route.h
Normal file
@@ -0,0 +1,13 @@
|
||||
#ifndef STATIONMANAGER_ROUTE_H
|
||||
#define STATIONMANAGER_ROUTE_H
|
||||
#include <qstring.h>
|
||||
|
||||
struct Route {
|
||||
int id;
|
||||
QString routeName;
|
||||
QString departureTime;
|
||||
double price;
|
||||
int totalSeats;
|
||||
int availableSeats;
|
||||
};
|
||||
#endif //STATIONMANAGER_ROUTE_H
|
||||
18
src/models/ticket.h
Normal file
18
src/models/ticket.h
Normal file
@@ -0,0 +1,18 @@
|
||||
#ifndef STATIONMANAGER_TICKET_H
|
||||
#define STATIONMANAGER_TICKET_H
|
||||
#include <qstring.h>
|
||||
|
||||
struct Ticket {
|
||||
int id;
|
||||
int routeId;
|
||||
QString routeName;
|
||||
QString passengerName;
|
||||
QString documentNumber;
|
||||
int seatCount;
|
||||
double totalPrice;
|
||||
int sellerId;
|
||||
QString sellerName;
|
||||
QString saleDate;
|
||||
};
|
||||
|
||||
#endif //STATIONMANAGER_TICKET_H
|
||||
12
src/models/user.h
Normal file
12
src/models/user.h
Normal file
@@ -0,0 +1,12 @@
|
||||
#ifndef STATIONMANAGER_USER_H
|
||||
#define STATIONMANAGER_USER_H
|
||||
#include <qstring.h>
|
||||
|
||||
struct User {
|
||||
int id;
|
||||
QString username;
|
||||
QString password;
|
||||
QString role;
|
||||
};
|
||||
|
||||
#endif //STATIONMANAGER_USER_H
|
||||
@@ -2,8 +2,6 @@
|
||||
#include <QSqlQuery>
|
||||
#include <QSqlError>
|
||||
#include <QSqlRecord>
|
||||
#include <QFile>
|
||||
#include <QTextStream>
|
||||
#include <QDir>
|
||||
|
||||
Database& Database::instance() {
|
||||
@@ -8,34 +8,10 @@
|
||||
#include <QFile>
|
||||
#include <QCryptographicHash>
|
||||
|
||||
struct User {
|
||||
int id;
|
||||
QString username;
|
||||
QString password;
|
||||
QString role;
|
||||
};
|
||||
#include "../models/user.h"
|
||||
#include "../models/route.h"
|
||||
#include "../models/ticket.h"
|
||||
|
||||
struct Route {
|
||||
int id;
|
||||
QString routeName;
|
||||
QString departureTime;
|
||||
double price;
|
||||
int totalSeats;
|
||||
int availableSeats;
|
||||
};
|
||||
|
||||
struct Ticket {
|
||||
int id;
|
||||
int routeId;
|
||||
QString routeName;
|
||||
QString passengerName;
|
||||
QString documentNumber;
|
||||
int seatCount;
|
||||
double totalPrice;
|
||||
int sellerId;
|
||||
QString sellerName;
|
||||
QString saleDate;
|
||||
};
|
||||
|
||||
class Database {
|
||||
public:
|
||||
@@ -1,11 +1,12 @@
|
||||
#include "printwidget.h"
|
||||
#include "database.h"
|
||||
#include "../../services/database.h"
|
||||
#include <QTableWidget>
|
||||
#include <QHeaderView>
|
||||
#include <QFileDialog>
|
||||
#include <QMessageBox>
|
||||
#include <QTextStream>
|
||||
#include <QDateTime>
|
||||
#include <QTextDocument>
|
||||
|
||||
PrintWidget::PrintWidget(QWidget* parent) : QWidget(parent) {
|
||||
QVBoxLayout* mainLayout = new QVBoxLayout(this);
|
||||
@@ -68,7 +69,6 @@ void PrintWidget::onRouteChanged(int index) {
|
||||
void PrintWidget::loadTickets(int routeId) {
|
||||
QVector<Ticket> tickets = Database::instance().getTicketsByRoute(routeId);
|
||||
m_table->setRowCount(tickets.size());
|
||||
qDebug() << "TICKET COUNT:" + std::to_string(tickets.length()) + " " + std::to_string(routeId);
|
||||
|
||||
double total = 0;
|
||||
int totalSeats = 0;
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "routeswidget.h"
|
||||
#include "database.h"
|
||||
#include "../../services/database.h"
|
||||
#include <QTableWidget>
|
||||
#include <QHeaderView>
|
||||
#include <QMessageBox>
|
||||
@@ -1,6 +1,6 @@
|
||||
#include "ticketswidget.h"
|
||||
#include "database.h"
|
||||
#include "mainwindow.h"
|
||||
#include "../../services/database.h"
|
||||
#include "../windows/mainwindow.h"
|
||||
#include <QTableWidget>
|
||||
#include <QHeaderView>
|
||||
#include <QMessageBox>
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "userswidget.h"
|
||||
#include "database.h"
|
||||
#include "../../services/database.h"
|
||||
#include <QTableWidget>
|
||||
#include <QHeaderView>
|
||||
#include <QMessageBox>
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "loginwindow.h"
|
||||
#include "database.h"
|
||||
#include "../../services/database.h"
|
||||
#include <QMessageBox>
|
||||
#include <QPushButton>
|
||||
|
||||
LoginWindow::LoginWindow(QWidget* parent)
|
||||
: QDialog(parent), isRegistering(false)
|
||||
@@ -3,9 +3,7 @@
|
||||
|
||||
#include <QDialog>
|
||||
#include <QLineEdit>
|
||||
#include <QPushButton>
|
||||
#include <QLabel>
|
||||
#include <QVBoxLayout>
|
||||
#include <QHBoxLayout>
|
||||
|
||||
class LoginWindow : public QDialog {
|
||||
@@ -1,9 +1,9 @@
|
||||
#include "mainwindow.h"
|
||||
#include "routeswidget.h"
|
||||
#include "ticketswidget.h"
|
||||
#include "printwidget.h"
|
||||
#include "userswidget.h"
|
||||
#include "database.h"
|
||||
#include "../widgets/routeswidget.h"
|
||||
#include "../widgets/ticketswidget.h"
|
||||
#include "../widgets/printwidget.h"
|
||||
#include "../widgets/userswidget.h"
|
||||
#include "../../services/database.h"
|
||||
#include <QMenuBar>
|
||||
#include <QMenu>
|
||||
#include <QAction>
|
||||
@@ -21,10 +21,9 @@ MainWindow::MainWindow(const QString& username, const QString& role, QWidget* pa
|
||||
QMenuBar* menuBar = this->menuBar();
|
||||
QMenu* menu = menuBar->addMenu("Меню");
|
||||
|
||||
QAction* routesAction = menu->addAction("Управление рейсами");
|
||||
QAction* ticketsAction = menu->addAction("Продажа билетов");
|
||||
QAction* printAction = menu->addAction("Печать билетов");
|
||||
menu->addSeparator();
|
||||
QAction* routesAction = menuBar->addAction("Управление рейсами");
|
||||
QAction* ticketsAction = menuBar->addAction("Продажа билетов");
|
||||
QAction* printAction = menuBar->addAction("Печать билетов");
|
||||
QAction* logoutAction = menu->addAction("Выйти");
|
||||
|
||||
connect(routesAction, &QAction::triggered, this, &MainWindow::showRoutes);
|
||||
@@ -49,9 +48,7 @@ MainWindow::MainWindow(const QString& username, const QString& role, QWidget* pa
|
||||
statusBar()->addWidget(m_statusLabel);
|
||||
|
||||
if (role == "admin") {
|
||||
QMenu* userMenu = new QMenu("Пользователи", menuBar);
|
||||
QAction* usersAction = menu->insertMenu(printAction, userMenu);
|
||||
QAction* manageUsersAction = userMenu->addAction("Управление пользователями");
|
||||
QAction* manageUsersAction = menu->addAction("Управление пользователями");
|
||||
connect(manageUsersAction, &QAction::triggered, this, &MainWindow::showUsers);
|
||||
} else {
|
||||
m_usersWidget->setVisible(false);
|
||||
Reference in New Issue
Block a user