m_topLayout->setSpacing(0);
m_topLayout->setMargin(0);
- connect(m_dirLister, SIGNAL(completed()),
- this, SLOT(updateCutItems()));
-
m_controller = new DolphinController(this);
m_controller->setUrl(url);
m_mode = mode;
- if (isColumnViewActive()) {
- // When changing the mode in the column view, it makes sense
- // to go back to the root URL of the column view automatically.
- // Otherwise there it would not be possible to turn off the column view
- // without focusing the first column.
- const KUrl root = rootUrl();
- setUrl(root);
- m_controller->setUrl(root);
- }
-
deleteView();
const KUrl viewPropsUrl = viewPropertiesUrl();
m_iconManager->setShowPreview(show);
emit showPreviewChanged();
- loadDirectory(viewPropsUrl, true);
+ loadDirectory(viewPropsUrl);
}
bool DolphinView::showPreview() const
m_dirLister->setShowingDotFiles(show);
emit showHiddenFilesChanged();
- loadDirectory(viewPropsUrl, true);
+ loadDirectory(viewPropsUrl);
}
bool DolphinView::showHiddenFiles() const
if (itemView() != m_detailsView) {
// the details view requires no reloading of the directory, as it maps
// the file item delegate info to its columns internally
- loadDirectory(viewPropsUrl, true);
+ loadDirectory(viewPropsUrl);
}
}
QWidget::mouseReleaseEvent(event);
setActive(true);
}
+
+void DolphinView::wheelEvent(QWheelEvent* event)
+{
+ if (event->modifiers() & Qt::ControlModifier) {
+ const int delta = event->delta();
+ if ((delta > 0) && isZoomInPossible()) {
+ zoomIn();
+ } else if ((delta < 0) && isZoomOutPossible()) {
+ zoomOut();
+ }
+ event->accept();
+ }
+}
+
+bool DolphinView::eventFilter(QObject* watched, QEvent* event)
+{
+ if ((watched == itemView()) && (event->type() == QEvent::FocusIn)) {
+ m_controller->requestActivation();
+ }
+
+ return QWidget::eventFilter(watched, event);
+}
+
void DolphinView::activate()
{
setActive(true);
KUrl DolphinView::viewPropertiesUrl() const
{
if (isColumnViewActive()) {
- return m_dirLister->url();
+ return m_columnView->rootUrl();
}
return url();
m_fileItemDelegate->setShowInformation(info);
- emit additionalInfoChanged(); // will call updateAdditionalInfoActions just below
+ emit additionalInfoChanged();
}
void DolphinView::updateAdditionalInfoActions(KActionCollection* collection)
}
Q_ASSERT(view != 0);
+ view->installEventFilter(this);
+
+ m_controller->setItemView(view);
m_fileItemDelegate = new KFileItemDelegate(view);
view->setItemDelegate(m_fileItemDelegate);
return false;
}
-KToggleAction* DolphinView::iconsModeAction(KActionCollection* actionCollection)
-{
- KToggleAction* iconsView = actionCollection->add<KToggleAction>("icons");
- iconsView->setText(i18nc("@action:inmenu View Mode", "Icons"));
- iconsView->setShortcut(Qt::CTRL | Qt::Key_1);
- iconsView->setIcon(KIcon("view-list-icons"));
- iconsView->setData(QVariant::fromValue(IconsView));
- return iconsView;
-}
-
-KToggleAction* DolphinView::detailsModeAction(KActionCollection* actionCollection)
-{
- KToggleAction* detailsView = actionCollection->add<KToggleAction>("details");
- detailsView->setText(i18nc("@action:inmenu View Mode", "Details"));
- detailsView->setShortcut(Qt::CTRL | Qt::Key_2);
- detailsView->setIcon(KIcon("view-list-details"));
- detailsView->setData(QVariant::fromValue(DetailsView));
- return detailsView;
-}
-
-KToggleAction* DolphinView::columnsModeAction(KActionCollection* actionCollection)
-{
- KToggleAction* columnView = actionCollection->add<KToggleAction>("columns");
- columnView->setText(i18nc("@action:inmenu View Mode", "Columns"));
- columnView->setShortcut(Qt::CTRL | Qt::Key_3);
- columnView->setIcon(KIcon("view-file-columns"));
- columnView->setData(QVariant::fromValue(ColumnView));
- return columnView;
-}
-
-QString DolphinView::currentViewModeActionName() const
-{
- switch (m_mode) {
- case DolphinView::IconsView:
- return "icons";
- case DolphinView::DetailsView:
- return "details";
- case DolphinView::ColumnView:
- return "columns";
- }
- return QString(); // can't happen
-}
-
void DolphinView::renameSelectedItems()
{
const KFileItemList items = selectedItems();
return ret;
}
-KAction* DolphinView::createRenameAction(KActionCollection* collection)
-{
- KAction* rename = collection->addAction("rename");
- rename->setText(i18nc("@action:inmenu File", "Rename..."));
- rename->setShortcut(Qt::Key_F2);
- return rename;
-}
-
-KAction* DolphinView::createMoveToTrashAction(KActionCollection* collection)
-{
- KAction* moveToTrash = collection->addAction("move_to_trash");
- moveToTrash->setText(i18nc("@action:inmenu File", "Move to Trash"));
- moveToTrash->setIcon(KIcon("user-trash"));
- moveToTrash->setShortcut(QKeySequence::Delete);
- return moveToTrash;
-}
-
-KAction* DolphinView::createDeleteAction(KActionCollection* collection)
-{
- KAction* deleteAction = collection->addAction("delete");
- deleteAction->setIcon(KIcon("edit-delete"));
- deleteAction->setText(i18nc("@action:inmenu File", "Delete"));
- deleteAction->setShortcut(Qt::SHIFT | Qt::Key_Delete);
- return deleteAction;
-}
-
-KAction* DolphinView::createNewDirAction(KActionCollection* collection)
-{
- // This action doesn't appear in the GUI, it's for the shortcut only.
- // KNewMenu takes care of the GUI stuff.
- KAction* newDirAction = collection->addAction("create_dir");
- newDirAction->setText(i18n("Create Folder..."));
- newDirAction->setShortcut(Qt::Key_F10);
- return newDirAction;
-}
-
-KAction* DolphinView::createSortDescendingAction(KActionCollection* collection)
-{
- KToggleAction* sortDescending = collection->add<KToggleAction>("descending");
- sortDescending->setText(i18nc("@action:inmenu Sort", "Descending"));
- return sortDescending;
-}
-
-QActionGroup* DolphinView::createAdditionalInformationActionGroup(KActionCollection* collection)
-{
- QActionGroup* showInformationGroup = new QActionGroup(collection);
- showInformationGroup->setExclusive(false);
-
- KToggleAction* showSizeInfo = collection->add<KToggleAction>("show_size_info");
- showSizeInfo->setText(i18nc("@action:inmenu Additional information", "Size"));
- showSizeInfo->setData(KFileItemDelegate::Size);
- showSizeInfo->setActionGroup(showInformationGroup);
-
- KToggleAction* showDateInfo = collection->add<KToggleAction>("show_date_info");
- showDateInfo->setText(i18nc("@action:inmenu Additional information", "Date"));
- showDateInfo->setData(KFileItemDelegate::ModificationTime);
- showDateInfo->setActionGroup(showInformationGroup);
-
- KToggleAction* showPermissionsInfo = collection->add<KToggleAction>("show_permissions_info");
- showPermissionsInfo->setText(i18nc("@action:inmenu Additional information", "Permissions"));
- showPermissionsInfo->setData(KFileItemDelegate::Permissions);
- showPermissionsInfo->setActionGroup(showInformationGroup);
-
- KToggleAction* showOwnerInfo = collection->add<KToggleAction>("show_owner_info");
- showOwnerInfo->setText(i18nc("@action:inmenu Additional information", "Owner"));
- showOwnerInfo->setData(KFileItemDelegate::Owner);
- showOwnerInfo->setActionGroup(showInformationGroup);
-
- KToggleAction* showGroupInfo = collection->add<KToggleAction>("show_group_info");
- showGroupInfo->setText(i18nc("@action:inmenu Additional information", "Group"));
- showGroupInfo->setData(KFileItemDelegate::OwnerAndGroup);
- showGroupInfo->setActionGroup(showInformationGroup);
-
- KToggleAction* showMimeInfo = collection->add<KToggleAction>("show_mime_info");
- showMimeInfo->setText(i18nc("@action:inmenu Additional information", "Type"));
- showMimeInfo->setData(KFileItemDelegate::FriendlyMimeType);
- showMimeInfo->setActionGroup(showInformationGroup);
-
- return showInformationGroup;
-}
-
#include "dolphinview.moc"