Fixed the displayResults method of SongMediaItem to display 1 song + all authors, rather than an instance of a song for each author of that song.

Fixed up the topics management dialog a bit.
Corrected the spacing on the eventreceiver.py file.
Corrected the calling of the receiver to use the static methods without creating an instance of the Receiver class each time.

bzr-revno: 403
This commit is contained in:
Raoul Snyman 2009-03-10 16:46:25 +00:00
parent 86bde695ea
commit 051b314da8
7 changed files with 362 additions and 349 deletions

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE UserProject SYSTEM "UserProject-4.0.dtd"> <!DOCTYPE UserProject SYSTEM "UserProject-4.0.dtd">
<!-- eric4 user project file for project openlp.org 2.0 --> <!-- eric4 user project file for project openlp.org 2.0 -->
<!-- Saved: 2009-03-07, 23:44:51 --> <!-- Saved: 2009-03-10, 19:41:39 -->
<!-- Copyright (C) 2009 Raoul Snyman, raoulsnyman@openlp.org --> <!-- Copyright (C) 2009 Raoul Snyman, raoulsnyman@openlp.org -->
<UserProject version="4.0"> <UserProject version="4.0">
</UserProject> </UserProject>

View File

@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Tasks SYSTEM "Tasks-4.2.dtd"> <!DOCTYPE Tasks SYSTEM "Tasks-4.2.dtd">
<!-- eric4 tasks file for project openlp.org 2.0 --> <!-- eric4 tasks file for project openlp.org 2.0 -->
<!-- Saved: 2009-03-07, 23:45:01 --> <!-- Saved: 2009-03-10, 19:41:39 -->
<Tasks version="4.2"> <Tasks version="4.2">
<Task priority="1" completed="False" bugfix="False"> <Task priority="1" completed="False" bugfix="False">
<Summary>TODO: what is the tags for bridge, pre-chorus?</Summary> <Summary>TODO: what is the tags for bridge, pre-chorus?</Summary>

View File

@ -1,313 +1,319 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE Project SYSTEM "Project-4.6.dtd"> <!DOCTYPE Project SYSTEM "Project-4.6.dtd">
<!-- eric4 project file for project openlp.org 2.0 --> <!-- eric4 project file for project openlp.org 2.0 -->
<!-- Saved: 2009-03-08, 15:39:49 --> <!-- Saved: 2009-03-09, 22:34:51 -->
<!-- Copyright (C) 2009 Raoul Snyman, raoulsnyman@openlp.org --> <!-- Copyright (C) 2009 Raoul Snyman, raoulsnyman@openlp.org -->
<Project version="4.6"> <Project version="4.6">
<Language>en</Language> <Language>en</Language>
<ProgLanguage mixed="0">Python</ProgLanguage> <ProgLanguage mixed="0">Python</ProgLanguage>
<ProjectType>Qt4</ProjectType> <ProjectType>Qt4</ProjectType>
<Description></Description> <Description></Description>
<Version>1.9.0</Version> <Version>1.9.0</Version>
<Author>Raoul Snyman</Author> <Author>Raoul Snyman</Author>
<Email>raoulsnyman@openlp.org</Email> <Email>raoulsnyman@openlp.org</Email>
<Sources> <Sources>
<Source>openlp.pyw</Source> <Source>openlp.pyw</Source>
<Source>openlp/controls/__init__.py</Source> <Source>openlp/controls/__init__.py</Source>
<Source>openlp/core/test/test_render_theme.py</Source> <Source>openlp/core/test/test_render_theme.py</Source>
<Source>openlp/core/test/test_render.py</Source> <Source>openlp/core/test/test_render.py</Source>
<Source>openlp/core/interpolate.py</Source> <Source>openlp/core/interpolate.py</Source>
<Source>openlp/core/__init__.py</Source> <Source>openlp/core/__init__.py</Source>
<Source>openlp/core/render.py</Source> <Source>openlp/core/render.py</Source>
<Source>openlp/__init__.py</Source> <Source>openlp/__init__.py</Source>
<Source>demo.py</Source> <Source>demo.py</Source>
<Source>openlp/core/settingsmanager.py</Source> <Source>openlp/core/settingsmanager.py</Source>
<Source>openlp/plugins/__init__.py</Source> <Source>openlp/plugins/__init__.py</Source>
<Source>openlp/core/pluginmanager.py</Source> <Source>openlp/core/pluginmanager.py</Source>
<Source>openlp/core/ui/__init__.py</Source> <Source>openlp/core/ui/__init__.py</Source>
<Source>openlp/core/ui/mainwindow.py</Source> <Source>openlp/core/ui/mainwindow.py</Source>
<Source>openlp/core/ui/splashscreen.py</Source> <Source>openlp/core/ui/splashscreen.py</Source>
<Source>openlp/core/ui/alertform.py</Source> <Source>openlp/core/ui/alertform.py</Source>
<Source>openlp/core/ui/about.py</Source> <Source>openlp/core/ui/about.py</Source>
<Source>openlp/plugins/songs/songsplugin.py</Source> <Source>openlp/plugins/songs/songsplugin.py</Source>
<Source>openlp/plugins/songs/__init__.py</Source> <Source>openlp/plugins/songs/__init__.py</Source>
<Source>openlp/plugins/songs/forms/__init__.py</Source> <Source>openlp/plugins/songs/forms/__init__.py</Source>
<Source>openlp/plugins/songs/forms/openlpimportform.py</Source> <Source>openlp/plugins/songs/forms/openlpimportform.py</Source>
<Source>openlp/plugins/songs/forms/editsongform.py</Source> <Source>openlp/plugins/songs/forms/editsongform.py</Source>
<Source>openlp/plugins/songs/forms/opensongexportform.py</Source> <Source>openlp/plugins/songs/forms/opensongexportform.py</Source>
<Source>openlp/plugins/songs/forms/openlpexportform.py</Source> <Source>openlp/plugins/songs/forms/openlpexportform.py</Source>
<Source>openlp/plugins/songs/forms/opensongimportform.py</Source> <Source>openlp/plugins/songs/forms/opensongimportform.py</Source>
<Source>openlp/core/utils/__init__.py</Source> <Source>openlp/core/utils/__init__.py</Source>
<Source>openlp/core/theme/__init__.py</Source> <Source>openlp/core/theme/__init__.py</Source>
<Source>openlp/core/theme/theme.py</Source> <Source>openlp/core/theme/theme.py</Source>
<Source>openlp/plugins/songs/test/test_song_opensong.py</Source> <Source>openlp/plugins/songs/test/test_song_opensong.py</Source>
<Source>openlp/plugins/songs/test/test_song_basic.py</Source> <Source>openlp/plugins/songs/test/test_song_basic.py</Source>
<Source>openlp/plugins/songs/test/test_song_verse.py</Source> <Source>openlp/plugins/songs/test/test_song_verse.py</Source>
<Source>openlp/plugins/songs/test/test_song_text.py</Source> <Source>openlp/plugins/songs/test/test_song_text.py</Source>
<Source>openlp/core/theme/test/test_theme.py</Source> <Source>openlp/core/theme/test/test_theme.py</Source>
<Source>openlp/core/resources.py</Source> <Source>openlp/core/resources.py</Source>
<Source>openlp/core/lib/__init__.py</Source> <Source>openlp/core/lib/__init__.py</Source>
<Source>openlp/core/lib/xmlrootclass.py</Source> <Source>openlp/core/lib/xmlrootclass.py</Source>
<Source>openlp/core/lib/plugin.py</Source> <Source>openlp/core/lib/plugin.py</Source>
<Source>openlp/core/lib/mediamanageritem.py</Source> <Source>openlp/core/lib/mediamanageritem.py</Source>
<Source>openlp/core/lib/event.py</Source> <Source>openlp/core/lib/event.py</Source>
<Source>openlp/core/utils/confighelper.py</Source> <Source>openlp/core/utils/confighelper.py</Source>
<Source>openlp/core/utils/winregistry.py</Source> <Source>openlp/core/utils/winregistry.py</Source>
<Source>openlp/core/utils/registry.py</Source> <Source>openlp/core/utils/registry.py</Source>
<Source>openlp/core/utils/linregistry.py</Source> <Source>openlp/core/utils/linregistry.py</Source>
<Source>setup.py</Source> <Source>setup.py</Source>
<Source>openlp/core/lib/pluginconfig.py</Source> <Source>openlp/core/lib/pluginconfig.py</Source>
<Source>openlp/core/test/test_plugin_manager.py</Source> <Source>openlp/core/test/test_plugin_manager.py</Source>
<Source>openlp/core/test/test_mediamanageritem.py</Source> <Source>openlp/core/test/test_mediamanageritem.py</Source>
<Source>openlp/core/test/testplugins/testplugin1.py</Source> <Source>openlp/core/test/testplugins/testplugin1.py</Source>
<Source>openlp/core/test/testplugins/testplugin2/__init__.py</Source> <Source>openlp/core/test/testplugins/testplugin2/__init__.py</Source>
<Source>openlp/core/test/testplugins/testplugin2/testplugin2.py</Source> <Source>openlp/core/test/testplugins/testplugin2/testplugin2.py</Source>
<Source>openlp/plugins/bibles/bibleplugin.py</Source> <Source>openlp/plugins/bibles/bibleplugin.py</Source>
<Source>openlp/plugins/bibles/forms/bibleimportdialog.py</Source> <Source>openlp/plugins/bibles/forms/bibleimportdialog.py</Source>
<Source>openlp/plugins/bibles/forms/bibleimportform.py</Source> <Source>openlp/plugins/bibles/forms/bibleimportform.py</Source>
<Source>openlp/plugins/bibles/lib/bibleDBimpl.py</Source> <Source>openlp/plugins/bibles/lib/bibleDBimpl.py</Source>
<Source>openlp/plugins/bibles/lib/bibleOSISimpl.py</Source> <Source>openlp/plugins/bibles/lib/bibleOSISimpl.py</Source>
<Source>openlp/plugins/bibles/lib/bibleHTTPimpl.py</Source> <Source>openlp/plugins/bibles/lib/bibleHTTPimpl.py</Source>
<Source>openlp/plugins/bibles/lib/bibleCSVimpl.py</Source> <Source>openlp/plugins/bibles/lib/bibleCSVimpl.py</Source>
<Source>openlp/plugins/bibles/__init__.py</Source> <Source>openlp/plugins/bibles/__init__.py</Source>
<Source>openlp/plugins/bibles/lib/__init__.py</Source> <Source>openlp/plugins/bibles/lib/__init__.py</Source>
<Source>openlp/plugins/bibles/forms/__init__.py</Source> <Source>openlp/plugins/bibles/forms/__init__.py</Source>
<Source>openlp/plugins/songs/lib/__init__.py</Source> <Source>openlp/plugins/songs/lib/__init__.py</Source>
<Source>openlp/plugins/songs/lib/songxml.py</Source> <Source>openlp/plugins/songs/lib/songxml.py</Source>
<Source>openlp/plugins/songs/lib/models.py</Source> <Source>openlp/plugins/songs/lib/models.py</Source>
<Source>openlp/plugins/bibles/test/__init__.py</Source> <Source>openlp/plugins/bibles/test/__init__.py</Source>
<Source>openlp/plugins/bibles/test/test_bibleManagerAPI.py</Source> <Source>openlp/plugins/bibles/test/test_bibleManagerAPI.py</Source>
<Source>openlp/plugins/bibles/test/test_bibleManager.py</Source> <Source>openlp/plugins/bibles/test/test_bibleManager.py</Source>
<Source>openlp/plugins/bibles/test/test_bibleManagerOSIS.py</Source> <Source>openlp/plugins/bibles/test/test_bibleManagerOSIS.py</Source>
<Source>openlp/plugins/bibles/test/test_bibleManagerCSV.py</Source> <Source>openlp/plugins/bibles/test/test_bibleManagerCSV.py</Source>
<Source>openlp/plugins/presentations/lib/pptview.py</Source> <Source>openlp/plugins/presentations/lib/pptview.py</Source>
<Source>openlp/plugins/presentations/lib/impresscom.py</Source> <Source>openlp/plugins/presentations/lib/impresscom.py</Source>
<Source>openlp/plugins/presentations/lib/powerpoint.py</Source> <Source>openlp/plugins/presentations/lib/powerpoint.py</Source>
<Source>openlp/plugins/presentations/lib/pptviewlib/ppttest.py</Source> <Source>openlp/plugins/presentations/lib/pptviewlib/ppttest.py</Source>
<Source>openlp/plugins/presentations/__init__.py</Source> <Source>openlp/plugins/presentations/__init__.py</Source>
<Source>openlp/plugins/presentations/presentationplugin.py</Source> <Source>openlp/plugins/presentations/presentationplugin.py</Source>
<Source>openlp/plugins/videos/__init__.py</Source> <Source>openlp/plugins/videos/__init__.py</Source>
<Source>openlp/plugins/videos/videoplugin.py</Source> <Source>openlp/plugins/videos/videoplugin.py</Source>
<Source>openlp/plugins/images/__init__.py</Source> <Source>openlp/plugins/images/__init__.py</Source>
<Source>openlp/plugins/images/imageplugin.py</Source> <Source>openlp/plugins/images/imageplugin.py</Source>
<Source>openlp/plugins/songs/forms/editsongdialog.py</Source> <Source>openlp/plugins/songs/forms/editsongdialog.py</Source>
<Source>openlp/core/lib/pluginutils.py</Source> <Source>openlp/core/lib/pluginutils.py</Source>
<Source>openlpcnv.pyw</Source> <Source>openlpcnv.pyw</Source>
<Source>openlp/plugins/songs/forms/songbookdialog.py</Source> <Source>openlp/plugins/songs/forms/songbookdialog.py</Source>
<Source>openlp/plugins/songs/forms/topicsdialog.py</Source> <Source>openlp/plugins/songs/forms/topicsdialog.py</Source>
<Source>openlp/plugins/songs/forms/authorsdialog.py</Source> <Source>openlp/plugins/songs/forms/authorsdialog.py</Source>
<Source>openlp/plugins/songs/forms/topicsform.py</Source> <Source>openlp/plugins/songs/forms/topicsform.py</Source>
<Source>openlp/plugins/songs/forms/authorsform.py</Source> <Source>openlp/plugins/songs/forms/authorsform.py</Source>
<Source>openlp/plugins/songs/forms/songbookform.py</Source> <Source>openlp/plugins/songs/forms/songbookform.py</Source>
<Source>openlp/migration/__init__.py</Source> <Source>openlp/migration/__init__.py</Source>
<Source>openlp/migration/migratefiles.py</Source> <Source>openlp/migration/migratefiles.py</Source>
<Source>openlp/migration/migratesongs.py</Source> <Source>openlp/migration/migratesongs.py</Source>
<Source>openlp/migration/display.py</Source> <Source>openlp/migration/display.py</Source>
<Source>openlp/migration/migratebibles.py</Source> <Source>openlp/migration/migratebibles.py</Source>
<Source>openlp/plugins/songs/lib/tables.py</Source> <Source>openlp/plugins/songs/lib/tables.py</Source>
<Source>openlp/plugins/songs/lib/classes.py</Source> <Source>openlp/plugins/songs/lib/classes.py</Source>
<Source>openlp/plugins/songs/lib/manager.py</Source> <Source>openlp/plugins/songs/lib/manager.py</Source>
<Source>openlp/plugins/bibles/lib/classes.py</Source> <Source>openlp/plugins/bibles/lib/classes.py</Source>
<Source>openlp/plugins/bibles/lib/tables.py</Source> <Source>openlp/plugins/bibles/lib/tables.py</Source>
<Source>openlp/plugins/bibles/lib/manager.py</Source> <Source>openlp/plugins/bibles/lib/manager.py</Source>
<Source>openlp/plugins/bibles/lib/common.py</Source> <Source>openlp/plugins/bibles/lib/common.py</Source>
<Source>openlp/plugins/songs/lib/meta.py</Source> <Source>openlp/plugins/songs/lib/meta.py</Source>
<Source>openlp/core/test/testplugins/deeper/__init__.py</Source> <Source>openlp/core/test/testplugins/deeper/__init__.py</Source>
<Source>openlp/core/test/testplugins/deeper/toodeep/__init__.py</Source> <Source>openlp/core/test/testplugins/deeper/toodeep/__init__.py</Source>
<Source>openlp/core/test/testplugins/deeper/toodeep/plugin3toodeep.py</Source> <Source>openlp/core/test/testplugins/deeper/toodeep/plugin3toodeep.py</Source>
<Source>openlp/core/lib/serviceitem.py</Source> <Source>openlp/core/lib/serviceitem.py</Source>
<Source>openlp/core/ui/slidecontroller.py</Source> <Source>openlp/core/ui/slidecontroller.py</Source>
<Source>openlp/core/lib/eventreceiver.py</Source> <Source>openlp/core/lib/eventreceiver.py</Source>
<Source>openlp/core/ui/servicemanager.py</Source> <Source>openlp/core/ui/servicemanager.py</Source>
<Source>openlp/core/lib/toolbar.py</Source> <Source>openlp/core/lib/toolbar.py</Source>
<Source>openlp/core/ui/settingsform.py</Source> <Source>openlp/core/ui/settingsform.py</Source>
<Source>openlp/core/ui/generaltab.py</Source> <Source>openlp/core/ui/generaltab.py</Source>
<Source>openlp/core/ui/themestab.py</Source> <Source>openlp/core/ui/themestab.py</Source>
<Source>openlp/core/ui/alertstab.py</Source> <Source>openlp/core/ui/alertstab.py</Source>
<Source>openlp/core/ui/settingsdialog.py</Source> <Source>openlp/core/ui/settingsdialog.py</Source>
<Source>openlp/core/lib/settingstab.py</Source> <Source>openlp/core/lib/settingstab.py</Source>
<Source>openlp/plugins/bibles/lib/biblestab.py</Source> <Source>openlp/plugins/bibles/lib/biblestab.py</Source>
<Source>openlp/plugins/songs/lib/songstab.py</Source> <Source>openlp/plugins/songs/lib/songstab.py</Source>
<Source>openlp/plugins/videos/lib/__init__.py</Source> <Source>openlp/plugins/videos/lib/__init__.py</Source>
<Source>openlp/plugins/videos/lib/videotab.py</Source> <Source>openlp/plugins/videos/lib/videotab.py</Source>
<Source>openlp/plugins/bibles/lib/biblemediaitem.py</Source> <Source>openlp/plugins/bibles/lib/biblemediaitem.py</Source>
<Source>openlp/core/ui/test/test_service_manager.py</Source> <Source>openlp/core/ui/test/test_service_manager.py</Source>
<Source>openlp/plugins/images/lib/__init__.py</Source> <Source>openlp/plugins/images/lib/__init__.py</Source>
<Source>openlp/plugins/images/lib/imageserviceitem.py</Source> <Source>openlp/plugins/images/lib/imageserviceitem.py</Source>
<Source>openlp/plugins/images/lib/listwithpreviews.py</Source> <Source>openlp/plugins/images/lib/listwithpreviews.py</Source>
<Source>openlp/plugins/songs/forms/editverseform.py</Source> <Source>openlp/plugins/songs/forms/editverseform.py</Source>
<Source>openlp/plugins/songs/forms/editversedialog.py</Source> <Source>openlp/plugins/songs/forms/editversedialog.py</Source>
<Source>openlp/plugins/custom/__init__.py</Source> <Source>openlp/plugins/custom/__init__.py</Source>
<Source>openlp/plugins/custom/customplugin.py</Source> <Source>openlp/plugins/custom/customplugin.py</Source>
<Source>openlp/plugins/custom/forms/__init__.py</Source> <Source>openlp/plugins/custom/forms/__init__.py</Source>
<Source>openlp/plugins/custom/forms/editcustomform.py</Source> <Source>openlp/plugins/custom/forms/editcustomform.py</Source>
<Source>openlp/plugins/custom/forms/editcustomdialog.py</Source> <Source>openlp/plugins/custom/forms/editcustomdialog.py</Source>
<Source>openlp/plugins/custom/lib/__init__.py</Source> <Source>openlp/plugins/custom/lib/__init__.py</Source>
<Source>openlp/plugins/custom/lib/customtab.py</Source> <Source>openlp/plugins/custom/lib/customtab.py</Source>
<Source>openlp/plugins/custom/lib/classes.py</Source> <Source>openlp/plugins/custom/lib/classes.py</Source>
<Source>openlp/plugins/custom/lib/tables.py</Source> <Source>openlp/plugins/custom/lib/tables.py</Source>
<Source>openlp/plugins/custom/lib/custommediaitem.py</Source> <Source>openlp/plugins/custom/lib/custommediaitem.py</Source>
<Source>openlp/plugins/custom/lib/meta.py</Source> <Source>openlp/plugins/custom/lib/meta.py</Source>
<Source>openlp/plugins/custom/lib/models.py</Source> <Source>openlp/plugins/custom/lib/models.py</Source>
<Source>openlp/plugins/custom/lib/manager.py</Source> <Source>openlp/plugins/custom/lib/manager.py</Source>
<Source>openlp/plugins/images/lib/mediaitem.py</Source> <Source>openlp/plugins/images/lib/mediaitem.py</Source>
</Sources> <Source>openlp/plugins/songs/lib/mediaitem.py</Source>
<Forms> <Source>resources/forms/Ui_editsongdialog.py</Source>
<Form>resources/forms/openlpexportform.ui</Form> <Source>resources/forms/Ui_editversedialog.py</Source>
<Form>resources/forms/opensongexportform.ui</Form> <Source>resources/forms/Ui_settings.py</Source>
<Form>resources/forms/about.ui</Form> <Source>resources/forms/Ui_authorsdialog.py</Source>
<Form>resources/forms/settings.ui</Form> <Source>resources/forms/Ui_songbookdialog.py</Source>
<Form>resources/forms/themewizard.ui</Form> </Sources>
<Form>resources/forms/opensongimportform.ui</Form> <Forms>
<Form>resources/forms/alertform.ui</Form> <Form>resources/forms/openlpexportform.ui</Form>
<Form>resources/forms/mainwindow.ui</Form> <Form>resources/forms/opensongexportform.ui</Form>
<Form>resources/forms/songexport.ui</Form> <Form>resources/forms/about.ui</Form>
<Form>resources/forms/openlpimportform.ui</Form> <Form>resources/forms/settings.ui</Form>
<Form>resources/forms/splashscreen.ui</Form> <Form>resources/forms/themewizard.ui</Form>
<Form>resources/forms/authorsdialog.ui</Form> <Form>resources/forms/opensongimportform.ui</Form>
<Form>resources/forms/bibleimportdialog.ui</Form> <Form>resources/forms/alertform.ui</Form>
<Form>resources/forms/songbookdialog.ui</Form> <Form>resources/forms/mainwindow.ui</Form>
<Form>resources/forms/topicsdialog.ui</Form> <Form>resources/forms/songexport.ui</Form>
<Form>resources/forms/editsongdialog.ui</Form> <Form>resources/forms/openlpimportform.ui</Form>
<Form>resources/forms/editversedialog.ui</Form> <Form>resources/forms/splashscreen.ui</Form>
<Form>resources/forms/editcustomdialog.ui</Form> <Form>resources/forms/authorsdialog.ui</Form>
</Forms> <Form>resources/forms/bibleimportdialog.ui</Form>
<Translations> <Form>resources/forms/songbookdialog.ui</Form>
</Translations> <Form>resources/forms/topicsdialog.ui</Form>
<Resources> <Form>resources/forms/editsongdialog.ui</Form>
<Resource>resources/images/openlp-2.qrc</Resource> <Form>resources/forms/editversedialog.ui</Form>
</Resources> <Form>resources/forms/editcustomdialog.ui</Form>
<Interfaces> </Forms>
</Interfaces> <Translations>
<Others> </Translations>
<Other>copyright.txt</Other> <Resources>
<Other>documentation/SongFormat.txt</Other> <Resource>resources/images/openlp-2.qrc</Resource>
<Other>documentation/pyqt-sql-py2exe.txt</Other> </Resources>
<Other>documentation/PluginDevelopersGuide.txt</Other> <Interfaces>
</Others> </Interfaces>
<MainScript>openlp.pyw</MainScript> <Others>
<Vcs> <Other>copyright.txt</Other>
<VcsType>None</VcsType> <Other>documentation/SongFormat.txt</Other>
<VcsOptions> <Other>documentation/pyqt-sql-py2exe.txt</Other>
<dict> <Other>documentation/PluginDevelopersGuide.txt</Other>
<key> </Others>
<string>add</string> <MainScript>openlp.pyw</MainScript>
</key> <Vcs>
<value> <VcsType>Subversion</VcsType>
<list> <VcsOptions>
<string></string> <dict>
</list> <key>
</value> <string>add</string>
<key> </key>
<string>checkout</string> <value>
</key> <list>
<value> <string></string>
<list> </list>
<string></string> </value>
</list> <key>
</value> <string>checkout</string>
<key> </key>
<string>commit</string> <value>
</key> <list>
<value> <string></string>
<list> </list>
<string></string> </value>
</list> <key>
</value> <string>commit</string>
<key> </key>
<string>diff</string> <value>
</key> <list>
<value> <string></string>
<list> </list>
<string></string> </value>
</list> <key>
</value> <string>diff</string>
<key> </key>
<string>export</string> <value>
</key> <list>
<value> <string></string>
<list> </list>
<string></string> </value>
</list> <key>
</value> <string>export</string>
<key> </key>
<string>global</string> <value>
</key> <list>
<value> <string></string>
<list> </list>
<string></string> </value>
</list> <key>
</value> <string>global</string>
<key> </key>
<string>history</string> <value>
</key> <list>
<value> <string></string>
<list> </list>
<string></string> </value>
</list> <key>
</value> <string>history</string>
<key> </key>
<string>log</string> <value>
</key> <list>
<value> <string></string>
<list> </list>
<string></string> </value>
</list> <key>
</value> <string>log</string>
<key> </key>
<string>remove</string> <value>
</key> <list>
<value> <string></string>
<list> </list>
<string></string> </value>
</list> <key>
</value> <string>remove</string>
<key> </key>
<string>status</string> <value>
</key> <list>
<value> <string></string>
<list> </list>
<string></string> </value>
</list> <key>
</value> <string>status</string>
<key> </key>
<string>tag</string> <value>
</key> <list>
<value> <string></string>
<list> </list>
<string></string> </value>
</list> <key>
</value> <string>tag</string>
<key> </key>
<string>update</string> <value>
</key> <list>
<value> <string></string>
<list> </list>
<string></string> </value>
</list> <key>
</value> <string>update</string>
</dict> </key>
</VcsOptions> <value>
<VcsOtherData> <list>
<dict> <string></string>
<key> </list>
<string>standardLayout</string> </value>
</key> </dict>
<value> </VcsOptions>
<bool>True</bool> <VcsOtherData>
</value> <dict>
</dict> <key>
</VcsOtherData> <string>standardLayout</string>
</Vcs> </key>
<FiletypeAssociations> <value>
<FiletypeAssociation pattern="*.ui" type="FORMS" /> <bool>True</bool>
<FiletypeAssociation pattern="*.idl" type="INTERFACES" /> </value>
<FiletypeAssociation pattern="*.qm" type="TRANSLATIONS" /> </dict>
<FiletypeAssociation pattern="*.ptl" type="SOURCES" /> </VcsOtherData>
<FiletypeAssociation pattern="*.pyw" type="SOURCES" /> </Vcs>
<FiletypeAssociation pattern="*.ui.h" type="FORMS" /> <FiletypeAssociations>
<FiletypeAssociation pattern="*.ts" type="TRANSLATIONS" /> <FiletypeAssociation pattern="*.ui" type="FORMS" />
<FiletypeAssociation pattern="*.py" type="SOURCES" /> <FiletypeAssociation pattern="*.idl" type="INTERFACES" />
<FiletypeAssociation pattern="*.qrc" type="RESOURCES" /> <FiletypeAssociation pattern="*.qm" type="TRANSLATIONS" />
</FiletypeAssociations> <FiletypeAssociation pattern="*.ptl" type="SOURCES" />
<FiletypeAssociation pattern="*.pyw" type="SOURCES" />
<FiletypeAssociation pattern="*.ui.h" type="FORMS" />
<FiletypeAssociation pattern="*.ts" type="TRANSLATIONS" />
<FiletypeAssociation pattern="*.py" type="SOURCES" />
<FiletypeAssociation pattern="*.qrc" type="RESOURCES" />
</FiletypeAssociations>
</Project> </Project>

View File

@ -38,8 +38,8 @@ class OpenLP(QtGui.QApplication):
def run(self): def run(self):
#provide a listener for widgets to reqest a screen update. #provide a listener for widgets to reqest a screen update.
QtCore.QObject.connect(Receiver().get_receiver(), QtCore.QObject.connect(Receiver.get_receiver(),
QtCore.SIGNAL('openlpprocessevents'),self.processEvents) QtCore.SIGNAL('openlpprocessevents'), self.processEvents)
self.setApplicationName('openlp.org') self.setApplicationName('openlp.org')
self.setApplicationVersion('1.9.0') self.setApplicationVersion('1.9.0')

View File

@ -25,14 +25,15 @@ class EventReceiver(QObject):
This is a private class and should not be used directly but via the Receiver class This is a private class and should not be used directly but via the Receiver class
""" """
def __init__(self): def __init__(self):
QObject.__init__(self) QObject.__init__(self)
def send_message(self, event, msg=None): def send_message(self, event, msg=None):
self.emit(SIGNAL(event), msg) self.emit(SIGNAL(event), msg)
def received(self, msg=None): def received(self, msg=None):
print msg print msg
class Receiver(): class Receiver():
""" """
Class to allow events to be passed from different parts of the system. Class to allow events to be passed from different parts of the system.
@ -40,19 +41,21 @@ class Receiver():
As there is only one instance of it in the systems the QT signal/slot architecture As there is only one instance of it in the systems the QT signal/slot architecture
can send messages across the system can send messages across the system
Send message Send message
Receiver().send_message("messageid",data) Receiver().send_message("messageid",data)
Receive Message Receive Message
QtCore.QObject.connect(Receiver().get_receiver(),QtCore.SIGNAL("openlprepaint"),<<ACTION>>) QtCore.QObject.connect(Receiver().get_receiver(),QtCore.SIGNAL("openlprepaint"),<<ACTION>>)
""" """
eventreceiver=EventReceiver() eventreceiver = EventReceiver()
@staticmethod @staticmethod
def send_message(event, msg=None): def send_message(event, msg=None):
Receiver.eventreceiver.send_message(event, msg) Receiver.eventreceiver.send_message(event, msg)
@staticmethod @staticmethod
def receive(): def receive():
Receiver.eventreceiver.receive() Receiver.eventreceiver.receive()
@staticmethod
@staticmethod
def get_receiver(): def get_receiver():
return Receiver.eventreceiver return Receiver.eventreceiver

View File

@ -111,17 +111,17 @@ class SongMediaItem(MediaManagerItem):
self.SongListView.horizontalHeader().setVisible(False) self.SongListView.horizontalHeader().setVisible(False)
self.SongListView.verticalHeader().setVisible(False) self.SongListView.verticalHeader().setVisible(False)
self.SongListView.setGeometry(QtCore.QRect(10, 100, 256, 591)) self.SongListView.setGeometry(QtCore.QRect(10, 100, 256, 591))
self.SongListView.setObjectName('listView') self.SongListView.setObjectName('SongListView')
self.PageLayout.addWidget(self.SongListView) self.PageLayout.addWidget(self.SongListView)
# Signals and slots # Signals and slots
QtCore.QObject.connect(self.SearchTextButton, QtCore.QObject.connect(self.SearchTextButton,
QtCore.SIGNAL("pressed()"), self.onSearchTextButtonClick) QtCore.SIGNAL('pressed()'), self.onSearchTextButtonClick)
QtCore.QObject.connect(self.ClearTextButton, QtCore.QObject.connect(self.ClearTextButton,
QtCore.SIGNAL("pressed()"), self.onClearTextButtonClick) QtCore.SIGNAL('pressed()'), self.onClearTextButtonClick)
QtCore.QObject.connect(self.SearchTextEdit, QtCore.QObject.connect(self.SearchTextEdit,
QtCore.SIGNAL("textChanged(const QString&)"), self.onSearchTextEditChanged) QtCore.SIGNAL('textChanged(const QString&)'), self.onSearchTextEditChanged)
QtCore.QObject.connect(self.SongListView, QtCore.QObject.connect(self.SongListView,
QtCore.SIGNAL("itemPressed(QTableWidgetItem * item)"), self.onSongSelected) QtCore.SIGNAL('itemPressed(QTableWidgetItem * item)'), self.onSongSelected)
#define and add the context menu #define and add the context menu
self.SongListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu) self.SongListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.SongListView.addAction(self.contextMenuAction(self.SongListView, self.SongListView.addAction(self.contextMenuAction(self.SongListView,
@ -157,15 +157,19 @@ class SongMediaItem(MediaManagerItem):
self.SongListView.setRowCount(0) self.SongListView.setRowCount(0)
#log.debug("Records returned from search %s", len(searchresults)) #log.debug("Records returned from search %s", len(searchresults))
for song in searchresults: for song in searchresults:
row_count = self.SongListView.rowCount()
self.SongListView.setRowCount(row_count + 1)
song_index = QtGui.QTableWidgetItem(str(song.id))
self.SongListView.setItem(row_count, 0, song_index)
author_list = u''
for author in song.authors: for author in song.authors:
c = self.SongListView.rowCount() if author_list != u'':
self.SongListView.setRowCount(c + 1) author_list = author_list + u', '
song_index = QtGui.QTableWidgetItem(str(song.id)) author_list = author_list + author.display_name
self.SongListView.setItem(c , 0, song_index) song_detail = QtGui.QTableWidgetItem(
song_detail = QtGui.QTableWidgetItem( u'%s (%s)' % (str(song.title), str(author_list)))
u'%s (%s)' % (str(song.title), str(author.display_name))) self.SongListView.setItem(row_count, 1, song_detail)
self.SongListView.setItem(c , 1, song_detail) self.SongListView.setRowHeight(row_count, 20)
self.SongListView.setRowHeight(c, 20)
def onClearTextButtonClick(self): def onClearTextButtonClick(self):
""" """

View File

@ -38,10 +38,10 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1" colspan="5" > <item row="0" column="1" colspan="6" >
<widget class="QLineEdit" name="TopicNameEdit" /> <widget class="QLineEdit" name="TopicNameEdit" />
</item> </item>
<item row="1" column="0" colspan="2" > <item row="1" column="0" colspan="3" >
<spacer name="ButtonsSpacer" > <spacer name="ButtonsSpacer" >
<property name="orientation" > <property name="orientation" >
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
@ -54,7 +54,7 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item row="1" column="4" > <item row="1" column="5" >
<widget class="QPushButton" name="DeleteButton" > <widget class="QPushButton" name="DeleteButton" >
<property name="toolTip" > <property name="toolTip" >
<string>Delete Author</string> <string>Delete Author</string>
@ -68,31 +68,31 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="2" > <item row="1" column="4" >
<widget class="QPushButton" name="AddUpdateButton" > <widget class="QPushButton" name="AddUpdateButton" >
<property name="toolTip" > <property name="toolTip" >
<string>Add Update Author</string> <string>Add Update Author</string>
</property> </property>
<property name="text" > <property name="text" >
<string>Add/Update</string> <string>Save</string>
</property> </property>
<property name="icon" > <property name="icon" >
<iconset resource="../images/openlp-2.qrc" > <iconset resource="../images/openlp-2.qrc" >
<normaloff>:/system/system_settings.png</normaloff>:/system/system_settings.png</iconset> <normaloff>:/services/service_save.png</normaloff>:/services/service_save.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="5" > <item row="1" column="3" >
<widget class="QPushButton" name="ClearButton" > <widget class="QPushButton" name="ClearButton" >
<property name="toolTip" > <property name="toolTip" >
<string>Clear Selection</string> <string>Clear Selection</string>
</property> </property>
<property name="text" > <property name="text" >
<string>Clear</string> <string>New</string>
</property> </property>
<property name="icon" > <property name="icon" >
<iconset resource="../images/openlp-2.qrc" > <iconset resource="../images/openlp-2.qrc" >
<normaloff>:/songs/song_edit.png</normaloff>:/songs/song_edit.png</iconset> <normaloff>:/services/service_new.png</normaloff>:/services/service_new.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>