Add/remove files/folders in Site Generate dialog
[biaweb_qt.git] / generate_dialog.py
index 0d7bbed..eb49933 100644 (file)
@@ -2,6 +2,8 @@
 # Generate site dialog
 
 import PyQt4
+import os
+import os.path
 import ui_generate_dialog
 
 class GenerateDialog (PyQt4.QtGui.QDialog, ui_generate_dialog.Ui_SiteGenerateDialog):
@@ -11,3 +13,53 @@ class GenerateDialog (PyQt4.QtGui.QDialog, ui_generate_dialog.Ui_SiteGenerateDia
 
                # set the database
                self.current_db = currentdb
+
+       # when folder add is clicked
+       def onFolderAdd (self):
+               folder_to_add = PyQt4.QtGui.QFileDialog.getExistingDirectory (self,
+                                                       "Folder whose contents to add to destination", os.path.expanduser ("~"))
+               # if cancelled return
+               if not folder_to_add:
+                       return
+
+               dest_rel_path, ok = PyQt4.QtGui.QInputDialog.getText (self, "Desination",
+                                                       "Copy to location (within destination path)")
+               if not ok:
+                       return
+
+               folderitem = PyQt4.QtGui.QTreeWidgetItem ([folder_to_add, dest_rel_path])
+               self.additional_folders.addTopLevelItem (folderitem)
+
+       # when folder remove is clicked
+       def onFolderRemove (self):
+               selitem = self.additional_folders.currentItem ()
+               selindex = self.additional_folders.indexOfTopLevelItem (selitem)
+               # if none selected
+               if selindex == -1:
+                       return
+               self.additional_folders.takeTopLevelItem (selindex)
+
+
+       # when file add is clicked
+       def onFileAdd (self):
+               file_to_add = PyQt4.QtGui.QFileDialog.getOpenFileName (self, "File to add to destination",
+                                                       os.path.expanduser ("~"))
+               # if cancelled return
+               if not file_to_add:
+                       return
+               dest_rel_path, ok = PyQt4.QtGui.QInputDialog.getText (self, "Destination",
+                                                               "Copy to location (within destination path)")
+               if not ok:
+                       return
+
+               fileitem = PyQt4.QtGui.QTreeWidgetItem ([file_to_add, dest_rel_path])
+               self.additional_files.addTopLevelItem (fileitem)
+
+       # when file remove is clicked
+       def onFileRemove (self):
+               selitem = self.additional_files.currentItem ()
+               selindex = self.additional_files.indexOfTopLevelItem (selitem)
+               # if none selected
+               if selindex == -1:
+                       return
+               self.additional_files.takeTopLevelItem (selindex)
\ No newline at end of file