return urls;
}
+int DolphinView::selectedItemsCount() const
+{
+ if (isColumnViewActive()) {
+ // TODO: get rid of this special case by adjusting the dir lister
+ // to the current column
+ return m_columnView->selectedItems().count();
+ }
+
+ return itemView()->selectionModel()->selection().count();
+}
+
void DolphinView::setContentsPosition(int x, int y)
{
QAbstractItemView* view = itemView();
void DolphinView::renameSelectedItems()
{
const KFileItemList items = selectedItems();
- if (items.count() > 1) {
+ const int itemCount = items.count();
+ if (itemCount < 1) {
+ return;
+ }
+
+ if (itemCount > 1) {
// More than one item has been selected for renaming. Open
// a rename dialog and rename all items afterwards.
RenameDialog dialog(this, items);
}
}
} else if (DolphinSettings::instance().generalSettings()->renameInline()) {
- Q_ASSERT(items.count() == 1);
-
if (isColumnViewActive()) {
m_columnView->editItem(items.first());
} else {
itemView()->edit(proxyIndex);
}
} else {
- Q_ASSERT(items.count() == 1);
-
RenameDialog dialog(this, items);
if (dialog.exec() == QDialog::Rejected) {
return;
const KFileItem& destItem)
{
Q_ASSERT(!urls.isEmpty());
- const KUrl& destination = !destItem.isNull() && destItem.isDir() ?
- destItem.url() : destPath;
+ const KUrl destination = !destItem.isNull() && destItem.isDir() ?
+ destItem.url() : destPath;
const KUrl sourceDir = KUrl(urls.first().directory());
if (sourceDir != destination) {
- dropUrls(urls, destination);
+ DolphinDropController dropController(this);
+ // forward doingOperation signal up to the mainwindow
+ connect(&dropController, SIGNAL(doingOperation(KIO::FileUndoManager::CommandType)),
+ this, SIGNAL(doingOperation(KIO::FileUndoManager::CommandType)));
+ dropController.dropUrls(urls, destination);
}
}
-void DolphinView::dropUrls(const KUrl::List& urls,
- const KUrl& destination)
-{
- DolphinDropController dropController(this);
- // forward doingOperation signal up to the mainwindow
- connect(&dropController, SIGNAL(doingOperation(KIO::FileUndoManager::CommandType)),
- this, SIGNAL(doingOperation(KIO::FileUndoManager::CommandType)));
- dropController.dropUrls(urls, destination);
-}
-
void DolphinView::updateSorting(DolphinView::Sorting sorting)
{
ViewProperties props(viewPropertiesUrl());
{
QAbstractItemView* view = itemView();
if (view != 0) {
+ // It's important to set the keyboard focus to the parent
+ // before deleting the view: Otherwise when having a split
+ // view the other view will get the focus and will request
+ // an activation (see DolphinView::eventFilter()).
+ setFocus();
+
m_topLayout->removeWidget(view);
view->close();
view->deleteLater();