448 """ |
448 """ |
449 Public slot to close a browser based on its index. |
449 Public slot to close a browser based on its index. |
450 |
450 |
451 @param index index of browser to close (integer) |
451 @param index index of browser to close (integer) |
452 """ |
452 """ |
453 urlbar = self.__stackedUrlBar.widget(index) |
|
454 self.__stackedUrlBar.removeWidget(urlbar) |
|
455 del urlbar |
|
456 |
|
457 browser = self.widget(index) |
453 browser = self.widget(index) |
458 if browser is None: |
454 if browser is None: |
459 return |
455 return |
460 |
456 |
|
457 if browser.isModified(): |
|
458 ok = E5MessageBox.yesNo( |
|
459 self, |
|
460 self.tr("Do you really want to close this page?"), |
|
461 self.tr("""You have modified this page and when closing it""" |
|
462 """ you would lose the modification.\nDo you really""" |
|
463 """ want to close this page?""")) |
|
464 if not ok: |
|
465 return |
|
466 |
|
467 urlbar = self.__stackedUrlBar.widget(index) |
|
468 self.__stackedUrlBar.removeWidget(urlbar) |
|
469 urlbar.deleteLater() |
|
470 del urlbar |
|
471 |
461 self.__closedTabsManager.recordBrowser(browser, index) |
472 self.__closedTabsManager.recordBrowser(browser, index) |
462 |
473 |
463 browser.home() |
474 browser.home() |
464 self.removeTab(index) |
475 self.removeTab(index) |
465 self.browserClosed.emit(browser) |
476 self.browserClosed.emit(browser) |
|
477 browser.deleteLater() |
466 del browser |
478 del browser |
467 |
479 |
468 if self.count() == 0: |
480 if self.count() == 0: |
469 self.newBrowser() |
481 self.newBrowser() |
470 else: |
482 else: |