[haiku-development] Re: Deskbar feature patch

  • From: looncraz <looncraz@xxxxxxxxxxx>
  • To: haiku-development@xxxxxxxxxxxxx
  • Date: Wed, 29 Jan 2014 14:27:12 -0800

On 1/29/2014 14:03, John Scipione wrote:
I've really tried to make Deskbar not rebuild the entire interface
after each action in most cases for performance reasons, it's just too
slow. Instead I try as hard as possible to inform each view what it
needs to do to move to the right place... there's a couple of
instances where I'm still rebuilding objects though. I've got a branch
where I've fixed this, I'd like to finish this up at some point.

I'd prefer for no rebuilding at all :p But considering where we started... I'd love to see the code!
I have about a week before my focus is shifted again...

Agreed these classes have an unnecessarily complex relationship with each other. At one point I tried to clean this up by creating three BGroupLayouts, one for vertical expando mode, one for vertical mini-mode, and one for horizontal mode, since the layout of the pieces is different in each of these modes, and then call SetLayout on the window to choose the one you want for the mode you're in as you drag the window around. I never quite got it to work though, it would crash, but, I think that's ultimately the way to go if you are up for the necessary layout-fu.

I haven't played much with the layout kit, but I'm a quick study. Pass the code along!!

anyway (so odd moving and reshaping will seem natural).

That's a decent idea. BWindow has a ScreenChanged() method you can
hook into to recalculate the width and redraw when the resolution
changes.


Or we could just do it the quick'n'dirty way ;-)

For myself, I just multiplied kMinimumWindowWidth by 1.5... but you wouldn't want that for a 4:3 screen...

--The loon

Other related posts: