forked from qt-creator/qt-creator
Qt4Project: Handle special cases for renaming files
Task-number: QTCREATORBUG-9824 Change-Id: I1a237a57332c929844fdc230c96fba397d79d312 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
This commit is contained in:
@@ -1031,7 +1031,7 @@ bool Qt4PriFileNode::renameFile(const QString &filePath, const QString &newFileP
|
|||||||
|
|
||||||
bool changeProFileOptional = deploysFolder(QFileInfo(filePath).absolutePath());
|
bool changeProFileOptional = deploysFolder(QFileInfo(filePath).absolutePath());
|
||||||
const Core::MimeDatabase *mdb = Core::ICore::mimeDatabase();
|
const Core::MimeDatabase *mdb = Core::ICore::mimeDatabase();
|
||||||
const Core::MimeType mt = mdb->findByFile(filePath);
|
const Core::MimeType mt = mdb->findByFile(newFilePath);
|
||||||
QStringList dummy;
|
QStringList dummy;
|
||||||
|
|
||||||
changeFiles(mt.type(), QStringList() << filePath, &dummy, RemoveFromProFile);
|
changeFiles(mt.type(), QStringList() << filePath, &dummy, RemoveFromProFile);
|
||||||
@@ -1154,15 +1154,14 @@ void Qt4PriFileNode::changeFiles(const QString &mimeType,
|
|||||||
includeFile = parser.parsedProBlock(contents, m_projectFilePath, 1);
|
includeFile = parser.parsedProBlock(contents, m_projectFilePath, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
const QStringList vars = varNames(mimeType);
|
|
||||||
QDir priFileDir = QDir(m_qt4ProFileNode->m_projectDir);
|
QDir priFileDir = QDir(m_qt4ProFileNode->m_projectDir);
|
||||||
|
|
||||||
if (change == AddToProFile) {
|
if (change == AddToProFile) {
|
||||||
// Use the first variable for adding.
|
// Use the first variable for adding.
|
||||||
ProWriter::addFiles(includeFile, &lines, priFileDir, filePaths, vars.first());
|
ProWriter::addFiles(includeFile, &lines, priFileDir, filePaths, varNameForAdding(mimeType));
|
||||||
notChanged->clear();
|
notChanged->clear();
|
||||||
} else { // RemoveFromProFile
|
} else { // RemoveFromProFile
|
||||||
*notChanged = ProWriter::removeFiles(includeFile, &lines, priFileDir, filePaths, vars);
|
*notChanged = ProWriter::removeFiles(includeFile, &lines, priFileDir, filePaths, varNamesForRemoving());
|
||||||
}
|
}
|
||||||
|
|
||||||
// save file
|
// save file
|
||||||
@@ -1236,36 +1235,58 @@ QStringList Qt4PriFileNode::varNames(ProjectExplorer::FileType type)
|
|||||||
//! \brief Qt4PriFileNode::varNames
|
//! \brief Qt4PriFileNode::varNames
|
||||||
//! \param mimeType
|
//! \param mimeType
|
||||||
//! \return the qmake variable name for the mime type
|
//! \return the qmake variable name for the mime type
|
||||||
//! Note: For adding the first variable in the list is used
|
//! Note: Only used for adding.
|
||||||
//! For removal all variables returned a searched for the file
|
|
||||||
//!
|
//!
|
||||||
QStringList Qt4PriFileNode::varNames(const QString &mimeType)
|
QString Qt4PriFileNode::varNameForAdding(const QString &mimeType)
|
||||||
{
|
{
|
||||||
QStringList vars;
|
|
||||||
if (mimeType == QLatin1String(ProjectExplorer::Constants::CPP_HEADER_MIMETYPE)
|
if (mimeType == QLatin1String(ProjectExplorer::Constants::CPP_HEADER_MIMETYPE)
|
||||||
|| mimeType == QLatin1String(ProjectExplorer::Constants::C_HEADER_MIMETYPE)) {
|
|| mimeType == QLatin1String(ProjectExplorer::Constants::C_HEADER_MIMETYPE)) {
|
||||||
vars << QLatin1String("HEADERS");
|
return QLatin1String("HEADERS");
|
||||||
vars << QLatin1String("OBJECTIVE_HEADERS");
|
|
||||||
} else if (mimeType == QLatin1String(ProjectExplorer::Constants::CPP_SOURCE_MIMETYPE)
|
|
||||||
|| mimeType == QLatin1String(ProjectExplorer::Constants::C_SOURCE_MIMETYPE)) {
|
|
||||||
vars << QLatin1String("SOURCES");
|
|
||||||
} else if (mimeType == QLatin1String(CppTools::Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE)) {
|
|
||||||
vars << QLatin1String("OBJECTIVE_SOURCES");
|
|
||||||
} else if (mimeType == QLatin1String(ProjectExplorer::Constants::RESOURCE_MIMETYPE)) {
|
|
||||||
vars << QLatin1String("RESOURCES");
|
|
||||||
} else if (mimeType == QLatin1String(ProjectExplorer::Constants::FORM_MIMETYPE)) {
|
|
||||||
vars << QLatin1String("FORMS");
|
|
||||||
} else if (mimeType == QLatin1String(ProjectExplorer::Constants::QML_MIMETYPE)) {
|
|
||||||
vars << QLatin1String("OTHER_FILES");
|
|
||||||
} else if (mimeType == QLatin1String(Constants::PROFILE_MIMETYPE)) {
|
|
||||||
vars << QLatin1String("SUBDIRS");
|
|
||||||
} else {
|
|
||||||
vars << QLatin1String("OTHER_FILES");
|
|
||||||
vars << QLatin1String("ICON");
|
|
||||||
}
|
|
||||||
return vars;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (mimeType == QLatin1String(ProjectExplorer::Constants::CPP_SOURCE_MIMETYPE)
|
||||||
|
|| mimeType == QLatin1String(ProjectExplorer::Constants::C_SOURCE_MIMETYPE)) {
|
||||||
|
return QLatin1String("SOURCES");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mimeType == QLatin1String(CppTools::Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE))
|
||||||
|
return QLatin1String("OBJECTIVE_SOURCES");
|
||||||
|
|
||||||
|
if (mimeType == QLatin1String(ProjectExplorer::Constants::RESOURCE_MIMETYPE))
|
||||||
|
return QLatin1String("RESOURCES");
|
||||||
|
|
||||||
|
if (mimeType == QLatin1String(ProjectExplorer::Constants::FORM_MIMETYPE))
|
||||||
|
return QLatin1String("FORMS");
|
||||||
|
|
||||||
|
if (mimeType == QLatin1String(ProjectExplorer::Constants::QML_MIMETYPE))
|
||||||
|
return QLatin1String("OTHER_FILES");
|
||||||
|
|
||||||
|
if (mimeType == QLatin1String(Constants::PROFILE_MIMETYPE))
|
||||||
|
return QLatin1String("SUBDIRS");
|
||||||
|
|
||||||
|
return QLatin1String("OTHER_FILES");
|
||||||
|
}
|
||||||
|
|
||||||
|
//!
|
||||||
|
//! \brief Qt4PriFileNode::varNamesForRemoving
|
||||||
|
//! \return all qmake variables which are displayed in the project tree
|
||||||
|
//! Note: Only used for removing.
|
||||||
|
//!
|
||||||
|
QStringList Qt4PriFileNode::varNamesForRemoving()
|
||||||
|
{
|
||||||
|
QStringList vars;
|
||||||
|
vars << QLatin1String("HEADERS");
|
||||||
|
vars << QLatin1String("OBJECTIVE_HEADERS");
|
||||||
|
vars << QLatin1String("SOURCES");
|
||||||
|
vars << QLatin1String("OBJECTIVE_SOURCES");
|
||||||
|
vars << QLatin1String("RESOURCES");
|
||||||
|
vars << QLatin1String("FORMS");
|
||||||
|
vars << QLatin1String("OTHER_FILES");
|
||||||
|
vars << QLatin1String("SUBDIRS");
|
||||||
|
vars << QLatin1String("OTHER_FILES");
|
||||||
|
vars << QLatin1String("ICON");
|
||||||
|
return vars;
|
||||||
|
}
|
||||||
|
|
||||||
QStringList Qt4PriFileNode::dynamicVarNames(QtSupport::ProFileReader *readerExact, QtSupport::ProFileReader *readerCumulative,
|
QStringList Qt4PriFileNode::dynamicVarNames(QtSupport::ProFileReader *readerExact, QtSupport::ProFileReader *readerCumulative,
|
||||||
QtSupport::BaseQtVersion *qtVersion)
|
QtSupport::BaseQtVersion *qtVersion)
|
||||||
|
@@ -172,7 +172,8 @@ public:
|
|||||||
protected:
|
protected:
|
||||||
void setIncludedInExactParse(bool b);
|
void setIncludedInExactParse(bool b);
|
||||||
static QStringList varNames(ProjectExplorer::FileType type);
|
static QStringList varNames(ProjectExplorer::FileType type);
|
||||||
static QStringList varNames(const QString &mimeType);
|
static QStringList varNamesForRemoving();
|
||||||
|
static QString varNameForAdding(const QString &mimeType);
|
||||||
static QStringList dynamicVarNames(QtSupport::ProFileReader *readerExact, QtSupport::ProFileReader *readerCumulative, QtSupport::BaseQtVersion *qtVersion);
|
static QStringList dynamicVarNames(QtSupport::ProFileReader *readerExact, QtSupport::ProFileReader *readerCumulative, QtSupport::BaseQtVersion *qtVersion);
|
||||||
static QSet<Utils::FileName> filterFilesProVariables(ProjectExplorer::FileType fileType, const QSet<Utils::FileName> &files);
|
static QSet<Utils::FileName> filterFilesProVariables(ProjectExplorer::FileType fileType, const QSet<Utils::FileName> &files);
|
||||||
static QSet<Utils::FileName> filterFilesRecursiveEnumerata(ProjectExplorer::FileType fileType, const QSet<Utils::FileName> &files);
|
static QSet<Utils::FileName> filterFilesRecursiveEnumerata(ProjectExplorer::FileType fileType, const QSet<Utils::FileName> &files);
|
||||||
|
Reference in New Issue
Block a user