12 import copy |
12 import copy |
13 |
13 |
14 from PyQt4.QtCore import QObject, SIGNAL |
14 from PyQt4.QtCore import QObject, SIGNAL |
15 from PyQt4.QtGui import QDialog, QApplication |
15 from PyQt4.QtGui import QDialog, QApplication |
16 |
16 |
17 from E4Gui.E4Application import e4App |
17 from E4Gui.E4Application import e5App |
18 |
18 |
19 from E4Gui.E4Action import E4Action |
19 from E4Gui.E4Action import E4Action |
20 |
20 |
21 from DocumentationPlugins.Ericdoc.EricdocConfigDialog import EricdocConfigDialog |
21 from DocumentationPlugins.Ericdoc.EricdocConfigDialog import EricdocConfigDialog |
22 from DocumentationPlugins.Ericdoc.EricdocExecDialog import EricdocExecDialog |
22 from DocumentationPlugins.Ericdoc.EricdocExecDialog import EricdocExecDialog |
89 """ |
89 """ |
90 Public method to activate this plugin. |
90 Public method to activate this plugin. |
91 |
91 |
92 @return tuple of None and activation status (boolean) |
92 @return tuple of None and activation status (boolean) |
93 """ |
93 """ |
94 menu = e4App().getObject("Project").getMenu("Apidoc") |
94 menu = e5App().getObject("Project").getMenu("Apidoc") |
95 if menu: |
95 if menu: |
96 self.__projectAct = \ |
96 self.__projectAct = \ |
97 E4Action(self.trUtf8('Generate documentation (eric5-doc)'), |
97 E4Action(self.trUtf8('Generate documentation (eric5-doc)'), |
98 self.trUtf8('Generate &documentation (eric5-doc)'), 0, 0, |
98 self.trUtf8('Generate &documentation (eric5-doc)'), 0, 0, |
99 self, 'doc_eric5_doc') |
99 self, 'doc_eric5_doc') |
102 self.__projectAct.setWhatsThis(self.trUtf8( |
102 self.__projectAct.setWhatsThis(self.trUtf8( |
103 """<b>Generate documentation</b>""" |
103 """<b>Generate documentation</b>""" |
104 """<p>Generate API documentation using eric5-doc.</p>""" |
104 """<p>Generate API documentation using eric5-doc.</p>""" |
105 )) |
105 )) |
106 self.connect(self.__projectAct, SIGNAL('triggered()'), self.__doEricdoc) |
106 self.connect(self.__projectAct, SIGNAL('triggered()'), self.__doEricdoc) |
107 e4App().getObject("Project").addE4Actions([self.__projectAct]) |
107 e5App().getObject("Project").addE4Actions([self.__projectAct]) |
108 menu.addAction(self.__projectAct) |
108 menu.addAction(self.__projectAct) |
109 |
109 |
110 self.connect(e4App().getObject("Project"), SIGNAL("showMenu"), |
110 self.connect(e5App().getObject("Project"), SIGNAL("showMenu"), |
111 self.__projectShowMenu) |
111 self.__projectShowMenu) |
112 |
112 |
113 return None, True |
113 return None, True |
114 |
114 |
115 def deactivate(self): |
115 def deactivate(self): |
116 """ |
116 """ |
117 Public method to deactivate this plugin. |
117 Public method to deactivate this plugin. |
118 """ |
118 """ |
119 self.disconnect(e4App().getObject("Project"), SIGNAL("showMenu"), |
119 self.disconnect(e5App().getObject("Project"), SIGNAL("showMenu"), |
120 self.__projectShowMenu) |
120 self.__projectShowMenu) |
121 |
121 |
122 menu = e4App().getObject("Project").getMenu("Apidoc") |
122 menu = e5App().getObject("Project").getMenu("Apidoc") |
123 if menu: |
123 if menu: |
124 menu.removeAction(self.__projectAct) |
124 menu.removeAction(self.__projectAct) |
125 e4App().getObject("Project").removeE4Actions([self.__projectAct]) |
125 e5App().getObject("Project").removeE4Actions([self.__projectAct]) |
126 self.__initialize() |
126 self.__initialize() |
127 |
127 |
128 def __projectShowMenu(self, menuName, menu): |
128 def __projectShowMenu(self, menuName, menu): |
129 """ |
129 """ |
130 Private slot called, when the the project menu or a submenu is |
130 Private slot called, when the the project menu or a submenu is |
134 @param menu reference to the menu (QMenu) |
134 @param menu reference to the menu (QMenu) |
135 """ |
135 """ |
136 if menuName == "Apidoc": |
136 if menuName == "Apidoc": |
137 if self.__projectAct is not None: |
137 if self.__projectAct is not None: |
138 self.__projectAct.setEnabled(\ |
138 self.__projectAct.setEnabled(\ |
139 e4App().getObject("Project").getProjectLanguage() in \ |
139 e5App().getObject("Project").getProjectLanguage() in \ |
140 ["Python", "Python3", "Ruby"]) |
140 ["Python", "Python3", "Ruby"]) |
141 |
141 |
142 def __doEricdoc(self): |
142 def __doEricdoc(self): |
143 """ |
143 """ |
144 Private slot to perform the eric5-doc api documentation generation. |
144 Private slot to perform the eric5-doc api documentation generation. |
145 """ |
145 """ |
146 project = e4App().getObject("Project") |
146 project = e5App().getObject("Project") |
147 parms = project.getData('DOCUMENTATIONPARMS', "ERIC4DOC") |
147 parms = project.getData('DOCUMENTATIONPARMS', "ERIC4DOC") |
148 dlg = EricdocConfigDialog(project.getProjectPath(), parms) |
148 dlg = EricdocConfigDialog(project.getProjectPath(), parms) |
149 if dlg.exec_() == QDialog.Accepted: |
149 if dlg.exec_() == QDialog.Accepted: |
150 args, parms = dlg.generateParameters() |
150 args, parms = dlg.generateParameters() |
151 project.setData('DOCUMENTATIONPARMS', "ERIC4DOC", parms) |
151 project.setData('DOCUMENTATIONPARMS', "ERIC4DOC", parms) |