diff options
author | dt <qtc-committer@nokia.com> | 2010-09-24 13:17:43 +0200 |
---|---|---|
committer | dt <qtc-committer@nokia.com> | 2010-10-04 15:09:59 +0200 |
commit | 61b4cb7ffa1fc73421c6f5f452457cbd6249db89 (patch) | |
tree | eed7261245cc03367cacc5e7e9847f0ec5e20813 /src/plugins/cpptools | |
parent | a2809fdfebff8eb4f213a554c00f7bac0c6738e3 (diff) | |
download | qt-creator-61b4cb7ffa1fc73421c6f5f452457cbd6249db89.tar.gz |
CMakeProjectManager: Add Ui completion
That is get code completion without saving the file or building.
Task-Nr: QTCREATORBUG-1657
Diffstat (limited to 'src/plugins/cpptools')
-rw-r--r-- | src/plugins/cpptools/uicodecompletionsupport.cpp | 12 | ||||
-rw-r--r-- | src/plugins/cpptools/uicodecompletionsupport.h | 3 |
2 files changed, 10 insertions, 5 deletions
diff --git a/src/plugins/cpptools/uicodecompletionsupport.cpp b/src/plugins/cpptools/uicodecompletionsupport.cpp index 36af62f4a3..dc226b09a3 100644 --- a/src/plugins/cpptools/uicodecompletionsupport.cpp +++ b/src/plugins/cpptools/uicodecompletionsupport.cpp @@ -40,11 +40,11 @@ UiCodeModelSupport::UiCodeModelSupport(CppTools::CppModelManagerInterface *model : CppTools::AbstractEditorSupport(modelmanager), m_sourceName(source), m_fileName(uiHeaderFile), - m_updateIncludingFiles(false) + m_updateIncludingFiles(false), + m_initialized(false) { if (debug) qDebug()<<"ctor UiCodeModelSupport for"<<m_sourceName<<uiHeaderFile; - init(); } UiCodeModelSupport::~UiCodeModelSupport() @@ -53,8 +53,9 @@ UiCodeModelSupport::~UiCodeModelSupport() qDebug()<<"dtor ~UiCodeModelSupport for"<<m_sourceName; } -void UiCodeModelSupport::init() +void UiCodeModelSupport::init() const { + m_initialized = true; QDateTime sourceTime = QFileInfo(m_sourceName).lastModified(); QFileInfo uiHeaderFileInfo(m_fileName); QDateTime uiHeaderTime = uiHeaderFileInfo.exists() ? uiHeaderFileInfo.lastModified() : QDateTime(); @@ -84,7 +85,7 @@ void UiCodeModelSupport::init() // uic run was unsuccesfull if (debug) qDebug()<<"uic run wasn't succesfull"; - m_cacheTime = QDateTime(); + m_cacheTime = QDateTime (); m_contents = QByteArray(); // and if the header file wasn't there, next time we need to update // all of the files that include this header @@ -101,6 +102,9 @@ void UiCodeModelSupport::init() QByteArray UiCodeModelSupport::contents() const { + if (!m_initialized) + init(); + return m_contents; } diff --git a/src/plugins/cpptools/uicodecompletionsupport.h b/src/plugins/cpptools/uicodecompletionsupport.h index a274b540da..b03294960d 100644 --- a/src/plugins/cpptools/uicodecompletionsupport.h +++ b/src/plugins/cpptools/uicodecompletionsupport.h @@ -55,11 +55,12 @@ protected: virtual QString uicCommand() const = 0; virtual QStringList environment() const = 0; private: - void init(); + void init() const; bool runUic(const QString &ui) const; QString m_sourceName; QString m_fileName; mutable bool m_updateIncludingFiles; + mutable bool m_initialized; mutable QByteArray m_contents; mutable QDateTime m_cacheTime; }; |