QList<QAction*> DolphinView::versionControlActions(const KFileItemList& items) const
{
- Q_UNUSED(items);
- return QList<QAction*>(); //m_dolphinViewController->versionControlActions(items);
+ QList<QAction*> actions;
+
+ if (items.isEmpty()) {
+ const KUrl url = fileItemModel()->rootDirectory();
+ actions = m_versionControlObserver->contextMenuActions(url.path(KUrl::AddTrailingSlash));
+ } else {
+ actions = m_versionControlObserver->contextMenuActions(items);
+ }
+
+ return actions;
}
void DolphinView::setUrl(const KUrl& url)
QList<QAction*> VersionControlObserver::contextMenuActions(const KFileItemList& items) const
{
QList<QAction*> actions;
- if (isVersioned() && m_updateItemStatesThread->lockPlugin()) {
- actions = m_plugin->contextMenuActions(items);
- m_updateItemStatesThread->unlockPlugin();
+ if (isVersioned()) {
+ if (m_updateItemStatesThread && m_updateItemStatesThread->lockPlugin()) {
+ actions = m_plugin->contextMenuActions(items);
+ m_updateItemStatesThread->unlockPlugin();
+ } else {
+ actions = m_plugin->contextMenuActions(items);
+ }
}
+
return actions;
}
QList<QAction*> VersionControlObserver::contextMenuActions(const QString& directory) const
{
QList<QAction*> actions;
- if (isVersioned() && m_updateItemStatesThread->lockPlugin()) {
- actions = m_plugin->contextMenuActions(directory);
- m_updateItemStatesThread->unlockPlugin();
+ if (isVersioned()) {
+ if (m_updateItemStatesThread && m_updateItemStatesThread->lockPlugin()) {
+ actions = m_plugin->contextMenuActions(directory);
+ m_updateItemStatesThread->unlockPlugin();
+ } else {
+ actions = m_plugin->contextMenuActions(directory);
+ }
}
return actions;
bool VersionControlObserver::isVersioned() const
{
- return false; //m_dolphinModel->hasVersionData() && m_plugin;
+ return m_versionedDirectory && m_plugin;
}
#include "versioncontrolobserver.moc"