From f586d9bf5edeee9eec751a5e372b80a7abbabb6c Mon Sep 17 00:00:00 2001 From: Tim Bentley Date: Fri, 3 Jul 2009 20:08:21 +0100 Subject: [PATCH] Update images and rename some. More changes to slidecontroller and friends --- openlp/core/lib/mediamanageritem.py | 2 +- openlp/core/ui/__init__.py | 4 +- openlp/core/ui/maindisplay.py | 2 +- openlp/core/ui/mainwindow.py | 4 +- openlp/core/ui/slidecontroller.py | 55 ++++++++++++++---- .../images/lib/imageslidecontroller.py | 24 ++++---- openlp/plugins/images/lib/mediaitem.py | 7 +-- .../{media_verse.png => media_bible.png} | Bin resources/images/media_stop.png | Bin 0 -> 722 bytes resources/images/media_time.png | Bin 0 -> 975 bytes resources/images/openlp-2.qrc | 4 +- 11 files changed, 65 insertions(+), 37 deletions(-) rename resources/images/{media_verse.png => media_bible.png} (100%) create mode 100644 resources/images/media_stop.png create mode 100644 resources/images/media_time.png diff --git a/openlp/core/lib/mediamanageritem.py b/openlp/core/lib/mediamanageritem.py index 1f86dfe93..decea277c 100644 --- a/openlp/core/lib/mediamanageritem.py +++ b/openlp/core/lib/mediamanageritem.py @@ -257,7 +257,7 @@ class MediaManagerItem(QtGui.QWidget): raise NotImplementedError(u'MediaManagerItem.generateSlideData needs to be defined by the plugin') def onPreviewClick(self): - log.debug(self.PluginTextShort+u'Preview Requested') + log.debug(self.PluginTextShort+u' Preview Requested') service_item = ServiceItem(self.parent) service_item.addIcon(u':/media/media_'+self.PluginTextShort.lower()+u'.png') self.generateSlideData(service_item) diff --git a/openlp/core/ui/__init__.py b/openlp/core/ui/__init__.py index 48d1af59a..8fcef14ae 100644 --- a/openlp/core/ui/__init__.py +++ b/openlp/core/ui/__init__.py @@ -17,7 +17,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA """ -from slidecontroller import BaseToolbar +from slidecontroller import MasterToolbar from slidecontrollermanager import SlideControllerManager from maindisplay import MainDisplay from amendthemeform import AmendThemeForm @@ -33,5 +33,5 @@ from servicemanager import ServiceManager from thememanager import ThemeManager from mainwindow import MainWindow -__all__ = ['SplashScreen', 'AboutForm', 'SettingsForm', 'BaseToolbar' +__all__ = ['SplashScreen', 'AboutForm', 'SettingsForm', 'MasterToolbar' 'MainWindow', 'MainDisplay', 'SlideController', 'ServiceManager', 'ThemeManager', 'AmendThemeForm'] diff --git a/openlp/core/ui/maindisplay.py b/openlp/core/ui/maindisplay.py index dc3bb6625..afa4da931 100644 --- a/openlp/core/ui/maindisplay.py +++ b/openlp/core/ui/maindisplay.py @@ -78,7 +78,7 @@ class MainDisplay(QtGui.QWidget): def blankDisplay(self): if not self.displayBlank: self.displayBlank = True - self.display.setPixmap(self.blankFrame) + self.display.setPixmap(QtGui.QPixmap.fromImage(self.blankFrame)) else: self.displayBlank = False self.frameView(self.frame) diff --git a/openlp/core/ui/mainwindow.py b/openlp/core/ui/mainwindow.py index e942ec3ea..7b56a09c8 100644 --- a/openlp/core/ui/mainwindow.py +++ b/openlp/core/ui/mainwindow.py @@ -205,7 +205,7 @@ class MainWindow(object): self.MediaManagerDock.setWindowIcon(icon) self.MediaManagerDock.setFloating(False) self.MediaManagerDock.setObjectName(u'MediaManagerDock') - self.MediaManagerDock.setMinimumWidth(250) + self.MediaManagerDock.setMinimumWidth(300) self.MediaManagerContents = QtGui.QWidget() self.MediaManagerContents.setObjectName(u'MediaManagerContents') self.MediaManagerLayout = QtGui.QHBoxLayout(self.MediaManagerContents) @@ -227,7 +227,7 @@ class MainWindow(object): self.ServiceManagerDock.setFeatures( QtGui.QDockWidget.AllDockWidgetFeatures) self.ServiceManagerDock.setObjectName(u'ServiceManagerDock') - self.ServiceManagerDock.setMinimumWidth(250) + self.ServiceManagerDock.setMinimumWidth(300) self.ServiceManagerContents = ServiceManager(self) self.ServiceManagerDock.setWidget(self.ServiceManagerContents) self.mainWindow.addDockWidget( diff --git a/openlp/core/ui/slidecontroller.py b/openlp/core/ui/slidecontroller.py index 0863242fd..07137e2b7 100644 --- a/openlp/core/ui/slidecontroller.py +++ b/openlp/core/ui/slidecontroller.py @@ -33,16 +33,16 @@ class SlideList(QtGui.QTableWidget): if type(event) == QtGui.QKeyEvent: #here accept the event and do something if event.key() == QtCore.Qt.Key_Up: - self.parent.onSlideSelectedPrevious() + self.parent.BaseToolbar.onSlideSelectedPrevious() event.accept() elif event.key() == QtCore.Qt.Key_Down: - self.parent.onSlideSelectedNext() + self.parent.BaseToolbar.onSlideSelectedNext() event.accept() elif event.key() == QtCore.Qt.Key_PageUp: - self.parent.onSlideSelectedFirst() + self.parent.BaseToolbar.onSlideSelectedFirst() event.accept() elif event.key() == QtCore.Qt.Key_PageDown: - self.parent.onSlideSelectedLast() + self.parent.BaseToolbar.onSlideSelectedLast() event.accept() event.ignore() else: @@ -60,6 +60,7 @@ class SlideController(QtGui.QWidget): """ Set up the Slide Controller. """ + self.toolbarList = {} QtGui.QWidget.__init__(self, parent.mainWindow) self.isLive = isLive self.parent = parent @@ -90,7 +91,8 @@ class SlideController(QtGui.QWidget): self.PreviewListWidget.setObjectName(u'PreviewListWidget') self.ControllerLayout.addWidget(self.PreviewListWidget) # Plugin the Base Toolbar class - self.BaseToolbar = BaseToolbar(self.isLive) + self.BaseToolbar = MasterToolbar(self.isLive) + self.registerToolbar(u'master', self.BaseToolbar) self.Toolbar = self.BaseToolbar.getToolbar() self.ControllerLayout.addWidget(self.Toolbar) sizeToolbarPolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, @@ -137,16 +139,46 @@ class SlideController(QtGui.QWidget): self.BaseToolbar.SlidePreview = self.SlidePreview self.BaseToolbar.mainDisplay = self.parent.mainDisplay + def registerToolbar(self, handle,controller): + #store the handle name in lower case so no probems later + self.toolbarList[handle.lower()] = controller + + def retrieveToolbar(self, handle): + print handle + print self.toolbarList + try: + toolbar = self.toolbarList[handle.lower()] + except: + toolbar = self.toolbarList[u'master'] + toolbar.PreviewListWidget = self.PreviewListWidget + toolbar.SlidePreview = self.SlidePreview + toolbar.mainDisplay = self.parent.mainDisplay + print toolbar + return toolbar + def addServiceItem(self, item): + """ + helper method to pass item to correct toolbar + """ + self.BaseToolbar = self.retrieveToolbar(item.shortname) + self.ControllerLayout.removeWidget(self.Toolbar) + self.Toolbar = self.BaseToolbar.getToolbar() + self.ControllerLayout.addWidget(self.Toolbar) self.BaseToolbar.addServiceItem(item) def addServiceManagerItem(self, item, slideno): + """ + helper method to pass item to correct toolbar + """ self.BaseToolbar.addServiceManagerItem(item, slideno) -class BaseToolbar(object): - +class MasterToolbar(QtCore.QObject): + """ + Class from which all tollbars should extend + """ def __init__(self, isLive): self.Toolbar = None + QtCore.QObject.__init__(self) self.PreviewListWidget = QtGui.QListWidget() self.isLive = isLive self.defineToolbar() @@ -156,7 +188,6 @@ class BaseToolbar(object): def defineToolbar(self): # Controller toolbar - #self.Toolbar = OpenLPToolbar(self.Controller) self.Toolbar = OpenLPToolbar(self) sizeToolbarPolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) @@ -171,11 +202,11 @@ class BaseToolbar(object): u':/slides/slide_first.png', translate(u'SlideController', u'Move to first'), self.onSlideSelectedFirst) - self.Toolbar.addToolbarButton(u'Last Slide', + self.Toolbar.addToolbarButton(u'Previous Slide', u':/slides/slide_previous.png', translate(u'SlideController', u'Move to previous'), self.onSlideSelectedPrevious) - self.Toolbar.addToolbarButton(u'First Slide', + self.Toolbar.addToolbarButton(u'Next Slide', u':/slides/slide_next.png', translate(u'SlideController', u'Move to next'), self.onSlideSelectedNext) @@ -221,7 +252,7 @@ class BaseToolbar(object): """ Go to the last slide. """ - self.PreviewListWidget.selectRow(self.PreviewListWidget.rowCount()) + self.PreviewListWidget.selectRow(self.PreviewListWidget.rowCount() - 1) self.onSlideSelected() def onBlankScreen(self): @@ -244,7 +275,7 @@ class BaseToolbar(object): if self.isLive: self.mainDisplay.frameView(frame) - def addServiceItem(self, serviceitem, slideno= 1): + def addServiceItem(self, serviceitem, slideno = 1): """ Loads a ServiceItem into the system from plugins Display the first slide diff --git a/openlp/plugins/images/lib/imageslidecontroller.py b/openlp/plugins/images/lib/imageslidecontroller.py index 008f25b19..007407ac5 100644 --- a/openlp/plugins/images/lib/imageslidecontroller.py +++ b/openlp/plugins/images/lib/imageslidecontroller.py @@ -22,22 +22,19 @@ import os from PyQt4 import QtCore, QtGui from openlp.core.lib import OpenLPToolbar, translate -from openlp.core.ui.slidecontroller import BaseToolbar +from openlp.core.ui.slidecontroller import MasterToolbar -class ImageToolbar(BaseToolbar): +class ImageToolbar(MasterToolbar): def __init__(self, isLive): + MasterToolbar.__init__(self, isLive) self.Toolbar = None - self.PreviewListView = QtGui.QListWidget() self.isLive = isLive self.defineToolbar() - def getToolbar(self): - return self.Toolbar - def defineToolbar(self): # Controller toolbar - #self.Toolbar = OpenLPToolbar(self.Controller) + self.Toolbar = OpenLPToolbar(self) sizeToolbarPolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Fixed, QtGui.QSizePolicy.Fixed) sizeToolbarPolicy.setHorizontalStretch(0) @@ -49,11 +46,11 @@ class ImageToolbar(BaseToolbar): u':/slides/slide_first.png', translate(u'SlideController', u'Move to first'), self.onSlideSelectedFirst) - self.Toolbar.addToolbarButton(u'Last Slide', + self.Toolbar.addToolbarButton(u'Previous Slide', u':/slides/slide_previous.png', translate(u'SlideController', u'Move to previous'), self.onSlideSelectedPrevious) - self.Toolbar.addToolbarButton(u'First Slide', + self.Toolbar.addToolbarButton(u'Next Slide', u':/slides/slide_next.png', translate(u'SlideController', u'Move to next'), self.onSlideSelectedNext) @@ -69,24 +66,23 @@ class ImageToolbar(BaseToolbar): self.onBlankScreen) self.Toolbar.addSeparator() self.Toolbar.addToolbarButton(u'Start Loop', - u':/slides/slide_last.png', + u':/media/media_time.png', translate(u'SlideController', u'Start continuous loop'), self.onStartLoop) self.Toolbar.addToolbarButton(u'Stop Loop', - u':/slides/slide_last.png', + u':/media/media_stop.png', translate(u'SlideController', u'Start continuous loop'), self.onStopLoop) self.Toolbar.setSizePolicy(sizeToolbarPolicy) - self.ControllerLayout.addWidget(self.Toolbar) def onStartLoop(self): """ Go to the last slide. """ - pass + print "onStartLoop" def onStopLoop(self): """ Go to the last slide. """ - pass + print "onStopLoop" diff --git a/openlp/plugins/images/lib/mediaitem.py b/openlp/plugins/images/lib/mediaitem.py index 60d7a3d59..e0ef07260 100644 --- a/openlp/plugins/images/lib/mediaitem.py +++ b/openlp/plugins/images/lib/mediaitem.py @@ -54,10 +54,9 @@ class ImageMediaItem(MediaManagerItem): # be instanced by the base MediaManagerItem self.ListViewWithDnD_class = ImageListView MediaManagerItem.__init__(self, parent, icon, title) - #create and install our own slide controllers -# live_controller = ImageSlideController(self.parent.slideManager.parent, True) -# preview_controller = ImageSlideController(self.parent.slideManager.parent) -# self.parent.slideManager.add_controllers(u'image', preview_controller, live_controller) + #create and install our own slide controller toolbar + imageToolbar = ImageToolbar(True) + parent.live_controller.registerToolbar(self.ConfigSection, imageToolbar) def initialise(self): self.ListView.setSelectionMode(QtGui.QAbstractItemView.ExtendedSelection) diff --git a/resources/images/media_verse.png b/resources/images/media_bible.png similarity index 100% rename from resources/images/media_verse.png rename to resources/images/media_bible.png diff --git a/resources/images/media_stop.png b/resources/images/media_stop.png new file mode 100644 index 0000000000000000000000000000000000000000..5b4c488bdfde337177a0fa697d72b92c91bfb4ff GIT binary patch literal 722 zcmV;@0xkWCP)T3ZYmz(SzqVG|c5sBvYC8;yxO zSMFq|3m+?&Il=G#E*49tb+=foJF~O)o2zJAzY&PF{ zcQn;xSqPzlrXf8Sr($<54-e-N;#i|37$JfeySwr|H*TiPjViKU2hYP-r|-JdeIIGH zvULAmHS=RRl4$?nxsLQ$&+S_&y<9>lNLMW?6?D~xf(rKqNMIPx zd#_(jYV!-|zE9h^AzFuq)IAV+w4c8~=fz8y0^G?-dasQn115Tdn&%~|A0}vNX+xMM zI1WZ8gLU}|!H6++cMEgqtE(6)(Z>6UZ6-?KfMBzVR#`_c{$geH4(`G{Mt4TRS=_}1 z)}K5ku0+iP0~os4W}*Zhh?V?Xnv7=Z$s~F<8$KdoN!Mj#`V-#t6m{EXEfF$}36PsM z{9MLeU!(oOL(IN@{(Swi-DdxO(vP0vC*p_z(nBUnAYrSfv!k{YxOn;`zVFlX@->=i zA^`zZ^pJ`6U`mLC?_!J(Hk0VGLEG0J+JjFDxRwQa41O0`O2Ldx?YPU)!&1&fixf!S zn2aCUOCnPtj4HxY0=|T$7Qx3gSv%o`aN{OMl2=M{z*k99Nn-Ihx?xcFJjw_rSIV_h z4e)M3BpHVn>L*IXElUe#_ZPV#qs)L)#4b{$^%peJ8WC;Ge_}L0 zua~!wcF_YL?=8N2?mg$8kBOp)@1eQ5*)TUZcYv=jFfi~?tycdSiA3U5d;1%L>FH^? z+wGnS1On%Cxm^QS~GI5=qC z+1Z(YaPK~Q`}Y5=QKysTt5ncvGzf)4h(@DWTVKyy?(gS)UY|HQIXNdn932}QdnOS$ z9FFL%8#fERn;T+7eLXA8WS}Z9$0-=Y$E77KE-vPN76fi@Z*QfeqvIS1Tw7b)qii-? z7zqW_7X^VSlu9TJ2E^9Zz{zCN3DOh_g#wN%SGd1kzC3BNHr2Jax1R?=*4o-S?C5vs zs;W#fp63w_29Zy?V=F7rn$6fhI6#=ZI7+3k{pk~`tE<@?x106#^>Ot7nh%G=<(X_o zG#ZU89*?7#bStS_>g-uOzj_rqyB#}zKlFM%ac~?b znU*2_d|n>bcXyE}D?=WU_Vo0iw6s)`kxr-K@p$m+pI1edm6bUzl}hbWDA*y5&WJ>w zpD&S>S5zRS)1kAo6E!t8n3|eGB9Q=P1LPYl77Mf6?G@bN;o*OYL=x{87EWYj*zxhP zM6k8Bg_4pIsk4%d^?JP+8XCgL$Ove32!a4=eu3ZE*tkhXUZWt%KL-Nf7=yZ?0Mt#o zNMzEPot?$<^0JhPmX;RD6OyavK=Awhj(9AN-=97eL*a0S3ScDt`}_NnCzKV5i~@&= zi3ylYCalq#$q&zIl+9-ILy@*fuTU!3=H{j}GD$>NR~NKeEml`oF*-U5Dtmedia_presentation.png media_image.png media_song.png - media_verse.png + media_bible.png media_video.png + media_time.png + media_stop.png messagebox_critical.png