/***************************************************************************
- * Copyright (C) 2006-2009 by Peter Penz <peter.penz@gmx.at> *
+ * Copyright (C) 2006-2009 by Peter Penz <peter.penz19@gmail.com> *
* Copyright (C) 2006 by Gregor Kališnik <gregor@podnapisi.net> *
* *
* This program is free software; you can redistribute it and/or modify *
#include <QTimer>
#include <QScrollBar>
-#include <kactioncollection.h>
-#include <kcolorscheme.h>
-#include <kdirlister.h>
-#include <kiconeffect.h>
-#include <kfileitem.h>
-#include <kfileitemlistproperties.h>
-#include <klocale.h>
-#include <kio/deletejob.h>
-#include <kio/netaccess.h>
-#include <kio/previewjob.h>
-#include <kjob.h>
-#include <kmenu.h>
-#include <kmessagebox.h>
+#include <KActionCollection>
+#include <KColorScheme>
+#include <KDirLister>
+#include <KIconEffect>
+#include <KFileItem>
+#include <KFileItemListProperties>
+#include <KLocale>
+#include <KIO/DeleteJob>
+#include <KIO/NetAccess>
+#include <KIO/PreviewJob>
+#include <KJob>
+#include <KMenu>
+#include <KMessageBox>
#include <konq_fileitemcapabilities.h>
#include <konq_operations.h>
#include <konqmimedata.h>
-#include <ktoggleaction.h>
-#include <kurl.h>
+#include <KToggleAction>
+#include <KUrl>
#include "additionalinfoaccessor.h"
#include "dolphindirlister.h"
{
KFileItemList itemList;
const QAbstractItemView* view = m_viewAccessor.itemView();
- if (view == 0) {
+ if (!view) {
return itemList;
}
int DolphinView::selectedItemsCount() const
{
const QAbstractItemView* view = m_viewAccessor.itemView();
- if (view == 0) {
+ if (!view) {
return 0;
}
dialog->raise();
dialog->activateWindow();
}
+
+ // assure that the current index remains visible when KDirLister
+ // will notify the view about changed items
+ m_assureVisibleCurrentIndex = true;
}
void DolphinView::trashSelectedItems()
return;
}
+ m_selectedItems = selectedItems();
+
const KUrl viewPropsUrl = rootUrl();
ViewProperties props(viewPropsUrl);
props.setShowHiddenFiles(show);
return QWidget::eventFilter(watched, event);
}
+void DolphinView::showEvent(QShowEvent* event)
+{
+ QWidget::showEvent(event);
+ if (!event->spontaneous()) {
+ loadDirectory(url());
+ }
+}
+
void DolphinView::activate()
{
setActive(true);
foreach (const KFileItemDelegate::Information& info, infoKeys) {
const QString name = infoAccessor.actionCollectionName(info, AdditionalInfoAccessor::AdditionalInfoType);
QAction* action = collection->action(name);
- Q_ASSERT(action != 0);
+ Q_ASSERT(action);
action->setEnabled(enable);
action->setChecked(checkedInfo.contains(info));
}
QSet<KUrl> urlsToExpand;
stream >> urlsToExpand;
const DolphinDetailsViewExpander* expander = m_viewAccessor.setExpandedUrls(urlsToExpand);
- if (expander != 0) {
+ if (expander) {
m_expanderActive = true;
connect (expander, SIGNAL(completed()), this, SLOT(slotLoadingCompleted()));
}
KFileItem currentItem;
const QAbstractItemView* view = m_viewAccessor.itemView();
- if (view != 0) {
+ if (view) {
const QModelIndex proxyIndex = view->currentIndex();
const QModelIndex dirModelIndex = m_viewAccessor.proxyModel()->mapToSource(proxyIndex);
currentItem = m_viewAccessor.dirModel()->itemForIndex(dirModelIndex);
bool DolphinView::hasSelection() const
{
const QAbstractItemView* view = m_viewAccessor.itemView();
- return (view != 0) && view->selectionModel()->hasSelection();
+ return view && view->selectionModel()->hasSelection();
}
void DolphinView::observeCreatedItem(const KUrl& url)
m_restoredContentsPosition = QPoint();
QAbstractItemView* view = m_viewAccessor.itemView();
- Q_ASSERT(view != 0);
+ Q_ASSERT(view);
view->horizontalScrollBar()->setValue(x);
view->verticalScrollBar()->setValue(y);
}
updateZoomLevel(oldZoomLevel);
}
- if (m_viewAccessor.itemView() == 0) {
+ if (!m_viewAccessor.itemView()) {
createView();
}
- Q_ASSERT(m_viewAccessor.itemView() != 0);
- Q_ASSERT(m_viewAccessor.itemDelegate() != 0);
+ Q_ASSERT(m_viewAccessor.itemView());
+ Q_ASSERT(m_viewAccessor.itemDelegate());
const bool showHiddenFiles = props.showHiddenFiles();
if (showHiddenFiles != m_viewAccessor.dirLister()->showingDotFiles()) {
{
deleteView();
- Q_ASSERT(m_viewAccessor.itemView() == 0);
- Q_ASSERT(m_dolphinViewController->itemView() == 0);
+ Q_ASSERT(!m_viewAccessor.itemView());
+ Q_ASSERT(!m_dolphinViewController->itemView());
m_viewAccessor.createView(this, m_dolphinViewController, m_viewModeController, m_mode);
QAbstractItemView* view = m_viewAccessor.itemView();
- Q_ASSERT(view != 0);
+ Q_ASSERT(view);
view->installEventFilter(this);
view->viewport()->installEventFilter(this);
void DolphinView::deleteView()
{
QAbstractItemView* view = m_viewAccessor.itemView();
- Q_ASSERT((m_dolphinViewController->itemView() == 0) || (m_dolphinViewController->itemView() == view));
+ Q_ASSERT(!m_dolphinViewController->itemView() || (m_dolphinViewController->itemView() == view));
m_dolphinViewController->setItemView(0);
- if (view != 0) {
+ if (view) {
disconnectViewAccessor();
if (hasFocus()) {
QMimeData* DolphinView::selectionMimeData() const
{
const QAbstractItemView* view = m_viewAccessor.itemView();
- Q_ASSERT((view != 0) && (view->selectionModel() != 0));
+ Q_ASSERT((view) && (view->selectionModel()));
const QItemSelection selection = m_viewAccessor.proxyModel()->mapSelectionToSource(view->selectionModel()->selection());
return m_viewAccessor.dirModel()->mimeData(selection.indexes());
}
connect(dirLister, SIGNAL(redirection(KUrl,KUrl)), this, SLOT(slotRedirection(KUrl,KUrl)));
connect(dirLister, SIGNAL(started(KUrl)), this, SLOT(slotDirListerStarted(KUrl)));
connect(dirLister, SIGNAL(completed()), this, SLOT(slotDirListerCompleted()));
- connect(dirLister, SIGNAL(canceled()), this, SLOT(slotDirListerCompleted()));
connect(dirLister, SIGNAL(refreshItems(const QList<QPair<KFileItem,KFileItem>>&)),
this, SLOT(slotRefreshItems()));
disconnect(dirLister, SIGNAL(redirection(KUrl,KUrl)), this, SLOT(slotRedirection(KUrl,KUrl)));
disconnect(dirLister, SIGNAL(started(KUrl)), this, SLOT(slotDirListerStarted(KUrl)));
disconnect(dirLister, SIGNAL(completed()), this, SLOT(slotDirListerCompleted()));
- disconnect(dirLister, SIGNAL(canceled()), this, SLOT(slotDirListerCompleted()));
disconnect(dirLister, SIGNAL(refreshItems(const QList<QPair<KFileItem,KFileItem>>&)),
this, SLOT(slotRefreshItems()));
const ViewModeController* viewModeController,
Mode mode)
{
- Q_ASSERT(itemView() == 0);
+ Q_ASSERT(!itemView());
switch (mode) {
case IconsView:
default:
Q_ASSERT(false);
}
+
+ KDirLister* lister = dirLister();
+ if (lister) {
+ lister->setMainWindow(parent->window());
+ }
}
void DolphinView::ViewAccessor::deleteView()
{
- if (m_columnsContainer != 0) {
+ if (m_columnsContainer) {
m_columnsContainer->close();
m_columnsContainer->disconnect();
m_columnsContainer->deleteLater();
m_columnsContainer = 0;
} else {
QAbstractItemView* view = itemView();
- if (view != 0) {
+ if (view) {
view->close();
view->disconnect();
// during drag operations" is used). Deleting the view
// during an ongoing drag operation is not allowed, so
// this will postponed.
- if (m_dragSource != 0) {
+ if (m_dragSource) {
// the old stored view is obviously not the drag source anymore
m_dragSource->deleteLater();
m_dragSource = 0;
void DolphinView::ViewAccessor::prepareUrlChange(const KUrl& url)
{
- if (m_columnsContainer != 0) {
+ if (m_columnsContainer) {
m_columnsContainer->showColumn(url);
}
}
QAbstractItemView* DolphinView::ViewAccessor::itemView() const
{
- if (m_iconsView != 0) {
+ if (m_iconsView) {
return m_iconsView;
}
- if (m_detailsView != 0) {
+ if (m_detailsView) {
return m_detailsView;
}
- if (m_columnsContainer != 0) {
+ if (m_columnsContainer) {
return m_columnsContainer->activeColumn();
}
QWidget* DolphinView::ViewAccessor::layoutTarget() const
{
- if (m_columnsContainer != 0) {
+ if (m_columnsContainer) {
return m_columnsContainer;
}
return itemView();
KUrl DolphinView::ViewAccessor::rootUrl() const
{
- return (m_columnsContainer != 0) ? m_columnsContainer->rootUrl() : m_rootUrl;
+ return m_columnsContainer ? m_columnsContainer->rootUrl() : m_rootUrl;
}
bool DolphinView::ViewAccessor::supportsCategorizedSorting() const
bool DolphinView::ViewAccessor::itemsExpandable() const
{
- return (m_detailsView != 0) && m_detailsView->itemsExpandable();
+ return m_detailsView && m_detailsView->itemsExpandable();
}
QSet<KUrl> DolphinView::ViewAccessor::expandedUrls() const
{
- if (m_detailsView != 0) {
+ if (m_detailsView) {
return m_detailsView->expandedUrls();
}
const DolphinDetailsViewExpander* DolphinView::ViewAccessor::setExpandedUrls(const QSet<KUrl>& urlsToExpand)
{
- if ((m_detailsView != 0) && m_detailsView->itemsExpandable() && !urlsToExpand.isEmpty()) {
+ if (m_detailsView && m_detailsView->itemsExpandable() && !urlsToExpand.isEmpty()) {
// Check if another expander is already active and stop it if necessary.
if(!m_detailsViewExpander.isNull()) {
m_detailsViewExpander->stop();
DolphinSortFilterProxyModel* DolphinView::ViewAccessor::proxyModel() const
{
- if (m_columnsContainer != 0) {
+ if (m_columnsContainer) {
return static_cast<DolphinSortFilterProxyModel*>(m_columnsContainer->activeColumn()->model());
}
return m_proxyModel;