]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinmainwindow.cpp
Port dolphin to the KFileItemDelegate API changes.
[dolphin.git] / src / dolphinmainwindow.cpp
index 5657a2c8c5531130e83bc5f8702d76710fca354b..696a016e96844f5b70e3f51710215782ffd75c36 100644 (file)
@@ -150,6 +150,9 @@ void DolphinMainWindow::refreshViews()
 void DolphinMainWindow::dropUrls(const KUrl::List& urls,
                                  const KUrl& destination)
 {
+    kDebug() << "Source" << urls;
+    kDebug() << "Destination:" << destination;
+
     Qt::DropAction action = Qt::CopyAction;
 
     Qt::KeyboardModifiers modifier = QApplication::keyboardModifiers();
@@ -321,9 +324,11 @@ void DolphinMainWindow::slotSortOrderChanged(Qt::SortOrder order)
     descending->setChecked(sortDescending);
 }
 
-void DolphinMainWindow::slotAdditionalInfoChanged(KFileItemDelegate::AdditionalInformation info)
+void DolphinMainWindow::slotAdditionalInfoChanged(KFileItemDelegate::InformationList list)
 {
     QAction* action = 0;
+    KFileItemDelegate::Information info = list.isEmpty() ? KFileItemDelegate::NoInformation : list.first();
+
     switch (info) {
     case KFileItemDelegate::FriendlyMimeType:
         action = actionCollection()->action("show_mime_info");
@@ -490,14 +495,9 @@ void DolphinMainWindow::deleteItems()
 
 void DolphinMainWindow::properties()
 {
-    QList<KFileItem> list = m_activeViewContainer->view()->selectedItems();
-    // ### KPropertiesDialog still uses pointer-based KFileItemList
-    KFileItemList lst;
-    // Can't be a const_iterator :(
-    for ( QList<KFileItem>::iterator it = list.begin(), end = list.end() ; it != end ; ++it ) {
-        lst << & *it; // ugly!
-    }
-    KPropertiesDialog dialog(lst, this);
+    const KFileItemList list = m_activeViewContainer->view()->selectedItems();
+
+    KPropertiesDialog dialog(list, this);
     dialog.exec();
 }
 
@@ -1311,7 +1311,11 @@ void DolphinMainWindow::setupActions()
     connect(adjustViewProps, SIGNAL(triggered()), this, SLOT(adjustViewProperties()));
 
     // setup 'Go' menu
-    KStandardAction::back(this, SLOT(goBack()), actionCollection());
+    KAction* backAction = KStandardAction::back(this, SLOT(goBack()), actionCollection());
+    KShortcut backShortcut = backAction->shortcut();
+    backShortcut.setAlternate(Qt::Key_Backspace);
+    backAction->setShortcut(backShortcut);
+
     KStandardAction::forward(this, SLOT(goForward()), actionCollection());
     KStandardAction::up(this, SLOT(goUp()), actionCollection());
     KStandardAction::home(this, SLOT(goHome()), actionCollection());
@@ -1348,7 +1352,7 @@ void DolphinMainWindow::setupDockWidgets()
     infoDock->setWidget(infoWidget);
 
     infoDock->toggleViewAction()->setText(i18nc("@title:window", "Information"));
-    infoDock->toggleViewAction()->setShortcut(Qt::Key_F8);
+    infoDock->toggleViewAction()->setShortcut(Qt::Key_F11);
     actionCollection()->addAction("show_info_panel", infoDock->toggleViewAction());
 
     addDockWidget(Qt::RightDockWidgetArea, infoDock);
@@ -1367,7 +1371,7 @@ void DolphinMainWindow::setupDockWidgets()
     treeViewDock->setWidget(treeWidget);
 
     treeViewDock->toggleViewAction()->setText(i18nc("@title:window", "Folders"));
-    treeViewDock->toggleViewAction()->setShortcut(Qt::Key_F9);
+    treeViewDock->toggleViewAction()->setShortcut(Qt::Key_F7);
     actionCollection()->addAction("show_folders_panel", treeViewDock->toggleViewAction());
 
     addDockWidget(Qt::LeftDockWidgetArea, treeViewDock);
@@ -1410,7 +1414,7 @@ void DolphinMainWindow::setupDockWidgets()
     listView->setModel(DolphinSettings::instance().placesModel());
 
     placesDock->toggleViewAction()->setText(i18nc("@title:window", "Places"));
-    placesDock->toggleViewAction()->setShortcut(Qt::Key_F7);
+    placesDock->toggleViewAction()->setShortcut(Qt::Key_F9);
     actionCollection()->addAction("show_places_panel", placesDock->toggleViewAction());
 
     addDockWidget(Qt::LeftDockWidgetArea, placesDock);
@@ -1575,8 +1579,8 @@ void DolphinMainWindow::connectViewSignals(int viewIndex)
             this, SLOT(slotSortingChanged(DolphinView::Sorting)));
     connect(view, SIGNAL(sortOrderChanged(Qt::SortOrder)),
             this, SLOT(slotSortOrderChanged(Qt::SortOrder)));
-    connect(view, SIGNAL(additionalInfoChanged(KFileItemDelegate::AdditionalInformation)),
-            this, SLOT(slotAdditionalInfoChanged(KFileItemDelegate::AdditionalInformation)));
+    connect(view, SIGNAL(additionalInfoChanged(KFileItemDelegate::InformationList)),
+            this, SLOT(slotAdditionalInfoChanged(KFileItemDelegate::InformationList)));
     connect(view, SIGNAL(selectionChanged(QList<KFileItem>)),
             this, SLOT(slotSelectionChanged(QList<KFileItem>)));
     connect(view, SIGNAL(requestItemInfo(KFileItem)),
@@ -1595,12 +1599,12 @@ void DolphinMainWindow::updateSplitAction()
 {
     QAction* splitAction = actionCollection()->action("split_view");
     if (m_viewContainer[SecondaryView] != 0) {
-        splitAction->setText(i18nc("@action:intoolbar Join views", "Join"));
         if (m_activeViewContainer == m_viewContainer[PrimaryView]) {
-            splitAction->setIcon(KIcon("fileview-join"));
+            splitAction->setText(i18nc("@action:intoolbar Close right view", "Close"));
+            splitAction->setIcon(KIcon("fileview-close-right"));
         } else {
-            // TODO: replace by alternative icon as soon as it is available in Oxygen
-            splitAction->setIcon(KIcon("fileview-join"));
+            splitAction->setText(i18nc("@action:intoolbar Close left view", "Close"));
+            splitAction->setIcon(KIcon("fileview-close-left"));
         }
     } else {
         splitAction->setText(i18nc("@action:intoolbar Split view", "Split"));