From ecd78dd7a24a70c0e41c246b1232613554dcfd8c Mon Sep 17 00:00:00 2001 From: Andrea Diamantini Date: Mon, 28 Dec 2009 12:20:24 +0100 Subject: Merge Request #79 with the changes discussed. 1) no more confirm dialog on exit 2) restore newtab page or home page on close last tab --- src/mainview.cpp | 19 ++++++++++++++++++- src/mainwindow.cpp | 36 ------------------------------------ src/mainwindow.h | 2 -- 3 files changed, 18 insertions(+), 39 deletions(-) (limited to 'src') diff --git a/src/mainview.cpp b/src/mainview.cpp index 46cd9a15..2123d021 100644 --- a/src/mainview.cpp +++ b/src/mainview.cpp @@ -447,9 +447,26 @@ void MainView::cloneTab(int index) // When index is -1 index chooses the current tab void MainView::closeTab(int index) { - // do nothing if just one tab is opened + // open default homePage if just one tab is opened if (count() == 1) + { + WebView *w = currentWebTab()->view(); + urlBar()->setUrl(KUrl("")); + switch(ReKonfig::newTabsBehaviour()) + { + case 0: // new tab page + case 1: // blank page + w->load( KUrl("about:home") ); + break; + case 2: // homepage + w->load( KUrl(ReKonfig::homePage()) ); + break; + default: + break; + } + urlBar()->setFocus(); return; + } if (index < 0) index = currentIndex(); diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp index b4174191..76ca447a 100644 --- a/src/mainwindow.cpp +++ b/src/mainwindow.cpp @@ -922,42 +922,6 @@ void MainWindow::openNext() } -bool MainWindow::queryClose() -{ - if (m_view->count() > 1) - { - - int answer = KMessageBox::questionYesNoCancel( - this, - i18np("Are you sure you want to close the window?\n" \ - "You still have 1 tab open.", - "Are you sure you want to close the window?\n" \ - "You still have %1 tabs open.", - m_view->count()), - i18n("Closing rekonq"), - KStandardGuiItem::quit(), - KGuiItem(i18n("C&lose Current Tab"), KIcon("tab-close")), - KStandardGuiItem::cancel(), - "confirmClosingMultipleTabs"); - - switch (answer) - { - case KMessageBox::Yes: - // Quit - return true; - break; - case KMessageBox::No: - // Close only the current tab - m_view->closeTab(); - default: - return false; - } - } - - return true; -} - - void MainWindow::keyPressEvent(QKeyEvent *event) { // hide findbar diff --git a/src/mainwindow.h b/src/mainwindow.h index 95964e22..d600c5dc 100644 --- a/src/mainwindow.h +++ b/src/mainwindow.h @@ -107,8 +107,6 @@ signals: void shiftCtrlTabPressed(); protected: - bool queryClose(); - /** * Filters (SHIFT + ) CTRL + TAB events and emit (shift)ctrlTabPressed() * to make switch tab -- cgit v1.2.1