19 QActionGroup, QApplication, QInputDialog, QLineEdit, QDialog, |
19 QActionGroup, QApplication, QInputDialog, QLineEdit, QDialog, |
20 QDialogButtonBox, QLabel, QComboBox, QVBoxLayout |
20 QDialogButtonBox, QLabel, QComboBox, QVBoxLayout |
21 ) |
21 ) |
22 |
22 |
23 from E5Gui import E5MessageBox |
23 from E5Gui import E5MessageBox |
|
24 from E5Gui.E5OverrideCursor import E5OverrideCursor |
24 |
25 |
25 import Utilities |
26 import Utilities |
26 import Preferences |
27 import Preferences |
27 |
28 |
28 |
29 |
437 """ |
438 """ |
438 from WebBrowser.WebBrowserWindow import WebBrowserWindow |
439 from WebBrowser.WebBrowserWindow import WebBrowserWindow |
439 if window is None: |
440 if window is None: |
440 window = WebBrowserWindow.mainWindow() |
441 window = WebBrowserWindow.mainWindow() |
441 |
442 |
442 QApplication.setOverrideCursor(Qt.WaitCursor) |
443 with E5OverrideCursor(): |
443 # restore session for first window |
444 # restore session for first window |
444 data = sessionData["Windows"].pop(0) |
445 data = sessionData["Windows"].pop(0) |
445 window.tabWidget().loadFromSessionData(data) |
|
446 if "WindowGeometry" in data: |
|
447 geometry = QByteArray.fromBase64( |
|
448 data["WindowGeometry"].encode("ascii")) |
|
449 window.restoreGeometry(geometry) |
|
450 QApplication.processEvents() |
|
451 |
|
452 # restore additional windows |
|
453 for data in sessionData["Windows"]: |
|
454 window = ( |
|
455 WebBrowserWindow.mainWindow().newWindow(restoreSession=True) |
|
456 ) |
|
457 window.tabWidget().loadFromSessionData(data) |
446 window.tabWidget().loadFromSessionData(data) |
458 if "WindowGeometry" in data: |
447 if "WindowGeometry" in data: |
459 geometry = QByteArray.fromBase64( |
448 geometry = QByteArray.fromBase64( |
460 data["WindowGeometry"].encode("ascii")) |
449 data["WindowGeometry"].encode("ascii")) |
461 window.restoreGeometry(geometry) |
450 window.restoreGeometry(geometry) |
462 QApplication.processEvents() |
451 QApplication.processEvents() |
463 QApplication.restoreOverrideCursor() |
452 |
|
453 # restore additional windows |
|
454 for data in sessionData["Windows"]: |
|
455 window = ( |
|
456 WebBrowserWindow.mainWindow().newWindow(restoreSession=True) |
|
457 ) |
|
458 window.tabWidget().loadFromSessionData(data) |
|
459 if "WindowGeometry" in data: |
|
460 geometry = QByteArray.fromBase64( |
|
461 data["WindowGeometry"].encode("ascii")) |
|
462 window.restoreGeometry(geometry) |
|
463 QApplication.processEvents() |
464 |
464 |
465 if "CurrentWindowIndex" in sessionData: |
465 if "CurrentWindowIndex" in sessionData: |
466 currentWindowIndex = sessionData["CurrentWindowIndex"] |
466 currentWindowIndex = sessionData["CurrentWindowIndex"] |
467 try: |
467 try: |
468 currentWindow = ( |
468 currentWindow = ( |