20#ifndef LIBREPCB_EDITOR_GUIAPPLICATION_H
21#define LIBREPCB_EDITOR_GUIAPPLICATION_H
48class NotificationsModel;
50class ProjectLibraryUpdater;
51class QuickAccessModel;
52class SlintKeyEventTextBuilder;
69 QObject* parent =
nullptr) noexcept;
83 const QVector<std::shared_ptr<LibraryEditor>>&
getLibraries() noexcept {
96 QWidget* parent)
noexcept;
107 QWidget* parent)
noexcept;
119 void quit(QPointer<QWidget> parent) noexcept;
129 bool eventFilter(QObject* watched, QEvent* event) noexcept override;
This class represents absolute, well-formatted paths to files or directories.
Definition filepath.h:127
The Workspace class represents a workspace with all its data (library, projects, settings,...
Definition workspace.h:54
The GuiApplication class.
Definition guiapplication.h:61
QuickAccessModel & getQuickAccess() noexcept
Definition guiapplication.h:74
void exec()
Definition guiapplication.cpp:723
void openFile(const FilePath &fp, QWidget *parent) noexcept
Definition guiapplication.cpp:240
QTimer mSaveOpenedWindowsCountdown
Definition guiapplication.h:154
void updateLibrariesContainStandardComponents() noexcept
Definition guiapplication.cpp:818
bool eventFilter(QObject *watched, QEvent *event) noexcept override
Definition guiapplication.cpp:745
void switchWorkspace(QWidget *parent) noexcept
Definition guiapplication.cpp:249
QList< std::shared_ptr< MainWindow > > mWindows
Definition guiapplication.h:153
std::shared_ptr< UiObjectList< LibraryEditor, ui::LibraryData > > mLibraries
Definition guiapplication.h:151
std::shared_ptr< LibrariesModel > mLocalLibraries
Definition guiapplication.h:147
NotificationsModel & getNotifications() noexcept
Definition guiapplication.h:112
bool requestClosingAllProjects() noexcept
Definition guiapplication.cpp:527
std::shared_ptr< LibraryEditor > openLibrary(const FilePath &libDir) noexcept
Definition guiapplication.cpp:305
bool mLibrariesContainStandardComponents
Definition guiapplication.h:142
void openProjectsPassedByCommandLine() noexcept
Definition guiapplication.cpp:759
void updateDesktopIntegrationNotification() noexcept
Definition guiapplication.cpp:849
std::unique_ptr< ProjectLibraryUpdater > mProjectLibraryUpdater
Definition guiapplication.h:152
std::shared_ptr< ProjectEditor > openProject(FilePath fp, QWidget *parent) noexcept
Open a project with the editor.
Definition guiapplication.cpp:411
void updateNoLibrariesInstalledNotification() noexcept
Definition guiapplication.cpp:833
LibrariesModel & getLocalLibraries() noexcept
Definition guiapplication.h:81
const QVector< std::shared_ptr< LibraryEditor > > & getLibraries() noexcept
Definition guiapplication.h:83
int getWindowCount() const noexcept
Definition guiapplication.cpp:711
void openProjectLibraryUpdater(const FilePath &project) noexcept
Definition guiapplication.cpp:780
std::shared_ptr< MainWindow > getCurrentWindow() noexcept
Definition guiapplication.cpp:807
Workspace & getWorkspace() noexcept
Definition guiapplication.h:73
const QVector< std::shared_ptr< ProjectEditor > > & getProjects() noexcept
Definition guiapplication.h:92
std::shared_ptr< Notification > mNotificationDesktopIntegration
Definition guiapplication.h:145
GuiApplication(const GuiApplication &other)=delete
void statusBarMessageChanged(const QString &message, int timeoutMs)
std::shared_ptr< UiObjectList< ProjectEditor, ui::ProjectData > > mProjects
Definition guiapplication.h:150
void openProjectPassedByOs(const QString &file, bool silent=false) noexcept
Definition guiapplication.cpp:769
std::shared_ptr< QuickAccessModel > mQuickAccessModel
Definition guiapplication.h:146
void quit(QPointer< QWidget > parent) noexcept
Definition guiapplication.cpp:727
void stopWindowStateAutosaveTimer() noexcept
Definition guiapplication.cpp:715
std::shared_ptr< NotificationsModel > mNotifications
Definition guiapplication.h:143
void execWorkspaceSettingsDialog(QWidget *parent) noexcept
Definition guiapplication.cpp:266
bool requestClosingAllLibraries() noexcept
Definition guiapplication.cpp:374
void addExampleProjects(QWidget *parent) noexcept
Definition guiapplication.cpp:273
Workspace & mWorkspace
Definition guiapplication.h:141
void createNewWindow(int id=-1, int projectIndex=-1) noexcept
Definition guiapplication.cpp:542
void closeProject(int index) noexcept
Definition guiapplication.cpp:520
std::shared_ptr< Notification > mNotificationNoLibrariesInstalled
Definition guiapplication.h:144
std::shared_ptr< LibraryEditor > getLibrary(const FilePath &libDir) noexcept
Definition guiapplication.cpp:295
std::shared_ptr< LibrariesModel > mRemoteLibraries
Definition guiapplication.h:148
void librariesContainStandardComponentsChanged(bool contains)
LibrariesModel & getRemoteLibraries() noexcept
Definition guiapplication.h:82
std::unique_ptr< SlintKeyEventTextBuilder > mLibrariesFilter
Definition guiapplication.h:149
void closeLibrary(const FilePath &libDir) noexcept
Definition guiapplication.cpp:365
void createProject(const FilePath &parentDir, bool eagleImport, QWidget *parent) noexcept
Definition guiapplication.cpp:389
The LibrariesModel class.
Definition librariesmodel.h:55
The LibraryEditor class.
Definition libraryeditor.h:57
The MainWindow class.
Definition mainwindow.h:56
The Notification class.
Definition notification.h:43
The NotificationsModel class.
Definition notificationsmodel.h:52
The ProjectEditor class.
Definition projecteditor.h:63
The ProjectLibraryUpdater class.
Definition projectlibraryupdater.h:60
The QuickAccessModel class.
Definition quickaccessmodel.h:49
The SlintKeyEventTextBuilder class.
Definition slintkeyeventtextbuilder.h:43
The UiObjectList class.
Definition uiobjectlist.h:47
Definition occmodel.cpp:77