- Renamed project and executable from `ARCDesktopProject` to `ARC`, updating CMake files accordingly. - Introduced dynamic no-devices label with scaling and visibility handling. - Added tutorial display logic for first-time users with `SettingsDAO`. - Updated application name, window title, and icon for improved branding. - Removed unused endpoints from `config.ini`.
43 lines
1.0 KiB
C++
43 lines
1.0 KiB
C++
#pragma once
|
|
#include <QMainWindow>
|
|
#include <QVBoxLayout>
|
|
#include <QStackedWidget>
|
|
#include <QTimer>
|
|
#include <QLabel>
|
|
#include <QPixmap>
|
|
|
|
#include "TutorialWindow.h"
|
|
#include "bank/AccountWindow.h"
|
|
#include "db/DeviceInfo.h"
|
|
#include "widget/common/FlowLayout.h"
|
|
|
|
class MainWindow final : public QMainWindow {
|
|
Q_OBJECT
|
|
|
|
public:
|
|
explicit MainWindow(QWidget *parent = nullptr);
|
|
|
|
void loadDevices();
|
|
|
|
private:
|
|
QWidget *central;
|
|
FlowLayout *flowLayout;
|
|
QTimer *timer;
|
|
QStackedWidget *stackedWidget;
|
|
|
|
QLabel *m_noDevicesLabel = nullptr;
|
|
QPixmap m_noDevicesPixmap;
|
|
QWidget *m_scrollArea = nullptr;
|
|
QWidget *m_devicesWindow = nullptr;
|
|
QWidget *m_accountsWindow = nullptr;
|
|
QWidget *m_tutorialWindow = nullptr;
|
|
QWidget *m_bankListWindow = nullptr;
|
|
QWidget *m_logWindow = nullptr;
|
|
QWidget *m_fileLogWindow = nullptr;
|
|
QWidget *m_eventWindow = nullptr;
|
|
|
|
void createDevicePage();
|
|
void deleteDevicePage();
|
|
void resizeEvent(QResizeEvent *event) override;
|
|
};
|