]> cloud.milkyroute.net Git - dolphin.git/blobdiff - src/dolphinrecenttabsmenu.cpp
Merge remote-tracking branch 'origin/master' into frameworks
[dolphin.git] / src / dolphinrecenttabsmenu.cpp
index 2335f1bf48ef8df63b2fe404fe0bc1a46e6600ec..f4492a214e8fd3740f6062f3fa5e27733377f85c 100644 (file)
 
 #include <KLocalizedString>
 #include <KAcceleratorManager>
-#include <KMimeType>
-#include <KMenu>
+#include <kio/global.h>
+#include <QMenu>
 
 DolphinRecentTabsMenu::DolphinRecentTabsMenu(QObject* parent) :
-    KActionMenu(KIcon("edit-undo"), i18n("Recently Closed Tabs"), parent)
+    KActionMenu(QIcon::fromTheme("edit-undo"), i18n("Recently Closed Tabs"), parent)
 {
     setDelayed(false);
     setEnabled(false);
 
     m_clearListAction = new QAction(i18n("Empty Recently Closed Tabs"), this);
-    m_clearListAction->setIcon(KIcon("edit-clear-list"));
+    m_clearListAction->setIcon(QIcon::fromTheme("edit-clear-list"));
     addAction(m_clearListAction);
 
     addSeparator();
@@ -40,18 +40,13 @@ DolphinRecentTabsMenu::DolphinRecentTabsMenu(QObject* parent) :
             this, SLOT(handleAction(QAction*)));
 }
 
-void DolphinRecentTabsMenu::rememberClosedTab(const KUrl& primaryUrl, const KUrl& secondaryUrl)
+void DolphinRecentTabsMenu::rememberClosedTab(const KUrl& url, const QByteArray& state)
 {
     QAction* action = new QAction(menu());
-    action->setText(primaryUrl.path());
-
-    const QString iconName = KMimeType::iconNameForUrl(primaryUrl);
-    action->setIcon(KIcon(iconName));
-
-    KUrl::List urls;
-    urls << primaryUrl;
-    urls << secondaryUrl;
-    action->setData(QVariant::fromValue(urls));
+    action->setText(url.path());
+    action->setData(state);
+    const QString iconName = KIO::iconNameForUrl(url);
+    action->setIcon(QIcon::fromTheme(iconName));
 
     // Add the closed tab menu entry after the separator and
     // "Empty Recently Closed Tabs" entry
@@ -88,13 +83,11 @@ void DolphinRecentTabsMenu::handleAction(QAction* action)
         }
         emit closedTabsCountChanged(0);
     } else {
-        const KUrl::List urls = action->data().value<KUrl::List>();
+        const QByteArray state = action->data().value<QByteArray>();
         removeAction(action);
         delete action;
         action = 0;
-        if (urls.count() == 2) {
-            emit restoreClosedTab(urls.first(), urls.last());
-        }
+        emit restoreClosedTab(state);
         emit closedTabsCountChanged(menu()->actions().size() - 2);
     }