Here are some areas where help is needed in the new gui code. If you'd like to help, pick anything off this list that looks interesting and have at it.
* Transformation dialog. There's some bits of code that are currently commented out because they depended on inkscape internals that weren't available while inkscape_gtkmm was separate. With the code integrated, these can now be hooked up. Uncomment something, recompile, and fix any errors that occur.
* src/ui/dialog/dialog.cpp. Search for 'TODO'. A lot of little leftover things that need to be reviewed/implemented/fixed. Pick something that looks interesting.
* Hook in the canvas. I assume there's something in the existing codebase we can just link up to, but don't know what that'd be. In any case, there's a stub for it in src/application/editor-impl.cpp called initSvgCanvas().
* Implement preferences loading/saving.
In src/application/application.cpp, implement the functions Application::loadPreferences() and Application::savePreferences.
For reference, the current preferences code is in inkscape.cpp.
* Commandline options
Implement code that takes argc,argv, parses it via popt, and stores it in a member of Inkscape::Application::Application in src/application/application.cpp. If you've not used popt before, here's a handy PDF on it: http://www.rpm.org/local/popt.pdf
The current option handling code is in main.cpp, but is kind of hackish so feel free to redesign it a bit.
* Finish (re-)implementation of Inkscape Preferences dialog. Car Hetherington did much of the work of gtkmmifying the preferences dialog, but it's diverged from mainline.
Also, there was some thought put into reimplementing it, so if you feel ambitious, go ahead and rework the dialog to fit the new design.
* Gtkmmify the Statusbar.
This should hook in to src/application/editor-impl.cpp in the initStatusbar() routine.
The current code for the statusbar is in desktop.cpp. Start by looking at SPDesktop::_set_status_message, then search on 'statusbar' and 'select_status'.
I *think* what is needed is to implement a new class Inkscape::UI::Widget::Statusbar that subclasses Gtk::Statusbar and adds the Inkscape-specific functionality we need, but that's just a rough guess; I haven't put much thought into it so if you know a better approach, go for it.
The above tasks are what we need most desperately right now, but I think if we can get these items done, that will move us a *huge* step forward. I'd love the help, and if you have any questions on any of it, let me know.
Bryce
participants (1)
-
Bryce Harrington