mirror of https://gitlab.com/openlp/openlp.git
This commit is contained in:
parent
cbd7ae2afc
commit
e25145a81b
|
@ -277,7 +277,6 @@ from listwidgetwithdnd import ListWidgetWithDnD
|
|||
from displaytags import DisplayTags
|
||||
from eventreceiver import Receiver
|
||||
from spelltextedit import SpellTextEdit
|
||||
from imagemanager import ImageManager
|
||||
from settingsmanager import SettingsManager
|
||||
from plugin import PluginStatus, StringContent, Plugin
|
||||
from pluginmanager import PluginManager
|
||||
|
@ -289,6 +288,7 @@ from htmlbuilder import build_html, build_lyrics_format_css, \
|
|||
build_lyrics_outline_css
|
||||
from toolbar import OpenLPToolbar
|
||||
from dockwidget import OpenLPDockWidget
|
||||
from imagemanager import ImageManager
|
||||
from renderer import Renderer
|
||||
from mediamanageritem import MediaManagerItem
|
||||
from openlp.core.utils.actions import ActionList
|
||||
|
|
|
@ -32,6 +32,7 @@ import logging
|
|||
from PyQt4 import QtGui
|
||||
|
||||
from openlp.core.lib import build_icon
|
||||
from openlp.core.ui import ScreenList
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
@ -50,3 +51,11 @@ class OpenLPDockWidget(QtGui.QDockWidget):
|
|||
self.setObjectName(name)
|
||||
if icon:
|
||||
self.setWindowIcon(build_icon(icon))
|
||||
# Sort out the minimum width.
|
||||
screens = ScreenList.get_instance()
|
||||
screen_width = screens.current[u'size'].width()
|
||||
mainwindow_docbars = screen_width / 5
|
||||
if mainwindow_docbars > 300:
|
||||
self.setMinimumWidth(300)
|
||||
else:
|
||||
self.setMinimumWidth(mainwindow_docbars)
|
||||
|
|
|
@ -35,6 +35,7 @@ import time
|
|||
from PyQt4 import QtCore
|
||||
|
||||
from openlp.core.lib import resize_image, image_to_byte
|
||||
from openlp.core.ui import ScreenList
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
@ -68,10 +69,11 @@ class ImageManager(QtCore.QObject):
|
|||
"""
|
||||
log.info(u'Image Manager loaded')
|
||||
|
||||
def __init__(self, width, height):
|
||||
def __init__(self):
|
||||
QtCore.QObject.__init__(self)
|
||||
self.width = width
|
||||
self.height = height
|
||||
current_screen = ScreenList.get_instance().current
|
||||
self.width = current_screen[u'size'].width()
|
||||
self.height = current_screen[u'size'].height()
|
||||
self._cache = {}
|
||||
self._thread_running = False
|
||||
self._cache_dirty = False
|
||||
|
|
|
@ -28,7 +28,7 @@ import logging
|
|||
|
||||
from PyQt4 import QtCore, QtWebKit
|
||||
|
||||
from openlp.core.lib import ServiceItem, ImageManager, expand_tags, \
|
||||
from openlp.core.lib import ServiceItem, expand_tags, \
|
||||
build_lyrics_format_css, build_lyrics_outline_css, Receiver, \
|
||||
ItemCapabilities
|
||||
from openlp.core.lib.theme import ThemeLevel
|
||||
|
@ -61,23 +61,22 @@ class Renderer(object):
|
|||
"""
|
||||
log.info(u'Renderer Loaded')
|
||||
|
||||
def __init__(self, theme_manager):
|
||||
def __init__(self, imageManager, theme_manager):
|
||||
"""
|
||||
Initialise the render manager.
|
||||
"""
|
||||
log.debug(u'Initilisation started')
|
||||
self.screens = ScreenList.get_instance()
|
||||
self.width = self.screens.current[u'size'].width()
|
||||
self.height = self.screens.current[u'size'].height()
|
||||
self.image_manager = ImageManager(self.width, self.height)
|
||||
self.display = MainDisplay(self, False)
|
||||
self.display.imageManager = self.image_manager
|
||||
self.theme_manager = theme_manager
|
||||
self.image_manager = imageManager
|
||||
self.screens = ScreenList.get_instance()
|
||||
self.service_theme = u''
|
||||
self.theme_level = u''
|
||||
self.override_background = None
|
||||
self.theme_data = None
|
||||
self.bg_frame = None
|
||||
self.force_page = False
|
||||
self.display = MainDisplay(self, self.image_manager, False)
|
||||
self.display.setup()
|
||||
|
||||
def update_display(self):
|
||||
"""
|
||||
|
@ -85,8 +84,7 @@ class Renderer(object):
|
|||
"""
|
||||
log.debug(u'Update Display')
|
||||
self._calculate_default(self.screens.current[u'size'])
|
||||
self.display = MainDisplay(self, False)
|
||||
self.display.imageManager = self.image_manager
|
||||
self.display = MainDisplay(self, self.image_manager, False)
|
||||
self.display.setup()
|
||||
self.bg_frame = None
|
||||
self.theme_data = None
|
||||
|
|
|
@ -33,7 +33,6 @@ import os
|
|||
|
||||
from PyQt4 import QtCore
|
||||
|
||||
#from openlp.core.ui import ScreenList
|
||||
from openlp.core.utils import AppLocation
|
||||
|
||||
class SettingsManager(object):
|
||||
|
@ -41,21 +40,6 @@ class SettingsManager(object):
|
|||
Class to control the initial settings for the UI and provide helper
|
||||
functions for the loading and saving of application settings.
|
||||
"""
|
||||
def __init__(self):
|
||||
from openlp.core.ui import ScreenList
|
||||
self.screen = ScreenList.get_instance().current
|
||||
self.width = self.screen[u'size'].width()
|
||||
self.height = self.screen[u'size'].height()
|
||||
self.mainwindow_height = self.height * 0.8
|
||||
mainwindow_docbars = self.width / 5
|
||||
self.mainwindow_left = 0
|
||||
self.mainwindow_right = 0
|
||||
if mainwindow_docbars > 300:
|
||||
self.mainwindow_left = 300
|
||||
self.mainwindow_right = 300
|
||||
else:
|
||||
self.mainwindow_left = mainwindow_docbars
|
||||
self.mainwindow_right = mainwindow_docbars
|
||||
|
||||
@staticmethod
|
||||
def get_last_dir(section, num=None):
|
||||
|
|
|
@ -60,11 +60,12 @@ class MainDisplay(DisplayWidget):
|
|||
"""
|
||||
This is the display screen.
|
||||
"""
|
||||
def __init__(self, parent, live):
|
||||
DisplayWidget.__init__(self, live, parent=None)
|
||||
def __init__(self, parent, imageManager, live):
|
||||
DisplayWidget.__init__(self, live, parent)
|
||||
self.parent = parent
|
||||
self.screens = ScreenList.get_instance()
|
||||
self.isLive = live
|
||||
self.imageManager = imageManager
|
||||
self.screens = ScreenList.get_instance()
|
||||
self.alertTab = None
|
||||
self.hideMode = None
|
||||
self.videoHide = False
|
||||
|
|
|
@ -31,7 +31,7 @@ from tempfile import gettempdir
|
|||
from PyQt4 import QtCore, QtGui
|
||||
|
||||
from openlp.core.lib import Renderer, build_icon, OpenLPDockWidget, \
|
||||
SettingsManager, PluginManager, Receiver, translate
|
||||
PluginManager, Receiver, translate, ImageManager
|
||||
from openlp.core.lib.ui import UiStrings, base_action, checkable_action, \
|
||||
icon_action, shortcut_action
|
||||
from openlp.core.ui import AboutForm, SettingsForm, ServiceManager, \
|
||||
|
@ -69,8 +69,6 @@ class Ui_MainWindow(object):
|
|||
Set up the user interface
|
||||
"""
|
||||
mainWindow.setObjectName(u'MainWindow')
|
||||
mainWindow.resize(self.settingsmanager.width,
|
||||
self.settingsmanager.height)
|
||||
mainWindow.setWindowIcon(build_icon(u':/icon/openlp-logo-64x64.png'))
|
||||
mainWindow.setDockNestingEnabled(True)
|
||||
# Set up the main container, which contains all the other form widgets.
|
||||
|
@ -86,8 +84,8 @@ class Ui_MainWindow(object):
|
|||
self.controlSplitter.setObjectName(u'controlSplitter')
|
||||
self.mainContentLayout.addWidget(self.controlSplitter)
|
||||
# Create slide controllers
|
||||
self.previewController = SlideController(self, self.settingsmanager)
|
||||
self.liveController = SlideController(self, self.settingsmanager, True)
|
||||
self.previewController = SlideController(self)
|
||||
self.liveController = SlideController(self, True)
|
||||
previewVisible = QtCore.QSettings().value(
|
||||
u'user interface/preview panel', QtCore.QVariant(True)).toBool()
|
||||
self.previewController.panel.setVisible(previewVisible)
|
||||
|
@ -135,8 +133,6 @@ class Ui_MainWindow(object):
|
|||
self.mediaManagerDock = OpenLPDockWidget(mainWindow,
|
||||
u'mediaManagerDock', u':/system/system_mediamanager.png')
|
||||
self.mediaManagerDock.setStyleSheet(MEDIA_MANAGER_STYLE)
|
||||
self.mediaManagerDock.setMinimumWidth(
|
||||
self.settingsmanager.mainwindow_left)
|
||||
# Create the media toolbox
|
||||
self.MediaToolBox = QtGui.QToolBox(self.mediaManagerDock)
|
||||
self.MediaToolBox.setObjectName(u'MediaToolBox')
|
||||
|
@ -146,8 +142,6 @@ class Ui_MainWindow(object):
|
|||
# Create the service manager
|
||||
self.serviceManagerDock = OpenLPDockWidget(mainWindow,
|
||||
u'serviceManagerDock', u':/system/system_servicemanager.png')
|
||||
self.serviceManagerDock.setMinimumWidth(
|
||||
self.settingsmanager.mainwindow_right)
|
||||
self.ServiceManagerContents = ServiceManager(mainWindow,
|
||||
self.serviceManagerDock)
|
||||
self.serviceManagerDock.setWidget(self.ServiceManagerContents)
|
||||
|
@ -156,8 +150,6 @@ class Ui_MainWindow(object):
|
|||
# Create the theme manager
|
||||
self.themeManagerDock = OpenLPDockWidget(mainWindow,
|
||||
u'themeManagerDock', u':/system/system_thememanager.png')
|
||||
self.themeManagerDock.setMinimumWidth(
|
||||
self.settingsmanager.mainwindow_right)
|
||||
self.themeManagerContents = ThemeManager(mainWindow,
|
||||
self.themeManagerDock)
|
||||
self.themeManagerContents.setObjectName(u'themeManagerContents')
|
||||
|
@ -474,7 +466,6 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
self.serviceSettingsSection = u'servicemanager'
|
||||
self.songsSettingsSection = u'songs'
|
||||
self.serviceNotSaved = False
|
||||
self.settingsmanager = SettingsManager()
|
||||
self.aboutForm = AboutForm(self)
|
||||
self.settingsForm = SettingsForm(self, self)
|
||||
self.displayTagForm = DisplayTagForm(self)
|
||||
|
@ -484,6 +475,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
pluginpath = AppLocation.get_directory(AppLocation.PluginsDir)
|
||||
self.pluginManager = PluginManager(pluginpath)
|
||||
self.pluginHelpers = {}
|
||||
self.imageManager = ImageManager()
|
||||
# Set up the interface
|
||||
self.setupUi(self)
|
||||
# Load settings after setupUi so default UI sizes are overwritten
|
||||
|
@ -549,7 +541,7 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
# warning cyclic dependency
|
||||
# renderer needs to call ThemeManager and
|
||||
# ThemeManager needs to call Renderer
|
||||
self.renderer = Renderer(self.themeManagerContents)
|
||||
self.renderer = Renderer(self.imageManager, self.themeManagerContents)
|
||||
# Define the media Dock Manager
|
||||
self.mediaDockManager = MediaDockManager(self.MediaToolBox)
|
||||
log.info(u'Load Plugins')
|
||||
|
@ -782,8 +774,8 @@ class MainWindow(QtGui.QMainWindow, Ui_MainWindow):
|
|||
their locations
|
||||
"""
|
||||
log.debug(u'screenChanged')
|
||||
self.renderer.update_display()
|
||||
self.setFocus()
|
||||
self.renderer.update_display()
|
||||
self.activateWindow()
|
||||
|
||||
def closeEvent(self, event):
|
||||
|
|
|
@ -53,18 +53,19 @@ class SlideController(QtGui.QWidget):
|
|||
SlideController is the slide controller widget. This widget is what the
|
||||
user uses to control the displaying of verses/slides/etc on the screen.
|
||||
"""
|
||||
def __init__(self, parent, settingsmanager, isLive=False):
|
||||
def __init__(self, parent, isLive=False):
|
||||
"""
|
||||
Set up the Slide Controller.
|
||||
"""
|
||||
QtGui.QWidget.__init__(self, parent)
|
||||
self.settingsmanager = settingsmanager
|
||||
self.isLive = isLive
|
||||
self.parent = parent
|
||||
self.screens = ScreenList.get_instance()
|
||||
self.ratio = float(self.screens.current[u'size'].width()) / \
|
||||
float(self.screens.current[u'size'].height())
|
||||
self.display = MainDisplay(self, isLive)
|
||||
self.image_manager = self.parent.imageManager
|
||||
self.display = MainDisplay(self, self.image_manager, isLive)
|
||||
#self.display.alertTab = self.alertTab
|
||||
self.display.setup()
|
||||
self.loopList = [
|
||||
u'Start Loop',
|
||||
|
@ -422,8 +423,7 @@ class SlideController(QtGui.QWidget):
|
|||
screen previews.
|
||||
"""
|
||||
# rebuild display as screen size changed
|
||||
self.display = MainDisplay(self, self.isLive)
|
||||
self.display.imageManager = self.parent.renderer.image_manager
|
||||
self.display = MainDisplay(self, self.image_manager, self.isLive)
|
||||
self.display.alertTab = self.alertTab
|
||||
self.display.setup()
|
||||
if self.isLive:
|
||||
|
@ -637,10 +637,8 @@ class SlideController(QtGui.QWidget):
|
|||
# If current slide set background to image
|
||||
if framenumber == slideno:
|
||||
self.serviceItem.bg_image_bytes = \
|
||||
self.parent.renderer.image_manager. \
|
||||
get_image_bytes(frame[u'title'])
|
||||
image = self.parent.renderer.image_manager. \
|
||||
get_image(frame[u'title'])
|
||||
self.image_manager.get_image_bytes(frame[u'title'])
|
||||
image = self.image_manager.get_image(frame[u'title'])
|
||||
label.setPixmap(QtGui.QPixmap.fromImage(image))
|
||||
self.previewListWidget.setCellWidget(framenumber, 0, label)
|
||||
slideHeight = width * self.parent.renderer.screen_ratio
|
||||
|
|
Loading…
Reference in New Issue