summaryrefslogtreecommitdiff
path: root/src/mainview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainview.cpp')
-rw-r--r--src/mainview.cpp31
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)
{