X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/2060fa8d4676fb2d5116830c304db8fdb556d959..ba6c853219c78e4e2a491d416b94e4e4c1aef591:/src/dolphincontextmenu.cpp diff --git a/src/dolphincontextmenu.cpp b/src/dolphincontextmenu.cpp index 7b48689cf..f60d59298 100644 --- a/src/dolphincontextmenu.cpp +++ b/src/dolphincontextmenu.cpp @@ -23,6 +23,7 @@ #include "dolphinmainwindow.h" #include "dolphinsettings.h" #include "dolphinview.h" +#include "dolphinviewcontainer.h" #include #include @@ -42,28 +43,29 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include DolphinContextMenu::DolphinContextMenu(DolphinMainWindow* parent, KFileItem* fileInfo, const KUrl& baseUrl) : - m_mainWindow(parent), - m_fileInfo(fileInfo), - m_baseUrl(baseUrl), - m_context(NoContext) + m_mainWindow(parent), + m_fileInfo(fileInfo), + m_baseUrl(baseUrl), + m_context(NoContext) { // The context menu either accesses the URLs of the selected items // or the items itself. To increase the performance both lists are cached. - DolphinView* view = m_mainWindow->activeView(); + DolphinView* view = m_mainWindow->activeViewContainer()->view(); m_selectedUrls = view->selectedUrls(); m_selectedItems = view->selectedItems(); } DolphinContextMenu::~DolphinContextMenu() -{} +{ +} void DolphinContextMenu::open() { @@ -110,9 +112,9 @@ void DolphinContextMenu::openTrashContextMenu() if (popup->exec(QCursor::pos()) == emptyTrashAction) { const QString text(i18n("Do you really want to empty the Trash? All items will get deleted.")); const bool del = KMessageBox::warningContinueCancel(m_mainWindow, - text, - QString(), - KGuiItem(i18n("Empty Trash"), KIcon("user-trash")) + text, + QString(), + KGuiItem(i18n("Empty Trash"), KIcon("user-trash")) ) == KMessageBox::Continue; if (del) { KonqOperations::emptyTrash(m_mainWindow); @@ -179,7 +181,7 @@ void DolphinContextMenu::openItemContextMenu() const KUrl selectedUrl(m_fileInfo->url()); if (selectedUrl.isValid()) { DolphinSettings::instance().placesModel()->addPlace(selectedUrl.fileName(), - selectedUrl); + selectedUrl); } } else if (serviceActions.contains(activatedAction)) { // one of the 'Actions' items has been selected @@ -233,6 +235,12 @@ void DolphinContextMenu::openViewportContextMenu() viewModeMenu->addAction(previewsMode); popup->addMenu(viewModeMenu); + + QAction* toggleViewsAction = 0; + if (m_mainWindow->isSplit()) { + toggleViewsAction = popup->addAction(i18n("Toggle Views")); + } + popup->addSeparator(); QAction* bookmarkAction = popup->addAction(KIcon("bookmark-folder"), i18n("Bookmark This Folder...")); @@ -240,14 +248,18 @@ void DolphinContextMenu::openViewportContextMenu() QAction* propertiesAction = popup->addAction(i18n("Properties")); - QAction* activatedAction = popup->exec(QCursor::pos()); - if (activatedAction == propertiesAction) { - new KPropertiesDialog(m_mainWindow->activeView()->url()); - } else if (activatedAction == bookmarkAction) { - const KUrl& url = m_mainWindow->activeView()->url(); + QAction* action = popup->exec(QCursor::pos()); + if (action == propertiesAction) { + const KUrl& url = m_mainWindow->activeViewContainer()->url(); + KPropertiesDialog dialog(url); + dialog.exec(); + } else if (action == bookmarkAction) { + const KUrl& url = m_mainWindow->activeViewContainer()->url(); if (url.isValid()) { DolphinSettings::instance().placesModel()->addPlace(url.fileName(), url); } + } else if ((toggleViewsAction != 0) && (action == toggleViewsAction)) { + m_mainWindow->toggleViews(); } popup->deleteLater(); @@ -276,7 +288,7 @@ void DolphinContextMenu::insertDefaultItemActions(KMenu* popup) const KSharedConfig::Ptr globalConfig = KSharedConfig::openConfig("kdeglobals", KConfig::NoGlobals); const KConfigGroup kdeConfig(globalConfig, "KDE"); bool showDeleteCommand = kdeConfig.readEntry("ShowDeleteCommand", false); - const KUrl& url = m_mainWindow->activeView()->url(); + const KUrl& url = m_mainWindow->activeViewContainer()->url(); if (url.isLocalFile()) { QAction* moveToTrashAction = collection->action("move_to_trash"); popup->addAction(moveToTrashAction); @@ -358,7 +370,7 @@ QList DolphinContextMenu::insertOpenWithItems(KMenu* popup, } QList DolphinContextMenu::insertActionItems(KMenu* popup, - QVector& actionsVector) + QVector& actionsVector) { // Parts of the following code have been taken // from the class KonqOperations located in