commit -- first pass at preference mechanism

Jeff Hostetler (jeff@abisource.com)
Sun, 14 Mar 1999 17:51:15 -0600


big checkin, full build required. details from the
checkin are at the bottom of this note.

it probably doesn't build on win32, but i'll fix that
in the morning when i get back to the office. definetly
won't build on mac, i'll try to fix that in the morning too.

enjoy,
jeff

ps. for the extremely curious, save the following XML as .abiword
in your home directory and run AbiWord: (the ruler should now appear
in cm's rather than inches)

=======================================================================
<AbiPreferences
app="AbiWord"
ver="1.0">
<Select
scheme="custom_1"
autosave="1" />

<Scheme
name="custom_1"
KeyBindings="default"
MenuLabelSet="EnUS"
MenuLayouts="Main"
RulerUnits="cm"
ToolbarAppearance="icon"
ToolbarLabelSet="EnUS"
ToolbarLayouts="FileEditOps FormatOps"
/>
</AbiPreferences>

========================================================================
checkin notes:

First pass at creating a cross-platform preference mechanism.
This pass contains code to load/save an XML-based preference file
and code to provide a default set of preferences.

We support multiple 'schemes' -- one or more independent sets
of preferences that (eventually) the user will be able to switch
between -- for example, "short menus in english with toolbar icons only"
vs "long menus in german with toolbar text and icons".

this mechanism is a start at providing access to the full capabilities
of the AbiSource XAP framework.... more fun is yet to come.

Currently, the only thing which uses this is the ruler code -- you can now
switch dimensions in the preference file and the next time you
start up, you'll see the change. we'll get to other ui properties and
more on-the-fly type changes shortly.

currently, there is no UI to view/change the preference info.

currently, this code is know to work on unix. i've made the changes
for win32, but i haven't even compiled it there. as for the Mac, sorry
john, i'll make the corresponding changes there in the morning.

the code is quite rough (what do you expect for a sunday afternoon :-)
but that'll improve on monday.

CVS: ----------------------------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Modified Files:
CVS: util/xp/ut_units.cpp util/xp/ut_units.h wp/ap/Makefile
CVS: wp/ap/unix/Makefile wp/ap/win/Makefile wp/ap/xp/Makefile
CVS: wp/ap/xp/ap_LeftRuler.cpp wp/ap/xp/ap_LeftRuler.h
CVS: wp/ap/xp/ap_Ruler.cpp wp/ap/xp/ap_Ruler.h
CVS: wp/ap/xp/ap_TopRuler.cpp wp/ap/xp/ap_TopRuler.h
CVS: wp/main/unix/UnixMain.cpp wp/main/win/Win32Main.cpp
CVS: xap/Makefile xap/unix/Makefile xap/unix/xap_UnixApp.cpp
CVS: xap/unix/xap_UnixApp.h xap/win/xap_Win32App.h xap/xp/Makefile
CVS: xap/xp/xap_App.h
CVS: Added Files:
CVS: wp/ap/unix/ap_UnixApp.cpp wp/ap/unix/ap_UnixApp.h
CVS: wp/ap/unix/ap_UnixPrefs.cpp wp/ap/unix/ap_UnixPrefs.h
CVS: wp/ap/win/ap_Win32App.cpp wp/ap/win/ap_Win32App.h
CVS: wp/ap/win/ap_Win32Prefs.cpp wp/ap/win/ap_Win32Prefs.h
CVS: wp/ap/xp/ap_Prefs.cpp wp/ap/xp/ap_Prefs.h xap/xp/xap_Prefs.cpp
CVS: xap/xp/xap_Prefs.h
CVS: Removed Files:
CVS: xap/unix/xap_UnixMain.cpp xap/win/xap_Win32Main.cpp
CVS: ----------------------------------------------------------------------



This archive was generated by hypermail 1.03b2.