Start to add Images to oos saving

Found lost oos code using a zip to store stuff in.
This commit is contained in:
Tim Bentley 2009-06-20 12:23:34 +01:00
parent 5303d0673b
commit c0797693d5
3 changed files with 43 additions and 12 deletions

View File

@ -159,4 +159,4 @@ class RenderManager:
self.height = screen.height() self.height = screen.height()
log.debug(u'calculate default %d,%d' , self.width, self.height) log.debug(u'calculate default %d,%d' , self.width, self.height)
# 90% is start of footer # 90% is start of footer
self.footer_start = int(self.height*0.90) self.footer_start = int(self.height * 0.90)

View File

@ -79,6 +79,8 @@ class ServiceItem():
self.frames = self.service_frames self.frames = self.service_frames
self.service_frames = [] self.service_frames = []
elif self.service_item_type == u'image': elif self.service_item_type == u'image':
print "image"
print self.service_frames
for slide in self.service_frames: for slide in self.service_frames:
slide[u'image'] = self.RenderManager.resize_image(slide[u'image']) slide[u'image'] = self.RenderManager.resize_image(slide[u'image'])
self.frames = self.service_frames self.frames = self.service_frames

View File

@ -20,6 +20,7 @@ Place, Suite 330, Boston, MA 02111-1307 USA
import os import os
import logging import logging
import cPickle import cPickle
import zipfile
from PyQt4 import QtCore, QtGui from PyQt4 import QtCore, QtGui
from openlp.core.lib import PluginConfig, OpenLPToolbar, ServiceItem, Event, \ from openlp.core.lib import PluginConfig, OpenLPToolbar, ServiceItem, Event, \
@ -211,15 +212,28 @@ class ServiceManager(QtGui.QWidget):
Save the current service Save the current service
""" """
filename = QtGui.QFileDialog.getSaveFileName(self, u'Save Order of Service',self.config.get_last_dir() ) filename = QtGui.QFileDialog.getSaveFileName(self, u'Save Order of Service',self.config.get_last_dir() )
filename = unicode(filename)
if filename != u'': if filename != u'':
self.config.set_last_dir(filename) self.config.set_last_dir(filename)
print filename
service = [] service = []
servicefile= filename + u'.ood'
for item in self.serviceItems: for item in self.serviceItems:
service.append({u'serviceitem':item[u'data'].get_oos_repr()}) service.append({u'serviceitem':item[u'data'].get_oos_repr()})
file = open(filename+u'.oos', u'wb') if item[u'data'].service_item_type == u'image':
print item[u'data'].service_item_path
for frame in item[u'data'].frames:
print frame[u'title']
file = open(servicefile, u'wb')
cPickle.dump(service, file) cPickle.dump(service, file)
file.close() file.close()
zip = zipfile.ZipFile(unicode(filename)+u'.oos', 'w')
zip.write(servicefile)
zip.close()
try:
os.remove(servicefile)
except:
pass #if not present do not worry
def onLoadService(self): def onLoadService(self):
""" """
@ -227,17 +241,32 @@ class ServiceManager(QtGui.QWidget):
""" """
filename = QtGui.QFileDialog.getOpenFileName(self, u'Open Order of Service',self.config.get_last_dir(), filename = QtGui.QFileDialog.getOpenFileName(self, u'Open Order of Service',self.config.get_last_dir(),
u'Services (*.oos)') u'Services (*.oos)')
filename = unicode(filename)
if filename != u'': if filename != u'':
self.config.set_last_dir(filename) self.config.set_last_dir(filename)
file = open(filename, u'r') zip = zipfile.ZipFile(unicode(filename))
items = cPickle.load(file) filexml = None
file.close() themename = None
self.onNewService() for file in zip.namelist():
for item in items: pickle_data = zip.read(file)
serviceitem = ServiceItem() path = file.split(u'.')
serviceitem.RenderManager = self.parent.RenderManager p_file = unicode(u'/'+path[0]+u'.ood')
serviceitem.set_from_oos(item) file_handle = open(p_file, u'wb')
self.addServiceItem(serviceitem) file_handle.write(pickle_data)
file_handle.close()
file = open(p_file, u'r')
items = cPickle.load(file)
file.close()
self.onNewService()
for item in items:
serviceitem = ServiceItem()
serviceitem.RenderManager = self.parent.RenderManager
serviceitem.set_from_oos(item)
self.addServiceItem(serviceitem)
try:
os.remove(p_file)
except:
pass #if not present do not worry
def onThemeComboBoxSelected(self, currentIndex): def onThemeComboBoxSelected(self, currentIndex):
""" """