#include "dolphin_folderspanelsettings.h"
#include "dolphin_generalsettings.h"
#include "treeviewcontextmenu.h"
+#include "foldersitemlistwidget.h"
+#include <views/renamedialog.h>
#include <kitemviews/kitemlistselectionmanager.h>
#include <kitemviews/kfileitemlistview.h>
#include <kitemviews/kfileitemlistwidget.h>
void FoldersPanel::rename(const KFileItem& item)
{
- const int index = m_model->index(item);
- m_controller->view()->editRole(index, "text");
+ if (GeneralSettings::renameInline()) {
+ const int index = m_model->index(item);
+ m_controller->view()->editRole(index, "text");
+ } else {
+ RenameDialog* dialog = new RenameDialog(this, KFileItemList() << item);
+ dialog->setAttribute(Qt::WA_DeleteOnClose);
+ dialog->show();
+ dialog->raise();
+ dialog->activateWindow();
+ }
}
bool FoldersPanel::urlChanged()
// This assures that no performance and memory overhead is given when the folders panel is not
// used at all and stays invisible.
KFileItemListView* view = new KFileItemListView();
+ view->setWidgetCreator(new KItemListWidgetCreator<FoldersItemListWidget>());
view->setSupportsItemExpanding(true);
// Set the opacity to 0 initially. The opacity will be increased after the loading of the initial tree
// has been finished in slotLoadingCompleted(). This prevents an unnecessary animation-mess when
m_controller = new KItemListController(m_model, view, this);
m_controller->setSelectionBehavior(KItemListController::SingleSelection);
+ m_controller->setAutoActivationBehavior(KItemListController::ExpansionOnly);
+ m_controller->setMouseDoubleClickAction(KItemListController::ActivateAndExpandItem);
m_controller->setAutoActivationDelay(750);
m_controller->setSingleClickActivation(true);
{
const KFileItem item = m_model->fileItem(index);
if (!item.isNull()) {
- emit changeUrl(item.url(), Qt::LeftButton);
+ emit folderActivated(item.url());
}
}
{
const KFileItem item = m_model->fileItem(index);
if (!item.isNull()) {
- emit changeUrl(item.url(), Qt::MiddleButton);
+ emit folderMiddleClicked(item.url());
}
}
event->buttons(),
event->modifiers());
- DragAndDropHelper::dropUrls(destItem, destItem.url(), &dropEvent);
+ const QString error = DragAndDropHelper::dropUrls(destItem, destItem.url(), &dropEvent);
+ if (!error.isEmpty()) {
+ emit errorMessage(error);
+ }
}
}