diff options
Diffstat (limited to 'src/mainview.cpp')
-rw-r--r-- | src/mainview.cpp | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/src/mainview.cpp b/src/mainview.cpp index 6179af80..84b87956 100644 --- a/src/mainview.cpp +++ b/src/mainview.cpp @@ -109,6 +109,18 @@ MainView::~MainView() void MainView::postLaunch() { + QStringList list = Application::sessionManager()->closedSites(); + foreach(const QString &line, list) + { + if(line.startsWith( QL1S("about") )) + break; + QString title = line; + QString url = title; + HistoryItem item(url, QDateTime::currentDateTime(), title); + m_recentlyClosedTabs.removeAll(item); + m_recentlyClosedTabs.prepend(item); + } + // Session Manager connect(this, SIGNAL(tabsChanged()), Application::sessionManager(), SLOT(saveSession())); @@ -493,8 +505,7 @@ void MainView::closeTab(int index, bool del) return; } - // store close tab except homepage - if (!tab->url().prettyUrl().startsWith(QL1S("about:")) && !tab->url().isEmpty()) + if (!tab->url().isEmpty()) { QString title = tab->view()->title(); QString url = tab->url().prettyUrl(); @@ -637,6 +648,22 @@ void MainView::previousTab() setCurrentIndex(next); } +void MainView::openClosedTabs() +{ + foreach (const HistoryItem &item, recentlyClosedTabs()) + { + Application::instance()->loadUrl( KUrl(item.url), Rekonq::SettingOpenTab); + } +} + +void MainView::openClosedTab() +{ + KAction *action = qobject_cast<KAction *>(sender()); + if (action) + { + Application::instance()->loadUrl(action->data().toUrl(), Rekonq::SettingOpenTab); + } +} QLabel *MainView::animatedLoading(int index, bool addMovie) { |