From 549022b55fb40c365e4791299eb873a350a70cad Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Mon, 10 Jan 2011 12:13:27 +0100 Subject: [PATCH] Maemo: Tell file manager not to bother the user with expected updates. --- .../qt-maemo/maemodeployablelistmodel.cpp | 2 ++ .../qt4projectmanager/qt-maemo/maemoglobal.cpp | 12 ++++++++++++ src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h | 8 ++++++++ .../qt-maemo/maemotemplatesmanager.cpp | 9 +++++++-- 4 files changed, 29 insertions(+), 2 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp index 08abf961918..3b0a451eb4b 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp @@ -230,6 +230,7 @@ bool MaemoDeployableListModel::addDesktopFile(QString &error) return true; const QString desktopFilePath = QFileInfo(m_proFilePath).path() + QLatin1Char('/') + m_projectName + QLatin1String(".desktop"); + MaemoGlobal::FileUpdate update(desktopFilePath); QFile desktopFile(desktopFilePath); const bool existsAlready = desktopFile.exists(); if (!desktopFile.open(QIODevice::ReadWrite)) { @@ -316,6 +317,7 @@ QString MaemoDeployableListModel::remoteIconFilePath() const bool MaemoDeployableListModel::addLinesToProFile(const QStringList &lines) { QFile projectFile(m_proFilePath); + MaemoGlobal::FileUpdate update(m_proFilePath); if (!projectFile.open(QIODevice::WriteOnly | QIODevice::Append)) { qWarning("Error opening .pro file for writing."); return false; diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp index 5a16e2e2ee0..240da923da0 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp @@ -36,6 +36,7 @@ #include "maemoconstants.h" #include "maemodeviceconfigurations.h" +#include #include #include #include @@ -212,5 +213,16 @@ bool MaemoGlobal::callMaddeShellScript(QProcess &proc, const QString &maddeRoot, return true; } +MaemoGlobal::FileUpdate::FileUpdate(const QString &fileName) + : m_fileName(fileName) +{ + Core::FileManager::instance()->expectFileChange(fileName); +} + +MaemoGlobal::FileUpdate::~FileUpdate() +{ + Core::FileManager::instance()->unexpectFileChange(m_fileName); +} + } // namespace Internal } // namespace Qt4ProjectManager diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h index c9484ed4ead..7dc658c3201 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h +++ b/src/plugins/qt4projectmanager/qt-maemo/maemoglobal.h @@ -63,6 +63,14 @@ class MaemoGlobal public: enum MaemoVersion { Maemo5, Maemo6 }; + class FileUpdate { + public: + FileUpdate(const QString &fileName); + ~FileUpdate(); + private: + const QString m_fileName; + }; + static QString homeDirOnDevice(const QString &uname); static QString remoteSudo(); static QString remoteCommandPrefix(const QString &commandFilePath); diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemotemplatesmanager.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemotemplatesmanager.cpp index a18fa7cdc24..43037f41f18 100644 --- a/src/plugins/qt4projectmanager/qt-maemo/maemotemplatesmanager.cpp +++ b/src/plugins/qt4projectmanager/qt-maemo/maemotemplatesmanager.cpp @@ -458,8 +458,10 @@ QString MaemoTemplatesManager::version(const Project *project, bool MaemoTemplatesManager::setVersion(const Project *project, const QString &version, QString *error) const { + const QString filePath = changeLogFilePath(project); + MaemoGlobal::FileUpdate update(filePath); QSharedPointer changeLog - = openFile(changeLogFilePath(project), QIODevice::ReadWrite, error); + = openFile(filePath, QIODevice::ReadWrite, error); if (!changeLog) return false; @@ -496,8 +498,10 @@ QIcon MaemoTemplatesManager::packageManagerIcon(const Project *project, bool MaemoTemplatesManager::setPackageManagerIcon(const Project *project, const QString &iconFilePath, QString *error) const { + const QString filePath = controlFilePath(project); + MaemoGlobal::FileUpdate update(filePath); const QSharedPointer controlFile - = openFile(controlFilePath(project), QIODevice::ReadWrite, error); + = openFile(filePath, QIODevice::ReadWrite, error); if (!controlFile) return false; const QPixmap pixmap(iconFilePath); @@ -577,6 +581,7 @@ bool MaemoTemplatesManager::setFieldValue(const Project *project, const QByteArray &fieldName, const QByteArray &fieldValue) { QFile controlFile(controlFilePath(project)); + MaemoGlobal::FileUpdate update(controlFile.fileName()); if (!controlFile.open(QIODevice::ReadWrite)) return false; QByteArray contents = controlFile.readAll();