Merge lp:~googol-deactivatedaccount/openlp/bug-856296 into lp:openlp

Proposed by Andreas Preikschat
Status: Merged
Approved by: Tim Bentley
Approved revision: 1774
Merged at revision: 1769
Proposed branch: lp:~googol-deactivatedaccount/openlp/bug-856296
Merge into: lp:openlp
Diff against target: 588 lines (+56/-231)
12 files modified
copyright.txt (+1/-1)
openlp/core/lib/eventreceiver.py (+0/-11)
openlp/core/lib/renderer.py (+2/-1)
openlp/core/resources.py (+34/-130)
openlp/core/ui/maindisplay.py (+2/-6)
openlp/core/ui/slidecontroller.py (+8/-71)
openlp/core/ui/themeform.py (+1/-1)
resources/images/openlp-2.qrc (+0/-2)
scripts/check_dependencies.py (+1/-1)
scripts/generate_resources.sh (+5/-5)
testing/conftest.py (+1/-1)
testing/test_app.py (+1/-1)
To merge this branch: bzr merge lp:~googol-deactivatedaccount/openlp/bug-856296
Reviewer Review Type Date Requested Status
Tim Bentley Approve
Review via email: mp+78289@code.launchpad.net

This proposal supersedes a proposal from 2011-10-03.

Description of the change

Hello,

1) I improved the preview frame display performance (the frame showing the preview/live display). Instead of using a QImage I use a QPixmap. We don't have to convert the QImage to a QPixmap, but we also have the advantage which comes with using the QPixmaps.

"QImage is designed and optimized for I/O, and for direct pixel access and manipulation, while QPixmap is designed and optimized for showing images on screen." http://doc.trolltech.com/4.6/qpixmap.html#details

Sample times:

Update Themes Image (default theme + four sample themes):
Branch vs Trunk
0:00:00.952184 vs 0:00:01.352197
0:00:00.949896 vs 0:00:01.031343
0:00:00.369395 vs 0:00:00.273413
0:00:00.893812 vs 0:00:00.931930
0:00:00.936217 vs 0:00:01.297820

2) Removed dead code.
- See http://bazaar.launchpad.net/~openlp-core/openlp/trunk/revision/997#openlp/core/ui/slidecontroller.py
- Code added here: http://bazaar.launchpad.net/~openlp-core/openlp/trunk/revision/799.2.5

To post a comment you must log in.
Revision history for this message
Tim Bentley (trb143) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'copyright.txt'
--- copyright.txt 2011-06-12 16:14:04 +0000
+++ copyright.txt 2011-10-05 17:23:25 +0000
@@ -7,7 +7,7 @@
7# Copyright (c) 2008-2011 Raoul Snyman #7# Copyright (c) 2008-2011 Raoul Snyman #
8# Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan #8# Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan #
9# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, #9# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, #
10# Armin Köhler, Joshua Millar, Stevan Pettit, Andreas Preikschat, Mattias #10# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias #
11# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #11# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #
12# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #12# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
13# --------------------------------------------------------------------------- #13# --------------------------------------------------------------------------- #
1414
=== modified file 'openlp/core/lib/eventreceiver.py'
--- openlp/core/lib/eventreceiver.py 2011-08-12 13:38:05 +0000
+++ openlp/core/lib/eventreceiver.py 2011-10-05 17:23:25 +0000
@@ -51,9 +51,6 @@
51 ``config_screen_changed``51 ``config_screen_changed``
52 The display monitor has been changed52 The display monitor has been changed
5353
54 ``slidecontroller_{live|preview}_first``
55 Moves to the first slide
56
57 ``slidecontroller_{live|preview}_next``54 ``slidecontroller_{live|preview}_next``
58 Moves to the next slide55 Moves to the next slide
5956
@@ -66,9 +63,6 @@
66 ``slidecontroller_{live|preview}_previous_noloop``63 ``slidecontroller_{live|preview}_previous_noloop``
67 Moves to the previous slide, without auto advance64 Moves to the previous slide, without auto advance
6865
69 ``slidecontroller_{live|preview}_last``
70 Moves to the last slide
71
72 ``slidecontroller_{live|preview}_set``66 ``slidecontroller_{live|preview}_set``
73 Moves to a specific slide, by index67 Moves to a specific slide, by index
7468
@@ -82,11 +76,6 @@
82 ``slidecontroller_{live|preview}_changed``76 ``slidecontroller_{live|preview}_changed``
83 Broadcasts that the slidecontroller has changed the current slide77 Broadcasts that the slidecontroller has changed the current slide
8478
85 ``slidecontroller_{live|preview}_text_request``
86 Request the text for the current item in the controller
87 Returns a slidecontroller_{live|preview}_text_response with an
88 array of dictionaries with the tag and verse text
89
90 ``slidecontroller_{live|preview}_blank``79 ``slidecontroller_{live|preview}_blank``
91 Request that the output screen is blanked80 Request that the output screen is blanked
9281
9382
=== modified file 'openlp/core/lib/renderer.py'
--- openlp/core/lib/renderer.py 2011-09-26 18:48:47 +0000
+++ openlp/core/lib/renderer.py 2011-10-05 17:23:25 +0000
@@ -201,7 +201,8 @@
201 if not self.force_page:201 if not self.force_page:
202 self.display.buildHtml(serviceItem)202 self.display.buildHtml(serviceItem)
203 raw_html = serviceItem.get_rendered_frame(0)203 raw_html = serviceItem.get_rendered_frame(0)
204 preview = self.display.text(raw_html)204 self.display.text(raw_html)
205 preview = self.display.preview()
205 # Reset the real screen size for subsequent render requests206 # Reset the real screen size for subsequent render requests
206 self._calculate_default()207 self._calculate_default()
207 return preview208 return preview
208209
=== modified file 'openlp/core/resources.py'
--- openlp/core/resources.py 2011-07-08 07:46:25 +0000
+++ openlp/core/resources.py 2011-10-05 17:23:25 +0000
@@ -80624,50 +80624,6 @@
80624\xed\x04\xf9\x30\x17\xe5\xa2\x7c\xe8\x04\x85\x01\xee\x1f\x8d\x42\80624\xed\x04\xf9\x30\x17\xe5\xa2\x7c\xe8\x04\x85\x01\xee\x1f\x8d\x42\
80625\x66\xb3\xf5\x8b\xfe\x99\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\80625\x66\xb3\xf5\x8b\xfe\x99\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\
80626\x60\x82\80626\x60\x82\
80627\x00\x00\x02\x9a\
80628\x89\
80629\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
80630\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
80631\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
80632\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x01\xbb\x00\x00\x01\xbb\
80633\x01\x3a\xec\xe3\xe2\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
80634\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
80635\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x02\x17\x49\x44\
80636\x41\x54\x78\xda\xa5\x53\xcf\x6b\x13\x41\x18\x7d\xb3\x3b\x3b\xdb\
80637\x4d\x37\x92\x1f\xd5\xaa\xa1\x50\x88\xe0\x21\x15\xd4\xa3\xb6\x2a\
80638\xb4\x6b\xf1\x64\x3c\x78\xd0\x8b\xde\xfc\x07\xbc\x4a\xa1\x17\x3d\
80639\x15\xb4\x3d\x8a\xe0\xc5\x93\x7a\xf5\xe0\xa1\x27\x2d\x28\xad\x0a\
80640\x95\xe2\x41\x0f\x92\x60\x6a\x6b\xb2\x89\xc9\xe6\xc7\xee\xe6\xf3\
80641\x73\x09\x2d\xa1\xa6\x1e\xfa\x86\xc7\x37\x0f\xe6\x7b\xf3\x06\xbe\
80642\x11\x44\x84\x83\x40\x03\x43\xfc\xc5\x55\x71\x5f\x38\x22\xd5\xa7\
80643\xa7\x59\xff\x07\x51\x02\x71\x4d\x58\x93\xd9\x49\xcf\x6d\xb8\x95\
80644\xf5\xc2\xfa\x65\x48\x7c\x76\xce\x38\x5e\xd9\x2d\x97\x57\x37\x56\
80645\x1d\x7a\x45\x6b\x83\x13\xf4\x10\x6a\x21\x66\x2e\xcc\x24\xa6\x4e\
80646\x4f\xbd\x01\xe1\x96\x2f\x7c\xe4\xf3\xf9\xa4\x73\xde\x59\xe1\x34\
80647\xb7\x31\x00\x12\x3d\xd4\x79\x95\xdc\x92\x18\xcf\x8e\x2b\x7b\xc4\
80648\x5e\xe2\x34\x28\x55\x4b\x22\x77\x36\xa7\xe2\xc9\xf8\x63\xeb\xba\
80649\x75\xae\x35\xd1\xba\x43\x73\x44\xff\x7c\x42\xf6\x64\xd6\x1b\x4b\
80650\x8e\x41\xda\x12\xc6\x90\x01\xc3\x34\x20\x25\xef\x35\xae\xbc\x1a\
80651\x6e\x23\x5c\x7e\xbb\xfc\xa1\x5a\xac\xce\xd2\x6b\x2a\xef\x31\xc8\
80652\xe4\x32\x9e\x2d\x6d\xc8\x43\xdc\x14\xe3\x26\x53\x42\x49\x05\x29\
80653\x58\x87\xac\x03\x09\xf2\x28\xfc\xb8\xf1\xa9\xf2\x73\x73\x73\x96\
80654\x5e\xd0\x5a\xdf\x13\x5a\x5a\x0b\x5e\xc7\x8b\x0e\xea\xa4\x47\x94\
80655\xc4\x26\xa4\xa0\x02\x05\xa3\xcd\x26\x6d\xa9\x9f\x38\x9e\x4d\x5b\
80656\xc6\xd0\x8a\xb8\x29\x6e\xd0\x33\x7a\xb9\x63\xe0\xe9\x4d\x34\xbb\
80657\x1e\xa0\xf7\x6c\x15\x10\xa1\xc3\xac\x03\xc2\x15\x40\x05\xd0\x7e\
80658\x69\x88\x59\xc3\x04\x43\xd7\xfb\x12\xe8\x26\x6b\x03\x40\x9c\x99\
80659\x64\xda\x4c\xc1\xf4\x10\x81\x3a\x04\xcb\xb7\x02\xc3\x34\x6b\xb5\
80660\xad\xc6\x15\x7a\x1a\xbc\xeb\x37\x90\xbc\xed\x02\x30\x99\xc3\x5c\
80661\xd2\x26\xda\x5a\x3b\xba\x15\x4d\x20\x11\x4b\x06\x61\xa3\xfb\xa5\
80662\xe6\xb9\x97\xe8\x09\x6d\xef\x99\x03\xa9\xf5\x0c\x98\xa8\x68\x61\
80663\x62\x3b\x15\xd9\x0b\x12\x38\x16\x66\xc2\x76\xd9\x7f\xfe\x5b\x54\
80664\x4f\xd1\xc2\x6e\x73\x7f\x82\xae\x0e\xe5\x2b\xea\xd4\x83\x00\x3f\
80665\x70\x8f\x0c\x7a\x60\x96\x4c\x1a\xdd\x3a\x1a\x16\xbe\x15\xef\x86\
80666\x73\xfe\xc3\x7d\x27\x31\x65\xa5\x91\x1a\x39\xc2\xf3\xa4\x4d\xe3\
80667\x7d\xf7\x51\xaa\x93\x46\xba\x30\x5a\xff\xfe\xb5\x78\x31\x6a\x1e\
80668\x84\xde\x6f\x14\xfa\x92\x5a\xc4\x3c\x0e\xef\xe8\x85\x5d\xbd\x1f\
80669\x0f\xfc\x9d\xff\x00\x31\x95\xf8\x05\x21\xa4\x9a\x59\x00\x00\x00\
80670\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
80671\x00\x00\x01\xf5\80627\x00\x00\x01\xf5\
80672\x89\80628\x89\
80673\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\80629\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
@@ -80702,49 +80658,6 @@
80702\x23\xab\xe7\xf3\xa3\xf9\x51\x3d\x6f\x64\xcd\x9a\x10\x42\xfc\x07\80658\x23\xab\xe7\xf3\xa3\xf9\x51\x3d\x6f\x64\xcd\x9a\x10\x42\xfc\x07\
80703\x7b\x2d\x6e\x9f\x2f\x2d\x37\x8c\x00\x00\x00\x00\x49\x45\x4e\x44\80659\x7b\x2d\x6e\x9f\x2f\x2d\x37\x8c\x00\x00\x00\x00\x49\x45\x4e\x44\
80704\xae\x42\x60\x82\80660\xae\x42\x60\x82\
80705\x00\x00\x02\x8d\
80706\x89\
80707\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
80708\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\
80709\x00\x00\x00\x04\x73\x42\x49\x54\x08\x08\x08\x08\x7c\x08\x64\x88\
80710\x00\x00\x00\x09\x70\x48\x59\x73\x00\x00\x01\xbb\x00\x00\x01\xbb\
80711\x01\x3a\xec\xe3\xe2\x00\x00\x00\x19\x74\x45\x58\x74\x53\x6f\x66\
80712\x74\x77\x61\x72\x65\x00\x77\x77\x77\x2e\x69\x6e\x6b\x73\x63\x61\
80713\x70\x65\x2e\x6f\x72\x67\x9b\xee\x3c\x1a\x00\x00\x02\x0a\x49\x44\
80714\x41\x54\x78\xda\xa5\x53\xcf\x6b\x13\x41\x14\xfe\x66\x67\x93\xdd\
80715\xa4\x84\xee\x6e\x76\x5b\x25\x98\xa0\x1e\xa4\x58\x51\xd3\x9b\x50\
80716\x6b\x7f\xe4\x90\x53\x4b\x3c\xe9\x45\xf1\x5f\xf0\x28\x52\xf4\xe2\
80717\xad\xa0\xf6\xe2\x45\xf0\xe4\x41\xc1\x73\xcd\xb5\x22\xe8\x41\x10\
80718\x2f\x82\x07\xd1\x96\x34\x5a\x53\xdb\x4d\x93\x6c\x66\x36\xcf\xe9\
80719\x06\xdb\x86\x68\x7b\xe8\x7b\x3c\x78\xdf\xcc\xfb\xbe\xf7\x06\xde\
80720\x30\x22\xc2\x51\x4c\xc3\x21\xc6\xa6\x99\xc3\x66\xd9\x03\xa6\x2c\
80721\xc2\x85\x5e\x7c\xe0\x04\xac\xc8\xf2\x63\x23\x63\x65\xc7\x72\x9c\
80722\xf2\x87\x72\x12\x12\x67\x47\xb3\xa3\xaf\xad\xa4\x65\x2f\x7f\x59\
80723\x4e\xd2\x2b\x6a\xfe\x77\x02\xd5\xe5\x66\xe1\x52\xe1\xed\xdc\xec\
80724\x9c\x2d\x98\x00\x08\x37\xc6\xf3\xe3\x6f\x66\xae\xcc\x58\x61\x2c\
80725\xdc\xad\xd3\xfb\x88\xf7\x18\x33\x3f\x99\x4f\x4a\x53\xa5\x5b\xd9\
80726\xd3\x59\xbe\xb6\xb9\x86\x80\x07\x28\x4e\x15\x17\x5d\xc7\x8d\x70\
80727\x5d\x79\x9f\xc0\xdf\xf7\x0d\x1e\x1b\x5c\x9a\x9c\x98\xbc\x98\xb0\
80728\x13\xbc\xb2\x55\x81\x50\xee\xe5\x3c\x08\x21\x78\xa5\x51\x81\x6c\
80729\x4a\x34\xf4\x46\xbf\x00\xbb\xca\xf2\x43\x27\x87\x97\x2e\x9c\x3a\
80730\x6f\x37\x59\x93\xfb\xdb\x3e\x84\x2e\x20\x35\x89\xb6\x72\x29\xa5\
80731\x12\x51\x38\x90\x68\xe9\xad\x5e\x01\x76\x9d\x95\x72\x5e\xee\x79\
80732\xc6\xca\xc4\x6a\xad\x1a\x93\x4c\x15\x27\x05\xda\xa4\xa8\x31\x45\
80733\x56\x38\xdc\x71\x0a\x21\x43\x09\x4d\xd7\x7a\x05\x10\xe3\xbc\xb6\
80734\xbd\x41\x2b\x5f\x57\xd0\x71\x3b\x40\x1a\x20\x9b\x00\x7b\xe7\x6e\
80735\x5f\x90\x8a\x00\x48\x84\xc9\xde\x3d\xa0\x67\xf2\x85\x1f\x6b\x5e\
80736\x1e\x18\x49\x6d\x98\x29\x53\x92\x41\xc0\x00\x80\x14\xba\x22\x9e\
80737\x0a\x37\xca\xa3\x33\x9e\xe0\xfd\x8b\x44\x4f\xdb\xef\xb6\xd8\xef\
80738\x33\xba\x17\xff\x6c\xa5\x6c\x19\x75\x34\xbb\x04\xc3\x33\x00\x07\
80739\x5d\x51\x95\x72\x5d\xff\xf7\x26\xd2\x02\xad\xfb\x7c\xf3\x5c\x00\
80740\xf1\xf2\xb8\x99\x09\x19\xb1\x68\x6c\xeb\xa7\x62\xff\xd0\x42\x10\
80741\x80\x0e\xa0\x6b\xfd\x02\x7b\x22\xf3\x44\x8d\xbb\xfe\xb5\x6a\xb5\
80742\x7a\xfb\x44\x90\x95\x86\x6f\x10\xf9\x04\x7c\xc4\x1d\xac\x6a\x22\
80743\x1e\xc4\x89\x87\xfc\xf0\xbf\x10\xce\x8b\x87\xdf\xbe\xaf\x4e\xa4\
80744\x7f\x0d\xd7\xd3\x6d\x17\x78\xdf\x79\x84\x75\x6d\xda\xd1\x87\xea\
80745\x69\xc3\xdd\xd7\x91\xe8\xc0\xc0\x7d\x78\x7c\x21\xfe\x18\x00\xdb\
80746\xc5\x8b\x7b\xf8\xc8\xdf\xf9\x0f\x44\x6e\xe9\xd5\x53\xa5\xc0\x5a\
80747\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\
80748\x00\x00\x02\x0f\80661\x00\x00\x02\x0f\
80749\x89\80662\x89\
80750\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\80663\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\
@@ -82368,19 +82281,11 @@
82368\x00\x6d\82281\x00\x6d\
82369\x00\x65\x00\x64\x00\x69\x00\x61\x00\x5f\x00\x70\x00\x6c\x00\x61\x00\x79\x00\x62\x00\x61\x00\x63\x00\x6b\x00\x5f\x00\x73\x00\x74\82282\x00\x65\x00\x64\x00\x69\x00\x61\x00\x5f\x00\x70\x00\x6c\x00\x61\x00\x79\x00\x62\x00\x61\x00\x63\x00\x6b\x00\x5f\x00\x73\x00\x74\
82370\x00\x6f\x00\x70\x00\x2e\x00\x70\x00\x6e\x00\x67\82283\x00\x6f\x00\x70\x00\x2e\x00\x70\x00\x6e\x00\x67\
82371\x00\x0e\
82372\x0d\x52\x2d\x87\
82373\x00\x73\
82374\x00\x6c\x00\x69\x00\x64\x00\x65\x00\x5f\x00\x6c\x00\x61\x00\x73\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
82375\x00\x18\82284\x00\x18\
82376\x07\xc2\xc7\xc7\82285\x07\xc2\xc7\xc7\
82377\x00\x6d\82286\x00\x6d\
82378\x00\x65\x00\x64\x00\x69\x00\x61\x00\x5f\x00\x70\x00\x6c\x00\x61\x00\x79\x00\x62\x00\x61\x00\x63\x00\x6b\x00\x5f\x00\x73\x00\x74\82287\x00\x65\x00\x64\x00\x69\x00\x61\x00\x5f\x00\x70\x00\x6c\x00\x61\x00\x79\x00\x62\x00\x61\x00\x63\x00\x6b\x00\x5f\x00\x73\x00\x74\
82379\x00\x61\x00\x72\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\82288\x00\x61\x00\x72\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
82380\x00\x0f\
82381\x06\xf0\x05\xe7\
82382\x00\x73\
82383\x00\x6c\x00\x69\x00\x64\x00\x65\x00\x5f\x00\x66\x00\x69\x00\x72\x00\x73\x00\x74\x00\x2e\x00\x70\x00\x6e\x00\x67\
82384\x00\x0e\82289\x00\x0e\
82385\x09\x02\x2d\x47\82290\x09\x02\x2d\x47\
82386\x00\x73\82291\x00\x73\
@@ -82490,15 +82395,15 @@
8249082395
82491qt_resource_struct = "\82396qt_resource_struct = "\
82492\x00\x00\x00\x00\x00\x02\x00\x00\x00\x11\x00\x00\x00\x01\82397\x00\x00\x00\x00\x00\x02\x00\x00\x00\x11\x00\x00\x00\x01\
82493\x00\x00\x00\xb0\x00\x02\x00\x00\x00\x06\x00\x00\x00\x82\82398\x00\x00\x00\xb0\x00\x02\x00\x00\x00\x06\x00\x00\x00\x80\
82494\x00\x00\x00\x52\x00\x02\x00\x00\x00\x04\x00\x00\x00\x7e\82399\x00\x00\x00\x52\x00\x02\x00\x00\x00\x04\x00\x00\x00\x7c\
82495\x00\x00\x01\x1e\x00\x02\x00\x00\x00\x03\x00\x00\x00\x7b\82400\x00\x00\x01\x1e\x00\x02\x00\x00\x00\x03\x00\x00\x00\x79\
82496\x00\x00\x00\x76\x00\x02\x00\x00\x00\x14\x00\x00\x00\x67\82401\x00\x00\x00\x76\x00\x02\x00\x00\x00\x14\x00\x00\x00\x65\
82497\x00\x00\x00\x66\x00\x02\x00\x00\x00\x02\x00\x00\x00\x65\82402\x00\x00\x00\x66\x00\x02\x00\x00\x00\x02\x00\x00\x00\x63\
82498\x00\x00\x00\x3a\x00\x02\x00\x00\x00\x02\x00\x00\x00\x63\82403\x00\x00\x00\x3a\x00\x02\x00\x00\x00\x02\x00\x00\x00\x61\
82499\x00\x00\x00\xfa\x00\x02\x00\x00\x00\x05\x00\x00\x00\x5e\82404\x00\x00\x00\xfa\x00\x02\x00\x00\x00\x05\x00\x00\x00\x5c\
82500\x00\x00\x00\x9c\x00\x02\x00\x00\x00\x09\x00\x00\x00\x55\82405\x00\x00\x00\x9c\x00\x02\x00\x00\x00\x09\x00\x00\x00\x53\
82501\x00\x00\x00\x14\x00\x02\x00\x00\x00\x0b\x00\x00\x00\x4a\82406\x00\x00\x00\x14\x00\x02\x00\x00\x00\x09\x00\x00\x00\x4a\
82502\x00\x00\x00\xbe\x00\x02\x00\x00\x00\x03\x00\x00\x00\x47\82407\x00\x00\x00\xbe\x00\x02\x00\x00\x00\x03\x00\x00\x00\x47\
82503\x00\x00\x01\x0c\x00\x02\x00\x00\x00\x10\x00\x00\x00\x37\82408\x00\x00\x01\x0c\x00\x02\x00\x00\x00\x10\x00\x00\x00\x37\
82504\x00\x00\x00\x86\x00\x02\x00\x00\x00\x03\x00\x00\x00\x34\82409\x00\x00\x00\x86\x00\x02\x00\x00\x00\x03\x00\x00\x00\x34\
@@ -82512,23 +82417,23 @@
82512\x00\x00\x08\x0a\x00\x00\x00\x00\x00\x01\x00\x08\x96\xff\82417\x00\x00\x08\x0a\x00\x00\x00\x00\x00\x01\x00\x08\x96\xff\
82513\x00\x00\x08\x38\x00\x00\x00\x00\x00\x01\x00\x0b\x37\xe1\82418\x00\x00\x08\x38\x00\x00\x00\x00\x00\x01\x00\x0b\x37\xe1\
82514\x00\x00\x07\xda\x00\x00\x00\x00\x00\x01\x00\x05\xf6\x1d\82419\x00\x00\x07\xda\x00\x00\x00\x00\x00\x01\x00\x05\xf6\x1d\
82515\x00\x00\x13\x4a\x00\x00\x00\x00\x00\x01\x00\x13\xc3\x8e\82420\x00\x00\x13\x04\x00\x00\x00\x00\x00\x01\x00\x13\xbe\x5f\
82516\x00\x00\x13\xba\x00\x00\x00\x00\x00\x01\x00\x13\xca\xd9\82421\x00\x00\x13\x74\x00\x00\x00\x00\x00\x01\x00\x13\xc5\xaa\
82517\x00\x00\x12\xfa\x00\x00\x00\x00\x00\x01\x00\x13\xbe\x32\82422\x00\x00\x12\xb4\x00\x00\x00\x00\x00\x01\x00\x13\xb9\x03\
82518\x00\x00\x14\x98\x00\x00\x00\x00\x00\x01\x00\x13\xdd\x57\82423\x00\x00\x14\x52\x00\x00\x00\x00\x00\x01\x00\x13\xd8\x28\
82519\x00\x00\x14\x1a\x00\x00\x00\x00\x00\x01\x00\x13\xd2\xef\82424\x00\x00\x13\xd4\x00\x00\x00\x00\x00\x01\x00\x13\xcd\xc0\
82520\x00\x00\x12\xa2\x00\x00\x00\x00\x00\x01\x00\x13\xb6\xfb\82425\x00\x00\x12\x5c\x00\x00\x00\x00\x00\x01\x00\x13\xb1\xcc\
82521\x00\x00\x14\xea\x00\x00\x00\x00\x00\x01\x00\x13\xe3\x5e\82426\x00\x00\x14\xa4\x00\x00\x00\x00\x00\x01\x00\x13\xde\x2f\
82522\x00\x00\x13\xe2\x00\x00\x00\x00\x00\x01\x00\x13\xce\x4d\82427\x00\x00\x13\x9c\x00\x00\x00\x00\x00\x01\x00\x13\xc9\x1e\
82523\x00\x00\x15\x38\x00\x00\x00\x00\x00\x01\x00\x13\xe8\x8a\82428\x00\x00\x14\xf2\x00\x00\x00\x00\x00\x01\x00\x13\xe3\x5b\
82524\x00\x00\x12\xcc\x00\x00\x00\x00\x00\x01\x00\x13\xb9\x99\82429\x00\x00\x12\x86\x00\x00\x00\x00\x00\x01\x00\x13\xb4\x6a\
82525\x00\x00\x14\xc4\x00\x00\x00\x00\x00\x01\x00\x13\xe0\x8a\82430\x00\x00\x14\x7e\x00\x00\x00\x00\x00\x01\x00\x13\xdb\x5b\
82526\x00\x00\x14\x6e\x00\x00\x00\x00\x00\x01\x00\x13\xda\xdf\82431\x00\x00\x14\x28\x00\x00\x00\x00\x00\x01\x00\x13\xd5\xb0\
82527\x00\x00\x13\x20\x00\x00\x00\x00\x00\x01\x00\x13\xc1\x0c\82432\x00\x00\x12\xda\x00\x00\x00\x00\x00\x01\x00\x13\xbb\xdd\
82528\x00\x00\x15\x14\x00\x00\x00\x00\x00\x01\x00\x13\xe6\x43\82433\x00\x00\x14\xce\x00\x00\x00\x00\x00\x01\x00\x13\xe1\x14\
82529\x00\x00\x14\x42\x00\x00\x00\x00\x00\x01\x00\x13\xd6\x34\82434\x00\x00\x13\xfc\x00\x00\x00\x00\x00\x01\x00\x13\xd1\x05\
82530\x00\x00\x13\x96\x00\x00\x00\x00\x00\x01\x00\x13\xc7\xdc\82435\x00\x00\x13\x50\x00\x00\x00\x00\x00\x01\x00\x13\xc2\xad\
82531\x00\x00\x13\x70\x00\x00\x00\x00\x00\x01\x00\x13\xc5\xc5\82436\x00\x00\x13\x2a\x00\x00\x00\x00\x00\x01\x00\x13\xc0\x96\
82532\x00\x00\x10\xb8\x00\x00\x00\x00\x00\x01\x00\x13\x99\xd5\82437\x00\x00\x10\xb8\x00\x00\x00\x00\x00\x01\x00\x13\x99\xd5\
82533\x00\x00\x06\xcc\x00\x00\x00\x00\x00\x01\x00\x03\x48\x3a\82438\x00\x00\x06\xcc\x00\x00\x00\x00\x00\x01\x00\x03\x48\x3a\
82534\x00\x00\x07\x4c\x00\x00\x00\x00\x00\x01\x00\x03\x4f\x00\82439\x00\x00\x07\x4c\x00\x00\x00\x00\x00\x01\x00\x03\x4f\x00\
@@ -82563,17 +82468,15 @@
82563\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x01\x00\x10\x7c\x43\82468\x00\x00\x08\xc0\x00\x00\x00\x00\x00\x01\x00\x10\x7c\x43\
82564\x00\x00\x08\xe0\x00\x00\x00\x00\x00\x01\x00\x10\x80\x20\82469\x00\x00\x08\xe0\x00\x00\x00\x00\x00\x01\x00\x10\x80\x20\
82565\x00\x00\x08\x9a\x00\x00\x00\x00\x00\x01\x00\x10\x79\xa5\82470\x00\x00\x08\x9a\x00\x00\x00\x00\x00\x01\x00\x10\x79\xa5\
82566\x00\x00\x12\x1e\x00\x00\x00\x00\x00\x01\x00\x13\xb0\x3e\82471\x00\x00\x11\xd8\x00\x00\x00\x00\x00\x01\x00\x13\xab\x0f\
82567\x00\x00\x12\x78\x00\x00\x00\x00\x00\x01\x00\x13\xb4\xf7\82472\x00\x00\x12\x32\x00\x00\x00\x00\x00\x01\x00\x13\xaf\xc8\
82568\x00\x00\x11\x04\x00\x00\x00\x00\x00\x01\x00\x13\x9e\xa8\82473\x00\x00\x11\x04\x00\x00\x00\x00\x00\x01\x00\x13\x9e\xa8\
82569\x00\x00\x11\x90\x00\x00\x00\x00\x00\x01\x00\x13\xa5\x36\82474\x00\x00\x11\xb4\x00\x00\x00\x00\x00\x01\x00\x13\xa7\xdc\
82570\x00\x00\x11\xfa\x00\x00\x00\x00\x00\x01\x00\x13\xad\x0b\82475\x00\x00\x11\x38\x00\x00\x00\x00\x00\x01\x00\x13\xa0\x9f\
82571\x00\x00\x11\x5a\x00\x00\x00\x00\x00\x01\x00\x13\xa3\x3d\82476\x00\x00\x11\x6e\x00\x00\x00\x00\x00\x01\x00\x13\xa2\x98\
82572\x00\x00\x11\xb4\x00\x00\x00\x00\x00\x01\x00\x13\xa7\xc7\82477\x00\x00\x11\x90\x00\x00\x00\x00\x00\x01\x00\x13\xa4\xab\
82573\x00\x00\x11\xd6\x00\x00\x00\x00\x00\x01\x00\x13\xa9\xda\82478\x00\x00\x12\x0e\x00\x00\x00\x00\x00\x01\x00\x13\xac\xf7\
82574\x00\x00\x12\x54\x00\x00\x00\x00\x00\x01\x00\x13\xb2\x26\
82575\x00\x00\x10\xdc\x00\x00\x00\x00\x00\x01\x00\x13\x9b\xec\82479\x00\x00\x10\xdc\x00\x00\x00\x00\x00\x01\x00\x13\x9b\xec\
82576\x00\x00\x11\x38\x00\x00\x00\x00\x00\x01\x00\x13\xa0\x9f\
82577\x00\x00\x0b\x2a\x00\x00\x00\x00\x00\x01\x00\x11\xe1\x6a\82480\x00\x00\x0b\x2a\x00\x00\x00\x00\x00\x01\x00\x11\xe1\x6a\
82578\x00\x00\x0a\xae\x00\x00\x00\x00\x00\x01\x00\x11\xd8\x0f\82481\x00\x00\x0a\xae\x00\x00\x00\x00\x00\x01\x00\x11\xd8\x0f\
82579\x00\x00\x0a\x52\x00\x00\x00\x00\x00\x01\x00\x11\xd2\x4d\82482\x00\x00\x0a\x52\x00\x00\x00\x00\x00\x01\x00\x11\xd2\x4d\
@@ -82640,3 +82543,4 @@
82640 """82543 """
82641 QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name,82544 QtCore.qUnregisterResourceData(0x01, qt_resource_struct, qt_resource_name,
82642 qt_resource_data)82545 qt_resource_data)
82546
8264382547
=== modified file 'openlp/core/ui/maindisplay.py'
--- openlp/core/ui/maindisplay.py 2011-09-24 12:19:28 +0000
+++ openlp/core/ui/maindisplay.py 2011-10-05 17:23:25 +0000
@@ -194,7 +194,6 @@
194 self.setGeometry(self.screen[u'size'])194 self.setGeometry(self.screen[u'size'])
195 self.frame.evaluateJavaScript(u'show_text("%s")' %195 self.frame.evaluateJavaScript(u'show_text("%s")' %
196 slide.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"'))196 slide.replace(u'\\', u'\\\\').replace(u'\"', u'\\\"'))
197 return self.preview()
198197
199 def alert(self, text):198 def alert(self, text):
200 """199 """
@@ -256,7 +255,6 @@
256 image = self.imageManager.get_image_bytes(name)255 image = self.imageManager.get_image_bytes(name)
257 self.resetVideo()256 self.resetVideo()
258 self.displayImage(image)257 self.displayImage(image)
259 return self.preview()
260258
261 def displayImage(self, image):259 def displayImage(self, image):
262 """260 """
@@ -387,7 +385,6 @@
387 # Update the preview frame.385 # Update the preview frame.
388 if self.isLive:386 if self.isLive:
389 Receiver.send_message(u'maindisplay_active')387 Receiver.send_message(u'maindisplay_active')
390 return self.preview()
391388
392 def videoState(self, newState, oldState):389 def videoState(self, newState, oldState):
393 """390 """
@@ -455,9 +452,8 @@
455 self.setVisible(True)452 self.setVisible(True)
456 else:453 else:
457 self.setVisible(True)454 self.setVisible(True)
458 preview = QtGui.QImage(self.screen[u'size'].width(),455 preview = QtGui.QPixmap(self.screen[u'size'].width(),
459 self.screen[u'size'].height(),456 self.screen[u'size'].height())
460 QtGui.QImage.Format_ARGB32_Premultiplied)
461 painter = QtGui.QPainter(preview)457 painter = QtGui.QPainter(preview)
462 painter.setRenderHint(QtGui.QPainter.Antialiasing)458 painter.setRenderHint(QtGui.QPainter.Antialiasing)
463 self.frame.render(painter)459 self.frame.render(painter)
464460
=== modified file 'openlp/core/ui/slidecontroller.py'
--- openlp/core/ui/slidecontroller.py 2011-10-01 07:28:45 +0000
+++ openlp/core/ui/slidecontroller.py 2011-10-05 17:23:25 +0000
@@ -118,7 +118,7 @@
118 self.previewListWidget.horizontalHeader().setVisible(False)118 self.previewListWidget.horizontalHeader().setVisible(False)
119 self.previewListWidget.setColumnWidth(0, self.controller.width())119 self.previewListWidget.setColumnWidth(0, self.controller.width())
120 self.previewListWidget.isLive = self.isLive120 self.previewListWidget.isLive = self.isLive
121 self.previewListWidget.setObjectName(u'PreviewListWidget')121 self.previewListWidget.setObjectName(u'previewListWidget')
122 self.previewListWidget.setSelectionBehavior(122 self.previewListWidget.setSelectionBehavior(
123 QtGui.QAbstractItemView.SelectRows)123 QtGui.QAbstractItemView.SelectRows)
124 self.previewListWidget.setSelectionMode(124 self.previewListWidget.setSelectionMode(
@@ -288,14 +288,14 @@
288 QtGui.QSizePolicy.Label))288 QtGui.QSizePolicy.Label))
289 self.previewFrame.setFrameShape(QtGui.QFrame.StyledPanel)289 self.previewFrame.setFrameShape(QtGui.QFrame.StyledPanel)
290 self.previewFrame.setFrameShadow(QtGui.QFrame.Sunken)290 self.previewFrame.setFrameShadow(QtGui.QFrame.Sunken)
291 self.previewFrame.setObjectName(u'PreviewFrame')291 self.previewFrame.setObjectName(u'previewFrame')
292 self.grid = QtGui.QGridLayout(self.previewFrame)292 self.grid = QtGui.QGridLayout(self.previewFrame)
293 self.grid.setMargin(8)293 self.grid.setMargin(8)
294 self.grid.setObjectName(u'grid')294 self.grid.setObjectName(u'grid')
295 self.slideLayout = QtGui.QVBoxLayout()295 self.slideLayout = QtGui.QVBoxLayout()
296 self.slideLayout.setSpacing(0)296 self.slideLayout.setSpacing(0)
297 self.slideLayout.setMargin(0)297 self.slideLayout.setMargin(0)
298 self.slideLayout.setObjectName(u'SlideLayout')298 self.slideLayout.setObjectName(u'slideLayout')
299 if not self.isLive:299 if not self.isLive:
300 self.mediaObject = Phonon.MediaObject(self)300 self.mediaObject = Phonon.MediaObject(self)
301 self.video = Phonon.VideoWidget()301 self.video = Phonon.VideoWidget()
@@ -319,7 +319,7 @@
319 self.slidePreview.setFrameShadow(QtGui.QFrame.Plain)319 self.slidePreview.setFrameShadow(QtGui.QFrame.Plain)
320 self.slidePreview.setLineWidth(1)320 self.slidePreview.setLineWidth(1)
321 self.slidePreview.setScaledContents(True)321 self.slidePreview.setScaledContents(True)
322 self.slidePreview.setObjectName(u'SlidePreview')322 self.slidePreview.setObjectName(u'slidePreview')
323 self.slideLayout.insertWidget(0, self.slidePreview)323 self.slideLayout.insertWidget(0, self.slidePreview)
324 self.grid.addLayout(self.slideLayout, 0, 0, 1, 1)324 self.grid.addLayout(self.slideLayout, 0, 0, 1, 1)
325 # Signals325 # Signals
@@ -329,8 +329,6 @@
329 QtCore.QObject.connect(self.volumeSlider,329 QtCore.QObject.connect(self.volumeSlider,
330 QtCore.SIGNAL(u'sliderReleased()'), self.mediaVolume)330 QtCore.SIGNAL(u'sliderReleased()'), self.mediaVolume)
331 QtCore.QObject.connect(Receiver.get_receiver(),331 QtCore.QObject.connect(Receiver.get_receiver(),
332 QtCore.SIGNAL(u'maindisplay_active'), self.updatePreview)
333 QtCore.QObject.connect(Receiver.get_receiver(),
334 QtCore.SIGNAL(u'slidecontroller_live_spin_delay'),332 QtCore.SIGNAL(u'slidecontroller_live_spin_delay'),
335 self.receiveSpinDelay)333 self.receiveSpinDelay)
336 self.toolbar.makeWidgetsInvisible(self.loopList)334 self.toolbar.makeWidgetsInvisible(self.loopList)
@@ -352,18 +350,12 @@
352 QtCore.SIGNAL(u'slidecontroller_%s_stop_loop' % self.typePrefix),350 QtCore.SIGNAL(u'slidecontroller_%s_stop_loop' % self.typePrefix),
353 self.onStopLoop)351 self.onStopLoop)
354 QtCore.QObject.connect(Receiver.get_receiver(),352 QtCore.QObject.connect(Receiver.get_receiver(),
355 QtCore.SIGNAL(u'slidecontroller_%s_first' % self.typePrefix),
356 self.onSlideSelectedFirst)
357 QtCore.QObject.connect(Receiver.get_receiver(),
358 QtCore.SIGNAL(u'slidecontroller_%s_next' % self.typePrefix),353 QtCore.SIGNAL(u'slidecontroller_%s_next' % self.typePrefix),
359 self.onSlideSelectedNext)354 self.onSlideSelectedNext)
360 QtCore.QObject.connect(Receiver.get_receiver(),355 QtCore.QObject.connect(Receiver.get_receiver(),
361 QtCore.SIGNAL(u'slidecontroller_%s_previous' % self.typePrefix),356 QtCore.SIGNAL(u'slidecontroller_%s_previous' % self.typePrefix),
362 self.onSlideSelectedPrevious)357 self.onSlideSelectedPrevious)
363 QtCore.QObject.connect(Receiver.get_receiver(),358 QtCore.QObject.connect(Receiver.get_receiver(),
364 QtCore.SIGNAL(u'slidecontroller_%s_last' % self.typePrefix),
365 self.onSlideSelectedLast)
366 QtCore.QObject.connect(Receiver.get_receiver(),
367 QtCore.SIGNAL(u'slidecontroller_%s_change' % self.typePrefix),359 QtCore.SIGNAL(u'slidecontroller_%s_change' % self.typePrefix),
368 self.onSlideChange)360 self.onSlideChange)
369 QtCore.QObject.connect(Receiver.get_receiver(),361 QtCore.QObject.connect(Receiver.get_receiver(),
@@ -375,9 +367,6 @@
375 QtCore.QObject.connect(Receiver.get_receiver(),367 QtCore.QObject.connect(Receiver.get_receiver(),
376 QtCore.SIGNAL(u'slidecontroller_%s_unblank' % self.typePrefix),368 QtCore.SIGNAL(u'slidecontroller_%s_unblank' % self.typePrefix),
377 self.onSlideUnblank)369 self.onSlideUnblank)
378 QtCore.QObject.connect(Receiver.get_receiver(),
379 QtCore.SIGNAL(u'slidecontroller_%s_text_request' % self.typePrefix),
380 self.onTextRequest)
381370
382 def setPreviewHotkeys(self, parent=None):371 def setPreviewHotkeys(self, parent=None):
383 self.previousItem.setObjectName(u'previousItemPreview')372 self.previousItem.setObjectName(u'previousItemPreview')
@@ -723,41 +712,7 @@
723 else:712 else:
724 self.__checkUpdateSelectedSlide(slideno)713 self.__checkUpdateSelectedSlide(slideno)
725714
726 def onTextRequest(self):
727 """
728 Return the text for the current item in controller
729 """
730 data = []
731 if self.serviceItem:
732 for framenumber, frame in enumerate(self.serviceItem.get_frames()):
733 dataItem = {}
734 if self.serviceItem.is_text():
735 dataItem[u'tag'] = unicode(frame[u'verseTag'])
736 dataItem[u'text'] = unicode(frame[u'html'])
737 else:
738 dataItem[u'tag'] = unicode(framenumber)
739 dataItem[u'text'] = u''
740 dataItem[u'selected'] = \
741 (self.previewListWidget.currentRow() == framenumber)
742 data.append(dataItem)
743 Receiver.send_message(u'slidecontroller_%s_text_response'
744 % self.typePrefix, data)
745
746 # Screen event methods715 # Screen event methods
747 def onSlideSelectedFirst(self):
748 """
749 Go to the first slide.
750 """
751 if not self.serviceItem:
752 return
753 if self.serviceItem.is_command():
754 Receiver.send_message(u'%s_first' % self.serviceItem.name.lower(),
755 [self.serviceItem, self.isLive])
756 self.updatePreview()
757 else:
758 self.previewListWidget.selectRow(0)
759 self.slideSelected()
760
761 def onSlideSelectedIndex(self, message):716 def onSlideSelectedIndex(self, message):
762 """717 """
763 Go to the requested slide718 Go to the requested slide
@@ -936,20 +891,18 @@
936 Receiver.send_message(891 Receiver.send_message(
937 u'%s_slide' % self.serviceItem.name.lower(),892 u'%s_slide' % self.serviceItem.name.lower(),
938 [self.serviceItem, self.isLive, row])893 [self.serviceItem, self.isLive, row])
939 self.updatePreview()
940 else:894 else:
941 toDisplay = self.serviceItem.get_rendered_frame(row)895 toDisplay = self.serviceItem.get_rendered_frame(row)
942 if self.serviceItem.is_text():896 if self.serviceItem.is_text():
943 frame = self.display.text(toDisplay)897 self.display.text(toDisplay)
944 else:898 else:
945 if start:899 if start:
946 self.display.buildHtml(self.serviceItem, toDisplay)900 self.display.buildHtml(self.serviceItem, toDisplay)
947 frame = self.display.preview()
948 else:901 else:
949 frame = self.display.image(toDisplay)902 self.display.image(toDisplay)
950 # reset the store used to display first image903 # reset the store used to display first image
951 self.serviceItem.bg_image_bytes = None904 self.serviceItem.bg_image_bytes = None
952 self.slidePreview.setPixmap(QtGui.QPixmap.fromImage(frame))905 self.updatePreview()
953 self.selectedRow = row906 self.selectedRow = row
954 self.__checkUpdateSelectedSlide(row)907 self.__checkUpdateSelectedSlide(row)
955 Receiver.send_message(u'slidecontroller_%s_changed' % self.typePrefix,908 Receiver.send_message(u'slidecontroller_%s_changed' % self.typePrefix,
@@ -977,8 +930,7 @@
977 QtCore.QTimer.singleShot(0.5, self.grabMainDisplay)930 QtCore.QTimer.singleShot(0.5, self.grabMainDisplay)
978 QtCore.QTimer.singleShot(2.5, self.grabMainDisplay)931 QtCore.QTimer.singleShot(2.5, self.grabMainDisplay)
979 else:932 else:
980 self.slidePreview.setPixmap(933 self.slidePreview.setPixmap(self.display.preview())
981 QtGui.QPixmap.fromImage(self.display.preview()))
982934
983 def grabMainDisplay(self):935 def grabMainDisplay(self):
984 """936 """
@@ -1041,21 +993,6 @@
1041 self.previewListWidget.item(row + 1, 0))993 self.previewListWidget.item(row + 1, 0))
1042 self.previewListWidget.selectRow(row)994 self.previewListWidget.selectRow(row)
1043995
1044 def onSlideSelectedLast(self):
1045 """
1046 Go to the last slide.
1047 """
1048 if not self.serviceItem:
1049 return
1050 Receiver.send_message(u'%s_last' % self.serviceItem.name.lower(),
1051 [self.serviceItem, self.isLive])
1052 if self.serviceItem.is_command():
1053 self.updatePreview()
1054 else:
1055 self.previewListWidget.selectRow(
1056 self.previewListWidget.rowCount() - 1)
1057 self.slideSelected()
1058
1059 def onToggleLoop(self):996 def onToggleLoop(self):
1060 """997 """
1061 Toggles the loop state.998 Toggles the loop state.
1062999
=== modified file 'openlp/core/ui/themeform.py'
--- openlp/core/ui/themeform.py 2011-08-20 15:02:57 +0000
+++ openlp/core/ui/themeform.py 2011-10-05 17:23:25 +0000
@@ -232,7 +232,7 @@
232 if self.page(pageId) == self.previewPage:232 if self.page(pageId) == self.previewPage:
233 self.updateTheme()233 self.updateTheme()
234 frame = self.thememanager.generateImage(self.theme)234 frame = self.thememanager.generateImage(self.theme)
235 self.previewBoxLabel.setPixmap(QtGui.QPixmap.fromImage(frame))235 self.previewBoxLabel.setPixmap(frame)
236 self.displayAspectRatio = float(frame.width()) / frame.height()236 self.displayAspectRatio = float(frame.width()) / frame.height()
237 self.resizeEvent()237 self.resizeEvent()
238238
239239
=== modified file 'resources/images/openlp-2.qrc'
--- resources/images/openlp-2.qrc 2011-07-08 07:46:25 +0000
+++ resources/images/openlp-2.qrc 2011-10-05 17:23:25 +0000
@@ -60,8 +60,6 @@
60 </qresource>60 </qresource>
61 <qresource prefix="slides">61 <qresource prefix="slides">
62 <file>slide_close.png</file>62 <file>slide_close.png</file>
63 <file>slide_first.png</file>
64 <file>slide_last.png</file>
65 <file>slide_next.png</file>63 <file>slide_next.png</file>
66 <file>slide_blank.png</file>64 <file>slide_blank.png</file>
67 <file>slide_desktop.png</file>65 <file>slide_desktop.png</file>
6866
=== removed file 'resources/images/slide_first.png'
69Binary files resources/images/slide_first.png 2010-09-14 18:18:47 +0000 and resources/images/slide_first.png 1970-01-01 00:00:00 +0000 differ67Binary files resources/images/slide_first.png 2010-09-14 18:18:47 +0000 and resources/images/slide_first.png 1970-01-01 00:00:00 +0000 differ
=== removed file 'resources/images/slide_last.png'
70Binary files resources/images/slide_last.png 2010-09-14 18:18:47 +0000 and resources/images/slide_last.png 1970-01-01 00:00:00 +0000 differ68Binary files resources/images/slide_last.png 2010-09-14 18:18:47 +0000 and resources/images/slide_last.png 1970-01-01 00:00:00 +0000 differ
=== modified file 'scripts/check_dependencies.py'
--- scripts/check_dependencies.py 2011-09-02 11:10:07 +0000
+++ scripts/check_dependencies.py 2011-10-05 17:23:25 +0000
@@ -8,7 +8,7 @@
8# Copyright (c) 2008-2011 Raoul Snyman #8# Copyright (c) 2008-2011 Raoul Snyman #
9# Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan #9# Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan #
10# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, #10# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, #
11# Armin Köhler, Joshua Millar, Stevan Pettit, Andreas Preikschat, Mattias #11# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias #
12# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #12# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #
13# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #13# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
14# --------------------------------------------------------------------------- #14# --------------------------------------------------------------------------- #
1515
=== modified file 'scripts/generate_resources.sh'
--- scripts/generate_resources.sh 2011-05-24 20:47:05 +0000
+++ scripts/generate_resources.sh 2011-10-05 17:23:25 +0000
@@ -5,11 +5,11 @@
5# OpenLP - Open Source Lyrics Projection #5# OpenLP - Open Source Lyrics Projection #
6# --------------------------------------------------------------------------- #6# --------------------------------------------------------------------------- #
7# Copyright (c) 2008-2011 Raoul Snyman #7# Copyright (c) 2008-2011 Raoul Snyman #
8# Portions copyright (c) 2008-2011 Tim Bentley, Jonathan Corwin, Michael #8# Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan #
9# Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, Armin Köhler, #9# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, #
10# Andreas Preikschat, Mattias Põldaru, Christian Richter, Philip Ridout, #10# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias #
11# Jeffrey Smith, Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode #11# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #
12# Woldsund #12# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
13# --------------------------------------------------------------------------- #13# --------------------------------------------------------------------------- #
14# This program is free software; you can redistribute it and/or modify it #14# This program is free software; you can redistribute it and/or modify it #
15# under the terms of the GNU General Public License as published by the Free #15# under the terms of the GNU General Public License as published by the Free #
1616
=== modified file 'testing/conftest.py'
--- testing/conftest.py 2011-09-12 20:35:39 +0000
+++ testing/conftest.py 2011-10-05 17:23:25 +0000
@@ -8,7 +8,7 @@
8# Copyright (c) 2008-2011 Raoul Snyman #8# Copyright (c) 2008-2011 Raoul Snyman #
9# Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan #9# Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan #
10# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, #10# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, #
11# Armin Köhler, Joshua Millar, Stevan Pettit, Andreas Preikschat, Mattias #11# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias #
12# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #12# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #
13# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #13# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
14# --------------------------------------------------------------------------- #14# --------------------------------------------------------------------------- #
1515
=== modified file 'testing/test_app.py'
--- testing/test_app.py 2011-09-12 20:35:39 +0000
+++ testing/test_app.py 2011-10-05 17:23:25 +0000
@@ -8,7 +8,7 @@
8# Copyright (c) 2008-2011 Raoul Snyman #8# Copyright (c) 2008-2011 Raoul Snyman #
9# Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan #9# Portions copyright (c) 2008-2011 Tim Bentley, Gerald Britton, Jonathan #
10# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, #10# Corwin, Michael Gorven, Scott Guerrieri, Matthias Hub, Meinert Jordan, #
11# Armin Köhler, Joshua Millar, Stevan Pettit, Andreas Preikschat, Mattias #11# Armin Köhler, Joshua Miller, Stevan Pettit, Andreas Preikschat, Mattias #
12# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #12# Põldaru, Christian Richter, Philip Ridout, Simon Scudder, Jeffrey Smith, #
13# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #13# Maikel Stuivenberg, Martin Thompson, Jon Tibble, Frode Woldsund #
14# --------------------------------------------------------------------------- #14# --------------------------------------------------------------------------- #