diff --git a/images/MantidSplashScreen_2400x1758.jpg b/images/MantidSplashScreen_2400x1758.jpg deleted file mode 100644 index 233fd7adb6b1815522314e05c082016a100b0720..0000000000000000000000000000000000000000 Binary files a/images/MantidSplashScreen_2400x1758.jpg and /dev/null differ diff --git a/images/MantidSplashScreen_4k.jpg b/images/MantidSplashScreen_4k.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a6671e84e16448981e5a5b4e0536662054af4947 Binary files /dev/null and b/images/MantidSplashScreen_4k.jpg differ diff --git a/qt/applications/workbench/resources.qrc b/qt/applications/workbench/resources.qrc index 82a2ae9bd946b013943062ecc94f9f8babb9d993..b4d7b4156cb8dfe6abd69dffaf4de4c054fba101 100644 --- a/qt/applications/workbench/resources.qrc +++ b/qt/applications/workbench/resources.qrc @@ -1,5 +1,6 @@ <!DOCTYPE RCC><RCC version="1.0"> <qresource prefix="/images"> <file alias="MantidSplashScreen.png">../../../images/MantidSplashScreen.png</file> + <file alias="MantidSplashScreen_4k.jpg">../../../images/MantidSplashScreen_4k.jpg</file> </qresource> </RCC> \ No newline at end of file diff --git a/qt/applications/workbench/workbench/app/mainwindow.py b/qt/applications/workbench/workbench/app/mainwindow.py index 8a920c0025b94041a835f92341eea615ce533824..ed65fa8d4f6f7ee829e2cd42417e8327c5cc6103 100644 --- a/qt/applications/workbench/workbench/app/mainwindow.py +++ b/qt/applications/workbench/workbench/app/mainwindow.py @@ -12,7 +12,7 @@ Defines the QMainWindow of the application and the main() entry point. """ from __future__ import (absolute_import, division, print_function, unicode_literals) -import argparse # for command line options +import argparse # for command line options import atexit import imp import importlib @@ -38,7 +38,7 @@ requirements.check_qt() # Qt # ----------------------------------------------------------------------------- from qtpy.QtCore import (QEventLoop, Qt, QCoreApplication, QPoint, QSize) # noqa -from qtpy.QtGui import (QColor, QPixmap) # noqa +from qtpy.QtGui import (QColor, QPixmap, QGuiApplication) # noqa from qtpy.QtWidgets import (QApplication, QDesktopWidget, QFileDialog, QMainWindow, QSplashScreen) # noqa from mantidqt.utils.qt import plugins, widget_updates_disabled # noqa @@ -82,13 +82,25 @@ MAIN_APP = qapplication() # ----------------------------------------------------------------------------- # Importing resources loads the data in from workbench.app.resources import qCleanupResources # noqa + atexit.register(qCleanupResources) -SPLASH = QSplashScreen(QPixmap(':/images/MantidSplashScreen.png'), + +def _get_splash_image_name(): + # gets the width of the screen where the main window was initialised + width = QGuiApplication.primaryScreen().size().width() + + if width > 2048: + return ':/images/MantidSplashScreen_4k.jpg' + else: + return ':/images/MantidSplashScreen.png' + + +SPLASH = QSplashScreen(QPixmap(_get_splash_image_name()), Qt.WindowStaysOnTopHint) SPLASH.show() -SPLASH.showMessage("Starting...", Qt.AlignBottom | Qt.AlignLeft | - Qt.AlignAbsolute, QColor(Qt.black)) +SPLASH.showMessage("Starting...", Qt.AlignBottom | Qt.AlignLeft + | Qt.AlignAbsolute, QColor(Qt.black)) # The event loop has not started - force event processing QApplication.processEvents(QEventLoop.AllEvents) @@ -98,13 +110,13 @@ QApplication.processEvents(QEventLoop.AllEvents) from mantidqt.utils.qt import add_actions, create_action # noqa from mantidqt.widgets.manageuserdirectories import ManageUserDirectories # noqa + # ----------------------------------------------------------------------------- # MainWindow # ----------------------------------------------------------------------------- class MainWindow(QMainWindow): - DOCKOPTIONS = QMainWindow.AllowTabbedDocks | QMainWindow.AllowNestedDocks def __init__(self): @@ -251,7 +263,7 @@ class MainWindow(QMainWindow): add_actions(self.view_menu, self.view_menu_actions) def launchCustomGUI(self, script): - exec(open(script).read(), globals()) + exec (open(script).read(), globals()) def populateAfterMantidImport(self): from mantid.kernel import ConfigService, logger @@ -334,12 +346,12 @@ class MainWindow(QMainWindow): # column 2 [[logmessages]] ], - 'width-fraction': [0.25, # column 0 width - 0.50, # column 1 width - 0.25], # column 2 width - 'height-fraction': [[0.5, 0.5], # column 0 row heights - [1.0], # column 1 row heights - [1.0]] # column 2 row heights + 'width-fraction': [0.25, # column 0 width + 0.50, # column 1 width + 0.25], # column 2 width + 'height-fraction': [[0.5, 0.5], # column 0 row heights + [1.0], # column 1 row heights + [1.0]] # column 2 row heights } with widget_updates_disabled(self): @@ -351,13 +363,13 @@ class MainWindow(QMainWindow): w.toggle_view(True) # split everything on the horizontal for i in range(len(widgets) - 1): - first, second = widgets[i], widgets[i+1] + first, second = widgets[i], widgets[i + 1] self.splitDockWidget(first.dockwidget, second.dockwidget, Qt.Horizontal) # now arrange the rows for column in widgets_layout: for i in range(len(column) - 1): - first_row, second_row = column[i], column[i+1] + first_row, second_row = column[i], column[i + 1] self.splitDockWidget(first_row[0].dockwidget, second_row[0].dockwidget, Qt.Vertical) @@ -365,7 +377,7 @@ class MainWindow(QMainWindow): for column in widgets_layout: for row in column: for i in range(len(row) - 1): - first, second = row[i], row[i+1] + first, second = row[i], row[i + 1] self.tabifyDockWidget(first.dockwidget, second.dockwidget) # Raise front widget per row @@ -456,8 +468,8 @@ class MainWindow(QMainWindow): widget.readSettings(settings) def writeSettings(self, settings): - settings.set('MainWindow/size', self.size()) # QSize - settings.set('MainWindow/position', self.pos()) # QPoint + settings.set('MainWindow/size', self.size()) # QSize + settings.set('MainWindow/position', self.pos()) # QPoint settings.set('MainWindow/state', self.saveState()) # QByteArray # write out settings for children