20 #ifndef LIBREPCB_EDITOR_CONTROLPANEL_H 21 #define LIBREPCB_EDITOR_CONTROLPANEL_H 43 class FavoriteProjectsModel;
47 class ProjectLibraryUpdater;
48 class ProjectTreeModel;
49 class RecentProjectsModel;
50 class StandardEditorCommandHandler;
80 void showControlPanel() noexcept;
81 void openProjectLibraryUpdater(const
FilePath& project) noexcept;
85 virtual
void closeEvent(QCloseEvent* event) override;
86 virtual
bool eventFilter(QObject* watched, QEvent* event) override;
90 void openProjectsPassedByCommandLine() noexcept;
91 void openProjectPassedByOs(const QString& file,
bool silent = false) noexcept;
92 void projectEditorClosed() noexcept;
95 void on_projectTreeView_clicked(const QModelIndex& index);
96 void on_projectTreeView_doubleClicked(const QModelIndex& index);
97 void on_projectTreeView_customContextMenuRequested(const QPoint& pos);
98 void on_recentProjectsListView_entered(const QModelIndex& index);
99 void on_favoriteProjectsListView_entered(const QModelIndex& index);
100 void on_recentProjectsListView_clicked(const QModelIndex& index);
101 void on_favoriteProjectsListView_clicked(const QModelIndex& index);
102 void on_recentProjectsListView_customContextMenuRequested(const QPoint& pos);
103 void on_favoriteProjectsListView_customContextMenuRequested(
108 void createActions() noexcept;
109 void createMenus() noexcept;
112 void updateDesktopIntegrationMessage() noexcept;
113 void openLibraryManager() noexcept;
114 void addExampleProjects() noexcept;
115 void switchWorkspace() noexcept;
116 void showProjectReadmeInBrowser(const
FilePath& projectFilePath) noexcept;
117 void removeProjectsTreeItem(const
FilePath& fp) noexcept;
143 bool closeProject(
ProjectEditor& editor,
bool askForSave) noexcept;
153 bool closeProject(const
FilePath& filepath,
bool askForSave) noexcept;
163 bool closeAllProjects(
bool askForSave) noexcept;
189 static
bool askForRestoringBackup(const
FilePath& dir);
192 void openLibraryEditor(const
FilePath& libDir) noexcept;
193 void libraryEditorDestroyed() noexcept;
203 bool closeAllLibraryEditors(
bool askForSave) noexcept;
218 QScopedPointer<QAction> mActionLibraryManager;
219 QScopedPointer<QAction> mActionWorkspaceSettings;
220 QScopedPointer<QAction> mActionRescanLibraries;
221 QScopedPointer<QAction> mActionSwitchWorkspace;
222 QScopedPointer<QAction> mActionNewProject;
223 QScopedPointer<QAction> mActionOpenProject;
224 QScopedPointer<QAction> mActionCloseAllProjects;
225 QScopedPointer<QAction> mActionAddExampleProjects;
226 QScopedPointer<QAction> mActionImportEagleProject;
227 QScopedPointer<QAction> mActionAboutLibrePcb;
228 QScopedPointer<QAction> mActionAboutQt;
229 QScopedPointer<QAction> mActionOnlineDocumentation;
230 QScopedPointer<QAction> mActionKeyboardShortcutsReference;
231 QScopedPointer<QAction> mActionWebsite;
232 QScopedPointer<QAction> mActionQtQuickTest;
233 QScopedPointer<QAction> mActionQuit;
The ProjectEditor class.
Definition: projecteditor.h:62
Definition: occmodel.cpp:77
The ProjectTreeModel class.
Definition: projecttreemodel.h:45
The FavoriteProjectsModel class.
Definition: favoriteprojectsmodel.h:47
The RecentProjectsModel class.
Definition: recentprojectsmodel.h:47
This class represents absolute, well-formatted paths to files or directories.
Definition: filepath.h:129
Helper to handle some of the librepcb::editor::EditorCommand actions.
Definition: standardeditorcommandhandler.h:48
The LibraryManager class.
Definition: librarymanager.h:55
The ControlPanel class.
Definition: controlpanel.h:63
The LibraryEditor class.
Definition: libraryeditor.h:65
The Workspace class represents a workspace with all its data (library, projects, settings, ...)
Definition: workspace.h:54
The ProjectLibraryUpdater class.
Definition: projectlibraryupdater.h:62