20#ifndef LIBREPCB_EDITOR_GUIAPPLICATION_H
21#define LIBREPCB_EDITOR_GUIAPPLICATION_H
47class NotificationsModel;
49class ProjectLibraryUpdater;
50class QuickAccessModel;
51class SlintKeyEventTextBuilder;
68 QObject* parent =
nullptr) noexcept;
84 QWidget* parent)
noexcept;
99 void quit(QPointer<QWidget> parent) noexcept;
105 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:60
QuickAccessModel & getQuickAccess() noexcept
Definition guiapplication.h:74
void exec()
Definition guiapplication.cpp:499
void libraryEditorDestroyed() noexcept
Definition guiapplication.cpp:655
void openFile(const FilePath &fp, QWidget *parent) noexcept
Definition guiapplication.cpp:229
QTimer mSaveOpenedWindowsCountdown
Definition guiapplication.h:180
bool eventFilter(QObject *watched, QEvent *event) noexcept override
Definition guiapplication.cpp:521
void switchWorkspace(QWidget *parent) noexcept
Definition guiapplication.cpp:238
QList< std::shared_ptr< MainWindow > > mWindows
Definition guiapplication.h:179
QHash< FilePath, LibraryEditor * > mOpenLibraryEditors
Definition guiapplication.h:177
std::shared_ptr< LibrariesModel > mLocalLibraries
Definition guiapplication.h:173
NotificationsModel & getNotifications() noexcept
Definition guiapplication.h:73
void openLibraryEditor(const FilePath &libDir) noexcept
Definition guiapplication.cpp:627
void openProjectsPassedByCommandLine() noexcept
Definition guiapplication.cpp:535
void updateDesktopIntegrationNotification() noexcept
Definition guiapplication.cpp:706
std::unique_ptr< ProjectLibraryUpdater > mProjectLibraryUpdater
Definition guiapplication.h:178
static bool askForRestoringBackup(const FilePath &dir)
Ask the user whether to restore a backup of a project.
Definition guiapplication.cpp:564
void updateNoLibrariesInstalledNotification() noexcept
Definition guiapplication.cpp:690
LibrariesModel & getLocalLibraries() noexcept
Definition guiapplication.h:75
void openProjectLibraryUpdater(const FilePath &project) noexcept
Definition guiapplication.cpp:608
std::shared_ptr< MainWindow > getCurrentWindow() noexcept
Definition guiapplication.cpp:679
Workspace & getWorkspace() noexcept
Definition guiapplication.h:72
std::shared_ptr< Notification > mNotificationDesktopIntegration
Definition guiapplication.h:171
GuiApplication(const GuiApplication &other)=delete
QHash< QString, ProjectEditor * > mOpenProjectEditors
Definition guiapplication.h:176
void openProjectPassedByOs(const QString &file, bool silent=false) noexcept
Definition guiapplication.cpp:545
std::shared_ptr< QuickAccessModel > mQuickAccessModel
Definition guiapplication.h:172
void quit(QPointer< QWidget > parent) noexcept
Definition guiapplication.cpp:503
std::shared_ptr< NotificationsModel > mNotifications
Definition guiapplication.h:169
void execWorkspaceSettingsDialog(QWidget *parent) noexcept
Definition guiapplication.cpp:255
void addExampleProjects(QWidget *parent) noexcept
Definition guiapplication.cpp:262
ProjectEditor * getOpenProject(const FilePath &filepath) const noexcept
Get the pointer to an already open project editor by its project filepath.
Definition guiapplication.cpp:556
Workspace & mWorkspace
Definition guiapplication.h:168
ProjectEditor * openProject(FilePath filepath, QWidget *parent) noexcept
Open a project with the editor (or bring an already opened editor to front)
Definition guiapplication.cpp:302
std::shared_ptr< Notification > mNotificationNoLibrariesInstalled
Definition guiapplication.h:170
bool requestClosingWindow(QWidget *parent) noexcept
Definition guiapplication.cpp:487
bool closeAllProjects(bool askForSave, QWidget *parent) noexcept
Close all open project editors.
Definition guiapplication.cpp:582
std::shared_ptr< LibrariesModel > mRemoteLibraries
Definition guiapplication.h:174
void createNewWindow(int id=-1) noexcept
Definition guiapplication.cpp:386
LibrariesModel & getRemoteLibraries() noexcept
Definition guiapplication.h:76
std::unique_ptr< SlintKeyEventTextBuilder > mLibrariesFilter
Definition guiapplication.h:175
bool closeAllLibraryEditors(bool askForSave) noexcept
Close all open library editors.
Definition guiapplication.cpp:667
void createProject(const FilePath &parentDir, bool eagleImport, QWidget *parent) noexcept
Definition guiapplication.cpp:280
void projectEditorClosed() noexcept
Definition guiapplication.cpp:595
The LibrariesModel class.
Definition librariesmodel.h:54
The LibraryEditor class.
Definition libraryeditor.h:66
The MainWindow class.
Definition mainwindow.h:52
The Notification class.
Definition notification.h:43
The NotificationsModel class.
Definition notificationsmodel.h:52
The ProjectEditor class.
Definition projecteditor.h:66
The ProjectLibraryUpdater class.
Definition projectlibraryupdater.h:60
The QuickAccessModel class.
Definition quickaccessmodel.h:49
The SlintKeyEventTextBuilder class.
Definition slintkeyeventtextbuilder.h:43
Definition occmodel.cpp:77