GUI: Add menuitem to edit open project file.

Earlier we opened project file only for editing. But now that we
really use project files we need separate feature for editing
them.
This commit is contained in:
Kimmo Varis 2010-08-15 16:12:32 +03:00
parent ab1aaf9a45
commit 0f4d067926
3 changed files with 36 additions and 0 deletions

View File

@ -74,9 +74,12 @@
<string>&amp;File</string>
</property>
<addaction name="mActionOpenXML"/>
<addaction name="separator"/>
<addaction name="mActionNewProjectFile"/>
<addaction name="mActionOpenProjectFile"/>
<addaction name="mActionEditProjectFile"/>
<addaction name="mActionCloseProjectFile"/>
<addaction name="separator"/>
<addaction name="mActionSave"/>
<addaction name="mActionQuit"/>
</widget>
@ -383,6 +386,14 @@
<string>C&amp;lose Project File</string>
</property>
</action>
<action name="mActionEditProjectFile">
<property name="enabled">
<bool>false</bool>
</property>
<property name="text">
<string>&amp;Edit Project File...</string>
</property>
</action>
</widget>
<customwidgets>
<customwidget>

View File

@ -90,6 +90,7 @@ MainWindow::MainWindow() :
connect(mUI.mActionNewProjectFile, SIGNAL(triggered()), this, SLOT(NewProjectFile()));
connect(mUI.mActionOpenProjectFile, SIGNAL(triggered()), this, SLOT(OpenProjectFile()));
connect(mUI.mActionCloseProjectFile, SIGNAL(triggered()), this, SLOT(CloseProjectFile()));
connect(mUI.mActionEditProjectFile, SIGNAL(triggered()), this, SLOT(EditProjectFile()));
#ifdef WIN32
connect(mUI.mActionHelpContents, SIGNAL(triggered()), this, SLOT(OpenHelpContents()));
@ -692,6 +693,7 @@ void MainWindow::OpenProjectFile()
if (!filepath.isEmpty())
{
mUI.mActionCloseProjectFile->setEnabled(true);
mUI.mActionEditProjectFile->setEnabled(true);
mProject = new Project(filepath, this);
mProject->Open();
QStringList paths = mProject->GetProjectFile()->GetCheckPaths();
@ -714,6 +716,7 @@ void MainWindow::NewProjectFile()
Project prj(filepath, this);
prj.Create();
prj.Edit();
mUI.mActionEditProjectFile->setEnabled(true);
}
}
@ -722,6 +725,22 @@ void MainWindow::CloseProjectFile()
delete mProject;
mProject = NULL;
mUI.mActionCloseProjectFile->setEnabled(false);
mUI.mActionEditProjectFile->setEnabled(false);
}
void MainWindow::EditProjectFile()
{
if (!mProject)
{
QMessageBox msg(QMessageBox::Critical,
tr("Cppcheck"),
QString(tr("No project file loaded")),
QMessageBox::Ok,
this);
msg.exec();
return;
}
mProject->Edit();
}
void MainWindow::ShowLogView()

View File

@ -152,6 +152,12 @@ public slots:
*/
void CloseProjectFile();
/**
* @brief Slot to edit project file.
*
*/
void EditProjectFile();
/**
* @brief Slot for showing the log view.
*