/
pyslidemaker.py
executable file
·66 lines (51 loc) · 2.13 KB
/
pyslidemaker.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/usr/bin/python -tt
__author__ = "Diego Navarro"
__email__ = "dnmellen@gmail.com"
__version__ = 0.6
import sys
import os
from PyQt4 import QtCore, QtGui
from PyQt4.QtGui import *
from PIL import Image
from gui import Ui_Form
import xmlgenerator
class MyForm(QtGui.QMainWindow):
def __init__(self, parent=None):
QtGui.QWidget.__init__(self,parent)
self.ui = Ui_Form()
self.ui.setupUi(self)
# Signals/Slots
QtCore.QObject.connect(self.ui.addSlideButton, QtCore.SIGNAL("clicked()"), self.addSlide)
QtCore.QObject.connect(self.ui.deleteSlideButton, QtCore.SIGNAL("clicked()"), self.deleteSlide)
QtCore.QObject.connect(self.ui.saveButton, QtCore.SIGNAL("clicked()"), self.save)
def _addFileToList(self,filename):
if (not filename.isEmpty()):
item = QListWidgetItem(os.path.basename(unicode(filename)))
picture = QtGui.QImage()
picture.load(filename)
picture.scaled(72,72)
icon = QIcon(QPixmap.fromImage(picture))
item.setStatusTip(filename)
item.setIcon(icon)
self.ui.listWidget.addItem(item)
def addSlide(self):
files = QtGui.QFileDialog.getOpenFileNames(self, 'Add slide',os.path.expanduser("~"),"Image Files (*.png *.jpg *.bmp)")
for filename in files:
self._addFileToList(filename)
def deleteSlide(self):
self.ui.listWidget.takeItem(self.ui.listWidget.currentRow())
def save(self):
filename = QtGui.QFileDialog.getSaveFileName(self, 'Save background','background.xml', 'XML file (*.xml)')
if (not filename):
return -1
# Generate animated background
listOfSlides = []
for i in range(self.ui.listWidget.count()):
listOfSlides.append(unicode(self.ui.listWidget.item(i).statusTip()))
xml_handler = xmlgenerator.XmlGenerator(listOfSlides,self.ui.slideSpinBox.value(),self.ui.transitionSpinBox.value())
xml_handler.saveTo(unicode(filename))
if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
myapp = MyForm()
myapp.show()
sys.exit(app.exec_())