CCIMXDesktop
 
Loading...
Searching...
No Matches
desktopmainwindow.h
1#ifndef DESKTOPMAINWINDOW_H
2#define DESKTOPMAINWINDOW_H
3
4#include "builtin/window/settings_window/cores/SettingsPack.h"
5#include "library/simple_gerseter/simple_getseter.hpp"
6#include "ui/appwidget.h"
7#include <QMainWindow>
8QT_BEGIN_NAMESPACE
9namespace Ui {
11}
12QT_END_NAMESPACE
13
14class QGridLayout;
15class QLabel;
16class DesktopToast;
18class QTimer;
19class QStackedWidget;
20class DownDockWidget;
21class AppCardWidget;
22class WallPaperEngine;
23class SettingsWindow;
33class DesktopMainWindow : public QMainWindow {
34 Q_OBJECT
35
36public:
37 friend class PageFactory;
38 friend class WallPaperEngine;
44 explicit DesktopMainWindow(QWidget* parent = nullptr);
50
51 /* simple property getset */
52 __PROPERTY_GETSET(int, slide_limitive);
53
57 void init();
58
63 void showToast(const QString& message);
64
69 DesktopToast* desktop_toast() const { return toast; }
70
75 WallPaperEngine* queryWallpaperEngine() { return wallpaper_engine; }
76
82
86 void to_next_page();
87
91 void to_prev_page();
92
97 void install_remote_appwrapper(ApplicationWrapper* wrapper) { app_wrapper << wrapper; }
98
103 QStackedWidget* stackedWidget() const;
104
109 NetAbilityScanner* netAbilityScanner() const { return scanner; }
110
115 GlobalClockSources* clock_src() const { return clock; }
116
122
126 void post_show();
127
128signals:
134 void updateProgress(const QString& message, const int processings);
135
136public slots:
142
147
151 void open_launch_window();
152
157 void install_for_new_dynamicpage(AppWidget* appWidgets);
158
164
170
171protected:
177 void mousePressEvent(QMouseEvent* event) override;
183 void mouseReleaseEvent(QMouseEvent* event) override;
189 void resizeEvent(QResizeEvent* event) override;
190
191private:
192 Ui::DesktopMainWindow* ui;
193 DesktopToast* toast;
194 QList<ApplicationWrapper*> app_wrapper;
195 QList<AppWidget*> app_widgets;
196
197 struct {
198 QPoint press;
199 QPoint release;
200 } records;
201
202 QList<AppCardWidget*> app_cards;
203 WallPaperEngine* wallpaper_engine;
204 ApplicationLauncherMainWindow* appLauncherWindow;
205 SettingsWindow* settingsWindow;
206 NetAbilityScanner* scanner;
207 GlobalClockSources* clock;
208 int slide_limitive;
212 void setupui();
213
217 void setup_apps();
218
222 void setup_default_dock();
223
227 void invoke_appcards_init();
231 QWidget* centralWidget();
232
236 void initLogger();
240 void later_initLogger();
241};
242
243#endif // DESKTOPMAINWINDOW_H
AppCardWidget is a lightweight widget used to post messages to a DesktopToast.
Definition appcardwidget.h:18
The AppWidget class represents an application widget placed on the desktop.
Definition appwidget.h:19
AppStatus
Enum representing the application status.
Definition appwidget.h:121
The ApplicationLauncherMainWindow class provides the main UI window for launching applications.
Definition ApplicationLauncherMainWindow.h:20
The ApplicationWrapper class is the process wrapper.
Definition applicationwrapper.h:16
DesktopMainWindow is the main frontend window of the application. For beginners, this is the starting...
Definition desktopmainwindow.h:33
TopSideBarWidget * topSideBar() const
topSideBar fetcher
Definition desktopmainwindow.cpp:175
void install_remote_appwrapper(ApplicationWrapper *wrapper)
Install a remote application wrapper.
Definition desktopmainwindow.h:97
DownDockWidget * downDockWidget() const
Get the global DownDockWidget instance.
Definition desktopmainwindow.cpp:189
void post_show()
Perform initialization after main window is shown.
Definition desktopmainwindow.cpp:179
~DesktopMainWindow()
Destroy the Desktop Main Window object.
Definition desktopmainwindow.cpp:57
WallPaperEngine * queryWallpaperEngine()
queryWallpaperEngine
Definition desktopmainwindow.h:75
void mouseReleaseEvent(QMouseEvent *event) override
mouse release sessions
Definition desktopmainwindow.cpp:198
void open_launch_window()
open_launch_window
Definition desktopmainwindow.cpp:121
void showToast(const QString &message)
Show a toast message on the main window.
Definition desktopmainwindow.cpp:185
void to_prev_page()
Slide to the previous page in UI.
Definition desktopmainwindow.cpp:222
QPoint release
Mouse release position.
Definition desktopmainwindow.h:199
void process_wallpaper_settings(BaseWallPaperSettings *settings)
process_wallpaper_settings
Definition desktopmainwindow.cpp:153
QStackedWidget * stackedWidget() const
Get the QStackedWidget used for page sliding.
Definition desktopmainwindow.cpp:171
void updateProgress(const QString &message, const int processings)
updateProgress
__PROPERTY_GETSET(int, slide_limitive)
slider property setter
void to_next_page()
Slide to the next page in UI.
Definition desktopmainwindow.cpp:211
void init()
init init the windows sessions
Definition desktopmainwindow.cpp:61
void resizeEvent(QResizeEvent *event) override
resize sessions
Definition desktopmainwindow.cpp:233
void process_set_appwidgets_config(const AppWidgetsSettingsInfoPack &info)
process_set_appwidgets_config
Definition desktopmainwindow.cpp:145
void handle_app_status(AppWidget::AppStatus status)
Handle status changes of applications (like errors)
Definition desktopmainwindow.cpp:102
DesktopToast * desktop_toast() const
Get pointer to DesktopToast handler.
Definition desktopmainwindow.h:69
NetAbilityScanner * netAbilityScanner() const
netAbilityScanner get the netScanner
Definition desktopmainwindow.h:109
void install_for_new_dynamicpage(AppWidget *appWidgets)
install_for_new_dynamicpage for the persistance apps of new
Definition desktopmainwindow.cpp:125
void mousePressEvent(QMouseEvent *event) override
mouse press sessions
Definition desktopmainwindow.cpp:193
QPoint press
Mouse press position.
Definition desktopmainwindow.h:198
void open_settings_window()
open_settings_window catches the signals of open_settings
Definition desktopmainwindow.cpp:117
GlobalClockSources * clock_src() const
clock_src clock src fetcher
Definition desktopmainwindow.h:115
The DesktopToast class is the toast handle classes using less lock messages queue to display the mess...
Definition DesktopToast.h:15
The DownDockWidget class holdings the down dock sessions it supports the dynamic sorted according fre...
Definition downdockwidget.h:16
The GlobalClockSources class holds the desktop timer sessions, defaulty, we use the QTimer API For th...
Definition GlobalClockSources.h:12
The NetAbilityScanner class check the desktop network status.
Definition NetAbilityScanner.h:10
Page Factory produce pages for helping setup the pages :)
Definition pagefactory.h:11
Main window class for the settings interface.
Definition SettingsWindow.h:18
Top sidebar container widget.
Definition TopSideBarWidget.h:18
Engine managing desktop wallpaper switching and animations.
Definition WallPaperEngine.h:20
The AppWidgetsSettingsInfoPack struct Stores configuration parameters for AppWidget appearance.
Definition SettingsPack.h:13
The BaseWallPaperSettings class Abstract base for wallpaper configuration settings.
Definition SettingsPack.h:23