Re: Announcing the 'Sheets and Objects' dialog

On Fri, 12 Apr 2002 03:08:36 +0000 (UTC), Lars Clausen wrote:
On Thu, 11 Apr 2002, M. C. Nelson wrote:
Final version including the accelerator highlighting and gnome/non-gnome
compile options will be in the cvs shortly.  Back-burner items 
(earlier in this thread) will be addressed as I get the time/energy.

There's a problem for people who compile: Since sheets are created during
compilation for translation purposes, they appear newer than custom copies.
It's very nice that you catch that.  I don't know if we want to find a way
to avoid that problem -- normally, you wouldn't compile all that often.  It
does give problems in every update, though.  Hmmm.  Not a showstopper.
Most people will propably make their own sheets rather than change system
sheets.  Maybe we should mark the system sheets somehow?  Make them
read-only by default?  I don't know.

Great.  I was wondering how and when to bring this up.  I guess the time
is now. :-)  The basic idea is to catch a situation were a 'master' dia
sheet has been updated by the dia people AND the end-user has a modified
version of the same sheet.  The purpose of this is to allow the end-
user to move any new objects from the master sheet to their user sheet.
Otherwise they would never see the new objects.  Confused yet?  Ok fine.

How is this done at present?  When there is a name collision between
a user sheet and a system sheet (~/.dia and /usr/share/dia), the mod
time is compared.  If the system sheet appears to be more RECENT than
the user sheet, you get a dialog box on startup letting you know and
a temporary sheet with the supposedly new objects is made visible.
(This dialog box on startup goes away when 1 of two things happen:
1. The temporary system sheet is Removed. or 2. the User sheet is
updated).  Crazy?  Well yes, but there is a way out:

If we modify the .sheet xml definition to include a version number
then we don't have to monkey around with something as unreliable
as a mod date.  For instance, all the system sheets (today) could have 
a version number of 0.89-0.  Modifications to a system sheet then
be flagged as 0.89-1 and -2 etc.  (Alternately, the 0.89 could be
replaced with '20020411-1, -2, etc, but I prefer to use the version
number as a base).   If we want to be nice to dia users, then the
syntax can specify a 3rd number so they can keep track of their
own sheet revisions, but thats more of a nicety than a requirement;
ie. this diagram was prepared with such-and-such a sheet revision,
or something like that.  (Sheet version numbers would only change
when the contents of the sheet changes, not automatically with a
new dia release.)

It works ok for DNS, it should work ok for dia.

Ctrl-U is up, but Ctrl-D isn't down?

Whups.  Got missed somehow in the glade definition.  Fixed.

If you Move the topmost shape in a sheet, the next one becomes the topmost
and selected, but the Up button becomes unghosted.  Same thing with the
bottommost and Down.

Yep, its an unintentional feature.  Will have a look.

I'm thinking we might want a warning if Closing without Applying or
Reverting.  The fact that the changes aren't saved may not be obvious.

I was thinking of changing the background colour of the wrapbox when 
the sheet is modified to light red, but I didn't want to change the
colour of the buttons proper.  If you've got your Masters of Gtk+
this might be fun to try--I give it a whirl and couldn't figure it out
(without getting into the gtk+ sources).

Did somebody just remove all line breaks in the system sheets or something?
I didn't insert any into the Ladder sheet, yet the Ladder (Copy of system)
has some (in logical places) while the Ladder sheet doesn't.  Odd.  Side
effect of the copying for newer system sheets, maybe?

Hmm not sure what is up with that, user sheets are loaded exactly the
same way as system sheets and (Copy of System) sheets.

Nothing critical here.  Once the glade stuff is gone, let's put it in.
Good job!

Latest patch will be out shortly.

 - michael -

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]