From: Kuzma S. <lea...@gm...> - 2013-08-06 21:22:17
|
It can be confusing if a plugin can be only inside of a horizontal panel, but not in a vertical one. Plus - what if it was added to a horizontal panel, and then the panel orientation was changed - it will disappear - not intuitive at all. What I like in plasma widgets - you can use the same widgets on the desktop and on any panel. Container (panel or desktop) says to a plugin what constraints are on init - whether its horizontal panel (and plugin can expand horizontally, but restricted vertically), vertical or desktop (where it can grow both directions). BTW KDE took the second approach - dictating size to a plugin. I like the current implementation, though I liked hybrid (with min and max) idea more. I must warn everyone, that rotating widgets in Qt - is quite a complicated task (I made it for clock plugin), plus there is big penalty in performance - the whole widget is drawn twice! Cheers, Kuzma On 7 August 2013 02:04, Александр Соколов <sok...@gm...> wrote: > 2013/8/6 2noob2banoob <2no...@gm...> > >> I think the most elegant way would be a hybrid way, where the user can >> set a minimum and maximum size and within those bounds the panel tries to >> automatically adjust its size to the sizehint of plugins. >> > I do not see sense to have 2 parameters, it will only complicate the > algorithm and confuse the user. > > > 2013/8/6 PCMan <pcm...@gm...> > >> >> I got hit by totally the same problem when I tried to do lxpanel in the >> past. >> What we did it, change the orientation of the label, so it can be >> shown rotated and the panel remains thin. Of course, this is ugly and >> the label became less readable. >> This, however, is the only way to make the panel thin and make the >> content visible at the same time. >> Just tried Windows and it has exactly the same problem. When you make >> the panel vertical, the date string determines the total thickness of >> the panel. >> >> IMHO, it's better to let the applets determine how important their >> contents are. >> If the applet claim that its content can shrink, then its size is >> determined by the panel, and the applet scale its content to adopt the >> new size. >> Otherwise, if an applet claim that it's not resizable at all, then the >> panel respect its special needs. >> This kind of claim can be done with a flag which can be set on an applet. >> By default, the panel manage the size and ask the child applets to >> resize their content to fit the panel, but if some applets ask for a >> minimal size explicitly, the panel respect them and do not try to >> shrink them. >> >> The applet can also expose a flag telling the panel whether it can >> accept a vertical orientation or not. If its content can be rotated >> and it supports vertical orientation, then the panel can make the >> applet vertical and remains thin. >> > > So, we continue to use the current algorithm. > Any additional flags don't need, an applet can use the minimumSize, > maximumSize minimumSizeHint, sizeHint, sizePolicy. This is enough to > implement the described algorithm. And it enough to destroy the developer's > mind:) > > > > -- > Best regards, > Alexander. > > ------------------------------------------------------------------------------ > Get your SQL database under version control now! > Version control is standard for application code, but databases havent > caught up. So what steps can you take to put your SQL databases under > version control? Why should you start doing it? Read more to find out. > http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk > _______________________________________________ > Lxde-list mailing list > Lxd...@li... > https://lists.sourceforge.net/lists/listinfo/lxde-list > > |