gCvs popup menu customization, future plans
Guy Rouillier <[email protected]> Mon, 13 Feb 2006 22:24:04 -0500
| Newsgroups | gmane.comp.version-control.cvs.gui.devel |
|---|---|
| Message-ID | <[email protected]> |
Richard, I'm working on allowing the user to customize the popup menus
(as you already can do in WinCvs.) I had the GUI done a year ago, but
got hung up trying to understand the multistring class (no
documentation!), then got busy at work. Turns out I don't think I need
multistrings, and I hope to have this work committed within a month.
The approach I'm now pursuing is to store the customized menus in the
preferences file, using one string for the customized folder popup menu
and one for the customized file popup menu. I'm thinking of just using
the numeric values for the menu commands, separated by a single space.
Do you see any issues with this approach? I originally thought of using
the string representations (like cmdSave, etc, from UCvsCommands.h),
which is what sent me down the multistrings path. But now I don't see
much value to doing that, as I would just have to translate those
strings to their numeric equivalents anyway. The only benefit I can see
to using the strings instead of the numbers is that it makes the stored
values impervious to any change in the value of the constants. But that
probably hasn't happened since the project began, so it's likely not a
big deal.
Have you given any thought to near and long term plans for gCvs? I
mentioned here a short while ago the idea of rewriting all platforms in
something like mono/.Net, but Jerzy expressed doubt that the platform
was up to the task. If that is true and the three platforms are
destined to be separately implemented for the foreseeable future, then
near term we should probably
(1) find and fix memory leaks
(2) revamp the build system (at the very least, so newcomers can use it
without having to come to the ML numerous times just to get it built;
you also mentioned your desire to get rid of the autotools approach and
just use a simple configure/make. I'm unable to build it on Gentoo
32-bit because newer versions of intltool have gotten rid of
xml-i18n-toolize. I have noticed on Gentoo at least, many packages are
migrating *to* the autotools approach. I have no preference.)
(3) address the kludges we used (e.g., using hidden variables) to get
the tree view working. The kludges may very well be the source of the
memory leaks.
Longer term, I'd like to investigate some possible code refactoring.
All the current precompiler conditionals make the code very hard to
follow for newcomers like me; using C++ inheritance to separate all that
out would certainly help. (Don't mean any offense to the long timers
here; previous contributors may have tried that approach and found it
too cumbersome.)
Please let me know your thoughts.
--
Guy Rouillier
Yahoo! Groups Links
<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/cvsgui-dev/
<*> To unsubscribe from this group, send an email to:
[email protected]
<*> Your use of Yahoo! Groups is subject to:
http://docs.yahoo.com/info/terms/