Merge lp:~raoul-snyman/openlp/dualdisplay into lp:openlp

Proposed by Raoul Snyman
Status: Merged
Approved by: Raoul Snyman
Approved revision: 435
Merge reported by: Raoul Snyman
Merged at revision: not available
Proposed branch: lp:~raoul-snyman/openlp/dualdisplay
Merge into: lp:openlp
Diff against target: None lines
To merge this branch: bzr merge lp:~raoul-snyman/openlp/dualdisplay
Reviewer Review Type Date Requested Status
Tim Bentley Approve
Michael Gorven (community) Approve
Review via email: mp+6086@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Michael Gorven (mgorven) wrote :

+ screen_name = translate(u'GeneralTab', u'Screen') + u' ' + \
+ str(screen['number'] + 1)
+ if screen['primary']:
+ screen_name = screen_name + u' (' + \
+ translate(u'GeneralTab', u'primary') + u')'

String interpolation would make this a bit neater.
 review approve

review: Approve
Revision history for this message
Tim Bentley (trb143) wrote :

Looks fine to me.

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'openlp.pyw'
2--- openlp.pyw 2009-04-28 19:40:51 +0000
3+++ openlp.pyw 2009-05-01 11:50:09 +0000
4@@ -52,9 +52,11 @@
5 self.processEvents()
6 screens = []
7 # Decide how many screens we have and their size
8- for screen in xrange (0 , self.desktop().numScreens()):
9- screens.insert(screen, (screen+1, self.desktop().availableGeometry(screen+1)))
10- log.info(u'Screen %d found with resolution %s', screen+1, self.desktop().availableGeometry(screen+1))
11+ for screen in xrange(0, self.desktop().numScreens()):
12+ screens.append({u'number': screen,
13+ u'size': self.desktop().availableGeometry(screen),
14+ u'primary': (self.desktop().primaryScreen() == screen)})
15+ log.info(u'Screen %d found with resolution %s', screen, self.desktop().availableGeometry(screen))
16 # start the main app window
17 self.main_window = MainWindow(screens)
18 self.main_window.show()
19
20=== modified file 'openlp/core/lib/rendermanager.py'
21--- openlp/core/lib/rendermanager.py 2009-04-25 06:38:21 +0000
22+++ openlp/core/lib/rendermanager.py 2009-05-01 11:50:09 +0000
23@@ -38,9 +38,9 @@
24 self.screen_list = screen_list
25 self.theme_manager = theme_manager
26 self.displays = len(screen_list)
27- self.current_display = 1
28+ self.current_display = 0
29 self.renderer = Renderer(None)
30- self.calculate_default(self.screen_list[self.current_display-1][1])
31+ self.calculate_default(self.screen_list[self.current_display]['size'])
32 self.frame = None
33
34 def set_default_theme(self, theme):
35
36=== modified file 'openlp/core/lib/settingstab.py'
37--- openlp/core/lib/settingstab.py 2009-04-15 04:58:51 +0000
38+++ openlp/core/lib/settingstab.py 2009-05-01 11:50:09 +0000
39@@ -33,26 +33,51 @@
40 self.tabTitle = title
41 self.setupUi()
42 self.retranslateUi()
43+ self.initialise()
44 if title == None:
45- self.config = PluginConfig(u"Main")
46+ self.config = PluginConfig(u'Main')
47 else:
48 self.config = PluginConfig(str(title))
49 self.load()
50
51 def setTitle(self, title):
52+ """
53+ Set the title of the tab.
54+ """
55 self.tabTitle = title
56
57 def title(self):
58+ """
59+ Get the title of the tab.
60+ """
61 return self.tabTitle
62
63 def setupUi(self):
64+ """
65+ Setup the tab's interface.
66+ """
67 pass
68
69 def retranslateUi(self):
70+ """
71+ Setup the interface translation strings.
72+ """
73+ pass
74+
75+ def initialise(self):
76+ """
77+ Do any extra initialisation here.
78+ """
79 pass
80
81 def load(self):
82+ """
83+ Load settings from disk.
84+ """
85 pass
86
87 def save(self):
88+ """
89+ Save settings to disk.
90+ """
91 pass
92
93=== modified file 'openlp/core/ui/generaltab.py'
94--- openlp/core/ui/generaltab.py 2009-04-10 05:59:40 +0000
95+++ openlp/core/ui/generaltab.py 2009-05-01 11:50:09 +0000
96@@ -29,8 +29,8 @@
97 GeneralTab is the general settings tab in the settings dialog.
98 """
99 def __init__(self, screen_list):
100+ self.screen_list = screen_list
101 SettingsTab.__init__(self, translate(u'GeneralTab', u'General'))
102- self.screen_list = screen_list
103
104 def setupUi(self):
105 self.setObjectName(u'GeneralTab')
106@@ -55,8 +55,6 @@
107 self.MonitorLayout.addWidget(self.MonitorLabel)
108 self.MonitorComboBox = QtGui.QComboBox(self.MonitorGroupBox)
109 self.MonitorComboBox.setObjectName(u'MonitorComboBox')
110- self.MonitorComboBox.addItem(QtCore.QString())
111- self.MonitorComboBox.addItem(QtCore.QString())
112 self.MonitorLayout.addWidget(self.MonitorComboBox)
113 self.GeneralLeftLayout.addWidget(self.MonitorGroupBox)
114 self.BlankScreenGroupBox = QtGui.QGroupBox(self.GeneralLeftWidget)
115@@ -121,8 +119,6 @@
116 def retranslateUi(self):
117 self.MonitorGroupBox.setTitle(translate(u'GeneralTab', u'Monitors'))
118 self.MonitorLabel.setText(translate(u'GeneralTab', u'Select monitor for output display:'))
119- self.MonitorComboBox.setItemText(0, translate(u'GeneralTab', u'Monitor 1 on X11 Windowing System'))
120- self.MonitorComboBox.setItemText(1, translate(u'GeneralTab', u'Monitor 2 on X11 Windowing System'))
121 self.BlankScreenGroupBox.setTitle(translate(u'GeneralTab', u'Blank Screen'))
122 self.WarningCheckBox.setText(translate(u'GeneralTab', u'Show warning on startup'))
123 self.AutoOpenGroupBox.setTitle(translate(u'GeneralTab', u'Auto Open Last Service'))
124@@ -132,3 +128,11 @@
125 self.UsernameLabel.setText(translate(u'GeneralTab', u'SongSelect Username:'))
126 self.PasswordLabel.setText(translate(u'GeneralTab', u'SongSelect Password:'))
127
128+ def initialise(self):
129+ for screen in self.screen_list:
130+ screen_name = translate(u'GeneralTab', u'Screen') + u' ' + \
131+ str(screen['number'] + 1)
132+ if screen['primary']:
133+ screen_name = screen_name + u' (' + \
134+ translate(u'GeneralTab', u'primary') + u')'
135+ self.MonitorComboBox.addItem(screen_name)
136
137=== modified file 'openlp/core/ui/maindisplay.py'
138--- openlp/core/ui/maindisplay.py 2009-04-28 19:40:51 +0000
139+++ openlp/core/ui/maindisplay.py 2009-05-01 11:50:09 +0000
140@@ -24,32 +24,35 @@
141
142 class MainDisplay(QtGui.QWidget):
143
144- def __init__(self, screens, parent=None):
145- QtGui.QWidget.__init__(self, parent)
146- self.setWindowTitle(u'OpenLP Display')
147- self.screens = screens
148- self.imagesize = screens[0][1]
149- self.display = QtGui.QLabel(self)
150- #self.showMinimized()
151+ def __init__(self, parent, screens):
152+ QtGui.QWidget.__init__(self, parent)
153+ self.setWindowTitle(u'OpenLP Display')
154+ self.screens = screens
155+ self.display = QtGui.QLabel(self)
156
157- def initialView(self):
158- self.display.setGeometry((self.imagesize.width()-429)/2, (self.imagesize.height()-429)/2, 429, 429)
159- self.display.setPixmap(QtGui.QPixmap("openlp2.png"))
160- self.showMaximized()
161- print len(self.screens)
162- print self.isEnabled()
163- print self.isVisible()
164- print self.geometry()
165- #if len(self.screens) > 0:
166+ def setup(self, screenNumber):
167+ """
168+ Sets up the screen on a particular screen.
169+ @param (integer) screen This is the screen number.
170+ """
171+ screen = self.screens[screenNumber]
172+ if screen['number'] != screenNumber:
173+ # We will most probably never actually hit this bit, but just in
174+ # case the index in the list doesn't match the screen number, we
175+ # search for it.
176+ for scrn in self.screens:
177+ if scrn['number'] == screenNumber:
178+ screen = scrn
179+ break
180+ self.setGeometry(screen['size'])
181+ if not screen['primary']:
182 self.showFullScreen()
183- self.show()
184+ else:
185+ self.hide()
186
187 def frameView(self, frame):
188- self.display.setGeometry(0, 0, imagesize.width(), imagesize.height())
189- self.display.setPixmap(QtGui.QPixmap(frame))
190+ self.display.setGeometry(0, 0, imagesize.width(), imagesize.height())
191+ self.display.setPixmap(QtGui.QPixmap(frame))
192
193 def kill(self):
194 pass
195-
196-
197-
198
199=== modified file 'openlp/core/ui/mainwindow.py'
200--- openlp/core/ui/mainwindow.py 2009-04-28 19:20:03 +0000
201+++ openlp/core/ui/mainwindow.py 2009-05-01 12:32:08 +0000
202@@ -37,7 +37,7 @@
203
204 def __init__(self, screens):
205 self.main_window = QtGui.QMainWindow()
206- self.main_display = MainDisplay(screens, self.main_window)
207+ self.main_display = MainDisplay(None, screens)
208 self.screen_list = screens
209 self.EventManager = EventManager()
210 self.alert_form = AlertForm()
211@@ -421,7 +421,7 @@
212
213 def show(self):
214 self.main_window.showMaximized()
215- self.main_display.initialView()
216+ self.main_display.setup(0)
217 self.main_display.show()
218
219 def onHelpAboutItemClicked(self):
220
221=== modified file 'openlp/core/ui/settingsform.py'
222--- openlp/core/ui/settingsform.py 2009-04-09 18:50:20 +0000
223+++ openlp/core/ui/settingsform.py 2009-05-01 11:50:09 +0000
224@@ -29,7 +29,7 @@
225
226 log = logging.getLogger('SettingsForm')
227
228-class SettingsForm(QtGui.QDialog, Ui_SettingsDialog):
229+class SettingsForm(QtGui.QDialog, Ui_SettingsDialog):
230
231 def __init__(self, screen_list, parent=None):
232 QtGui.QDialog.__init__(self, parent)