┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src/views/versioncontrol/versioncontrolobserver.cpp
diff options
context:
space:
mode:
authorPeter Penz <[email protected]>2011-09-08 18:57:52 +0200
committerPeter Penz <[email protected]>2011-09-08 18:58:59 +0200
commitbe629fe8501941138da849cf1179ad67cd5570cb (patch)
treef10197fcac7c698a3768327475ef7b339a2f6397 /src/views/versioncontrol/versioncontrolobserver.cpp
parentf8f78f223cf9549556bcbd9214a1e530d5217069 (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.cpp50
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;