diff options
| author | Andrea Diamantini <adjam7@gmail.com> | 2010-10-25 04:25:36 +0200 | 
|---|---|---|
| committer | Andrea Diamantini <adjam7@gmail.com> | 2010-10-25 04:25:36 +0200 | 
| commit | 8561c1b43a506ac4ead17734c20cc55ce7cec666 (patch) | |
| tree | 3cdc943514fe72b2af0fd7d3dca69ad2d0d0f0f9 /src | |
| parent | fix typo in the default bookmarks (diff) | |
| download | rekonq-8561c1b43a506ac4ead17734c20cc55ce7cec666.tar.xz | |
Fastest last tab recover :)
In fact, the tab is not really deleted, but just saved somewhere
to fastly restore it, having again history and so on..
Diffstat (limited to 'src')
| -rw-r--r-- | src/mainview.cpp | 20 | ||||
| -rw-r--r-- | src/mainview.h | 2 | 
2 files changed, 21 insertions, 1 deletions
| diff --git a/src/mainview.cpp b/src/mainview.cpp index beaf4e21..325afb4c 100644 --- a/src/mainview.cpp +++ b/src/mainview.cpp @@ -63,6 +63,7 @@ MainView::MainView(MainWindow *parent)          , m_addTabButton(0)          , m_currentTabIndex(0)          , m_parentWindow(parent) +        , _lastClosedTab(0)  {      // setting tabbar      TabBar *tabBar = new TabBar(this); @@ -100,6 +101,7 @@ MainView::~MainView()  {      delete _widgetBar;      delete m_addTabButton; +    delete _lastClosedTab;  } @@ -500,7 +502,10 @@ void MainView::closeTab(int index, bool del)      if (del)      { -        tabToClose->deleteLater(); +        if(_lastClosedTab) +            _lastClosedTab->deleteLater(); +        _lastClosedTab = tabToClose; +//         tabToClose->deleteLater();      }      emit tabsChanged(); @@ -634,6 +639,19 @@ void MainView::openLastClosedTab()          return;      const HistoryItem item = m_recentlyClosedTabs.takeFirst(); + +    // if there is a tab yet loaded, use it +    if(_lastClosedTab) +    { +        addTab(_lastClosedTab, _lastClosedTab->view()->title() ); +        _widgetBar->addWidget(_lastClosedTab->urlBar()); +        updateTabBar(); +        emit tabsChanged(); +         +        _lastClosedTab = 0; +        return; +    } +          Application::instance()->loadUrl(KUrl(item.url), Rekonq::NewTab);  } diff --git a/src/mainview.h b/src/mainview.h index 29162dd1..6ef40ac7 100644 --- a/src/mainview.h +++ b/src/mainview.h @@ -189,6 +189,8 @@ private:      QList<HistoryItem> m_recentlyClosedTabs;      MainWindow *m_parentWindow; +     +    WebTab *_lastClosedTab;  };  #endif // MAINVIEW_H | 
