100 Commits
Author SHA1 Message Date
Clemens Zeidler 2ccad1f632 * Fix decorator reloading of windows in a stack. When reloading the decorator all tabs have to be added to the decorator, the focus and the top layer tab must be set. The decorator does not know about the window and the window stack, thus the window has to do it itself.
* Add Joseph Groover to the author list. 



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-25 23:04:43 +00:00
Clemens Zeidler 6c5757eedb Check if the socket has been created successfully.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42766 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-23 02:11:32 +00:00
Clemens Zeidler ac80530495 Use nothrow and add InitCheck method to check if allocation went fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-23 02:03:10 +00:00
Clemens Zeidler a8e3ae78c9 Switch to BWeakReference class. Hope this does not break anything. Calling virtual destructur on a struct
should work fine, right?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-22 22:46:14 +00:00
Clemens Zeidler cf53ed6f64 New BWeakReferenceable API.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-22 22:43:16 +00:00
Clemens Zeidler c732cb560d Reset the tab region when switching to a tab less look. At least partially fixes #7919.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-15 23:29:38 +00:00
Clemens Zeidler f33cf3fd44 Activating all windows in a stack caused flickering. The reason to activate all windows was to get all windows form a stack into the upper window layers, otherwise it was possible that the top layer stack window is activated but another window in the stack is at the bottommost layer position. Sending this window to the back does not triggered sending the complete stack to the back. The send behind call is now redirected to the top most stack window to ensure the stack is send behind.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-13 22:59:47 +00:00
Clemens Zeidler fcde9a3249 When stacking windows, move the new window to the parent position and size. Simplify the part in S&T that took care of it before.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42615 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-10 01:49:00 +00:00
Clemens Zeidler cd67c205ff Only remove a window from the S&T group when the hide event is not triggered by a minimize call.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-10 00:03:25 +00:00
Clemens Zeidler e0bc3d9e2b * Remove the bad designed GroupCookie class and move its functionality into the WindowArea. As an result each WindowArea only has one set of tabs and constraints.
* Fix group splitting.
* Style: win -> parentWindow



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-09 22:55:20 +00:00
Clemens Zeidler cdb351d4a4 When activating a window also bring all windows in the stack to the front layer. I used the ActivateWindow method because there is some magic involved when changing the layer position, utilising this method seems to be a safe way to do it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 22:35:27 +00:00
Clemens Zeidler ac4853b49f When removing a window from the stack keep the mouse at the same tab position.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 22:31:42 +00:00
Clemens Zeidler 747d2bb6dc Ok, ok if we redrawn the complete visible region anyway we don't have to calculate any dirt.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 05:57:56 +00:00
Clemens Zeidler 38a8938d9f Only redraw visible region.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 05:53:26 +00:00
Clemens Zeidler 57e0263ceb Don't remove the window if there is only one window in the group. Fixes #7884.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 05:33:00 +00:00
Clemens Zeidler 01d68c9728 Disable S&T debug output and fix typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 23:51:30 +00:00
Clemens Zeidler 1c1415732d Move flags and look into the tab too. The flags are needed to determine e.g. whether or not the zoom button should be drawn.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42552 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 01:36:50 +00:00
Clemens Zeidler c70bf97cfc Set the top most window look when switching between windows in a stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42549 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:42:57 +00:00
Clemens Zeidler 55fbf11fd7 If a window is hidden remove it from the S&T group. This happens when MediaPlayer goes fullscreen. Maybe not optimal but at least consistent with terminal which also left the S&T group in fullscreen mode. This is because the terminal has no decorator in fullscreen mode and thus can't be stacked any more (maybe this should be solved in the future...). Fixes #7895, #7896.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:27:12 +00:00
Clemens Zeidler 1c44bb2157 Check if the dirty region is valid. Part of #7896.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:20:12 +00:00
Clemens Zeidler 817f7d8003 Check if there is still a decorator. Fixes #7894.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 10:56:39 +00:00
Clemens Zeidler 27f5d57924 Fix coding style pointed out by Axel. Thanks for the array trick haven't known this one :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 06:46:11 +00:00
Clemens Zeidler 555ff46538 Check size limit of all stacked windows when resizing. Fixes #7893 thanks to diver (again).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 05:00:22 +00:00
Clemens Zeidler 7286c86c39 Disable group keyboard navigation for now. Don't start a S&T operation if the right button is down.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42532 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 10:50:37 +00:00
Clemens Zeidler 3b01da1b46 Add compatibility file again. Should fix #7858.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42530 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 02:44:22 +00:00
Clemens Zeidler e089170a15 Fix the check for the max tab offset when there is only one tab.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 01:30:47 +00:00
Clemens Zeidler bd545a2af2 Set the top layer tab when detaching a window from the stack.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 01:03:06 +00:00
Clemens Zeidler 2dae355ecb Fix window stack api and Desktop::WindowForClientLooperPort lock assert.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 00:56:23 +00:00
Clemens Zeidler e4228c3760 Also make the right option key working as a S&T key.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-27 03:24:53 +00:00
Clemens Zeidler 6ce29ffc97 Remove some debug left over.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 23:38:42 +00:00
Clemens Zeidler 8313747b53 As done in move, resize only the top layer window. The top layer window resizes the lower windows separately.
Use auto locker.
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 23:18:28 +00:00
Clemens Zeidler 6a0ed7da53 Move S&T back into the app server.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 22:18:55 +00:00
Clemens Zeidler b9bedde479 Assert the right lock, thanks Axel. Some clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 06:49:16 +00:00
Clemens Zeidler 4154a161ed Set the top tab every time when adding a new tab. This draws newly stacked tabs correctly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 06:34:34 +00:00
Clemens Zeidler b7b6df07b8 When closing a window the window can't redraw the dirty region anymore. Mark the region of the remaining window dirty.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 06:15:41 +00:00
Clemens Zeidler 86b010824c * Draw the complete decorator off screen and copy it to the front when finished. Stippi please take a look. This fixes some flickering when drawing shifted tabs in stack mode. In stack mode the different tabs sometime repaint each other, thus the decorator has to been drawn double buffered to avoid artefacts.
* Add an option to draw the button directly, i.e. when they are clicked.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 05:53:35 +00:00
Clemens Zeidler 7c5525e834 Only allow windows with a normal thick border to S&T. Fixes #6647.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 04:37:27 +00:00
Clemens Zeidler 16aa61c46a Fix changing of the window feel and borderless windows.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 02:41:56 +00:00
Clemens Zeidler 3a850e1a1a Remove empty line, thanks Axel!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42488 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 22:40:59 +00:00
Clemens Zeidler 837ad4a36f Activate only the top window in a group and not all windows. Fixes #6652 and #6616.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 22:26:44 +00:00
Clemens Zeidler 898878314d Fix todo and only unload listener from the last add-on.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 05:07:26 +00:00
Clemens Zeidler f4f30311aa Cleanup app server directory a bit by creating a font and a decorator sub folder.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42483 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 04:31:54 +00:00
Clemens Zeidler 418f391fb1 Fixes #7796. The decorator add-on is unloaded when not needed anymore. Avoid assigning offscreen windows a window behaviour (which lives in an add-on). When loading another add-on the offscreen window was still pointing to an invalid window behaviour.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42482 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 03:32:14 +00:00
Clemens Zeidler 93a0b8fa8b Remove not working decorators.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42480 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 01:10:51 +00:00
Clemens Zeidler bdfe478e9d Fix the SATDecorator. Much of the stacking part is handled by the DefaultDecorator now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 01:10:02 +00:00
Clemens Zeidler bb2e9b06ac Add multi tab support to the default decorator as discussed on the mailing list. Windows can be stacked on top of one another. All windows using the same decorator instance. This makes it easier to draw the stacked tabs and makes it possible to design more fancy looks for stacked windows. This also helps to fix some issues in S&T, e.g. when activating one window in a stacked group all windows have to be activated to ensure that all tabs are on top. This causes some flickering in tracker.
* Each Window has a reference counted WindowStack class which can be shared between stacked Windows. To keep the Decorator separated from Window there is another tab list in the Decorator now. The index of the stacked Window in the window stack is the same as the index of the tab in the Decorator. Properties like title or window focus are managed on a per tab basis now. This mean when you set the title in the Decorator you also have to specify the tab id which is equal to the window position in the stack.

* When drawing the decorator its important that only the top window is doing the drawing. Also the top window drawing engine should be used.
Actually that is only a problem directly after a window is stacked and the other window has still a none empty dirty region. In this case we clear the dirty region of this window and stop the drawing (the top window will draw everything).

* Track if shifting of a tab is still ongoing, i.e. mouse still down.

* The key event filter called the DesktopListener without holding the window write lock. This probably caused #7801 and #7796.

* Commented out assert's in Window::SetScreen and Window::Screen. Add TODO because I'm not sure about the screen access.

This breaks all existing decorators again, sorry guys! Haven't looked into any other then the default decorator (and the SAT decorator). Will not fix the others in the near future so go for it! Since applications should be able to rely on S&T features the other decorator must be able to handle multiple tabs as well. A simple solution would be to draw all title bars in multiple rows. That probably looks quit poorly. Think the better solution would be to draw a tab interface in the title bar, e.g. like in KDE.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 01:09:26 +00:00
Clemens Zeidler 5b1742af27 Remove another assert that fails. In this case the access from ServerApp is fine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 00:11:33 +00:00
Clemens Zeidler c0dad949ee BRect's OffsetBy takes a BPoint. Add a similar BRegion method to be more consistent. This one takes a const reference instead a complete BPoint object.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 23:53:12 +00:00
Clemens Zeidler f7953fa769 Add MoveItem method to easily move a item within a list. Fix line limit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42475 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 23:49:30 +00:00
Clemens Zeidler d5314ec095 * It helps a lot to find thread problems when the multi locker assert macros actually doing something useful. Took me forever to finally realise that and to find a threading bug.
* Remove a superfluously assert which sends the app server into the debugger. More fixes following.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-24 10:50:33 +00:00
Clemens Zeidler f9b2ba2b84 Patch by taos. Adds missing localization to Mail status window + cosmetic changes in Mail
preflet. Replacing B_TRANSLATE with B_TRANSLATE_COMMENT to better discern "never" and 
"Never".



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-14 20:31:12 +00:00
Clemens Zeidler 0a24883020 Fix linprog tests and add some more smaller test cases.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-14 07:19:30 +00:00
Clemens Zeidler 1245d875a3 Search for the correct constraint when removing an inequality constraint. This finally deletes the slack variable and the helper constraint.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-14 07:13:35 +00:00
Clemens Zeidler 33dd44da71 Small leftover from my debug code. Return the correct status now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 21:14:11 +00:00
Clemens Zeidler 63bf94e273 The complete S&T group has an additional, surrounding magnetic border now. Fixes #7437.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42378 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 21:10:10 +00:00
Clemens Zeidler b91ddd8116 * Make the magnetic border code more accessible by moving the code into a separate class and use it in a new protected WindowBehaviour method.
* Simplify the algorithm a bit, no functional changes are intended.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42377 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 21:04:55 +00:00
Clemens Zeidler 9879c0bc8b Forgot this one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-29 23:40:33 +00:00
Clemens Zeidler 83c3aba207 More localization support by taos, thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-29 22:37:44 +00:00
Clemens Zeidler c30f4641fa Be more clean and use a auto lock, thanks Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-29 22:00:00 +00:00
Clemens Zeidler 2483cfd8b7 Patch by taos. Fix mail daemon signature. Thanks! This probably break the HTA entry... Is there a special reason why the signature is x-vnd.Be-POST? x-vnd.Haiku-mail_daemon sounds better to me.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 23:48:00 +00:00
Clemens Zeidler 531eb250f7 Missed this one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 23:43:34 +00:00
Clemens Zeidler aba82385f1 Patch by taos. Adds rdef files to make localization working.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-28 23:42:37 +00:00
Clemens Zeidler ccc37bbb77 Don't forget to unlock when there is no desktop listener for the message.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-25 02:46:15 +00:00
Clemens Zeidler 8a26696cbf Patch by mt who also puts the Japanese mail translation into HTA. Thanks! Closes #7689.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-23 19:59:00 +00:00
Clemens Zeidler 839429d5eb - Use soft inequality constraints to describe the window max size. This means the max size of a window is only violated when it is really necessary. In this case the affected windows get a temporary sufficient large max size limit.
- When resizing a window the window size constraint stays soft when solving the layout. This makes sure that the layout constraints can be fulfilled. Fixes r41759.
- Some other refactoring.

S&T should work much better now. Sorry that I wasn't able to finish it before a3.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-22 05:22:04 +00:00
Clemens Zeidler f092b1f782 Style fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42270 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-20 21:27:41 +00:00
Clemens Zeidler 6a9178f51c Fix the build and put B_UTF8_ELLIPSIS into the B_TRANSLATE macro, my fault.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-20 21:23:07 +00:00
Clemens Zeidler c26c18e489 Apply a nice patch from Taos, thanks!
Localize the mail server and preferences. Get rid of MDRLanguage.h.
The Japanese translation is attached to #7689. Please give a notice when it is in the translation system and the ticket can be closed.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-20 21:15:27 +00:00
Clemens Zeidler cba256dc5b Apply a nice patch from Taos, just some smaller style fixes by myself.
Localize the mail kit.
The Japanese translation is attached to #7689. Please give a notice when it is in the translation system and the ticket can be closed.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-20 21:12:23 +00:00
Clemens Zeidler b2a55ebf98 Apply a nice patch from Taos, just some smaller fixes by myself.
Localize the mail add-ons.
The Japanese translation is attached to #7689. Please give a notice when it is in the translation system and the ticket can be closed.
Does the B_UTF8_ELLIPSIS comes into the B_TRANSLATE macro?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-20 21:09:11 +00:00
Clemens Zeidler c9ef74ccd2 Update all optimized variables. Most off the time it went fine because the initial solution was already optimal. This fixes #7193.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-20 07:12:52 +00:00
Clemens Zeidler 7d5fd9326c Some style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-18 01:33:05 +00:00
Clemens Zeidler 6e1a22610f Add a comment about who is responsible to clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-18 01:29:27 +00:00
Clemens Zeidler 6c7a658d1c Add support for soft inequality constraints for quadratic solvers. A slack variable is used in a normal hard inequality and the slack variable is minimized with a high penalty. In this way the constraint is only violated when necessary. Some smaller clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-18 01:26:31 +00:00
Clemens Zeidler 94eb1edee7 - Polish ToString version of Constraint a bit.
- Check the left side of a Constraint for Summands with same Variables and merge them. This fix some issues in the quadratic solver.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-17 04:26:09 +00:00
Clemens Zeidler 3b0616a46b Add more random into the SSL seed. Thanks Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 21:50:13 +00:00
Clemens Zeidler a4710c0d46 Move ServerConnection class from the IMAP add-on to libmail.so. This avoids to init SSL each time an IMAP add-on
is loaded. SMTP and POP still have this problem! TODO: use the ServerConnection class in these add-ons too.
This would also remove a lot of #ifdef SSL form these add-ons. Will not do it in the near future, feel free to fix it
...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 21:36:06 +00:00
Clemens Zeidler b58ab52cd6 SSL should be thread safe (right?) but SSL_library_init function and SSL_load_error_strings are not, or they should be called only once...
Remove extra ssl lock, there is already one in ssl.
This fixes #7574. I have seen this or a similar bug before and it was quit reproduceable, now it seems to be fixed.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 05:46:10 +00:00
Clemens Zeidler 4b4ae23e28 Workaround for #7575. There seems to be something fishy in the regex. Could somebody with experience in re_search check what
the real problem is?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41826 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 04:16:31 +00:00
Clemens Zeidler 389f3fe159 Add a simple test just to check that the synchronous quit request does not crash.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-29 22:47:23 +00:00
Clemens Zeidler f47952f723 If the looper is B_QUIT_REQUESTED synchronously. First quit and then send the reply message. Please check if this is the
correct semantics. I expected that the looper is dead when SendMessage returned. This should fix #7559 where the looper 
destructor has to be called before continuing the cleanup.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-29 22:43:50 +00:00
Clemens Zeidler 806c3afaf6 Fix test app build and adjust the app path to the jam output directory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-29 21:41:11 +00:00
Clemens Zeidler bef39d09af Make the app test suite partial compile again (gcc4). Commented out the cursor and message tests because I was not sure how to fix it. The UnitTester fails to load the addon, though. It can't get the symbol from the lib, any idea?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-28 07:16:21 +00:00
Clemens Zeidler 45f20f8f91 Fix reading long lines in multiple bunches. Thanks pulkomandy for testing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-22 08:49:31 +00:00
Clemens Zeidler 08c9600ab9 Add a simple query app to search all music files on all volumes. Entries are searched and displayed on the fly while typing the search string. The query searches for artist, album and title. After some smaller improvements it could be integrated into media player.
While I was missing such an application I also used it as a playground for eventual tracker improvements. At the moment it works this way: The query is read in a background thread where a list of entry_ref is filled. The entries are exchanged thread safe with the display view using two entry_ref lists which are swapped when the view handled all entries from one list... The view is responsible to display the entry_ref's and load all attributes. In a future directory view, the view would be responsible to load all additional attributes. For example, first fetch the sort column and then asynchronously the rest (as discussed on the mailing list).
 
- I found the following query issue: when displaying the whole collection the query uses a empty string, the problem is that empty strings are not handled in live queries. For example, when adding a new Media:Artist attribute to a file the file does not show up in the query. Running a none empty query, e.g. Media:Artist contains "test" it shows up. Thats a bug right?

- Only tested it with just ~2100 music file and the on the fly performance is very good. Displaying the complete music list is quite slow, though. This seems to be not a query problem but more a BOutlineView issue. Adding new items to the list seems to be expensive...

- At the moment a new query is started each time you typing a char. A faster solution would be to start just one query in the beginning and then just filter this list. Since BOutlineView seems to be the bottleneck I kept it this way for now. Furthermore, it is a nice performance test for queries.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 07:08:26 +00:00
Clemens Zeidler efbd73e63d Fix a bug in RowColumnManager when adding / removing views to / from a layout.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-27 05:11:21 +00:00
Clemens Zeidler eb32094b24 Fix wrong debug output and disable it, might help with #7448.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-22 06:53:40 +00:00
Clemens Zeidler 9b35c5d38d - Generate helper events for ALPS touchpads. This is needed for tap drag and edge motion. This emulates the synaptics touchpad somehow. For example, we need more events to decide if a tap is a
simple click or becomes a tap drag. ALPS does not send these events.
- Enable ALPS.
- Force const edge motion speed. Synaptics sends events with a certain frequency ALPS don't. Even worse ALPS stops sending events durring a edge motion when you don't move your finger. Current 
speed is 200 pixel/s. In theory synaptics has different event frequency modes which would result in a different edge motion speed in the previous approach. Please check if synaptics works/speed is correct. Will try to get a synaptics laptop for testing...
- fix class variable names.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-06 22:14:27 +00:00
Clemens Zeidler a16bab72a7 Initialize the synaptics cookie again. Not sure but maybe this fixes a crash on startup (if there is an interrupt before the ring buffer is created...).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-06 19:59:10 +00:00
Clemens Zeidler 08444962ae Interpret a year like 10 as 2010 and not as 1910 if the now time is near 2010. Add test case for that.
Should fix #7257.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-31 04:55:08 +00:00
Clemens Zeidler 5a44e07cca Patch taos fixes #7413 thanks! Updates the provider info readme and fix yahoo settings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-31 04:07:35 +00:00
Clemens Zeidler c152c70b46 - ALPS and synaptics are sharing the same code to generate mouse events now. The movement generation is calibrated on the synaptics touchpad, though.
ALPS movements are fine now, hope the synaptics is still working. Please test! There are still some leftovers form switching from a c struct to a c++ 
class will fix that later.
- Support ALPS devices with passthrough.
- ALPS is still disabled because tap and edge motion is not working yet. The 
problem is that synaptics generates more helper events which makes this a lot
easier to implement. My plan is to emulate this events to imitate the synatics touchpad.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41140 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-30 09:37:40 +00:00
Clemens Zeidler e637ccf5c1 Reapply the ps2 cpp patch. Thanks Axel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-28 08:18:31 +00:00
Clemens Zeidler 79bdca0650 Revert r41129 to get history back.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-28 08:10:26 +00:00
Clemens Zeidler 5a63a4576e Delete old c files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-28 02:23:07 +00:00
Clemens Zeidler 278a2b8aaa Making the ps2 busmanager c++.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-28 02:20:41 +00:00
Clemens Zeidler b78920b3f1 Work in progress on a ALPS touchpad driver. The driver is roughly working but disabled at the moment. Its
more or less a copy of the synaptics driver. Next step is to refactor the movement generation and share the 
code with the synaptics driver.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-27 08:53:57 +00:00
Clemens Zeidler 8066fbc766 Remove semi unused variable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-23 21:28:14 +00:00
Clemens Zeidler 9d214f419d Switch back to isspace for now. Have to read some utf8 stuff first. Feel free to fix it, though! will not do it in the near future...
Fix header order, ups never changed a libbe file before ;) thx Oliver. Add small optimization as pointed out by Ingo.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-23 21:22:42 +00:00
Clemens Zeidler a647218ee5 Only delete fully downloaded messages on the server! Clean up a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-23 19:13:21 +00:00