* src/anjuta.glade, src/anjuta.c, src/main.c, src/anjuta.h:
[anjuta-git-plugin.git] / TODO.tasks
blobbbd18bdd3c49fd57714cc821e3ef36e15d8b2733
1 <?xml version="1.0"?>
2 <gtodo>
3 <category title="Unfiled" place="0">
4 <item>
5 <attribute id="1098255975" priority="2" done="1" start_date="731874" completed_date="731972" notify="0" last_edited="1106752594"/>
6 <summary>Anjuta 2.0 write up</summary>
7 <comment>Write a publication describing what's happening with anjuta
8 development and what's new in Anjuta 2.0 release.</comment>
9 </item>
10 <item>
11 <attribute id="1108355059" priority="1" done="1" start_date="731991" completed_date="732012" enddate="99999999" notify="0" endtime="-60" last_edited="1110211623"/>
12 <summary>Update credit list in AUTHORS file</summary>
13 <comment>Update credit list in AUTHORS file and use this file in about dialog
14 box (instead of hardcoded names in the source).</comment>
15 </item>
16 <item>
17 <attribute id="1142156720" priority="1" done="0" start_date="732382" enddate="99999999" notify="0" endtime="-60" last_edited="1142156720"/>
18 <summary>Implement IAnjutaEditorPrint</summary>
19 <comment>Implement it using GnomePrint</comment>
20 </item>
21 <item>
22 <attribute id="1142156772" priority="1" done="1" start_date="732382" completed_date="732391" notify="0" last_edited="1142930663"/>
23 <summary>Implement IAnjutaPrint</summary>
24 <comment>A generic print interface</comment>
25 </item>
26 <item>
27 <attribute id="1159907132" priority="1" done="0" start_date="732587" enddate="99999999" notify="0" endtime="-60" last_edited="1159907262"/>
28 <summary>Bug fixing batch #1</summary>
29 <comment>[Skill: Medium, Work: 12hrs, Bounty: $25]
31 * Bug #346777 Cannot change the editor font
32 * Bug #351214 Anjuta doesn't respect Gnome blinking cursor preference
33 * Bug #357151 a + character in a directory name confuses anjuta
34 * Bug #357541 can't launch Anjuta project file from Nautilus
35 * Bug #357820 Goto / Previous history should return to previous cursor ...</comment>
36 </item>
37 <item>
38 <attribute id="1159907660" priority="1" done="0" start_date="732587" enddate="99999999" notify="0" endtime="-60" last_edited="1159907660"/>
39 <summary>Automated tests for Anjuta</summary>
40 <comment>[Skill: Basic, Work: 20hrs]
42 Implement automated tests for Anjuta using either LDTP (http://ldtp.freedesktop.org/wiki/) or Dogtail (http://people.redhat.com/zcerza/dogtail/), which ever is better. Test cases should cover existing features and be able to easily extend for future features. The implementation should alow running the test cases in an automated setup (such as a remote server with a sutable running platform).</comment>
43 </item>
44 <item>
45 <attribute id="1159555748" priority="1" done="0" start_date="732583" enddate="99999999" notify="0" endtime="-60" last_edited="1160076674"/>
46 <summary>Performance Profiler plugin</summary>
47 <comment>[Skill: medium, Work: 30hrs, Bounty: $500, Status: Assigned, Bug: #359478]
49 gprof is a command line tool for profiling program performance. The executable is required to be compiled with -p flag and when the program is executed, a profiling info is collected in a file. After the execution is done, gprof can be used to interpret the profile data. This plugin parses the output from gprof and presents the information in different views -- text, lists and graphs.</comment>
50 </item>
51 </category>
52 <category title="libanjuta" place="2">
53 <item>
54 <attribute id="1098253934" priority="1" done="1" start_date="731874" completed_date="731901" notify="0" last_edited="1100584623"/>
55 <summary>Key notification API</summary>
56 <comment>Add anjuta_preferences_add_notify(), anjuta_preferences_remove_notify()
57 and anjuta_preferences_get_prefix() API.</comment>
58 </item>
59 <item>
60 <attribute id="1098256119" priority="1" done="1" start_date="731874" completed_date="731901" notify="0" last_edited="1100584631"/>
61 <summary>Plugins unloading</summary>
62 <comment>Do not destroy plugin objects when they are deactivated.
63 We have problem with dynamic class registeration.
64 Until we figure out that, the plugins should not be unloaded
65 when deactivated.</comment>
66 </item>
67 <item>
68 <attribute id="1107253918" priority="1" done="1" start_date="731978" completed_date="732118" notify="0" last_edited="1119330389"/>
69 <summary>Progress bar</summary>
70 <comment>Implement multiple progress bars in AnjutaStatus class. Any
71 number of progressbar should be acceptable. All of them
72 should be shown side-by-side in status bar.</comment>
73 </item>
74 <item>
75 <attribute id="1098255692" priority="1" done="0" start_date="731874" enddate="99999999" notify="0" endtime="-60" last_edited="1159483377"/>
76 <summary>Move encodings source files</summary>
77 <comment>Move encodings source files (anjuta-encodings.h and anjuta-encodings.c) by CVS surgery into editor plugin.</comment>
78 </item>
79 <item>
80 <attribute id="1107255619" priority="1" done="0" start_date="731978" enddate="99999999" notify="0" endtime="-60" last_edited="1159483386"/>
81 <summary>Plugins reference counting</summary>
82 <comment>Implement plugins reference counting. Loading a plugin gets 1 ref and when ref count reaches 0, plugin is deactivated.</comment>
83 </item>
84 <item>
85 <attribute id="1109399546" priority="1" done="1" start_date="732003" completed_date="732583" notify="0" last_edited="1159555532"/>
86 <summary>Implement preferences as interface</summary>
87 <comment>Create the preference dialog only if it is shown and destroy it afterwards.</comment>
88 </item>
89 <item>
90 <attribute id="1159555613" priority="1" done="0" start_date="732583" enddate="99999999" notify="0" endtime="-60" last_edited="1159560494"/>
91 <summary>On demand preferences widgets creation</summary>
92 <comment>[Skill: High, Work: 30hrs]
94 Currently, preferences are registered at plugins activation time. This has a real drawback that we spend unnecessary time at startup that could easily be avoided by on-demand creation of the preferences. One reason why it isn't straightforward is because preferences dialogs contain the schemas for preference keys, so unless the glade files (of the plugin preferences dialogs) are loaded, the default values of the keys are not available.
96 It should be fixed such that gconf schema files are automatically generated from the dialogs by grepping for the preferences keys schemas defined in the widget names (in the glade files) during build time and installed correctly during install time.
98 Then AnjutaPreferences class should be fixed not to preemptively create the dialog widgets on plugin activations, but rather do it at IAnjutaPreferences::merge() and IAnjutaPreferences::unmerge() implementations in plugins. The plugins would still need to setup notifications in IAnjutaPreferences::init() implementation. To accomplish all this, it might involve substantial changes in AnjutaPreferences class.</comment>
99 </item>
100 <item>
101 <attribute id="1098253494" priority="2" done="0" start_date="731874" enddate="99999999" notify="0" endtime="-60" last_edited="1159560595"/>
102 <summary>Preferences keys with no defaults do not register</summary>
103 <comment>Preferences keys without default values (defined in .glade file) are not registered during preferences registeration. This results in gconf type mismatch when the keys are queried.</comment>
104 </item>
105 </category>
106 <category title="Plugin: Editor" place="5">
107 <item>
108 <attribute id="1098255400" priority="1" done="1" start_date="731874" completed_date="731902" notify="0" last_edited="1100696776"/>
109 <summary>Add "saved" signal</summary>
110 <comment>Saved signal to notify that document has been just saved.</comment>
111 </item>
112 <item>
113 <attribute id="1107240087" priority="1" done="1" start_date="731978" completed_date="731987" notify="0" last_edited="1108058172"/>
114 <summary>Enable 'Tab' auto-indentation</summary>
115 <comment>Automatic indentation (ala emacs) is working in Editor. For cpp lexer,
116 'Tab' should be be trapped from the editor and used to auto-indent
117 current line. Currently, trapping 'Tab' key in editor does not work.</comment>
118 </item>
119 <item>
120 <attribute id="1100696849" priority="1" done="1" start_date="731902" completed_date="732042" notify="0" last_edited="1112766406"/>
121 <summary>Update UI based on save point state.</summary>
122 <comment>Connect to save point state signal of editor and
123 accordingly update undo/redo ui sensitivity.</comment>
124 </item>
125 <item>
126 <attribute id="1107240796" priority="1" done="1" start_date="731978" completed_date="732042" notify="0" last_edited="1112766570"/>
127 <summary>Add editor view on idle</summary>
128 <comment>Add editor view using gtk_idle_add() to minimize UI freeze. Also set
129 busy/unbusy on AnjutaStatus during split operation</comment>
130 </item>
131 <item>
132 <attribute id="1108352735" priority="1" done="1" start_date="731991" completed_date="732042" notify="0" last_edited="1112766585"/>
133 <summary>Hover tooltip on editor tabs</summary>
134 <comment>Implement a hover tooltip (similar to gedit) giving details of the
135 current file. Details like Directory path, cvs rev number etc. should be there.</comment>
136 </item>
137 <item>
138 <attribute id="1107253663" priority="1" done="1" start_date="731978" completed_date="732049" notify="0" last_edited="1113397470"/>
139 <summary>gnome vfs notification for 'File changed on disk'</summary>
140 <comment>Implement gnome vfs monitor for file changed on disk and
141 prompt user to reload it.</comment>
142 </item>
143 <item>
144 <attribute id="1107240185" priority="1" done="1" start_date="731978" completed_date="732419" notify="0" last_edited="1145355619"/>
145 <summary>Expose editor functions to IAnjutaEditor</summary>
146 <comment>Currently, only a limited numbers of Editor are exposed through
147 IAnjutaEditor, IAnjutaMarkable and IAnjutaFileSavable interface.
148 Most of the API should be exposed.</comment>
149 </item>
150 <item>
151 <attribute id="1098253642" priority="1" done="0" start_date="731874" enddate="99999999" notify="0" endtime="-60" last_edited="1159483408"/>
152 <summary>Apply prefererences</summary>
153 <comment>Hidden editor preferences (those which are not settable from preferences dialog) are not applied now.</comment>
154 </item>
155 <item>
156 <attribute id="1098253712" priority="2" done="0" start_date="731874" enddate="99999999" notify="0" endtime="-60" last_edited="1159483581"/>
157 <summary>Update on configure syntax highlighting</summary>
158 <comment>When syntax highlighting colors/fonts are changed, the changes are not propagated to all editors, but it should, just like a gconf key.</comment>
159 </item>
160 <item>
161 <attribute id="1159556116" priority="1" done="0" start_date="732583" enddate="99999999" notify="0" endtime="-60" last_edited="1159560459"/>
162 <summary>Relocate 'Autoformat' code from document-manager plugin</summary>
163 <comment>[Skill: Basic, Work: 3hr, Bounty: $50]
165 Relocate 'Autoformat' code from document-manager plugin to language-support-cpp-java plugin.
167 Currently Autoformat code that is specific to c and c++ (uses indent program) is located in document-manager plugin (legacy). It should now be moved to language-support-cpp-java plugin that specializes in c/c++ processing. Preferences, UI, and processing should all be moved to the new place. At the same time, the indent configuration dialog should be fixed to fit in smaller size, presumably using notebook widget (currently it is huge and not screen appropriate for lower resolution).</comment>
168 </item>
169 <item>
170 <attribute id="1107240279" priority="1" done="0" start_date="731978" enddate="99999999" notify="0" endtime="-60" last_edited="1159560523"/>
171 <summary>Move CVS directories</summary>
172 <comment>Move data/properties/ and scintilla/ directories (by CVS surgery, and not by add/remove) into plugins/editor/ directory.</comment>
173 </item>
174 </category>
175 <category title="Plugin: Project Manager" place="8">
176 <item>
177 <attribute id="1100059875" priority="1" done="1" start_date="731895" completed_date="731972" notify="0" last_edited="1106752638"/>
178 <summary>Error messages for loading project</summary>
179 <comment>Display error messages after loading of project fails.</comment>
180 </item>
181 <item>
182 <attribute id="1107240342" priority="1" done="1" start_date="731978" completed_date="732058" notify="0" last_edited="1114162543"/>
183 <summary>Implemente IAnjutaProjectManager</summary>
184 <comment>Implemente IAnjutaProjectManager interface.</comment>
185 </item>
186 <item>
187 <attribute id="1100059926" priority="1" done="1" start_date="731895" completed_date="732058" notify="0" last_edited="1114162550"/>
188 <summary>Display progress window</summary>
189 <comment>Display a "Loading project" window before loading a project and update gtk events.</comment>
190 </item>
191 <item>
192 <attribute id="1098254033" priority="1" done="1" start_date="731874" completed_date="732058" notify="0" last_edited="1114162746"/>
193 <summary>Context menu</summary>
194 <comment>Add target and source selected signals in gbf project.
195 Export currenct selected target or source.
196 Added context menu based on current selected target or source.</comment>
197 </item>
198 <item>
199 <attribute id="1114162826" priority="1" done="1" start_date="732058" completed_date="732119" notify="0" last_edited="1119425386"/>
200 <summary>Implemente "Properties" method</summary>
201 <comment>Implement "Configure" method in gnome-build for the automake backend.
202 This will correspond to the "Properties" method in our project manager.</comment>
203 </item>
204 <item>
205 <attribute id="1159539525" priority="1" done="0" start_date="732583" enddate="99999999" notify="0" endtime="-60" last_edited="1159550650"/>
206 <summary>Complete Makefile project manager backend</summary>
207 <comment>[Skill: High, Work: 50hrs, Bounty: $700]
209 There is some initial work done for makefile based project management in gnome-build (src/backends/libgbf_mkfile) and Anjuta. Most of the base implementations have been done. The tasks is to completed this backend so that it works just like automake-backend. All the project interfaces from Anjuta via gnome-build should work meaningfully for this backend (as far as Makefile based structure would allow). Further details can be acquired by following the mailing list thread:
211 http://sourceforge.net/mailarchive/message.php?msg_id=12687933</comment>
212 </item>
213 </category>
214 <category title="Plugin: File Manager" place="7"/>
215 <category title="Plugin: Automake Build" place="4">
216 <item>
217 <attribute id="1098254207" priority="1" done="1" start_date="731874" completed_date="732059" notify="0" last_edited="1114205327"/>
218 <summary>Project manager watch</summary>
219 <comment>Watch current project's target or source and depending on it,
220 merge context menu into project manager.</comment>
221 </item>
222 <item>
223 <attribute id="1100521161" priority="1" done="0" start_date="731900" enddate="99999999" notify="0" endtime="-60" last_edited="1159482687"/>
224 <summary>Define compile commands</summary>
225 <comment>Define compile commands for various file extensions. Normally, plugin should search for a Makefile and invoke it with correct target (for example for a c file, it will be 'make file.o'). There should be a file that contains regexs for deriving target from a file name for invoking 'make'. Also, if there is no Makefile found in the directory with which to invoke the compile command, user should be prompted to create a Makefile (possibly filling it up with some template contents).</comment>
226 </item>
227 </category>
228 <category title="Plugin: Symbol Browser" place="10">
229 <item>
230 <attribute id="1098256806" priority="1" done="1" start_date="731874" completed_date="731874" notify="0" last_edited="1098286218"/>
231 <summary>Destroy file tags</summary>
232 <comment>Connect to "destroy" signal of editor and destroy file tags when
233 the editor is destroyed.</comment>
234 </item>
235 <item>
236 <attribute id="1098255828" priority="1" done="1" start_date="731874" completed_date="732042" notify="0" last_edited="1112766624"/>
237 <summary>Apply autocompletion patch</summary>
238 <comment>Apply class autocompletion patch from SF traker.</comment>
239 </item>
240 <item>
241 <attribute id="1107253892" priority="1" done="1" start_date="731978" completed_date="732058" notify="0" last_edited="1114161970"/>
242 <summary>Refresh symbol-view on idle</summary>
243 <comment>Implement symbol-view refresh on idle and show progress in a progress bar.</comment>
244 </item>
245 <item>
246 <attribute id="1100059961" priority="1" done="1" start_date="731895" completed_date="732058" notify="0" last_edited="1114161986"/>
247 <summary>Display progress window</summary>
248 <comment>Display progress window when refreshing symbols.</comment>
249 </item>
250 <item>
251 <attribute id="1107240408" priority="1" done="1" start_date="731978" completed_date="732058" notify="0" last_edited="1114162066"/>
252 <summary>Update on Add/Remove files in project</summary>
253 <comment>Using IAnjutaProjectManager interface, update symbol database
254 on add/remove of sources.</comment>
255 </item>
256 <item>
257 <attribute id="1098255485" priority="1" done="1" start_date="731874" completed_date="732058" notify="0" last_edited="1114162225"/>
258 <summary>Updated tags image on file save</summary>
259 <comment>Connect to "saved" signal of editor and update necessary
260 tags in database.</comment>
261 </item>
262 <item>
263 <attribute id="1114162285" priority="1" done="1" start_date="732058" completed_date="732065" notify="0" last_edited="1114713785"/>
264 <summary>Add dialog to create symbol tags in preferences</summary>
265 <comment>Add dialog to create symbol tags in preferences</comment>
266 </item>
267 <item>
268 <attribute id="1114330128" priority="1" done="1" start_date="732060" completed_date="732072" notify="0" last_edited="1115364308"/>
269 <summary>Create IAnjutaSymbols interface</summary>
270 <comment>Create and implement IAnjutaSymbols interface for symbol-browser
271 plugin that can work with most languages type system.</comment>
272 </item>
273 <item>
274 <attribute id="1107240571" priority="1" done="0" start_date="731978" enddate="99999999" notify="0" endtime="-60" last_edited="1159483466"/>
275 <summary>Possible memory leak</summary>
276 <comment>Investigate possible memory lead on load/unload of symbol-browser.</comment>
277 </item>
278 <item>
279 <attribute id="1100698396" priority="1" done="0" start_date="731902" enddate="99999999" notify="0" endtime="-60" last_edited="1159483495"/>
280 <summary>Workspace symbols not updated</summary>
281 <comment>Although, file symbols are updated when the file is saved, corresponding workspace symbols are not updated. That is when "goto symbol" to a symbol in this file from some other place is activated (eg. symbol pane), the old location is used.</comment>
282 </item>
283 <item>
284 <attribute id="1107240520" priority="1" done="0" start_date="731978" enddate="99999999" notify="0" endtime="-60" last_edited="1159483529"/>
285 <summary>Tags search do not retrieve all matching symbols</summary>
286 <comment>Tags search (plugins/editor/aneditor.cxx) during calltips query do not retrieve all matching function prototypes. Perhaps, the tags are not sorted, leading to incomplete binary search. Investigate it in tag-manager/ directory.</comment>
287 </item>
288 <item>
289 <attribute id="1159539232" priority="1" done="0" start_date="732583" enddate="99999999" notify="0" endtime="-60" last_edited="1159616893"/>
290 <summary>Rewrite symbol-browser plugin</summary>
291 <comment>[Skill: High, Work: 200hr, Bounty: $1500, Status: Assigned, Bug: #358479]
293 A rewrite of symbol-browser plugin is in place. The rewrite is about view/model/store of the symbols database. It will use sqllite for the database for primary storage and implement a GtkTreeModel interface exclusively for using it in Views. A store class will be created that proxies the sqllite database and provide GtkTreeModel interface. The design for this work is still under sketch. Following the given thread for more details:
295 http://sourceforge.net/mailarchive/message.php?msg_id=36842046</comment>
296 </item>
297 </category>
298 <category title="Documentation" place="21">
299 <item>
300 <attribute id="1098255636" priority="1" done="0" start_date="731874" notify="0" last_edited="1101603303"/>
301 <summary>Update</summary>
302 <comment>All documents need update.</comment>
303 </item>
304 <item>
305 <attribute id="1107512738" priority="1" done="1" start_date="731981" completed_date="732090" notify="0" last_edited="1116916023"/>
306 <summary>Update README, HACKING and ROADMAP files</summary>
307 <comment>Update README, HACKING and ROADMAP files</comment>
308 </item>
309 </category>
310 <category title="Plugin: File Loader" place="6">
311 <item>
312 <attribute id="1098256384" priority="1" done="1" start_date="731874" completed_date="732012" notify="0" last_edited="1110230616"/>
313 <summary>Open with plugins</summary>
314 <comment>Add open with plugins menus along with open with programs menus.</comment>
315 </item>
316 <item>
317 <attribute id="1098254131" priority="1" done="1" start_date="731874" completed_date="732059" notify="0" last_edited="1114205338"/>
318 <summary>Project manager watch</summary>
319 <comment>Watch current project target or source and merge open
320 with context menu in project manager.</comment>
321 </item>
322 </category>
323 <category title="libanjuta-interfaces" place="3">
324 <item>
325 <attribute id="1107240705" priority="1" done="0" start_date="731978" enddate="99999999" notify="0" endtime="-60" last_edited="1107240705"/>
326 <summary>Documentation</summary>
327 <comment>Add gdoc API documentation in libanjuta.idl.</comment>
328 </item>
329 </category>
330 <category title="Plugin: Task Manager" place="11">
331 <item>
332 <attribute id="1107240984" priority="1" done="1" start_date="731978" completed_date="731978" notify="0" last_edited="1107250499"/>
333 <summary>Scrollbars</summary>
334 <comment>Set horizontal and vertical scrollbars AUTOMATIC.</comment>
335 </item>
336 <item>
337 <attribute id="1107241255" priority="1" done="1" start_date="731978" completed_date="731978" notify="0" last_edited="1107250502"/>
338 <summary>Remove text nodes during save</summary>
339 <comment>Remove text nodes between tags that do not have text contents.
340 It can be done either during save or load. Without this fix, the save xml is distorted.</comment>
341 </item>
342 <item>
343 <attribute id="1107253814" priority="1" done="1" start_date="731978" completed_date="732012" notify="0" last_edited="1110211719"/>
344 <summary>Column sorting</summary>
345 <comment>Implement column sorting (ala evolution).</comment>
346 </item>
347 <item>
348 <attribute id="1107240955" priority="1" done="0" start_date="731978" enddate="99999999" notify="0" endtime="-60" last_edited="1159483549"/>
349 <summary>Proper deactivation</summary>
350 <comment>Some stuffs are left out during deactivation of the plugin. For example, gnome-vfs monitor for TODO.tasks is not removed, leading to crash when the file changes when the plugin is not active.</comment>
351 </item>
352 <item>
353 <attribute id="1107241155" priority="1" done="0" start_date="731978" enddate="99999999" notify="0" endtime="-60" last_edited="1159483646"/>
354 <summary>Create text version TODO file</summary>
355 <comment>Create human readable TODO file, which will be plain text, during save.</comment>
356 </item>
357 <item>
358 <attribute id="1107241016" priority="1" done="1" start_date="731978" completed_date="732583" notify="0" last_edited="1159555711"/>
359 <summary>Text wrap</summary>
360 <comment>Text (title and description) are not automatically wrapped for long lines.</comment>
361 </item>
362 </category>
363 <category title="Plugin: Project Wizard" place="9">
364 <item>
365 <attribute id="1107241649" priority="1" done="0" start_date="731978" enddate="99999999" notify="0" endtime="-60" last_edited="1107241649"/>
366 <summary>More templates</summary>
367 <comment>Create more project templates, such as gnome, sdl, x11 etc..</comment>
368 </item>
369 <item>
370 <attribute id="1107241699" priority="1" done="1" start_date="731978" completed_date="731999" notify="0" last_edited="1109054075"/>
371 <summary>Prompt error when autogen could not be found</summary>
372 <comment>Prompt user with an error when 'autogen' could not be found and
373 abort the process.</comment>
374 </item>
375 <item>
376 <attribute id="1107241611" priority="1" done="1" start_date="731978" completed_date="731999" notify="0" last_edited="1109054089"/>
377 <summary>Proper message output</summary>
378 <comment>Produce a proper message output when files are created from
379 templates. For example, 'Creating project-name/file-path/file-name.c'
380 instead of full path names.</comment>
381 </item>
382 <item>
383 <attribute id="1159556062" priority="1" done="0" start_date="732583" enddate="99999999" notify="0" endtime="-60" last_edited="1168252098"/>
384 <summary>Test and fix all project wizards templates</summary>
385 <comment>[Skill: basic, Work: 5hr, Bounty: $50, Status: Assinged, Bug #394184 ]
387 Test and fix all project wizard templates and set reasonable version numbers for the dependencies</comment>
388 </item>
389 </category>
390 <category title="anjuta" place="1">
391 <item>
392 <attribute id="1107253737" priority="1" done="0" start_date="731978" enddate="99999999" notify="0" endtime="-60" last_edited="1107253737"/>
393 <summary>Save and load user sessions</summary>
394 <comment>Save and load user sessions</comment>
395 </item>
396 <item>
397 <attribute id="1107253772" priority="1" done="1" start_date="731978" completed_date="732405" notify="0" last_edited="1144149839"/>
398 <summary>Show toolbars</summary>
399 <comment>Show toolbars that were shown in last session.</comment>
400 </item>
401 <item>
402 <attribute id="1159539123" priority="1" done="0" start_date="732583" enddate="99999999" notify="0" endtime="-60" last_edited="1159539726"/>
403 <summary>Improve subvestion and cvs plugins</summary>
404 <comment>[Skill: Medium, Work: 40hrs, Bounty: $300]
406 Implement missing features of CVS and subversion in their respective plugins. Basic features are already implemented, but we are missing many advanced yet powerful features of these version control systems.</comment>
407 </item>
408 <item>
409 <attribute id="1159555638" priority="1" done="0" start_date="732583" enddate="99999999" notify="0" endtime="-60" last_edited="1159556331"/>
410 <summary>Apply http://live.gnome.org/GnomeGoals</summary>
411 <comment>[Skill: Low, Work: 20hrs]
413 Investigate general usability and HIG issues in Anjuta, come up with solutions that counter them and solve them. Issues such as Dialog consistencies, Navigational usabilities, Menus organization, features usablities should be investigated.</comment>
414 </item>
415 <item>
416 <attribute id="1159556239" priority="1" done="0" start_date="732583" enddate="99999999" notify="0" endtime="-60" last_edited="1165175119"/>
417 <summary>Use class macros for type casting in all plugin classes</summary>
418 <comment>[Skill: Basic, Work: 1hr, Bounty: $20, Status: Completed, Bug: #374665]
420 As a bad trend from the beginning, all plugin classes (derived from AnjutaPluing class) do not define any class macros, resulting in bad type castings in wherever these classes are used. These need to be fixed to follow the right procedure.
422 The work is mostly search and replace work and could possibly be done quickly using sed and friends. Go through all the plugins in plugins/ directory, locate the class definitions of plugins (usually defined in plugin.h), add class macros and use them wherever there are force typecasting used.
424 Example: (DocmanPlugin*)plugin -&gt; DOCMAN_PLUGIN (plugin)</comment>
425 </item>
426 </category>
427 <category title="Plugin: Macros" place="13">
428 <item>
429 <attribute id="1107522700" priority="1" done="1" start_date="731981" completed_date="732012" enddate="99999999" notify="0" endtime="-60" last_edited="1110211761"/>
430 <summary>Dialogs do not close with escape</summary>
431 <comment>Pressing escape should close all dialogs.</comment>
432 </item>
433 </category>
434 <category title="Plugin: Message Manager" place="14">
435 <item>
436 <attribute id="1108060925" priority="1" done="1" start_date="731988" completed_date="731992" notify="0" last_edited="1108466518"/>
437 <summary>Make next/previous work</summary>
438 <comment>Make next/previous action work</comment>
439 </item>
440 <item>
441 <attribute id="1110343095" priority="1" done="1" start_date="732014" completed_date="732087" notify="0" last_edited="1116682790"/>
442 <summary>Next/Prev shortcuts</summary>
443 <comment>Next and prev menuitems should have shortcuts similar
444 to anjuta 1.x.</comment>
445 </item>
446 <item>
447 <attribute id="1110343137" priority="1" done="1" start_date="732014" completed_date="732087" notify="0" last_edited="1116682791"/>
448 <summary>Save messages</summary>
449 <comment>There should be a menuitem "Save messages ..." similar to anjuta 1.x.</comment>
450 </item>
451 <item>
452 <attribute id="1114162476" priority="1" done="1" start_date="732058" completed_date="732113" notify="0" last_edited="1118908979"/>
453 <summary>Complete preferences hooks</summary>
454 <comment>Tab position preferences does not work.</comment>
455 </item>
456 </category>
457 <category title="Plugin: Debugger" place="15">
458 <item>
459 <attribute id="1108355482" priority="1" done="1" start_date="731991" completed_date="732054" notify="0" last_edited="1113828071"/>
460 <summary>Executable choices when starting debugger</summary>
461 <comment>In debugger-manager, when the debugger is started, the user
462 should be presented with a list available exec targets in the
463 project and prompted to select one. If there is only one exec
464 target in the project, that should be considered selected and
465 user should be not prompted. If there is no project open,
466 the debugger should start anyway without loading any exec.</comment>
467 </item>
468 <item>
469 <attribute id="1108355236" priority="2" done="1" start_date="731991" completed_date="732090" notify="0" last_edited="1116915999"/>
470 <summary>Use gdb MI interface</summary>
471 <comment>Current CLI parsing is inefficient and prone to failures across different gdb
472 releases. Use gdb's MI interface to communicate with it.</comment>
473 </item>
474 <item>
475 <attribute id="1108355203" priority="2" done="1" start_date="731991" completed_date="732526" notify="0" last_edited="1154629179"/>
476 <summary>Complete UI and other porting</summary>
477 <comment>Complete debugger UI in gdb plugin. Complete porting of debugger.</comment>
478 </item>
479 <item>
480 <attribute id="1159648703" priority="1" done="0" start_date="732584" enddate="99999999" notify="0" endtime="-60" last_edited="1159648703"/>
481 <summary>Multi-thread support</summary>
482 <comment>[Skill: medium, Work: 30h, Bounty: $150]
483 Displaying all threads and selecting one should be rather easy. But this might have some impact on the display of local variables.</comment>
484 </item>
485 <item>
486 <attribute id="1159648774" priority="1" done="0" start_date="732584" enddate="99999999" notify="0" endtime="-60" last_edited="1159648774"/>
487 <summary>Remote debugging support</summary>
488 <comment>[Skill: medium, Work: 40h]
489 Remote debugging support in Anjuta debugger.</comment>
490 </item>
491 <item>
492 <attribute id="1159648963" priority="1" done="0" start_date="732584" enddate="99999999" notify="0" endtime="-60" last_edited="1159648963"/>
493 <summary>Rewrite a working inspect/evaluate dialog</summary>
494 <comment>[Skill: Medium, Work: 20hrs]
496 Currently, this dialog use the same debug tree widget used by the local variables and watch display. I think we should keep the same widget for all this but we need perhaps to add a few options (local variables cannot be removed by example).</comment>
497 </item>
498 <item>
499 <attribute id="1159648879" priority="1" done="0" start_date="732584" enddate="99999999" notify="0" endtime="-60" last_edited="1159648975"/>
500 <summary>Add a disassembly window</summary>
501 <comment>[Skill: Medium, Work: 40hrs]
503 The same widget that it already used for the memory view can possibly used for this view with a few improvements. It's a text widget allocating memory only for displayed text. This widget should be improved too, as currently it doesn't free any memory.</comment>
504 </item>
505 <item>
506 <attribute id="1159649070" priority="1" done="0" start_date="732584" enddate="99999999" notify="0" endtime="-60" last_edited="1159649070"/>
507 <summary>Cleaning the debugger plugin code</summary>
508 <comment>[Skill: Basic, Work: 10hrs, Bounty: $20]
509 There are some warning when compiling the gdb plugin code and some useless code that should be removed.
510 </comment>
511 </item>
512 </category>
513 <category title="Plugin: Terminal" place="16">
514 <item>
515 <attribute id="1109412369" priority="1" done="0" start_date="732003" enddate="99999999" notify="0" endtime="-60" last_edited="1109412369"/>
516 <summary>Be able to create multiple terminals</summary>
517 <comment>Be able to create multiple terminals</comment>
518 </item>
519 <item>
520 <attribute id="1114162428" priority="1" done="1" start_date="732058" completed_date="732061" notify="0" last_edited="1114423086"/>
521 <summary>Fix crash on docking</summary>
522 <comment>Terminal plugin crashes Anjuta when docking. A serious bug (could be in GDL).</comment>
523 </item>
524 </category>
525 <category title="Plugin: Default Profile" place="17">
526 <item>
527 <attribute id="1110343521" priority="1" done="1" start_date="732014" completed_date="732117" notify="0" last_edited="1119260206"/>
528 <summary>The profile should record user activated plugins</summary>
529 <comment>During the course of usage, the user could have activated
530 or deactived various plugins. The profile plugin should record this
531 events as a diff of the default selected plugins. That is, if any
532 of the default plugins have been deactivated or non-default
533 plugins have been deactivated. Then these should be
534 saved in session. If project is open, the session should be
535 project session and the default plugins are the ones determined
536 by the project file. Other the session is global and default plugins
537 are the system default plugins.</comment>
538 </item>
539 </category>
540 <category title="Plugin: Subversion" place="18">
541 <item>
542 <attribute id="1114163071" priority="1" done="0" start_date="732058" enddate="99999999" notify="0" endtime="-60" last_edited="1114163071"/>
543 <summary>Completed the remaining subversion operations</summary>
544 <comment>Completed the remaining subversion operations.</comment>
545 </item>
546 </category>
547 <category title="Plugin: Executer" place="12">
548 <item>
549 <attribute id="1114329750" priority="1" done="1" start_date="732060" completed_date="732068" notify="0" last_edited="1115021443"/>
550 <summary>Create executor plugin</summary>
551 <comment>Create executer plugin that implements IAnjutaFile interface
552 and merges a menuitem called "Execute" in 'Project' submenu
553 that will prompt the user with the list of executatable targets
554 in the project. User then selects one of them and executes.</comment>
555 </item>
556 </category>
557 <category title="Plugin: Glade" place="19">
558 <item>
559 <attribute id="1114329978" priority="1" done="0" start_date="732060" enddate="99999999" notify="0" endtime="-60" last_edited="1114329978"/>
560 <summary>Polish up interface</summary>
561 <comment>Add a label before the list of loaded glade projects ("Files:").
562 Add stock icon. Deactivate glade plugin when last glade file is closed.</comment>
563 </item>
564 <item>
565 <attribute id="1114330065" priority="1" done="0" start_date="732060" enddate="99999999" notify="0" endtime="-60" last_edited="1159483571"/>
566 <summary>Connect callback signal</summary>
567 <comment>Connect signal callback selection signal from glade and goto the signal implementation when a signal handler is selected in glade. Create the signal prototype if it is not found.</comment>
568 </item>
569 <item>
570 <attribute id="1159555859" priority="1" done="0" start_date="732583" enddate="99999999" notify="0" endtime="-60" last_edited="1159560780"/>
571 <summary>Complete Glade 3 integration</summary>
572 <comment>[Skill: High, Work: 30hrs, Bounty: $100]
574 We already have glade3 integration in anjuta working. But the implementation is incomplete and not fully usable. It should interface with Anjuta glade plugin for signals navigation, stubs creations and project files negotiations.
576 Signals navigation" means when user selects a signal in glade properties editor, Anjuta automatically brings up the implementation of that signal in its editor. This can be accomplished with SymbolBrowser plugin in anjuta, that keeps tab on all symbol updates in the project. Using the signal handler signature, Anjuta glade plugin can take help of symbol-browser plugin to find the location of function definitions in the project.
578 "Stubs creation" means when the user adds new signals, Anjuta glade plugin automatically creates the stub for the signal handler using gtk signal introspection. The signal prototype can be identified with the introspection. Where and how the stubs are added in project is a matter
579 of dissussion.
581 "Project files negotiation" means when user adds file via glade (e.g. images in dialogs), glade will notify anjuta to add the file in project and give a change to relocate it within the project. Anjuta needs to handle this request and add the files in project (possibly prompting user for relocation). Anjuta also needs to make sure glade is able to find them later.
583 Also, the the glade widget editor should be embed in Anjuta (glade-3 already has the necessary widgets).</comment>
584 </item>
585 </category>
586 <category title="Pluing: Class wizard" place="20">
587 <item>
588 <attribute id="1159534023" priority="1" done="0" start_date="732583" enddate="99999999" notify="0" endtime="-60" last_edited="1167998401"/>
589 <summary>Improve class wizard</summary>
590 <comment>[Skill: Medium, Work: 20hrs, Bounty: $200, Status: Completed, Bug: #359862]
592 Fix c++/gobject class generator to allow adding members, methods, signals, properties and other class elements.</comment>
593 </item>
594 </category>
595 </gtodo>