16 |
16 |
17 class MakePropertiesDialog(QDialog, Ui_MakePropertiesDialog): |
17 class MakePropertiesDialog(QDialog, Ui_MakePropertiesDialog): |
18 """ |
18 """ |
19 Class implementing a dialog to enter the properties for 'make'. |
19 Class implementing a dialog to enter the properties for 'make'. |
20 """ |
20 """ |
|
21 |
21 def __init__(self, project, new, parent=None): |
22 def __init__(self, project, new, parent=None): |
22 """ |
23 """ |
23 Constructor |
24 Constructor |
24 |
25 |
25 @param project reference to the project object |
26 @param project reference to the project object |
26 @type Project |
27 @type Project |
27 @param new flag indicating the generation of a new project |
28 @param new flag indicating the generation of a new project |
28 @type bool |
29 @type bool |
29 @param parent reference to the parent widget of this dialog |
30 @param parent reference to the parent widget of this dialog |
30 @type QWidget |
31 @type QWidget |
31 """ |
32 """ |
32 super().__init__(parent) |
33 super().__init__(parent) |
33 self.setupUi(self) |
34 self.setupUi(self) |
34 |
35 |
35 self.__project = project |
36 self.__project = project |
36 |
37 |
37 self.makePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
38 self.makePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
38 self.makePicker.setFilters(self.tr("All Files (*)")) |
39 self.makePicker.setFilters(self.tr("All Files (*)")) |
39 |
40 |
40 self.makefilePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
41 self.makefilePicker.setMode(EricPathPickerModes.OPEN_FILE_MODE) |
41 self.makefilePicker.setDefaultDirectory(self.__project.ppath) |
42 self.makefilePicker.setDefaultDirectory(self.__project.ppath) |
42 self.makefilePicker.setFilters(self.tr( |
43 self.makefilePicker.setFilters( |
43 "Makefiles (*makefile Makefile *.mak);;All Files (*)")) |
44 self.tr("Makefiles (*makefile Makefile *.mak);;All Files (*)") |
44 |
45 ) |
|
46 |
45 self.makeTargetEdit.textChanged.connect(self.__updateOkButton) |
47 self.makeTargetEdit.textChanged.connect(self.__updateOkButton) |
46 |
48 |
47 self.initDialog() |
49 self.initDialog() |
48 |
50 |
49 msh = self.minimumSizeHint() |
51 msh = self.minimumSizeHint() |
50 self.resize(max(self.width(), msh.width()), msh.height()) |
52 self.resize(max(self.width(), msh.width()), msh.height()) |
51 |
53 |
52 def initDialog(self): |
54 def initDialog(self): |
53 """ |
55 """ |
54 Public method to initialize the dialog's data. |
56 Public method to initialize the dialog's data. |
55 """ |
57 """ |
56 makeData = self.__project.pdata["MAKEPARAMS"] |
58 makeData = self.__project.pdata["MAKEPARAMS"] |
57 |
59 |
58 if makeData["MakeExecutable"]: |
60 if makeData["MakeExecutable"]: |
59 self.makePicker.setText(makeData["MakeExecutable"]) |
61 self.makePicker.setText(makeData["MakeExecutable"]) |
60 else: |
62 else: |
61 self.makePicker.setText(self.__project.DefaultMake) |
63 self.makePicker.setText(self.__project.DefaultMake) |
62 if makeData["MakeFile"]: |
64 if makeData["MakeFile"]: |
64 else: |
66 else: |
65 self.makefilePicker.setText(self.__project.DefaultMakefile) |
67 self.makefilePicker.setText(self.__project.DefaultMakefile) |
66 self.makeTargetEdit.setText(makeData["MakeTarget"]) |
68 self.makeTargetEdit.setText(makeData["MakeTarget"]) |
67 self.makeParametersEdit.setText(makeData["MakeParameters"]) |
69 self.makeParametersEdit.setText(makeData["MakeParameters"]) |
68 self.testOnlyCheckBox.setChecked(makeData["MakeTestOnly"]) |
70 self.testOnlyCheckBox.setChecked(makeData["MakeTestOnly"]) |
69 |
71 |
70 self.__updateOkButton() |
72 self.__updateOkButton() |
71 |
73 |
72 def __updateOkButton(self): |
74 def __updateOkButton(self): |
73 """ |
75 """ |
74 Private slot to update the enabled state of the OK button. |
76 Private slot to update the enabled state of the OK button. |
75 """ |
77 """ |
76 self.buttonBox.button( |
78 self.buttonBox.button(QDialogButtonBox.StandardButton.Ok).setEnabled( |
77 QDialogButtonBox.StandardButton.Ok).setEnabled(bool( |
79 bool(self.makeTargetEdit.text()) |
78 self.makeTargetEdit.text())) |
80 ) |
79 |
81 |
80 def storeData(self): |
82 def storeData(self): |
81 """ |
83 """ |
82 Public method to store the entered/modified data. |
84 Public method to store the entered/modified data. |
83 """ |
85 """ |
84 makeData = self.__project.pdata["MAKEPARAMS"] |
86 makeData = self.__project.pdata["MAKEPARAMS"] |
85 |
87 |
86 makeExe = self.makePicker.text() |
88 makeExe = self.makePicker.text() |
87 if makeExe == self.__project.DefaultMake: |
89 if makeExe == self.__project.DefaultMake: |
88 makeExe = "" |
90 makeExe = "" |
89 makeData["MakeExecutable"] = makeExe |
91 makeData["MakeExecutable"] = makeExe |
90 |
92 |
91 makefile = self.__project.getRelativePath(self.makefilePicker.text()) |
93 makefile = self.__project.getRelativePath(self.makefilePicker.text()) |
92 if makefile == self.__project.DefaultMakefile: |
94 if makefile == self.__project.DefaultMakefile: |
93 makefile = "" |
95 makefile = "" |
94 makeData["MakeFile"] = makefile |
96 makeData["MakeFile"] = makefile |
95 |
97 |
96 makeData["MakeTarget"] = self.makeTargetEdit.text() |
98 makeData["MakeTarget"] = self.makeTargetEdit.text() |
97 makeData["MakeParameters"] = self.makeParametersEdit.text() |
99 makeData["MakeParameters"] = self.makeParametersEdit.text() |
98 makeData["MakeTestOnly"] = self.testOnlyCheckBox.isChecked() |
100 makeData["MakeTestOnly"] = self.testOnlyCheckBox.isChecked() |