summaryrefslogtreecommitdiff
path: root/src/mainwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mainwindow.cpp')
-rw-r--r--src/mainwindow.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/mainwindow.cpp b/src/mainwindow.cpp
index efc6e3c7..c56dcf76 100644
--- a/src/mainwindow.cpp
+++ b/src/mainwindow.cpp
@@ -1399,3 +1399,37 @@ void MainWindow::enableNetworkAnalysis(bool b)
currentTab()->page()->enableNetworkAnalyzer(b);
m_analyzerPanel->toggle(b);
}
+
+
+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 have 1 tab open",
+ "Are you sure you want to close the window?\n" "You have %1 tabs open" ,
+ m_view->count()),
+ i18n("Are you sure you want to close the window?"),
+ KStandardGuiItem::quit(),
+ KGuiItem(i18n("C&lose Current Tab"), KIcon("tab-close")),
+ KStandardGuiItem::cancel(),
+ "confirmClosingMultipleTabs"
+ );
+
+ switch (answer)
+ {
+ case KMessageBox::Yes:
+ // Quit
+ return true;
+
+ case KMessageBox::No:
+ // Close only the current tab
+ m_view->closeTab();
+
+ default:
+ return false;
+ }
+ }
+ return true;
+}