X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/d50f2fab2b4f5ca3ddea78ed62952875ae74acd9..a124f2ada3bc3f36862dd2e207ceb68672610929:/src/dolphindetailsview.cpp diff --git a/src/dolphindetailsview.cpp b/src/dolphindetailsview.cpp index bcf385d36..79a1a106d 100644 --- a/src/dolphindetailsview.cpp +++ b/src/dolphindetailsview.cpp @@ -27,6 +27,7 @@ #include "draganddrophelper.h" #include "selectionmanager.h" #include "viewproperties.h" +#include "zoomlevelinfo.h" #include "dolphin_detailsmodesettings.h" #include "dolphin_generalsettings.h" @@ -60,6 +61,7 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr Q_ASSERT(settings != 0); Q_ASSERT(controller != 0); + setLayoutDirection(Qt::LeftToRight); setAcceptDrops(true); setSortingEnabled(true); setUniformRowHeights(true); @@ -135,8 +137,12 @@ DolphinDetailsView::DolphinDetailsView(QWidget* parent, DolphinController* contr setVerticalScrollMode(QTreeView::ScrollPerPixel); setHorizontalScrollMode(QTreeView::ScrollPerPixel); + + const DolphinView* view = controller->dolphinView(); + connect(view, SIGNAL(showPreviewChanged()), + this, SLOT(slotShowPreviewChanged())); - updateDecorationSize(); + updateDecorationSize(view->showPreview()); setFocus(); viewport()->installEventFilter(this); @@ -343,18 +349,12 @@ void DolphinDetailsView::dragMoveEvent(QDragMoveEvent* event) void DolphinDetailsView::dropEvent(QDropEvent* event) { - const KUrl::List urls = KUrl::List::fromMimeData(event->mimeData()); - if (!urls.isEmpty()) { - event->acceptProposedAction(); - const QModelIndex index = indexAt(event->pos()); - KFileItem item; - if (index.isValid() && (index.column() == DolphinModel::Name)) { - item = m_controller->itemForIndex(index); - } - m_controller->indicateDroppedUrls(urls, - m_controller->url(), - item); + const QModelIndex index = indexAt(event->pos()); + KFileItem item; + if (index.isValid() && (index.column() == DolphinModel::Name)) { + item = m_controller->itemForIndex(index); } + m_controller->indicateDroppedUrls(item, m_controller->url(), event); QTreeView::dropEvent(event); } @@ -491,11 +491,24 @@ QRect DolphinDetailsView::elasticBandRect() const void DolphinDetailsView::setZoomLevel(int level) { - const int size = DolphinController::iconSizeForZoomLevel(level); + const int size = ZoomLevelInfo::iconSizeForZoomLevel(level); DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); - settings->setIconSize(size); - updateDecorationSize(); + const bool showPreview = m_controller->dolphinView()->showPreview(); + if (showPreview) { + settings->setPreviewSize(size); + } else { + settings->setIconSize(size); + } + + updateDecorationSize(showPreview); +} + + +void DolphinDetailsView::slotShowPreviewChanged() +{ + const DolphinView* view = m_controller->dolphinView(); + updateDecorationSize(view->showPreview()); } void DolphinDetailsView::configureColumns(const QPoint& pos) @@ -583,10 +596,10 @@ void DolphinDetailsView::updateFont() } } -void DolphinDetailsView::updateDecorationSize() +void DolphinDetailsView::updateDecorationSize(bool showPreview) { DetailsModeSettings* settings = DolphinSettings::instance().detailsModeSettings(); - const int iconSize = settings->iconSize(); + const int iconSize = showPreview ? settings->previewSize() : settings->iconSize(); setIconSize(QSize(iconSize, iconSize)); m_decorationSize = QSize(iconSize, iconSize);