Added about box and application icon
[biaweb_qt.git] / generate_dialog.py
1 # BiaWeb Website content manager (c) 2010 V.Harishankar
2 # Generate site dialog
3
4 import PyQt4
5 import os
6 import os.path
7 import ui_generate_dialog
8
9 class GenerateDialog (PyQt4.QtGui.QDialog, ui_generate_dialog.Ui_SiteGenerateDialog):
10 def __init__ (self, master, currentdb):
11 PyQt4.QtGui.QDialog.__init__ (self, master)
12 self.setupUi (self)
13
14 # set the database
15 self.current_db = currentdb
16
17 # to return the list of items from a tree widget
18 def get_list_from_tree (self, treewidget):
19 lstfiles = []
20 iter = PyQt4.QtGui.QTreeWidgetItemIterator (treewidget)
21
22 # iterate through the list of files
23 item = iter.value ()
24 # while there is still a valid item
25 while item:
26 # get the text in columns 0 and 1
27 src = str (item.text (0))
28 dst = str (item.text (1))
29 # add it to the list
30 lstfiles.append ( (src, dst) )
31 # increase iterator by 1
32 iter += 1
33 item = iter.value ()
34
35 return lstfiles
36
37 # when site generate button is clicked
38 def onSiteGenerate (self):
39 files_list = self.get_list_from_tree (self.additional_files)
40 folder_list = self.get_list_from_tree (self.additional_folders)
41
42 # when folder add is clicked
43 def onFolderAdd (self):
44 folder_to_add = PyQt4.QtGui.QFileDialog.getExistingDirectory (self,
45 "Folder whose contents to add to destination", os.path.expanduser ("~"))
46 # if cancelled return
47 if not folder_to_add:
48 return
49
50 dest_rel_path, ok = PyQt4.QtGui.QInputDialog.getText (self, "Desination",
51 "Copy to location (within destination path)")
52 if not ok:
53 return
54
55 folderitem = PyQt4.QtGui.QTreeWidgetItem ([folder_to_add, dest_rel_path])
56 self.additional_folders.addTopLevelItem (folderitem)
57
58 # when folder remove is clicked
59 def onFolderRemove (self):
60 selitem = self.additional_folders.currentItem ()
61 selindex = self.additional_folders.indexOfTopLevelItem (selitem)
62 # if none selected
63 if selindex == -1:
64 return
65 self.additional_folders.takeTopLevelItem (selindex)
66
67
68 # when file add is clicked
69 def onFileAdd (self):
70 file_to_add = PyQt4.QtGui.QFileDialog.getOpenFileName (self, "File to add to destination",
71 os.path.expanduser ("~"))
72 # if cancelled return
73 if not file_to_add:
74 return
75 dest_rel_path, ok = PyQt4.QtGui.QInputDialog.getText (self, "Destination",
76 "Copy to location (within destination path)")
77 if not ok:
78 return
79
80 fileitem = PyQt4.QtGui.QTreeWidgetItem ([file_to_add, dest_rel_path])
81 self.additional_files.addTopLevelItem (fileitem)
82
83 # when file remove is clicked
84 def onFileRemove (self):
85 selitem = self.additional_files.currentItem ()
86 selindex = self.additional_files.indexOfTopLevelItem (selitem)
87 # if none selected
88 if selindex == -1:
89 return
90 self.additional_files.takeTopLevelItem (selindex)