Merge lp:~meths/openlp/trivialfixes into lp:openlp
- trivialfixes
- Merge into trunk
Proposed by
Jon Tibble
Status: | Merged |
---|---|
Merged at revision: | not available |
Proposed branch: | lp:~meths/openlp/trivialfixes |
Merge into: | lp:openlp |
Diff against target: | None lines |
To merge this branch: | bzr merge lp:~meths/openlp/trivialfixes |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Tim Bentley | Approve | ||
Review via email:
|
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Jon Tibble (meths) wrote : | # |
lp:~meths/openlp/trivialfixes
updated
- 554. By Jon Tibble
-
Dock Widget Refactoring
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'openlp/core/lib/__init__.py' | |||
2 | --- openlp/core/lib/__init__.py 2009-09-18 17:37:11 +0000 | |||
3 | +++ openlp/core/lib/__init__.py 2009-09-19 11:25:01 +0000 | |||
4 | @@ -121,6 +121,7 @@ | |||
5 | 121 | from serviceitem import ServiceType | 121 | from serviceitem import ServiceType |
6 | 122 | from serviceitem import ServiceItem | 122 | from serviceitem import ServiceItem |
7 | 123 | from toolbar import OpenLPToolbar | 123 | from toolbar import OpenLPToolbar |
8 | 124 | from dockwidget import OpenLPDockWidget | ||
9 | 124 | from songxmlhandler import SongXMLBuilder, SongXMLParser | 125 | from songxmlhandler import SongXMLBuilder, SongXMLParser |
10 | 125 | from themexmlhandler import ThemeXML | 126 | from themexmlhandler import ThemeXML |
11 | 126 | from renderer import Renderer | 127 | from renderer import Renderer |
12 | 127 | 128 | ||
13 | === added file 'openlp/core/lib/dockwidget.py' | |||
14 | --- openlp/core/lib/dockwidget.py 1970-01-01 00:00:00 +0000 | |||
15 | +++ openlp/core/lib/dockwidget.py 2009-09-19 11:25:01 +0000 | |||
16 | @@ -0,0 +1,53 @@ | |||
17 | 1 | # -*- coding: utf-8 -*- | ||
18 | 2 | # vim: autoindent shiftwidth=4 expandtab textwidth=80 tabstop=4 softtabstop=4 | ||
19 | 3 | |||
20 | 4 | ############################################################################### | ||
21 | 5 | # OpenLP - Open Source Lyrics Projection # | ||
22 | 6 | # --------------------------------------------------------------------------- # | ||
23 | 7 | # Copyright (c) 2008-2009 Raoul Snyman # | ||
24 | 8 | # Portions copyright (c) 2008-2009 Martin Thompson, Tim Bentley, Carsten # | ||
25 | 9 | # Tinggaard, Jon Tibble, Jonathan Corwin, Maikel Stuivenberg, Scott Guerrieri # | ||
26 | 10 | # --------------------------------------------------------------------------- # | ||
27 | 11 | # This program is free software; you can redistribute it and/or modify it # | ||
28 | 12 | # under the terms of the GNU General Public License as published by the Free # | ||
29 | 13 | # Software Foundation; version 2 of the License. # | ||
30 | 14 | # # | ||
31 | 15 | # This program is distributed in the hope that it will be useful, but WITHOUT # | ||
32 | 16 | # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # | ||
33 | 17 | # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # | ||
34 | 18 | # more details. # | ||
35 | 19 | # # | ||
36 | 20 | # You should have received a copy of the GNU General Public License along # | ||
37 | 21 | # with this program; if not, write to the Free Software Foundation, Inc., 59 # | ||
38 | 22 | # Temple Place, Suite 330, Boston, MA 02111-1307 USA # | ||
39 | 23 | ############################################################################### | ||
40 | 24 | |||
41 | 25 | import types | ||
42 | 26 | import logging | ||
43 | 27 | |||
44 | 28 | from PyQt4 import QtCore, QtGui | ||
45 | 29 | |||
46 | 30 | class OpenLPDockWidget(QtGui.QDockWidget): | ||
47 | 31 | """ | ||
48 | 32 | Custom DockWidget class to handle events | ||
49 | 33 | """ | ||
50 | 34 | def __init__(self, parent=None, name=None): | ||
51 | 35 | """ | ||
52 | 36 | Initialise the DockWidget | ||
53 | 37 | """ | ||
54 | 38 | QtGui.QDockWidget.__init__(self, parent) | ||
55 | 39 | self.parent = parent | ||
56 | 40 | if name is not None: | ||
57 | 41 | self.setObjectName(name) | ||
58 | 42 | self.log = logging.getLogger(u'OpenLPDockWidget') | ||
59 | 43 | self.log.debug(u'Init done') | ||
60 | 44 | |||
61 | 45 | def closeEvent(self, event): | ||
62 | 46 | self.parent.settingsmanager.setUIItemVisibility( | ||
63 | 47 | self.objectName(), False) | ||
64 | 48 | event.accept() | ||
65 | 49 | |||
66 | 50 | def resizeEvent(self, event): | ||
67 | 51 | if self.objectName() == u'MediaManagerDock': | ||
68 | 52 | if event.size().width() != event.oldSize().width(): | ||
69 | 53 | self.parent.settingsmanager.setDockbarLeft(event.size().width()) | ||
70 | 0 | 54 | ||
71 | === modified file 'openlp/core/lib/settingsmanager.py' | |||
72 | --- openlp/core/lib/settingsmanager.py 2009-09-14 22:10:08 +0000 | |||
73 | +++ openlp/core/lib/settingsmanager.py 2009-09-19 11:25:01 +0000 | |||
74 | @@ -62,17 +62,17 @@ | |||
75 | 62 | self.showPreviewPanel = str_to_bool(ConfigHelper.get_config( | 62 | self.showPreviewPanel = str_to_bool(ConfigHelper.get_config( |
76 | 63 | u'user interface', u'display previewpanel', True)) | 63 | u'user interface', u'display previewpanel', True)) |
77 | 64 | 64 | ||
89 | 65 | def toggleMediaManager(self, isVisible): | 65 | def setUIItemVisibility(self, item=u'', isVisible=True): |
90 | 66 | ConfigHelper.set_config(u'user interface', u'display mediamanager', | 66 | if item != u'': |
91 | 67 | isVisible) | 67 | if item == u'ThemeManagerDock': |
92 | 68 | 68 | ConfigHelper.set_config('user interface', | |
93 | 69 | def toggleServiceManager(self, isVisible): | 69 | u'display thememanager', isVisible) |
94 | 70 | ConfigHelper.set_config(u'user interface', u'display servicemanager', | 70 | elif item == u'ServiceManagerDock': |
95 | 71 | isVisible) | 71 | ConfigHelper.set_config('user interface', |
96 | 72 | 72 | u'display servicemanager', isVisible) | |
97 | 73 | def toggleThemeManager(self, isVisible): | 73 | elif item == u'MediaManagerDock': |
98 | 74 | ConfigHelper.set_config(u'user interface', u'display thememanager', | 74 | ConfigHelper.set_config('user interface', |
99 | 75 | isVisible) | 75 | u'display mediamanager', isVisible) |
100 | 76 | 76 | ||
101 | 77 | def togglePreviewPanel(self, isVisible): | 77 | def togglePreviewPanel(self, isVisible): |
102 | 78 | ConfigHelper.set_config(u'user interface', u'display previewpanel', | 78 | ConfigHelper.set_config(u'user interface', u'display previewpanel', |
103 | 79 | 79 | ||
104 | === modified file 'openlp/core/ui/mainwindow.py' | |||
105 | --- openlp/core/ui/mainwindow.py 2009-09-18 18:20:58 +0000 | |||
106 | +++ openlp/core/ui/mainwindow.py 2009-09-19 11:25:01 +0000 | |||
107 | @@ -31,20 +31,11 @@ | |||
108 | 31 | ServiceManager, ThemeManager, MainDisplay, SlideController, \ | 31 | ServiceManager, ThemeManager, MainDisplay, SlideController, \ |
109 | 32 | PluginForm | 32 | PluginForm |
110 | 33 | from openlp.core.lib import translate, Plugin, MediaManagerItem, \ | 33 | from openlp.core.lib import translate, Plugin, MediaManagerItem, \ |
112 | 34 | SettingsTab, RenderManager, PluginConfig, str_to_bool, \ | 34 | SettingsTab, RenderManager, PluginConfig, str_to_bool, OpenLPDockWidget, \ |
113 | 35 | SettingsManager, PluginManager, Receiver | 35 | SettingsManager, PluginManager, Receiver |
114 | 36 | 36 | ||
115 | 37 | from openlp.core.utils import ConfigHelper | 37 | from openlp.core.utils import ConfigHelper |
116 | 38 | 38 | ||
117 | 39 | class mediaDock(QtGui.QDockWidget): | ||
118 | 40 | def __init__(self, parent=None, name=None): | ||
119 | 41 | QtGui.QDockWidget.__init__(self, parent) | ||
120 | 42 | self.parent = parent | ||
121 | 43 | |||
122 | 44 | def resizeEvent(self, resizeEvent): | ||
123 | 45 | if resizeEvent.size().width() != resizeEvent.oldSize().width(): | ||
124 | 46 | self.parent.settingsmanager.setDockbarLeft(resizeEvent.size().width()) | ||
125 | 47 | |||
126 | 48 | class Ui_MainWindow(object): | 39 | class Ui_MainWindow(object): |
127 | 49 | def setupUi(self, MainWindow): | 40 | def setupUi(self, MainWindow): |
128 | 50 | """ | 41 | """ |
129 | @@ -116,7 +107,7 @@ | |||
130 | 116 | self.DefaultThemeLabel.setObjectName(u'DefaultThemeLabel') | 107 | self.DefaultThemeLabel.setObjectName(u'DefaultThemeLabel') |
131 | 117 | self.StatusBar.addPermanentWidget(self.DefaultThemeLabel) | 108 | self.StatusBar.addPermanentWidget(self.DefaultThemeLabel) |
132 | 118 | # Create the MediaManager | 109 | # Create the MediaManager |
134 | 119 | self.MediaManagerDock = mediaDock(MainWindow) | 110 | self.MediaManagerDock = OpenLPDockWidget(MainWindow) |
135 | 120 | icon = QtGui.QIcon() | 111 | icon = QtGui.QIcon() |
136 | 121 | icon.addPixmap(QtGui.QPixmap(u':/system/system_mediamanager.png'), | 112 | icon.addPixmap(QtGui.QPixmap(u':/system/system_mediamanager.png'), |
137 | 122 | QtGui.QIcon.Normal, QtGui.QIcon.Off) | 113 | QtGui.QIcon.Normal, QtGui.QIcon.Off) |
138 | @@ -146,7 +137,7 @@ | |||
139 | 146 | QtCore.Qt.DockWidgetArea(1), self.MediaManagerDock) | 137 | QtCore.Qt.DockWidgetArea(1), self.MediaManagerDock) |
140 | 147 | self.MediaManagerDock.setVisible(self.settingsmanager.showMediaManager) | 138 | self.MediaManagerDock.setVisible(self.settingsmanager.showMediaManager) |
141 | 148 | # Create the service manager | 139 | # Create the service manager |
143 | 149 | self.ServiceManagerDock = QtGui.QDockWidget(MainWindow) | 140 | self.ServiceManagerDock = OpenLPDockWidget(MainWindow) |
144 | 150 | ServiceManagerIcon = QtGui.QIcon() | 141 | ServiceManagerIcon = QtGui.QIcon() |
145 | 151 | ServiceManagerIcon.addPixmap( | 142 | ServiceManagerIcon.addPixmap( |
146 | 152 | QtGui.QPixmap(u':/system/system_servicemanager.png'), | 143 | QtGui.QPixmap(u':/system/system_servicemanager.png'), |
147 | @@ -164,7 +155,7 @@ | |||
148 | 164 | self.ServiceManagerDock.setVisible( | 155 | self.ServiceManagerDock.setVisible( |
149 | 165 | self.settingsmanager.showServiceManager) | 156 | self.settingsmanager.showServiceManager) |
150 | 166 | # Create the theme manager | 157 | # Create the theme manager |
152 | 167 | self.ThemeManagerDock = QtGui.QDockWidget(MainWindow) | 158 | self.ThemeManagerDock = OpenLPDockWidget(MainWindow) |
153 | 168 | ThemeManagerIcon = QtGui.QIcon() | 159 | ThemeManagerIcon = QtGui.QIcon() |
154 | 169 | ThemeManagerIcon.addPixmap( | 160 | ThemeManagerIcon.addPixmap( |
155 | 170 | QtGui.QPixmap(u':/system/system_thememanager.png'), | 161 | QtGui.QPixmap(u':/system/system_thememanager.png'), |
156 | @@ -520,13 +511,17 @@ | |||
157 | 520 | QtCore.QObject.connect(Receiver.get_receiver(), | 511 | QtCore.QObject.connect(Receiver.get_receiver(), |
158 | 521 | QtCore.SIGNAL(u'update_global_theme'), self.defaultThemeChanged) | 512 | QtCore.SIGNAL(u'update_global_theme'), self.defaultThemeChanged) |
159 | 522 | QtCore.QObject.connect(self.FileNewItem, | 513 | QtCore.QObject.connect(self.FileNewItem, |
161 | 523 | QtCore.SIGNAL(u'triggered()'), self.ServiceManagerContents.onNewService) | 514 | QtCore.SIGNAL(u'triggered()'), |
162 | 515 | self.ServiceManagerContents.onNewService) | ||
163 | 524 | QtCore.QObject.connect(self.FileOpenItem, | 516 | QtCore.QObject.connect(self.FileOpenItem, |
165 | 525 | QtCore.SIGNAL(u'triggered()'), self.ServiceManagerContents.onLoadService) | 517 | QtCore.SIGNAL(u'triggered()'), |
166 | 518 | self.ServiceManagerContents.onLoadService) | ||
167 | 526 | QtCore.QObject.connect(self.FileSaveItem, | 519 | QtCore.QObject.connect(self.FileSaveItem, |
169 | 527 | QtCore.SIGNAL(u'triggered()'), self.ServiceManagerContents.onQuickSaveService) | 520 | QtCore.SIGNAL(u'triggered()'), |
170 | 521 | self.ServiceManagerContents.onQuickSaveService) | ||
171 | 528 | QtCore.QObject.connect(self.FileSaveAsItem, | 522 | QtCore.QObject.connect(self.FileSaveAsItem, |
173 | 529 | QtCore.SIGNAL(u'triggered()'), self.ServiceManagerContents.onSaveService) | 523 | QtCore.SIGNAL(u'triggered()'), |
174 | 524 | self.ServiceManagerContents.onSaveService) | ||
175 | 530 | #warning cyclic dependency | 525 | #warning cyclic dependency |
176 | 531 | #RenderManager needs to call ThemeManager and | 526 | #RenderManager needs to call ThemeManager and |
177 | 532 | #ThemeManager needs to call RenderManager | 527 | #ThemeManager needs to call RenderManager |
178 | @@ -673,20 +668,23 @@ | |||
179 | 673 | def defaultThemeChanged(self, theme): | 668 | def defaultThemeChanged(self, theme): |
180 | 674 | self.DefaultThemeLabel.setText(self.defaultThemeText + theme) | 669 | self.DefaultThemeLabel.setText(self.defaultThemeText + theme) |
181 | 675 | 670 | ||
196 | 676 | def toggleMediaManager(self): | 671 | def toggleMediaManager(self, visible): |
197 | 677 | mediaBool = self.MediaManagerDock.isVisible() | 672 | if self.MediaManagerDock.isVisible() != visible: |
198 | 678 | self.MediaManagerDock.setVisible(not mediaBool) | 673 | self.MediaManagerDock.setVisible(visible) |
199 | 679 | self.settingsmanager.toggleMediaManager(not mediaBool) | 674 | self.settingsmanager.setUIItemVisibility( |
200 | 680 | 675 | self.MediaManagerDock.objectName(), visible) | |
201 | 681 | def toggleServiceManager(self): | 676 | |
202 | 682 | serviceBool = self.ServiceManagerDock.isVisible() | 677 | def toggleServiceManager(self, visible): |
203 | 683 | self.ServiceManagerDock.setVisible(not serviceBool) | 678 | if self.ServiceManagerDock.isVisible() != visible: |
204 | 684 | self.settingsmanager.toggleServiceManager(not serviceBool) | 679 | self.ServiceManagerDock.setVisible(visible) |
205 | 685 | 680 | self.settingsmanager.setUIItemVisibility( | |
206 | 686 | def toggleThemeManager(self): | 681 | self.ServiceManagerDock.objectName(), visible) |
207 | 687 | themeBool = self.ThemeManagerDock.isVisible() | 682 | |
208 | 688 | self.ThemeManagerDock.setVisible(not themeBool) | 683 | def toggleThemeManager(self, visible): |
209 | 689 | self.settingsmanager.toggleThemeManager(not themeBool) | 684 | if self.ThemeManagerDock.isVisible() != visible: |
210 | 685 | self.ThemeManagerDock.setVisible(visible) | ||
211 | 686 | self.settingsmanager.setUIItemVisibility( | ||
212 | 687 | self.ThemeManagerDock.objectName(), visible) | ||
213 | 690 | 688 | ||
214 | 691 | def togglePreviewPanel(self): | 689 | def togglePreviewPanel(self): |
215 | 692 | previewBool = self.PreviewController.Panel.isVisible() | 690 | previewBool = self.PreviewController.Panel.isVisible() |
Refactor the dock widget saving
- Fixes issue when using close button on widget the visibility wasn't saved