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

Proposed by Andreas Preikschat
Status: Superseded
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
OpenLP Core Pending
Review via email: mp+77989@code.launchpad.net

This proposal has been superseded by a proposal from 2011-10-05.

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.
1769. By Andreas Preikschat

removed dead code + minor clean up

1770. By Andreas Preikschat

removed not needed files + updated copyright

1771. By Andreas Preikschat

uncommented needed line

1772. By Andreas Preikschat

fixed resources.py

1773. By Andreas Preikschat

attempt to prevent calling updatePreview more than once

1774. By Andreas Preikschat

clean up

1775. By Andreas Preikschat

r1771

Unmerged revisions

1775. By Andreas Preikschat

r1771

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:12:24 +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:12:24 +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:12:24 +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:12:24 +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:12:24 +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:12:24 +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:12:24 +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:12:24 +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:12:24 +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:12:24 +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:12:24 +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:12:24 +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# --------------------------------------------------------------------------- #