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

Re: [XaraXtreme-dev] Blank msgids in po file


Tobias Burnus wrote:
Under Windows, dialogs etc. are typically non-resizable and have a
pixel-precise setting of all elements.
Under Unix/Linux dialogs are usually stretchable/resizable and the
elements are only relatively placed; thus changing the font or
the text does not yield to clipping (or at least resizing the window
allows to see the unclipped version).

Under Windows, the resource file for each language contains the whole
information, including the pixel size.
However, using the unix-like .po files with XaraLX dialogs (which are
mostly not resizable; e.g. the color dialog is), causes strings to be
clipped. As German strings often tend to be larger than English ones,
this is a problem. But at least on my system the "File|Page Options..."
-> "General" dialog has also a clipped string in English: "Make groups
be transparent as a whc",
"Save settings on ex", "Current layer always visible and editab".
Also: Tune-ups: "Automati"; View: "Automatic scroll to selected colou", etc.

How should this be tackled?

The windows at the moment are straight imports of the Camelot dialogs,
i.e. they are (with a couple of exceptions) non-resizable with pixel
settings. They are autoconverted by a tool (rc2xml) periodically
be me.

However, xrc supports resizable dialogs constructed using sizers
(see the wxWidgets site for details). Ultimately, the dialogs need
to be converted to sizer based ones. There are GUI tools to do
this (e.g. DialogBlocks) - though there are some problems using
them (see below). If you try fiddling with the colour editor,
for example, you will see it is resizable. Message boxes do this
too, as does the bitmap preferences dialog.

Ultimately, all the dialogs need to be redesigned with sizers, not only
to support translations for languagues with (typically) long words
(e.g. German) but also for shorter ones (e.g. Japanese), and for
different fonts. As you have discovered, sometimes the linux font
just doesn't fit (though I am thinking of manually specifying the
point size in dialogs like we do on bars).

If you would like to help redesign the dialogs we would be very
grateful. You don't need to know anything about the internals of
the program provided you keep the xrc the same, and you can
(in general) just import the controls and adjust them so they
autosize. But you do need to understand a bit about sizers.
Fortunately a GUI editor lets you experiment with them.
One problem we have at the moment is annoyingly DialogBlocks
(permanently) strips out and junks crucial info about any
classes it doesn't understand (e.g. wxOwnerDrawnComboBox -
that's all combo boxes and wxCamArtControl - that's all
bitmap buttons). So these need to be reinserted manually. This
is a complain pain in the rear end and as far as I can see
there's no need for DialogBlocks to do it, which makes it a less
than useful tool right now for any dialog redesign because
you have to manually re-edit the .xrc afterwards - on the
colour editor the sizer design took about 10 minutes and
rebuilding all the stuff DialogBlocks dropped on the floor
took about an hour (but that is a complex dialog).
I don't know if any of the others suffer from this. If this
were fixed, dialog design would be 100 times easier. I
don't know whether other tools suffer from this problem.