From 9ba5a81e9b2e3f68efdd460c2b426677ae39a0fc Mon Sep 17 00:00:00 2001
From: con <qtc-committer@nokia.com>
Date: Mon, 4 May 2009 17:11:10 +0200
Subject: [PATCH] Switch header source between .h and .mm files.

---
 src/plugins/cppeditor/cppeditor.pro      | 2 +-
 src/plugins/cpptools/cpptoolsconstants.h | 1 +
 src/plugins/cpptools/cpptoolsplugin.cpp  | 9 +++++++--
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/src/plugins/cppeditor/cppeditor.pro b/src/plugins/cppeditor/cppeditor.pro
index 2fbf3b46e48..64ee6631957 100644
--- a/src/plugins/cppeditor/cppeditor.pro
+++ b/src/plugins/cppeditor/cppeditor.pro
@@ -23,4 +23,4 @@ SOURCES += cppplugin.cpp \
     cppclasswizard.cpp
 RESOURCES += cppeditor.qrc
 
-OTHER_FILES += CppEditor.pluginspec
+OTHER_FILES += CppEditor.pluginspec CppEditor.mimetypes.xml
diff --git a/src/plugins/cpptools/cpptoolsconstants.h b/src/plugins/cpptools/cpptoolsconstants.h
index 73002aaface..7528ddc79e4 100644
--- a/src/plugins/cpptools/cpptoolsconstants.h
+++ b/src/plugins/cpptools/cpptoolsconstants.h
@@ -41,6 +41,7 @@ const char * const TASK_INDEX               = "CppTools.Task.Index";
 const char * const C_SOURCE_MIMETYPE = "text/x-csrc";
 const char * const C_HEADER_MIMETYPE = "text/x-chdr";
 const char * const CPP_SOURCE_MIMETYPE = "text/x-c++src";
+const char * const OBJECTIVE_CPP_SOURCE_MIMETYPE = "text/x-objcsrc";
 const char * const CPP_HEADER_MIMETYPE = "text/x-c++hdr";
 
 // QSettings keys for use by the "New Class" wizards.
diff --git a/src/plugins/cpptools/cpptoolsplugin.cpp b/src/plugins/cpptools/cpptoolsplugin.cpp
index cdfda4c24bd..4aa16e9e23b 100644
--- a/src/plugins/cpptools/cpptoolsplugin.cpp
+++ b/src/plugins/cpptools/cpptoolsplugin.cpp
@@ -185,6 +185,7 @@ enum FileType {
     HeaderFile,
     C_SourceFile,
     CPP_SourceFile,
+    ObjectiveCPP_SourceFile,
     UnknownType
 };
 
@@ -198,6 +199,8 @@ static inline FileType fileType(const Core::MimeDatabase *mimeDatase, const  QFi
         return C_SourceFile;
     if (typeName == QLatin1String(CppTools::Constants::CPP_SOURCE_MIMETYPE))
         return CPP_SourceFile;
+    if (typeName == QLatin1String(CppTools::Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE))
+        return ObjectiveCPP_SourceFile;
     if (typeName == QLatin1String(CppTools::Constants::C_HEADER_MIMETYPE)
         || typeName == QLatin1String(CppTools::Constants::CPP_HEADER_MIMETYPE))
         return HeaderFile;
@@ -212,11 +215,13 @@ static QStringList matchingCandidateSuffixes(const Core::MimeDatabase *mimeDatas
     case UnknownType:
         break;
     case HeaderFile: // Note that C/C++ headers are undistinguishable
-        return mimeDatase->findByType(QLatin1String(CppTools::Constants::C_SOURCE_MIMETYPE)).suffixes() +
-               mimeDatase->findByType(QLatin1String(CppTools::Constants::CPP_SOURCE_MIMETYPE)).suffixes();
+        return mimeDatase->findByType(QLatin1String(CppTools::Constants::C_SOURCE_MIMETYPE)).suffixes()
+               + mimeDatase->findByType(QLatin1String(CppTools::Constants::CPP_SOURCE_MIMETYPE)).suffixes()
+               + mimeDatase->findByType(QLatin1String(CppTools::Constants::OBJECTIVE_CPP_SOURCE_MIMETYPE)).suffixes();
     case C_SourceFile:
         return mimeDatase->findByType(QLatin1String(CppTools::Constants::C_HEADER_MIMETYPE)).suffixes();
     case CPP_SourceFile:
+    case ObjectiveCPP_SourceFile:
         return mimeDatase->findByType(QLatin1String(CppTools::Constants::CPP_HEADER_MIMETYPE)).suffixes();
     }
     return QStringList();
-- 
GitLab