[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-look
Subject:    Re: Resizeable Dialogs, Layout & Co.
From:       "Friedrich W. H. Kossebau" <Friedrich.W.H () Kossebau ! de>
Date:       2001-01-04 12:18:17
[Download RAW message or body]

Carsten Pfeiffer wrote:
> On Wed, Jan 03, 2001 at 05:48:24PM +0100, Friedrich W. H. Kossebau wrote:
> > 1a)
> > All dialogs that have elements which could be expanded to show more
> > should be resizeable. Think of a file dialog or any simple name giving
> > dialog. By now most of them are but I think this is mostly because the
> > standard programmed setting of dialogs is this way not because the
> > programmer thought of this feature. So this should be advised
> > explicitly.
> 
> right, most programs in KDE make use of Qt's layout management to have
> resizable windows, but a lot of third-party applications don't (probably
> due to kdevelop's widget-builder, which didn't support that). This will
> hopefully change when the Qt Designer gets used more widely.

So you do agree that this is a nice feature that should be a style
advise, don't you? What about the others? And how could this be voted to
be included in the official guide?

> > 1b)
> > The last used size should be remembered next time, maybe optionally.
> 
> Yes, I would like to have that, too. Support for that in KDialogBase might
> help.

How could this be done? The kconfig data read of the config file is kept
for the whole run time of a program I think. But dialogs are only
temporary "alive". So they would have to read and write the size
information directly before and after the dialogs popup. So all the
programmer should need to do is to tell the dialog a pointer to the
config data and a identifier name for the dialog. The rest like reading
and writing the size data is done by the KDialogBase. 

A flag should be setable whether to store the last size or not. To set
standard size there is also the need of a call "takeThisAsStandardSize"
or something which would tell the dialog the save the actual size as
size to the config if no flag is set to use size of time of quitting the
dialog.

proposal:
// when not called dialog doesn't take care of sizes
void setConfig( KConfig* Config, const char * Identifier );
// saves given size as standard size otherwise actual size
void storeStandardSize( QSize *Size = 0 );
// sets flag whether last size should be stored
void setLastSizeStoringEnabled( bool Enable );
// returns status of flag
void lastSizeStoringEnabled( bool Enable); // maybe signal

Could this be added without breaking the binary compatibility? I don't
have  a clue how librarys are constructed and in what adding new
function calls to the interface results. Could someone tell me?

So would this have to wait for KDE 3? Or when will the next break of
binary compatibility be? KDE 2.2?
 
> > Don't know if this is useful but there could also be a way to let the
> > user configure the place of the dialog.
> > Up/Down/Left/Right/Center of App/Screen or in coordinates...
> >
> > Jumped into my mind right now... but still don't see benefits.
> 
> Hmm, we have Smart Placement in kwin, this should optimally place new
> windows, most of the time.

IIRC the dialog can be told where to place ( by telling parent window?).
This is hardcoded. But I thought about if it would delight users if they
could tell dialogs where to appear, so not to lay on the programmers
will.
 
> > What about a setting for the distance between the elements in dialogs?
> > This would a) make all dialogs look even more simililarly, b) allow to
> > fit the look to the size of the screen (small distance with big fonts
> > looks as ugly as small fonts with big distance in the extreme).
> >
> > If we think of embedded devices where we would like to use KDE too there
> > is the need to adjust to their small display. This is done by choosing
> > the smallest font size by now. But if we could also set the distance
> > between the elements to e.g. "3" instead of fixed "10" what is mostly
> > used actually we might be able to get even the bigger dialogs of now on
> > a small screen by especially gaining in the vertical.
> 
> There is already such a setting, but I guess it is hardcoded
> (KDialog::spacingHint() and KDialog::marginHint()).

Great. I looked it up and found out there has already been someone
thinking about that, also about types of spacings. And you are right at
least in KDE 2.0.0 it is hardcoded setting both to "6". 

So it needs someone to do the work to integrate this into the
controlcenter and to think about a way where to store this information
and how make it accessible to KDialog (and others). Maybe it should be
treated the way the information about the set font is treated. 

The module in the control center could be in the style of the color
module to preview the look. Or the font, color and sizing could be
integrated in one module as it would be nice to have a preview of all
togheter. 

Friedrich

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic