#include "draganddrophelper.h"
#include "selectionmanager.h"
#include "viewproperties.h"
+#include "zoomlevelinfo.h"
#include "dolphin_detailsmodesettings.h"
#include "dolphin_generalsettings.h"
Q_ASSERT(settings != 0);
Q_ASSERT(controller != 0);
+ setLayoutDirection(Qt::LeftToRight);
setAcceptDrops(true);
setSortingEnabled(true);
setUniformRowHeights(true);
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);
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);
}
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)
}
}
-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);