summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools
diff options
context:
space:
mode:
authordt <qtc-committer@nokia.com>2010-09-24 13:17:43 +0200
committerdt <qtc-committer@nokia.com>2010-10-04 15:09:59 +0200
commit61b4cb7ffa1fc73421c6f5f452457cbd6249db89 (patch)
treeeed7261245cc03367cacc5e7e9847f0ec5e20813 /src/plugins/cpptools
parenta2809fdfebff8eb4f213a554c00f7bac0c6738e3 (diff)
downloadqt-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.cpp12
-rw-r--r--src/plugins/cpptools/uicodecompletionsupport.h3
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;
};