diff options
| author | Peter Penz <[email protected]> | 2011-09-08 18:57:52 +0200 |
|---|---|---|
| committer | Peter Penz <[email protected]> | 2011-09-08 18:58:59 +0200 |
| commit | be629fe8501941138da849cf1179ad67cd5570cb (patch) | |
| tree | f10197fcac7c698a3768327475ef7b339a2f6397 /src/views/versioncontrol/versioncontrolobserver.cpp | |
| parent | f8f78f223cf9549556bcbd9214a1e530d5217069 (diff) | |
Version control: Apply text-color if an item is versioned
Diffstat (limited to 'src/views/versioncontrol/versioncontrolobserver.cpp')
| -rw-r--r-- | src/views/versioncontrol/versioncontrolobserver.cpp | 50 |
1 files changed, 18 insertions, 32 deletions
diff --git a/src/views/versioncontrol/versioncontrolobserver.cpp b/src/views/versioncontrol/versioncontrolobserver.cpp index c4824ac59..14f5e0bc9 100644 --- a/src/views/versioncontrol/versioncontrolobserver.cpp +++ b/src/views/versioncontrol/versioncontrolobserver.cpp @@ -165,8 +165,6 @@ void VersionControlObserver::verifyDirectory() // The directory is versioned. Assume that the user will further browse through // versioned directories and decrease the verification timer. m_dirVerificationTimer->setInterval(100); - connect(m_model, SIGNAL(itemsInserted(KItemRangeList)), - this, SLOT(delayedDirectoryVerification())); } updateItemStates(); } else if (m_versionedDirectory) { @@ -176,8 +174,6 @@ void VersionControlObserver::verifyDirectory() // value, so that browsing through non-versioned directories is not slown down // by an immediate verification. m_dirVerificationTimer->setInterval(500); - disconnect(m_model, SIGNAL(itemsInserted(KItemRangeList)), - this, SLOT(delayedDirectoryVerification())); } } @@ -196,7 +192,7 @@ void VersionControlObserver::slotThreadFinished() const QList<ItemState> itemStates = m_updateItemStatesThread->itemStates(); foreach (const ItemState& itemState, itemStates) { QHash<QByteArray, QVariant> values; - values.insert("version", QVariant(static_cast<int>(itemState.version))); + values.insert("version", QVariant(itemState.version)); m_model->setData(itemState.index, values); } @@ -229,7 +225,18 @@ void VersionControlObserver::updateItemStates() } QList<ItemState> itemStates; - //addDirectory(QModelIndex(), itemStates); + const int itemCount = m_model->count(); + itemStates.reserve(itemCount); + + for (int i = 0; i < itemCount; ++i) { + ItemState itemState; + itemState.index = i; + itemState.item = m_model->fileItem(i); + itemState.version = KVersionControlPlugin::UnversionedVersion; + + itemStates.append(itemState); + } + if (!itemStates.isEmpty()) { if (!m_silentUpdate) { emit infoMessage(i18nc("@info:status", "Updating version information...")); @@ -239,24 +246,6 @@ void VersionControlObserver::updateItemStates() } } -/*void VersionControlObserver::addDirectory(const QModelIndex& parentIndex, QList<ItemState>& itemStates) -{ - Q_UNUSED(parentIndex); - Q_UNUSED(itemStates); - const int rowCount = m_dolphinModel->rowCount(parentIndex); - for (int row = 0; row < rowCount; ++row) { - const QModelIndex index = m_dolphinModel->index(row, DolphinModel::Version, parentIndex); - addDirectory(index, itemStates); - - ItemState itemState; - itemState.index = index; - itemState.item = m_dolphinModel->itemForIndex(index); - itemState.version = KVersionControlPlugin::UnversionedVersion; - - itemStates.append(itemState); - } -}*/ - KVersionControlPlugin* VersionControlObserver::searchPlugin(const KUrl& directory) const { static bool pluginsAvailable = true; @@ -293,11 +282,8 @@ KVersionControlPlugin* VersionControlObserver::searchPlugin(const KUrl& director Q_UNUSED(directory); foreach (KVersionControlPlugin* plugin, plugins) { // Use the KDirLister cache to check for .svn, .git, ... files - KUrl dirUrl(directory); - KUrl fileUrl = dirUrl; - fileUrl.addPath(plugin->fileName()); - const KFileItem item; // = m_dirLister->findByUrl(fileUrl); - if (!item.isNull()) { + const QString fileName = directory.path(KUrl::AddTrailingSlash) + plugin->fileName(); + if (QFile::exists(fileName)) { return plugin; } @@ -308,11 +294,11 @@ KVersionControlPlugin* VersionControlObserver::searchPlugin(const KUrl& director // m_versionedDirectory. Drawback: Until e. g. Git is recognized, the root directory // must be shown at least once. if (m_versionedDirectory) { + KUrl dirUrl(directory); KUrl upUrl = dirUrl.upUrl(); while (upUrl != dirUrl) { - const QString filePath = dirUrl.pathOrUrl(KUrl::AddTrailingSlash) + plugin->fileName(); - QFileInfo file(filePath); - if (file.exists()) { + const QString fileName = dirUrl.path(KUrl::AddTrailingSlash) + plugin->fileName(); + if (QFile::exists(fileName)) { return plugin; } dirUrl = upUrl; |
