X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/acee6d0fc59e1c1c5e1d842620245ee3d1e514b7..51bd6cfdfad4d1be706f6dc125762889c19fcc5a:/src/views/dolphinview.cpp diff --git a/src/views/dolphinview.cpp b/src/views/dolphinview.cpp index a31bf566d..80be1e592 100644 --- a/src/views/dolphinview.cpp +++ b/src/views/dolphinview.cpp @@ -137,9 +137,6 @@ DolphinView::DolphinView(const KUrl& url, QWidget* parent) : KItemListController* controller = m_container->controller(); controller->setSelectionBehavior(KItemListController::MultiSelection); - if (GeneralSettings::autoExpandFolders()) { - controller->setAutoActivationDelay(750); - } connect(controller, SIGNAL(itemActivated(int)), this, SLOT(slotItemActivated(int))); connect(controller, SIGNAL(itemsActivated(QSet)), this, SLOT(slotItemsActivated(QSet))); connect(controller, SIGNAL(itemMiddleClicked(int)), this, SLOT(slotItemMiddleClicked(int))); @@ -449,11 +446,24 @@ void DolphinView::stopLoading() m_dirLister->stop(); } -void DolphinView::refresh() +void DolphinView::readSettings() { + const int oldZoomLevel = m_container->zoomLevel(); + GeneralSettings::self()->readConfig(); - m_container->refresh(); + m_container->readSettings(); applyViewProperties(); + + const int newZoomLevel = m_container->zoomLevel(); + if (newZoomLevel != oldZoomLevel) { + emit zoomLevelChanged(newZoomLevel, oldZoomLevel); + } +} + +void DolphinView::writeSettings() +{ + GeneralSettings::self()->writeConfig(); + m_container->writeSettings(); } void DolphinView::setNameFilter(const QString& nameFilter) @@ -684,6 +694,12 @@ void DolphinView::wheelEvent(QWheelEvent* event) } } +void DolphinView::hideEvent(QHideEvent* event) +{ + hideToolTip(); + QWidget::hideEvent(event); +} + void DolphinView::activate() { setActive(true); @@ -812,13 +828,16 @@ void DolphinView::slotItemUnhovered(int index) void DolphinView::slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* event) { + KUrl destUrl; KFileItem destItem = fileItemModel()->fileItem(index); - if (destItem.isNull()) { + if (destItem.isNull() || (!destItem.isDir() && !destItem.isDesktopFile())) { + // Use the URL of the view as drop target if the item is no directory + // or desktop-file destItem = fileItemModel()->rootItem(); - if (destItem.isNull()) { - kWarning() << "No destination item available for drop operation."; - return; - } + destUrl = url(); + } else { + // The item represents a directory or desktop-file + destUrl = destItem.url(); } QDropEvent dropEvent(event->pos().toPoint(), @@ -827,7 +846,7 @@ void DolphinView::slotItemDropEvent(int index, QGraphicsSceneDragDropEvent* even event->buttons(), event->modifiers()); - const QString error = DragAndDropHelper::dropUrls(destItem, &dropEvent); + const QString error = DragAndDropHelper::dropUrls(destItem, destUrl, &dropEvent); if (!error.isEmpty()) { emit errorMessage(error); } @@ -866,16 +885,6 @@ void DolphinView::emitSelectionChangedSignal() emit selectionChanged(selectedItems()); } -void DolphinView::dropUrls(const KFileItem& destItem, - const KUrl& destPath, - QDropEvent* event) -{ - Q_UNUSED(destItem); - Q_UNUSED(destPath); - markPastedUrlsAsSelected(event->mimeData()); - //DragAndDropHelper::instance().dropUrls(destItem, destPath, event, this); -} - void DolphinView::updateSorting(DolphinView::Sorting sorting) { ViewProperties props(url());