I've just pushed a large number of changes to the git tree, which adds
a desktop/ directory to the project.  Here's a bit of explanation for
the new, work-in-progress code.

Over the past year I've been working on a control panel GUI internally here
at NetDirect as time permitted.  It calls out to the existing backup GUI,
and there's preliminary support for syncing using Evolution and opensync
0.22 or 0.3x, and I'm currently working on a database browser and record
editor.  There's plans for a modem frontend, javaloader frontend, etc.

Please note that this project is not yet finished!  But it was recently
decided to release it anyway.  Release early, release often, as the
saying goes. :-)

So far, the main features that are finished:

        - syncing with Evolution, using both 0.22 and 0.3x OpenSync
        - editing Contact records
        - USB rescans
        - device resets
        - verbose logging control
        - lots of scaffolding behind the scenes


The sync GUI dynamically supports both opensync versions at once, and
is very promising.  If you're syncing with Evolution, this GUI is much
more friendly to setup, and to recover when things go wrong, such as
those times when you need to reconfigure in 0.22.


Call for Help:
--------------

We need graphical designers.  For anyone who compiles this code
from source, it will be obvious that a non-graphic designer created
the backgrounds and buttons.  Yes, that was me. :-)  The buttons and
graphics are fixed size, and I'm sure there are folks out there that
can do a much better job than I did.  Please do, and send the results
to me.

If you keep all the graphics the same size, you can just drop in the
replacements.  If you think different sizes are better, let's discuss
this on the devel list and coordinate our efforts.



Coders:
-------

If you are interested in helping with OpenSync plugin configuration,
let me know.  There is a C++ class hierarchy that you can help flesh
out.  Evolution is working.  Google Calendar is in progress.  Other
plugins such as Thunderbird, Akonadi, LDAP, and Syncml still need to
be done.  You can focus on the 0.3x API if you like, but there is room
for both 0.22 and 0.3x.

Alternatively, you can help add edit dialogs for various database
records.  So far I've been using wxWidget's wxGlade to create the
dialogs, or coding them by hand.


Technical details:
------------------

I think that the C++ wrapper classes for both opensync 0.22 and 0.3x are
probably worthy of wider use.  Using these wrappers, it is very easy to
use OpenSync from an application perspective.  And not only easy, but
you can compile one application, and have it access both 0.22 and 0.3x
versions of opensync, in the same application.  If only one version of
opensync is available, it will only use that version.  The calls are all
loaded dynamically via dlopen().

If anyone is going to use them, please let me know, so that we can share
development effort, and keep them in sync with the official opensync
libraries.  I may even try to include them in opensync, since any C++
GUI app should have them as an option.

The C++ wrappers make writing an opensync frontend nearly as easy as
writing a bash script.  The classes are very high level.



The GUI uses the wxWidgets library.  The goal was to have something,
in the end, that was portable to Linux, Windows, and Mac, and use the
native widget sets on each platform.  Any intrepid souls that wish to
compile for Mac and Windows are welcome to do so.  Please report back!

The code is modular enough that it should be possible to pick a button
and hack on it.  Each main button opens a "Mode" class, which controls
the entire screen: Sync, Browse, App loader, Modem, etc.  The Backup
button just fires up the current Backup GUI.


Enjoy, and please post to the mailing list if you have questions or
ideas or patches.

Thanks,
- Chris


------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Barry-devel mailing list
Barry-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/barry-devel

Reply via email to