Project/AddFileDialog.py

changeset 5599
033967644b1f
parent 5389
9b1c800daff3
child 5969
584c21b6587a
equal deleted inserted replaced
5597:3d88d53f8c2b 5599:033967644b1f
21 21
22 class AddFileDialog(QDialog, Ui_AddFileDialog): 22 class AddFileDialog(QDialog, Ui_AddFileDialog):
23 """ 23 """
24 Class implementing a dialog to add a file to the project. 24 Class implementing a dialog to add a file to the project.
25 """ 25 """
26 def __init__(self, pro, parent=None, filter=None, name=None, 26 def __init__(self, pro, parent=None, fileTypeFilter=None, name=None,
27 startdir=None): 27 startdir=None):
28 """ 28 """
29 Constructor 29 Constructor
30 30
31 @param pro reference to the project object 31 @param pro reference to the project object
32 @param parent parent widget of this dialog (QWidget) 32 @param parent parent widget of this dialog (QWidget)
33 @param filter filter specification for the file to add (string) 33 @param fileTypeFilter filter specification for the file to add (string)
34 @param name name of this dialog (string) 34 @param name name of this dialog (string)
35 @param startdir start directory for the selection dialog 35 @param startdir start directory for the selection dialog
36 """ 36 """
37 super(AddFileDialog, self).__init__(parent) 37 super(AddFileDialog, self).__init__(parent)
38 if name: 38 if name:
42 self.sourceFilesPicker.setMode(E5PathPickerModes.OpenFilesMode) 42 self.sourceFilesPicker.setMode(E5PathPickerModes.OpenFilesMode)
43 self.targetDirPicker.setMode(E5PathPickerModes.DirectoryMode) 43 self.targetDirPicker.setMode(E5PathPickerModes.DirectoryMode)
44 self.targetDirPicker.setDefaultDirectory(startdir) 44 self.targetDirPicker.setDefaultDirectory(startdir)
45 45
46 self.targetDirPicker.setText(pro.ppath) 46 self.targetDirPicker.setText(pro.ppath)
47 self.filter = filter 47 self.fileTypeFilter = fileTypeFilter
48 self.ppath = pro.ppath 48 self.ppath = pro.ppath
49 self.startdir = startdir 49 self.startdir = startdir
50 self.filetypes = pro.pdata["FILETYPES"] 50 self.filetypes = pro.pdata["FILETYPES"]
51 # save a reference to the filetypes dict 51 # save a reference to the filetypes dict
52 52
53 if self.filter is not None: 53 if self.fileTypeFilter is not None:
54 self.sourcecodeCheckBox.hide() 54 self.sourcecodeCheckBox.hide()
55 55
56 msh = self.minimumSizeHint() 56 msh = self.minimumSizeHint()
57 self.resize(max(self.width(), msh.width()), msh.height()) 57 self.resize(max(self.width(), msh.width()), msh.height())
58 58
65 path = self.targetDirPicker.text() 65 path = self.targetDirPicker.text()
66 if not path: 66 if not path:
67 path = self.startdir 67 path = self.startdir
68 self.sourceFilesPicker.setDefaultDirectory(path) 68 self.sourceFilesPicker.setDefaultDirectory(path)
69 69
70 if self.filter is None: 70 if self.fileTypeFilter is None:
71 patterns = { 71 patterns = {
72 "SOURCES": [], 72 "SOURCES": [],
73 "FORMS": [], 73 "FORMS": [],
74 "RESOURCES": [], 74 "RESOURCES": [],
75 "INTERFACES": [], 75 "INTERFACES": [],
90 " ".join(patterns["FORMS"]), 90 " ".join(patterns["FORMS"]),
91 " ".join(patterns["RESOURCES"]), 91 " ".join(patterns["RESOURCES"]),
92 " ".join(patterns["INTERFACES"]), 92 " ".join(patterns["INTERFACES"]),
93 " ".join(patterns["TRANSLATIONS"])) 93 " ".join(patterns["TRANSLATIONS"]))
94 caption = self.tr("Select Files") 94 caption = self.tr("Select Files")
95 elif self.filter == 'form': 95 elif self.fileTypeFilter == 'form':
96 patterns = [] 96 patterns = []
97 for pattern, filetype in list(self.filetypes.items()): 97 for pattern, filetype in list(self.filetypes.items()):
98 if filetype == "FORMS": 98 if filetype == "FORMS":
99 patterns.append(pattern) 99 patterns.append(pattern)
100 dfilter = self.tr("Forms Files ({0})")\ 100 dfilter = self.tr("Forms Files ({0})")\
101 .format(" ".join(patterns)) 101 .format(" ".join(patterns))
102 caption = self.tr("Select user-interface files") 102 caption = self.tr("Select user-interface files")
103 elif self.filter == "resource": 103 elif self.fileTypeFilter == "resource":
104 patterns = [] 104 patterns = []
105 for pattern, filetype in list(self.filetypes.items()): 105 for pattern, filetype in list(self.filetypes.items()):
106 if filetype == "RESOURCES": 106 if filetype == "RESOURCES":
107 patterns.append(pattern) 107 patterns.append(pattern)
108 dfilter = self.tr("Resource Files ({0})")\ 108 dfilter = self.tr("Resource Files ({0})")\
109 .format(" ".join(patterns)) 109 .format(" ".join(patterns))
110 caption = self.tr("Select resource files") 110 caption = self.tr("Select resource files")
111 elif self.filter == 'source': 111 elif self.fileTypeFilter == 'source':
112 patterns = [] 112 patterns = []
113 for pattern, filetype in list(self.filetypes.items()): 113 for pattern, filetype in list(self.filetypes.items()):
114 if filetype == "SOURCES": 114 if filetype == "SOURCES":
115 patterns.append(pattern) 115 patterns.append(pattern)
116 dfilter = self.tr("Source Files ({0});;All Files (*)")\ 116 dfilter = self.tr("Source Files ({0});;All Files (*)")\
117 .format(" ".join(patterns)) 117 .format(" ".join(patterns))
118 caption = self.tr("Select source files") 118 caption = self.tr("Select source files")
119 elif self.filter == 'interface': 119 elif self.fileTypeFilter == 'interface':
120 patterns = [] 120 patterns = []
121 for pattern, filetype in list(self.filetypes.items()): 121 for pattern, filetype in list(self.filetypes.items()):
122 if filetype == "INTERFACES": 122 if filetype == "INTERFACES":
123 patterns.append(pattern) 123 patterns.append(pattern)
124 dfilter = self.tr("Interface Files ({0})")\ 124 dfilter = self.tr("Interface Files ({0})")\
125 .format(" ".join(patterns)) 125 .format(" ".join(patterns))
126 caption = self.tr("Select interface files") 126 caption = self.tr("Select interface files")
127 elif self.filter == 'translation': 127 elif self.fileTypeFilter == 'translation':
128 patterns = [] 128 patterns = []
129 for pattern, filetype in list(self.filetypes.items()): 129 for pattern, filetype in list(self.filetypes.items()):
130 if filetype == "TRANSLATIONS": 130 if filetype == "TRANSLATIONS":
131 patterns.append(pattern) 131 patterns.append(pattern)
132 dfilter = self.tr("Translation Files ({0})")\ 132 dfilter = self.tr("Translation Files ({0})")\
133 .format(" ".join(patterns)) 133 .format(" ".join(patterns))
134 caption = self.tr("Select translation files") 134 caption = self.tr("Select translation files")
135 elif self.filter == 'others': 135 elif self.fileTypeFilter == 'others':
136 dfilter = self.tr("All Files (*)") 136 dfilter = self.tr("All Files (*)")
137 caption = self.tr("Select files") 137 caption = self.tr("Select files")
138 else: 138 else:
139 dfilter = "" 139 dfilter = ""
140 caption = "" 140 caption = ""
155 @param sfile the text of the source file picker (string) 155 @param sfile the text of the source file picker (string)
156 """ 156 """
157 sfile = self.sourceFilesPicker.firstPath() 157 sfile = self.sourceFilesPicker.firstPath()
158 if sfile.startswith(self.ppath): 158 if sfile.startswith(self.ppath):
159 if os.path.isdir(sfile): 159 if os.path.isdir(sfile):
160 dir = sfile 160 directory = sfile
161 else: 161 else:
162 dir = os.path.dirname(sfile) 162 directory = os.path.dirname(sfile)
163 self.targetDirPicker.setText(dir) 163 self.targetDirPicker.setText(directory)
164 164
165 def getData(self): 165 def getData(self):
166 """ 166 """
167 Public slot to retrieve the dialogs data. 167 Public slot to retrieve the dialogs data.
168 168

eric ide

mercurial