20#ifndef LIBREPCB_EDITOR_CONTROLPANEL_H
21#define LIBREPCB_EDITOR_CONTROLPANEL_H
43class FavoriteProjectsModel;
47class ProjectLibraryUpdater;
48class ProjectTreeModel;
49class RecentProjectsModel;
50class StandardEditorCommandHandler;
85 virtual
void closeEvent(QCloseEvent* event) override;
86 virtual
bool eventFilter(QObject* watched, QEvent* event) 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 ControlPanel class.
Definition controlpanel.h:63
QScopedPointer< QAction > mActionQtQuickTest
Definition controlpanel.h:232
void showControlPanel() noexcept
Definition controlpanel.cpp:246
QScopedPointer< QAction > mActionLibraryManager
Definition controlpanel.h:218
void libraryEditorDestroyed() noexcept
Definition controlpanel.cpp:708
void loadSettings()
Definition controlpanel.cpp:412
ProjectEditor * openProject(FilePath filepath=FilePath()) noexcept
Open a project with the editor (or bring an already opened editor to front)
Definition controlpanel.cpp:551
QHash< FilePath, LibraryEditor * > mOpenLibraryEditors
Definition controlpanel.h:214
QScopedPointer< QAction > mActionKeyboardShortcutsReference
Definition controlpanel.h:230
QScopedPointer< QAction > mActionQuit
Definition controlpanel.h:233
void removeProjectsTreeItem(const FilePath &fp) noexcept
Definition controlpanel.cpp:499
void openLibraryEditor(const FilePath &libDir) noexcept
Definition controlpanel.cpp:686
QScopedPointer< RecentProjectsModel > mRecentProjectsModel
Definition controlpanel.h:210
QScopedPointer< QAction > mActionImportEagleProject
Definition controlpanel.h:226
QScopedPointer< QAction > mActionNewProject
Definition controlpanel.h:222
void openProjectsPassedByCommandLine() noexcept
Definition controlpanel.cpp:736
QScopedPointer< LibraryManager > mLibraryManager
Definition controlpanel.h:212
static bool askForRestoringBackup(const FilePath &dir)
Ask the user whether to restore a backup of a project.
Definition controlpanel.cpp:664
void createMenus() noexcept
Definition controlpanel.cpp:347
QScopedPointer< QAction > mActionRescanLibraries
Definition controlpanel.h:220
QScopedPointer< QAction > mActionAboutLibrePcb
Definition controlpanel.h:227
ControlPanel(const ControlPanel &other)=delete
virtual ~ControlPanel() noexcept
Definition controlpanel.cpp:206
void on_recentProjectsListView_clicked(const QModelIndex &index)
Definition controlpanel.cpp:882
QScopedPointer< FavoriteProjectsModel > mFavoriteProjectsModel
Definition controlpanel.h:211
void openProjectLibraryUpdater(const FilePath &project) noexcept
Definition controlpanel.cpp:252
void on_favoriteProjectsListView_clicked(const QModelIndex &index)
Definition controlpanel.cpp:887
QScopedPointer< QAction > mActionWebsite
Definition controlpanel.h:231
void on_favoriteProjectsListView_entered(const QModelIndex &index)
Definition controlpanel.cpp:876
QScopedPointer< ProjectLibraryUpdater > mProjectLibraryUpdater
Definition controlpanel.h:215
virtual void closeEvent(QCloseEvent *event) override
Definition controlpanel.cpp:214
QScopedPointer< QAction > mActionWorkspaceSettings
Definition controlpanel.h:219
QHash< QString, ProjectEditor * > mOpenProjectEditors
Definition controlpanel.h:213
ProjectEditor * newProject(bool eagleImport=false, FilePath parentDir=FilePath()) noexcept
Definition controlpanel.cpp:529
virtual bool eventFilter(QObject *watched, QEvent *event) override
Definition controlpanel.cpp:236
void openProjectPassedByOs(const QString &file, bool silent=false) noexcept
Definition controlpanel.cpp:746
void on_favoriteProjectsListView_customContextMenuRequested(const QPoint &pos)
Definition controlpanel.cpp:928
QScopedPointer< StandardEditorCommandHandler > mStandardCommandHandler
Definition controlpanel.h:208
QScopedPointer< QAction > mActionSwitchWorkspace
Definition controlpanel.h:221
QScopedPointer< QAction > mActionAddExampleProjects
Definition controlpanel.h:225
void addExampleProjects() noexcept
Definition controlpanel.cpp:453
QScopedPointer< QAction > mActionCloseAllProjects
Definition controlpanel.h:224
void on_recentProjectsListView_entered(const QModelIndex &index)
Definition controlpanel.cpp:871
ProjectEditor * getOpenProject(const FilePath &filepath) const noexcept
Get the pointer to an already open project editor by its project filepath.
Definition controlpanel.cpp:656
QScopedPointer< ProjectTreeModel > mProjectTreeModel
Definition controlpanel.h:209
QScopedPointer< QAction > mActionOpenProject
Definition controlpanel.h:223
void on_projectTreeView_doubleClicked(const QModelIndex &index)
Definition controlpanel.cpp:783
Workspace & mWorkspace
Definition controlpanel.h:206
QScopedPointer< QAction > mActionOnlineDocumentation
Definition controlpanel.h:229
void on_projectTreeView_clicked(const QModelIndex &index)
Definition controlpanel.cpp:774
void on_recentProjectsListView_customContextMenuRequested(const QPoint &pos)
Definition controlpanel.cpp:893
bool closeProject(ProjectEditor &editor, bool askForSave) noexcept
Close an opened project editor.
Definition controlpanel.cpp:625
void saveSettings()
Definition controlpanel.cpp:385
void createActions() noexcept
Definition controlpanel.cpp:262
void openLibraryManager() noexcept
Definition controlpanel.cpp:446
QScopedPointer< QAction > mActionAboutQt
Definition controlpanel.h:228
void switchWorkspace() noexcept
Definition controlpanel.cpp:471
void showProjectReadmeInBrowser(const FilePath &projectFilePath) noexcept
Definition controlpanel.cpp:487
bool closeAllProjects(bool askForSave) noexcept
Close all open project editors.
Definition controlpanel.cpp:648
QScopedPointer< Ui::ControlPanel > mUi
Definition controlpanel.h:207
bool closeAllLibraryEditors(bool askForSave) noexcept
Close all open library editors.
Definition controlpanel.cpp:720
void on_projectTreeView_customContextMenuRequested(const QPoint &pos)
Definition controlpanel.cpp:796
void updateDesktopIntegrationMessage() noexcept
Definition controlpanel.cpp:439
void projectEditorClosed() noexcept
Definition controlpanel.cpp:757
The FavoriteProjectsModel class.
Definition favoriteprojectsmodel.h:47
The LibraryEditor class.
Definition libraryeditor.h:66
The LibraryManager class.
Definition librarymanager.h:55
The ProjectEditor class.
Definition projecteditor.h:66
The ProjectLibraryUpdater class.
Definition projectlibraryupdater.h:62
The ProjectTreeModel class.
Definition projecttreemodel.h:45
The RecentProjectsModel class.
Definition recentprojectsmodel.h:47
Helper to handle some of the librepcb::editor::EditorCommand actions.
Definition standardeditorcommandhandler.h:48
Definition occmodel.cpp:76