Mercurial > minori
view include/gui/window.h @ 166:54c5d80a737e
dep/animia: add libutil method
I changed the "linux" method to be "proc", because it isn't exactly Linux specific
this commit also has some changes to the x11 stuff:
instead of enumerating over only top-level windows, we iterate over ALL of them
this is because many X11 apps actually use multiple windows
for some reason, I still can't get it to work with VLC, but it picks up Firefox...
author | paper@DavesDouble.local |
---|---|
date | Sun, 19 Nov 2023 04:21:56 -0500 |
parents | ab191e28e69d |
children | c8375765f0fc |
line wrap: on
line source
#ifndef __window_h #define __window_h #include "core/config.h" #include <QMainWindow> #include <memory> /* *could* be forward-declared, but this causes any file that #includes this to have to #include these as well due to unique_ptr */ #include <QWidget> #include <QStackedWidget> #include <QCloseEvent> #include "gui/widgets/sidebar.h" class MainWindow final : public QMainWindow { Q_OBJECT public: MainWindow(QWidget* parent = nullptr); void SetActivePage(QWidget* page); void CreateBars(); void AddMainWidgets(); void RetranslateUI(); void AsyncSynchronize(QStackedWidget* stack); void changeEvent(QEvent* event) override; void showEvent(QShowEvent* event) override; void closeEvent(QCloseEvent* event) override; private: std::unique_ptr<QWidget> main_widget = nullptr; std::unique_ptr<QStackedWidget> stack = nullptr; std::unique_ptr<SideBar> sidebar = nullptr; }; #endif // __window_h