Moved image media manager item out into it's own class.

bzr-revno: 398
This commit is contained in:
Raoul Snyman 2009-03-08 12:41:07 +00:00
parent 904212c587
commit f844f696a1
7 changed files with 387 additions and 417 deletions

View File

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

View File

@ -83,3 +83,56 @@ class PluginConfig(object):
return returnfiles
else:
return files # no filtering required
def load_list(self, name):
"""
Load a list from the config file
"""
list_count = self.get_config('%s count' % name)
if list_count is not None:
list_count = int(list_count)
else:
list_count = 0
list = []
if list_count > 0:
for counter in range(0 , list_count):
item = str(self.get_config('%s %d' % (name, counter)))
list.append(item)
return list
def set_list(self, name, list):
"""
Save a list to the config file
"""
old_count = int(self.get_config('%s count' % name))
new_count = len(list)
self.set_config('%s count' % new_count)
for counter in range (0, new_count):
self.set_config('%s %d' % (name, counter), list[counter])
if old_count > new_count:
# Tidy up any old list itrms if list is smaller now
for counter in range(new_count, old_count):
self.delete_config('%s %d' % (name, counter))
def get_last_dir(self, num=None):
"""
Read the last directory used for plugin
"""
if num is not None:
name = 'last directory %d' % num
else:
name = 'last directory'
last_dir = self.get_config(name)
if last_dir is None:
last_dir = ''
return last_dir
def set_last_dir(self, directory, num=None):
"""
Save the last directory used for plugin
"""
if num is not None:
name = 'last directory %d' % num
else:
name = 'last directory'
self.config.set_config(name, directory)

View File

@ -106,7 +106,8 @@ class BibleMediaItem(MediaManagerItem):
self.ClearQuickSearchComboBox.setObjectName('ClearQuickSearchComboBox')
self.QuickLayout.addWidget(self.ClearQuickSearchComboBox, 3, 1, 1, 1)
self.SearchTabWidget.addTab(self.QuickTab, 'Quick')
QuickSpacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum, QtGui.QSizePolicy.Expanding)
QuickSpacerItem = QtGui.QSpacerItem(20, 40, QtGui.QSizePolicy.Minimum,
QtGui.QSizePolicy.Expanding)
self.QuickLayout.addItem(QuickSpacerItem, 4, 2, 1, 1)
# Add the Advanced Search tab

View File

@ -71,7 +71,6 @@ class EditCustomForm(QtGui.QDialog, Ui_customEditDialog):
self.VerseListView.setCurrentRow(selectedRow - 1)
def onDownButtonPressed(self):
print "Down"
selectedRow = self.VerseListView.currentRow()
if self.selectedRow != self.VerseListView.count() - 1: # zero base arrays
qw = self.VerseListView.takeItem(selectedRow)

View File

@ -17,17 +17,14 @@ You should have received a copy of the GNU General Public License along with
this program; if not, write to the Free Software Foundation, Inc., 59 Temple
Place, Suite 330, Boston, MA 02111-1307 USA
"""
import os
import os.path
import logging
from PyQt4 import QtCore, QtGui
from openlp.core.lib import Plugin, PluginUtils
from openlp.core.resources import *
from openlp.core.lib import Plugin, PluginUtils, MediaManagerItem
import logging
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from openlp.plugins.images.lib import ListWithPreviews
from openlp.plugins.images.lib import ImageServiceItem
from openlp.plugins.images.lib import ImageMediaItem, ImageServiceItem
class ImagePlugin(Plugin, PluginUtils):
global log
@ -43,99 +40,16 @@ class ImagePlugin(Plugin, PluginUtils):
self.icon.addPixmap(QtGui.QPixmap(':/media/media_image.png'),
QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.preview_service_item=ImageServiceItem(preview_controller)
self.live_service_item=ImageServiceItem(live_controller)
self.preview_service_item = ImageServiceItem(preview_controller)
self.live_service_item = ImageServiceItem(live_controller)
def get_media_manager_item(self):
# Create the MediaManagerItem object
self.MediaManagerItem = MediaManagerItem(self, self.icon, 'Images')
# Add a toolbar
self.MediaManagerItem.addToolbar()
# Create buttons for the toolbar
## New Song Button ##
self.MediaManagerItem.addToolbarButton('Load Image', 'Load images into openlp.org',
':/images/image_load.png', self.onImagesNewClick, 'ImageNewItem')
## Delete Song Button ##
self.MediaManagerItem.addToolbarButton('Delete Image', 'Delete the selected image',
':/images/image_delete.png', self.onImageDeleteClick, 'ImageDeleteItem')
## Separator Line ##
self.MediaManagerItem.addToolbarSeparator()
## Preview Song Button ##
self.MediaManagerItem.addToolbarButton('Preview Song', 'Preview the selected image',
':/system/system_preview.png', self.onImagePreviewClick, 'ImagePreviewItem')
## Live Song Button ##
self.MediaManagerItem.addToolbarButton('Go Live', 'Send the selected image live',
':/system/system_live.png', self.onImageLiveClick, 'ImageLiveItem')
## Add Song Button ##
self.MediaManagerItem.addToolbarButton('Add Image To Service',
'Add the selected image(s) to the service', ':/system/system_add.png',
self.onImageAddClick, 'ImageAddItem')
## Add the songlist widget ##
self.ImageListView=QtGui.QListView()
self.ImageListView.uniformItemSizes=True
self.ImageListData=ListWithPreviews()
self.ImageListView.setModel(self.ImageListData)
self.ImageListView.setGeometry(QtCore.QRect(10, 100, 256, 591))
self.ImageListView.setObjectName("ImageListView")
self.MediaManagerItem.PageLayout.addWidget(self.ImageListView)
#define and add the context menu
self.ImageListView.setContextMenuPolicy(QtCore.Qt.ActionsContextMenu)
self.ImageListView.addAction(self.add_to_context_menu(self.ImageListView, ':/system/system_preview.png', "&Preview Image", self.onImagePreviewClick))
self.ImageListView.addAction(self.add_to_context_menu(self.ImageListView, ':/system/system_live.png', "&Show Live", self.onImageLiveClick))
self.ImageListView.addAction(self.add_to_context_menu(self.ImageListView, ':/system/system_add.png', "&Add to Service", self.onImageAddClick))
self.ImageListPreview = QtGui.QWidget()
self.MediaManagerItem.PageLayout.addWidget(self.ImageListPreview)
self.ImageListView.setGeometry(QtCore.QRect(10, 100, 256, 591))
self.ImageListView.setSpacing(1)
self.ImageListView.setAlternatingRowColors(True)
self.MediaManagerItem = ImageMediaItem(self, self.icon, 'Images')
return self.MediaManagerItem
def initialise(self):
log.info("Plugin Initialising")
list = self._load_display_list()
self._load_image_list(list)
log.info("Done")
def onImagesNewClick(self):
files = QtGui.QFileDialog.getOpenFileNames(None, "Select Image(s)", self._get_last_dir(), "Images (*.jpg *.gif *.png *.bmp)")
log.info("New image(s)", str(files))
if len(files) > 0:
self._load_image_list(files)
self._save_last_directory(files[0])
self._save_display_list(self.ImageListData.get_file_list())
def _load_image_list(self, list):
for f in list:
self.ImageListData.addRow(f)
def onImageDeleteClick(self):
indexes=self.ImageListView.selectedIndexes()
for i in indexes:
cr = i.row()
self.ImageListData.removeRow(int(cr))
self._save_display_list(self.ImageListData.get_file_list())
def onImageClick(self, where):
indexes=self.ImageListView.selectedIndexes()
for i in indexes:
filename = self.ImageListData.get_filename(i)
log.info("Click %s:%s"%(str(where), filename))
where.add(filename)
where.render()
def onImagePreviewClick(self):
self.onImageClick(self.preview_service_item)
def onImageLiveClick(self):
self.onImageClick(self.live_service_item)
def onImageAddClick(self):
"""Add this item to the OOS"""
pass

View File

@ -19,3 +19,4 @@ Place, Suite 330, Boston, MA 02111-1307 USA
"""
from imageserviceitem import ImageServiceItem
from listwithpreviews import ListWithPreviews
from mediaitem import ImageMediaItem

View File

@ -9,13 +9,16 @@ class ListWithPreviews(QAbstractListModel):
global log
log=logging.getLogger("ListWithPreviews")
log.info("started")
def __init__(self):
QAbstractListModel.__init__(self)
self.items=[] # will be a list of (full filename, QPixmap, shortname) tuples
self.rowheight=50
self.maximagewidth=self.rowheight*16/9.0;
def rowCount(self, parent):
return len(self.items)
def insertRow(self, row, filename):
self.beginInsertRows(QModelIndex(),row,row)
log.info("insert row %d:%s"%(row,filename))
@ -40,18 +43,19 @@ class ListWithPreviews(QAbstractListModel):
# finally create the row
self.items.insert(row, (filename, p, shortfilename))
self.endInsertRows()
def removeRow(self, row):
self.beginRemoveRows(QModelIndex(), row,row)
self.items.pop(row)
self.endRemoveRows()
def addRow(self, filename):
self.insertRow(len(self.items), filename)
def data(self, index, role):
row=index.row()
if row > len(self.items): # if the last row is selected and deleted, we then get called with an empty row!
return QVariant()
if role==Qt.DisplayRole:
retval= self.items[row][2]
elif role == Qt.DecorationRole:
@ -60,16 +64,16 @@ class ListWithPreviews(QAbstractListModel):
retval= self.items[row][0]
else:
retval= QVariant()
# log.info("Returning"+ str(retval))
if type(retval) is not type(QVariant):
return QVariant(retval)
else:
return retval
def get_file_list(self):
filelist=[i[0] for i in self.items];
def getFileList(self):
filelist = [item[0] for item in self.items];
return filelist
def get_filename(self, index):
row=index.row()
def getFilename(self, index):
row = index.row()
return self.items[row][0]