diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index bd0074b25b070b6a98adbffed5d41d4726a8c289..d7a9daab089dca2559e53c5e4f157b6e56a816c8 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -169,6 +169,7 @@ struct ProjectExplorerPluginPrivate { QAction *m_openFileAction; QAction *m_showInGraphicalShell; QAction *m_openTerminalHere; + QAction *m_setStartupProjectAction; QAction *m_projectSelectorAction; QAction *m_projectSelectorActionMenu; @@ -394,15 +395,14 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er msessionContextMenu->appendGroup(Constants::G_SESSION_OTHER); msessionContextMenu->appendGroup(Constants::G_SESSION_CONFIG); - mproject->appendGroup(Constants::G_PROJECT_OPEN); - mproject->appendGroup(Constants::G_PROJECT_NEW); + mproject->appendGroup(Constants::G_PROJECT_FIRST); mproject->appendGroup(Constants::G_PROJECT_BUILD); mproject->appendGroup(Constants::G_PROJECT_RUN); mproject->appendGroup(Constants::G_PROJECT_FILES); mproject->appendGroup(Constants::G_PROJECT_OTHER); mproject->appendGroup(Constants::G_PROJECT_CONFIG); - msubProject->appendGroup(Constants::G_PROJECT_OPEN); + msubProject->appendGroup(Constants::G_PROJECT_FIRST); msubProject->appendGroup(Constants::G_PROJECT_BUILD); msubProject->appendGroup(Constants::G_PROJECT_FILES); msubProject->appendGroup(Constants::G_PROJECT_OTHER); @@ -445,11 +445,6 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er mproject->addAction(cmd, Constants::G_PROJECT_FILES); msubProject->addAction(cmd, Constants::G_PROJECT_FILES); - sep = new QAction(this); - sep->setSeparator(true); - cmd = am->registerAction(sep, QLatin1String("ProjectExplorer.New.Sep"), globalcontext); - mproject->addAction(cmd, Constants::G_PROJECT_NEW); - sep = new QAction(this); sep->setSeparator(true); cmd = am->registerAction(sep, QLatin1String("ProjectExplorer.Config.Sep"), globalcontext); @@ -748,6 +743,12 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er // msubProject->addAction(cmd, Constants::G_FOLDER_FILES); // mproject->addAction(cmd, Constants::G_FOLDER_FILES); + // set startup project action + d->m_setStartupProjectAction = new QAction(tr("Set as Startup Project"), this); + cmd = am->registerAction(d->m_setStartupProjectAction, ProjectExplorer::Constants::SETSTARTUP, + globalcontext); + mproject->addAction(cmd, Constants::G_PROJECT_FIRST); + // target selector d->m_projectSelectorAction = new QAction(this); d->m_projectSelectorAction->setCheckable(true); @@ -840,6 +841,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er connect(d->m_removeFileAction, SIGNAL(triggered()), this, SLOT(removeFile())); connect(d->m_deleteFileAction, SIGNAL(triggered()), this, SLOT(deleteFile())); connect(d->m_renameFileAction, SIGNAL(triggered()), this, SLOT(renameFile())); + connect(d->m_setStartupProjectAction, SIGNAL(triggered()), this, SLOT(setStartupProject())); updateActions(); @@ -2241,6 +2243,11 @@ void ProjectExplorerPlugin::renameFile(Node *node, const QString &to) } } +void ProjectExplorerPlugin::setStartupProject() +{ + setStartupProject(d->m_currentProject); +} + void ProjectExplorerPlugin::populateOpenWithMenu(QMenu *menu, const QString &fileName) { typedef QList<Core::IEditorFactory*> EditorFactoryList; diff --git a/src/plugins/projectexplorer/projectexplorer.h b/src/plugins/projectexplorer/projectexplorer.h index f9c0ebf014eb0e5ef91e91ef4bcdcf1ed8834aad..2f1f3cdce475f348a9330774b31d155990f513aa 100644 --- a/src/plugins/projectexplorer/projectexplorer.h +++ b/src/plugins/projectexplorer/projectexplorer.h @@ -111,6 +111,7 @@ public: void renameFile(Node *node, const QString &to); static QStringList projectFilePatterns(); bool coreAboutToClose(); + void setStartupProject(ProjectExplorer::Project *project); signals: void aboutToShowContextMenu(ProjectExplorer::Project *project, @@ -127,7 +128,6 @@ signals: void settingsChanged(); public slots: - void setStartupProject(ProjectExplorer::Project *project = 0); void openOpenProjectDialog(); private slots: @@ -176,6 +176,7 @@ private slots: void removeFile(); void deleteFile(); void renameFile(); + void setStartupProject(); void updateRecentProjectMenu(); void openRecentProject(); diff --git a/src/plugins/projectexplorer/projectexplorerconstants.h b/src/plugins/projectexplorer/projectexplorerconstants.h index 69eb3e55af068c45040c4a268f43bc9bc80bf787..890735ea47827c31b48c5a7d370f357b443dab70 100644 --- a/src/plugins/projectexplorer/projectexplorerconstants.h +++ b/src/plugins/projectexplorer/projectexplorerconstants.h @@ -81,6 +81,7 @@ const char * const OPENTERMIANLHERE = "ProjectExplorer.OpenTerminalHere"; const char * const REMOVEFILE = "ProjectExplorer.RemoveFile"; const char * const DELETEFILE = "ProjectExplorer.DeleteFile"; const char * const RENAMEFILE = "ProjectExplorer.RenameFile"; +const char * const SETSTARTUP = "ProjectExplorer.SetStartup"; const char * const SHOW_TASK_IN_EDITOR = "ProjectExplorer.ShowTaskInEditor"; const char * const VCS_ANNOTATE_TASK = "ProjectExplorer.VcsAnnotateTask"; @@ -141,8 +142,7 @@ const char * const G_SESSION_FILES = "Session.Group.Files"; const char * const G_SESSION_OTHER = "Session.Group.Other"; const char * const G_SESSION_CONFIG = "Session.Group.Config"; -const char * const G_PROJECT_OPEN = "Project.Group.Open"; -const char * const G_PROJECT_NEW = "Project.Group.New"; +const char * const G_PROJECT_FIRST = "Project.Group.Open"; const char * const G_PROJECT_FILES = "Project.Group.Files"; const char * const G_PROJECT_BUILD = "Project.Group.Build"; const char * const G_PROJECT_OTHER = "Project.Group.Other";