Commit Graph

3782 Commits

Author SHA1 Message Date
Michael Lotz
5d196712c9 Add a temporary backwards compatibility fix for applications that accidently
mix up the resizingMode and flags field in the BView constructor. This does
not cause problems under BeOS but was causing wrong follow modes when those
applications were run under Haiku. In case such an application is detetected
a corresponding warning is printed out. Also added a comment explaining the
rational behind the change and a ToDo for the later cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 23:12:41 +00:00
Michael Lotz
f82c11c079 bonefish+mmlr:
* Move most of MIME database support out of libbe and into registrar
* Use the (async) MessageDeliverer instead of a synchronous SendMessage in _SendMonitorUpdate

This fixes a deadlock when the message port of a MIME database watching
application gets full as documented in bug #1311.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 22:45:06 +00:00
Stephan Aßmus
374b5544a9 * expose the XOR function for BRegions (for now called "ExclusiveInclude")
which already existed in the region backend ported from XOrg


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 13:42:21 +00:00
Stefano Ceccherini
6e11b3f991 Close the whole menu hierarchy when invoking an item via keyboard. Added
a TODO comment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 12:08:21 +00:00
Stefano Ceccherini
cb6cd9af6f BMenu::_SelectNextItem() also opens the menu if we're inside a menubar.
That way menubars are navigable via keyboard. There are still glitches, 
but menu keyboard navigation works now.
Minor optimization: cache the value of CountItems() instead of calling 
it multiple times.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 11:34:53 +00:00
Axel Dörfler
46c6a221a8 Files that were created in the future (time zone issues, or whatever)
shouldn't be regarded recent either.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 10:46:37 +00:00
Michael Lotz
f1b05aa545 Fix syntax error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 02:21:47 +00:00
Axel Dörfler
978e434d72 * Finally nailed down and fixed #355: apparently, if the pose info attribute
couldn't be read from a file, Tracker would try 10 times with a 10 ms
  timeout - but only if the creation time equals the modification time!
  That was obviously supposed to be a check if the file was recent...
  Now that computers are faster (even when running Haiku), it may 
  actually take less than one second to copy a file, so most files on
  the Haiku image satisfied this thoughtful and future-proof check.
  (And no, even the original BFS does not automatically increase the 
  modified time on close.)
* Now, mmlr came up with a better check: we just check the file's 
  creation time against the current time to see if it's a recent file.
  That should work a bit more reliable :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-11 01:32:47 +00:00
Axel Dörfler
737ce1c03c * The keyboard target was always the first menu in the window list - no matter if that was hidden or not.
This fixes the bug described by Stefano in r23343.
* Therefore, I enabled cached menu windows again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 21:26:55 +00:00
Stefano Ceccherini
0625889c61 IsModal() now includes also the kMenuWindowLook. Fixes bug #1269. Please
review.
Added a compile time option to switch off the use of the cached menu 
windows. Looks like there is a problem with the focus system, if I keep 
the cached menu window around, it "steals" keyboard events from the main 
app window after the menu has been opened and closed once.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 16:04:57 +00:00
Stefano Ceccherini
85e661dbf0 Merged (parts of, for now) patches from Rene Gollent and
Christof Lutteroth, which improve menu keyboard navigation. Sorry for 
the delay, I had these patches sitting on my hard drive for a while. At 
least now you can open a menu with ALT + ESC, navigate it with the arrow keys,
and invoke an item.
Various issues still exist, including: menubars don't get the keydown 
messages, and if you keep the mouse over the menu while navigating
with the keyboard, nothing will happen. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 14:06:11 +00:00
Stephan Aßmus
67abb56fcd patch by aldeck:
* fixes the content inside the tabview in the Media preflet spanning over
  the wrong area (wrong insets)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-10 13:46:35 +00:00
Stephan Aßmus
2787214419 * VisitEachPartition() was not working correctly, terminatedEarly was not
maintained


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-08 23:35:51 +00:00
Stephan Aßmus
7b94dab18f * fix some invalidation problems with the triangle thumb which are caused by
non-traight lines extending past the thumb frame because of anti-aliasing
  effects


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-08 18:56:04 +00:00
Stephan Aßmus
01c2f44ee8 * fix keyboard handling to trigger the correct invokation message
* add support for B_HOME and B_END key (jump to min/max value)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-08 16:39:00 +00:00
Stefano Ceccherini
20817b7706 Double sorry...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23284 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 22:55:36 +00:00
Stefano Ceccherini
598ea11c81 Sorry, this wasn't meant to be here.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23283 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 22:42:28 +00:00
Stefano Ceccherini
3e06c4fae2 Improved the code still a little bit. Menus seems to be somewhat more
responsive.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 22:21:25 +00:00
Stefano Ceccherini
8d44324fda Same thing as previous commit, only for BMenuBar. Added some other
comment


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23280 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 16:13:14 +00:00
Stefano Ceccherini
14e826c4ba Some changes in menu tracking:
- in the code path, now it's clear if the looper is locked or not
- if menus are quitting, now we don't call snooze() anymore, and avoid 
the extra GetMouse() call.
- some other cleanups


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23279 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 15:46:28 +00:00
Stefano Ceccherini
7957219ebb Removed a check which was always false.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23278 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 13:54:55 +00:00
Stefano Ceccherini
d19c9634d4 Added comments which clarify why we are doing things like this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-07 13:43:29 +00:00
Jérôme Duval
0f928a18d2 updated mesa to 7.0.2
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23260 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-05 16:12:28 +00:00
Axel Dörfler
37d8f330f4 * ResolveSpecifier() used the window's handler name instead of its title for the "Window"
B_NAME_SPECIFIER. This should fix bug #1681.
* Improved ResolveSpecifier() code.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-04 13:03:37 +00:00
Axel Dörfler
7d61af89af h_name must be set, or else libnetwork.so will crash when trying to resolve a name...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-03 19:39:35 +00:00
Stefano Ceccherini
d2580802d6 Somehow r23154 reverted r22930...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-03 16:09:32 +00:00
Stefano Ceccherini
c129260a24 There was a reason for this after all: Sometimes hovering from the
submenu to the parent didn't trigger tracking from it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-03 10:43:45 +00:00
Stefano Ceccherini
9e64a7ed1b Fixed problem with some popup menus (check ticket #1679)
Moved GetMouse() calls near the check for exit conditions.
Reorganized a bit the code, and hopefully simplified it in some places.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-03 07:30:05 +00:00
Axel Dörfler
68af0a3fff If there is no /etc/hosts file, we now add a "localhost 127.0.0.1" definition
internally. This fixes #1688.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23218 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-02 16:16:28 +00:00
Stefano Ceccherini
921eba6e4d BPrintJob: PrintableRect(), PaperRect() and GetResolution() now call
_LoadDefaultSettings() if no settings were loaded already, in order to 
return valid values. Renamed private methods to fit our guidelines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-01 15:54:28 +00:00
Stefano Ceccherini
2c2176ceba Removed SetViewCursor() from BTextView::_Deactivate(), as suggested by
cl21.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-01 15:50:37 +00:00
Stefano Ceccherini
4b812f294e Set sticky mode to the correct value before calling BMenu::_Track().
Fixes bug #1679


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23201 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-01 14:37:19 +00:00
Axel Dörfler
4d85dcbce8 Removed the experimental BColumnListView class from libbe.so, and moved it
into its own archive (libcolumnlistview.a). Only DriveSetup is using it at the
moment, anyway.
IMO we should reimplement and completely redesign a class with this
functionality before considering making it public.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23198 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-30 13:31:45 +00:00
Axel Dörfler
33d3580bdc Fixed copy&paste bug, thanks Stefano!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23197 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-30 13:02:13 +00:00
Axel Dörfler
deb58f165b * DispatchMessage()'s B_WINDOW_ACTIVATED now checks if there are any pending
activation messages, and always retrieves the information from the latest.
* Reverted r23062, as the above should fix bug #613 as well.
* This should also fix bug #1674.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-30 12:46:30 +00:00
Stefano Ceccherini
bf41a1c034 Patch by cl21 (I really hope this isn't your real name :P ) which fixes
the BColorControl flickering reported in bug #503. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-29 15:26:37 +00:00
Stefano Ceccherini
9834e99c64 AddChild() was called too early for the replicant and the dragger, in
BShelf::_AddReplicant(). Now it's called near the end of the function. 
This way we don't have to call RemoveSelf() in case 
BShelf::CanAcceptReplicantView() return false. This also fixes a glitch 
in BSnow, which calls MoveTo() in AttachedToWindow(). Simplified the 
code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-28 15:37:51 +00:00
Stefano Ceccherini
eb885e0680 removed useless OffsetTo()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-28 11:48:35 +00:00
Stefano Ceccherini
d73c4e9fb1 Put the code to Extract a replicant into its own function.
BShelf::_AddReplicant() is finally getting acceptable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23182 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-28 11:07:28 +00:00
Stefano Ceccherini
898edb5ba7 Split BShelf::_AddReplicant() functionality into smaller methods. Not
yet done, but I hope it's getting better


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23181 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-28 10:49:04 +00:00
Stefano Ceccherini
0a9d19b17f Added a comment about the bug in BSnow
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23180 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-28 08:20:39 +00:00
Stefano Ceccherini
1d4722b73a After some testing on beos, I fixed bug #952. Please check but I think
it's correct now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-25 23:09:22 +00:00
Stefano Ceccherini
cf42e48ef1 call Draw() between PushState/PopState. Added some Todo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23157 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-25 22:47:19 +00:00
Stephan Aßmus
c9198a4cce * I am pretty sure this was a bug... spotted by pure chance, should have
caused messed up undo/redo when removing multibyte UTF8 glyphs via forward
  backspace


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-25 21:56:14 +00:00
Stephan Aßmus
099fb2d3be * removed declarations for methods which are not used/implemented in View.h
* improved naming of some private BView functions and used our underscore
  prefix
* added a _DrawAfterChildren method to BView which does the necessary setup
  and calls the DrawAfterChildren hook
* call the new _DrawAfterChildren method in the BWindow implementation, this
  was easy since the view tokens are already hierachically sorted
* implement support for B_DRAW_ON_CHILDREN in the app_server's ViewLayer, it
  simply means that children are ignored for the views clipping region, any
  drawing methods will paint over children (therefor the B_DRAW_ON_CHILDREN
  flag is even properly named)

With these changes, support for B_DRAW_ON_CHILDREN and the DrawAfterChildren()
hook are implemented and behave exactly as on R5 as far as I can tell, also
for the view background painting.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-25 14:47:06 +00:00
Marcus Overhagen
b571493666 drop into debugger when things go wrong
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-10 22:04:34 +00:00
Jérôme Duval
477d25de35 don't add backgroundTexture.tga as default folder image
fix bug #1649


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-08 12:45:03 +00:00
Stefano Ceccherini
ebe41f1a76 added a TODO item
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23063 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-05 12:13:43 +00:00
Stefano Ceccherini
d7c343d92c Dispatch also the B_WINDOW_ACTIVATED messages. This fixes bug #613, but
we need to check which other messages are handled by beos here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-05 12:12:48 +00:00
Axel Dörfler
fc8ffb64ec Applied a slightly changed patch by cl21: changed how the BListItem layouts
its text contents. This fixes bug #619. Thanks!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23046 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-12-01 19:51:56 +00:00
Stefano Ceccherini
423e822abe Only enlarge the menus if there's a submenu symbol (regression). Fixes
bug #1647.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-28 22:19:24 +00:00
Stefano Ceccherini
cb752f1822 xdiff -> xDiff, useHorz -> useHorizontal...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-22 10:56:27 +00:00
Stefano Ceccherini
c9dcf7979b BTextView::_ScrollToOffset() just didn't work correctly most of the
times, since xdiff and ydiff didn't take the point returned by 
PointAt() into account. Thanks to Andrea Anzani for noticing this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-22 10:53:53 +00:00
Stefano Ceccherini
ee70f30ea0 cleanups
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-20 12:59:59 +00:00
Stefano Ceccherini
15b9bc4f1b small cleanups
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-20 12:59:17 +00:00
Stefano Ceccherini
c053b4a9f8 Moved call to _DeleteMenuWindow() to a better place
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22963 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-20 12:58:50 +00:00
Stefano Ceccherini
b085f27f8c Return an error in BSound methods, since they aren't implemented. Should
fix bug #1573, although I can't really test.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-20 08:41:18 +00:00
Axel Dörfler
8d2fdf2b0e Added Flush() to SetMouseEventMask(); this should definitely be sent immediately.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-15 15:06:51 +00:00
Axel Dörfler
bfccde1f6a Forwarding did not work anymore for direct targets, since the header::flags
field was not initialized properly, and the reply target was taken from the
wrong header in this case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-14 01:22:43 +00:00
Marcus Overhagen
f668d91b37 This hopefully stops BPoligon from corrupting memory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22887 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 21:23:04 +00:00
Ingo Weinhold
5ac3152dfe * Added some debug output.
* Don't generate an uninitialize job, when there's the partition wasn't
  initialized anyway (the syscall would fail in this case).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 20:36:30 +00:00
Ingo Weinhold
54a5f0b731 Implemented BPartition::_IsModified(), so that BDiskDevice::IsModified()
does actually work now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22882 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 20:33:43 +00:00
Ingo Weinhold
17fdd1f071 Initialize ref count.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-10 20:31:50 +00:00
Axel Dörfler
82a54995b5 * Fixed _ComputeColumnLayout() optimization introduced in r22658: it actually
never worked correctly for any case which was very visible in Tracker (and
  especially so if you had "sorting apps" turned on).
* Removed superfluous white space at the end of lines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 14:24:09 +00:00
Stefano Ceccherini
afd60167e3 Reverted r21395. Many people didn't like the change, and after all I too
think it wasn't a really good idea. The alignment of shortcut 
charachters and submenu symbols could use some more work, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-07 09:38:55 +00:00
Stephan Aßmus
d4983ec0c8 * use BListItem::Height() consistently (clicking a nick in Vision now selects
that same nick, not a different one)
* performance improvement in Draw() (using ItemFrame() in the inner loop scales
  really bad)
* fixed scroll range for when BListItem::Height() is non-integer (scrolling
  all the way to the bottom in Visions nick list works now)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-05 15:29:25 +00:00
Ingo Weinhold
53715fe060 * Got rid of the B_PARTITION_DESCENDANT_BUSY flag.
* Added CheckAndMarkBusy() and UnmarkBusy() methods to KPartition.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22801 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-02 00:29:46 +00:00
Ingo Weinhold
8354dac78e Folded KPhysicalPartition into KPartition. Removed the notion of shadow
partitions from the disk device manager.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22800 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-01 23:36:21 +00:00
Stephan Aßmus
23b6ac7e15 this should complete the work on password mode for BTextView:
* fixed +/- 1 bug in _BTextGapBuffer_::GetString()
* used the correct text and offsets in BTextView whenever the visible
  text is to be used
* when copying to the clipboard, copy the bullets
* when dragging the text, drag the bullets
TODO:
* test more with UTF8 chars in the original text (I am unsure if fSelStart
  and so on is really in bytes rather than glyphs)
* test with multiple font styles



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-01 15:58:07 +00:00
Stephan Aßmus
206f31b981 * fix build on test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-01 14:14:43 +00:00
Stephan Aßmus
acf8b5d11c * despite what the BeBook suggests, using CopyBits() on a non-attached BView
does not drop you into the debugger on R5. Should fix #1598.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22784 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-01 12:05:56 +00:00
Ingo Weinhold
300868ce27 * Removed no longer needed disk device related syscalls
(_kern_{supports,validate}_*(), etc.).
* Adjusted the prototypes of the disk device modification syscalls.
  Commented out their implementations for the time -- they'll mostly
  have to be rewritten completely.
* Implemented the userland disk device jobs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-31 21:16:22 +00:00
Ingo Weinhold
3ca9267ce3 * The BMutablePartition setters adjust the change flags accordingly.
* PartitionDelegate::Uninitialize() uninitializes the mutable partition. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22779 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-31 17:02:52 +00:00
Ingo Weinhold
6e927a5fc0 malloc.h ain't no standard header. Use stdlib.h instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-30 17:32:27 +00:00
Ingo Weinhold
96d028bd6a Missed in the previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22768 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-29 23:52:41 +00:00
Ingo Weinhold
25ab0d1a4a * Fixed typos in the disk device job constants.
* Added missing job classes (they don't do anything yet, though) and
  completed the implementation of the job generator.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-29 23:51:02 +00:00
Stefano Ceccherini
795a2888e7 Rewrote PopUpMenu.h and MenuBar.h. Adjusted source files accordingly.
Added license to SeparatorItem.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22759 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-29 10:40:16 +00:00
Stephan Aßmus
20b56fdd92 * actually initialize the static sLocker with NULL too...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22700 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-24 22:51:43 +00:00
Axel Dörfler
13ca2d942d Patch by Vasilis Kaoutsis - thanks!:
* Rewrote TextView.h
* Renamed all private methods to have the underscore prefix.
And also:
* Whitespace and line width cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 20:44:17 +00:00
Oliver Ruiz Dorantes
86aceda984 -Dummy implementation of DiscoveryListener\n-Add to jamfile
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-23 17:27:49 +00:00
Oliver Ruiz Dorantes
7236d2c1c8 Fix coding style
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 17:53:08 +00:00
Stefano Ceccherini
3c5bd34432 Rewrote OptionPopUp.h and OptionControl.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 14:59:04 +00:00
Stefano Ceccherini
37b83b1a2d The system palette was defined in two files. Moved to a private header,
included by the two.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 13:44:37 +00:00
Stefano Ceccherini
d9cebac2b7 Rewrote DirectWindow.h, updated DirectWindow.cpp accordingly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22659 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 10:29:44 +00:00
Stefano Ceccherini
7bd24def80 At least for the column menu layout, don't recalculate the whole layout
if the calling function supplied an item index.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 09:23:19 +00:00
Axel Dörfler
15ab0bcf01 * int32_t, uint32_t are now of type "int", and no longer of type "long".
This should help to reduce the number of warnings imported code will throw
  during compilation (helps a lot with tcpdump, for example).
* Since long is 64 bit on 64 bit platforms, we might want to think about doing
  that change for the Haiku types int32 and uint32 as well.
* Fixed several occurences of hidden type problems.
* Fixed build of the stack and TCP under BeOS.
* Fixed incorrect typedef in socket_interface.h.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 20:10:43 +00:00
Oliver Ruiz Dorantes
3dfa121266 Dummy implementation of the LocalDevice class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 17:58:38 +00:00
Ingo Weinhold
c70623faaf * Added base class of job classes DiskDeviceJob and job container class
DiskDeviceJobQueue.
* Basic synchronous implementation of BDiskDevice::CommitModifications(),
  ignoring the given parameters, though.
* Some more work on DiskDeviceJobGenerator: Added class
  PartitionReference which will reference a partition while the jobs are
  executed. The generator manages the mapping of partitions to those
  references now. Also exemplarily implemented the generation of the
  InitializeJob.
* Moved support functionality to private header DiskDeviceUtils.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22620 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-19 03:18:28 +00:00
Ingo Weinhold
0cd5e0436d Beginnings of the class that analyzes the changes done to a BDiskDevice
and generates jobs that perform the individual actions transforming the
current state of the disk device into the desired one. Most code was
taken and adapted from the soon to be gone kernel class
KDiskDeviceJobGenerator. The methods creating the job objects are only
stubs ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 03:49:50 +00:00
Ingo Weinhold
9417631f64 * Made _CountDescendants() public.
* Added private _ChildAt() and _CountChildren(), which don't ask the
  delegate, thus reflecting the hierarchy as it was before changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22610 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 03:42:30 +00:00
Ingo Weinhold
013e7894b7 We need flags to track what properties of the partition change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-18 03:39:50 +00:00
Ingo Weinhold
23b034566f Moved disk device API into subdirectory disk_device.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 23:12:36 +00:00
Ingo Weinhold
1573b62671 * Removed the BDiskDeviceJob class. Jobs won't be generated and executed
in the kernel anymore. The respective functionality will be moved into
  the userland. Depending on how we want the API user to interface with
  it, we may want to reintroduce a similar class later.
* Cleared remaining references to shadow partitions.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 22:56:23 +00:00
Ingo Weinhold
8c0dd56800 Added some debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 22:27:23 +00:00
Ingo Weinhold
a3a0e88e70 Load the disk system add-ons in PrepareModifications(). Otherwise the
delegates wouldn't be able to get them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 22:25:48 +00:00
Ingo Weinhold
27d7c36659 * Reimplemented BDiskDevice::IsModified()/
{Prepare,Commit,Cancel}Modifications() using the userland add-on
  backend. IsModified() and CommitModifications() are little more than
  stubs ATM.
* Made BPartition::VisitEachChild()/VisitEachDescendant() const.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 21:50:20 +00:00
Ingo Weinhold
46b93b2cfd Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22600 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 20:51:10 +00:00
Axel Dörfler
10ffdaa294 Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 15:35:13 +00:00
Ingo Weinhold
c9518b6240 Removed some now obsolete methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 01:04:53 +00:00
Ingo Weinhold
fe6bd3b5b7 * Moved GetNextSupportedType() and IsSubSystemFor() from
BDiskSystem to BPartition and reimplemented them using the userland
  add-on backend instead of syscalls. As a side effect this solves the
  TODO I recently added in GetNextSupportedType().
* Reimplemented BDiskSystem::GetTypeForContentType() using the userland
  add-on backend instead of a syscall.
* Moved GetTypeForContentType() and IsSubSystemFor() from
  BPartitionHandle to BDiskSystemAddOn. They were misplaced.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 01:01:49 +00:00
Ingo Weinhold
d712d042ea Style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 00:03:23 +00:00
Jérôme Duval
287cc7652b fix gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-16 19:02:28 +00:00
Ingo Weinhold
b62085b975 Coding style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22587 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-16 00:32:41 +00:00
Jérôme Duval
f2e230ca88 fix a bit of gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 22:35:52 +00:00
Axel Dörfler
f6e4cbb952 * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 20:13:55 +00:00
Axel Dörfler
332d5f437e Some cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22568 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 14:09:14 +00:00
Axel Dörfler
c278448653 * Introduced a monitor_info structure and means to let it be filled by the
accelerant (or the app_server via EDID info). It's still experimental
  API, and opinions are welcome.
* Moved BPrivateScreen into the BPrivate namespace.
* Rewrote Screen.h.
* Introduced a BScreen::GetMonitorInfo() method, and implemented it in the
  app server as well (ie. AS_GET_MONITOR_INFO).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 11:41:47 +00:00
Ingo Weinhold
28541deac2 Beginning of the integration with the new userland disk system add-on
based code. Small API changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 00:41:18 +00:00
Jérôme Duval
20674e3150 stop tracking if we don't have a owner anymore, should help with bug #573
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 21:44:10 +00:00
Axel Dörfler
67e4704330 MakeEmpty() now also calls _FixupScrollBar() - this fixes bug #1558.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 11:23:40 +00:00
Ingo Weinhold
7322bd7a19 gcc 4 fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 00:14:31 +00:00
Ingo Weinhold
08baf63a9f Decided that BPartition::ImmutableDelegate would basically be a big
collection of no-op methods, which could as well be implemented in
BPartition itself. This makes the Delegate hierarchy unnecessary:
MutableDelegate becomes Delegate, and we save a few casts as a side
effect.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22547 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 00:07:03 +00:00
Ingo Weinhold
ade9d403d4 Implemented loading/unloading of add-ons.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 23:17:44 +00:00
Ingo Weinhold
350043e707 * Initialization of BPartition::Delegate is now two-phased. The first phase
builds the object hierarchy, the second will (in case of MutableDelegate)
  let the disk systems do their initialization. This way the disk systems
  already find a fully functional object hierarchy they can work with.
* Child creation also takes a partition name as a parameter, now.
* Implemented BMutablePartition child creation/deletion.
* The BDiskSystemAddOn/BPartitionHandle::Validate*() methods return a
  status_t instead of a bool, now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 21:29:33 +00:00
Ingo Weinhold
103ca6a3ad The info about partitionable space will be provided by the userland disk
system add-ons. First work to make this class usable for them.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 21:17:26 +00:00
Ingo Weinhold
b3e7c4a4b9 * Added fDelegate member.
* Removed private AutoDeleter class. The shared ArrayDeleter is used instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 21:13:02 +00:00
Ingo Weinhold
ab64dcc9b0 Fixed some instances of incorrect erase() while iterating. Shouldn't
have been a problem though, since the iterated container is a list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-13 16:18:47 +00:00
Karsten Heimrich
ed1c257ade * the divider width was taken from the wrong archive field
- this is my first commit, so i'm really looking forward to work with you guys    :)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22523 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 22:42:51 +00:00
Stefano Ceccherini
fc6a714ec0 Static variables should have the s prefix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-11 13:43:07 +00:00
Stefano Ceccherini
65e63b987d PaletteConverter now exports a static InitializeDefault() method, which
can be used (and is, by _init_interface_kit()) to initialize the ... 
er... default instance of 
PaletteConverter using the system color map, thus avoid building the 
list of colors, which takes some time. Fixes bug #505.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-11 13:30:56 +00:00
Ingo Weinhold
15ed7c71d6 More fleshing out the disk system add-on interface and related classes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22503 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-10 21:35:22 +00:00
Ingo Weinhold
67c578e73f Added global lock that can be used for lazy initializations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-10 21:30:51 +00:00
Stefano Ceccherini
17dee6524b and there, the usual commit which removes the forgotten debug output...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 21:48:49 +00:00
Stefano Ceccherini
c044172704 I was wrong after all. InsertText() doesn't call SetRunArray() (and
hence CancelInputMethod()), but it implements part of it. To avoid code 
duplication, I added a private _SetRunArray() call, which does most of 
the work, except cancelling the input method, and calling Refresh().
Removed some unneeded code from CancelInputMethod(), some small changes 
in HandleInputMethodChanged. 
-Questa linea, e quelle sotto di essa, saranno ignorate--

M    src/kits/interface/TextView.cpp
M    headers/os/interface/TextView.h


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 21:46:35 +00:00
Ingo Weinhold
98b97f9603 First draft of the userland disk system add-on interface. A good deal of
functionality of the kernel add-ons will be moved into userland, which
will simplify the kernel-side significantly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22481 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-08 01:33:46 +00:00
Axel Dörfler
f1be468272 fTriggerIndex was still a byte index in BMenuItem::SetTrigger() - this one
fixes bug #1506 once and for all :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22476 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 17:20:28 +00:00
Ingo Weinhold
04adb291a6 Clear the user_partition_data::user_data fields before updating the
BPartition structure with the data retrieved from the kernel. For new
partitions the field is not set in the next step and later code would
use an initialized pointer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 14:56:26 +00:00
Ingo Weinhold
7ede8e4494 Added [Content]Parameters() getters.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 14:52:54 +00:00
Ingo Weinhold
11e9c3980c Changed semantics of GetNextSupportedType(): It expects a pointer to the
parent (not the child) partition, now. A method with the old semantics
is probably needed, too, but before creating a child partition, one
obviously doesn't have a child to pass yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 14:50:25 +00:00
Ingo Weinhold
9d337ccc01 Aesthetical changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-07 14:41:55 +00:00
Ingo Weinhold
aa4d8ee6ee * Allow NULL name argument on initialization.
* Some code beautification on the way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-05 23:25:58 +00:00
Stefano Ceccherini
6fc1a5d0ea Mail's inherited InsertText() calls CancelInputMethod()
indirectly, and since InsertText() is called inside 
BTextView::HandleInputMethodChanged(), this method would see fInline 
slip away from under its feet.. Now we call the BTextView version 
explicitly. Fixes bug #1022, although I'm not sure if this is completely 
correct.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 19:57:27 +00:00
Stefano Ceccherini
94b9294f48 oops! Somehow I managed to commit a version with some extra debug code
enabled.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 11:37:04 +00:00
Stefano Ceccherini
f2476bcc9c Patch by Rene Gollent: TextViews now can scroll even if they aren't
attached to a BScrollView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-04 11:32:06 +00:00
Stephan Aßmus
2a74c55308 * when a vector icon was present, BAppFileInfo::GetIcon() would return an
error if the provided bitmap was B_CMAP8, now BIconUtils will convert the
  icon to B_CMAP8
-> this behaviour is a little inconsistent compared to what happens when
  reading icons from attributes, there, the CMAP8 icon is prefered in case
  such a bitmap is passed, even if a vector icon exists. I am not really
  sure which behaviour is better. For a consistent UI, maybe it is better
  to prefer the vector icon always. I've added a note to BAppFileInfo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 16:54:34 +00:00
Axel Dörfler
e2693621b6 Correctly implemented the missing BBitmap::GetOverlayRestrictions() on the
client and the server. This should fix bug #1490, but I haven't tested it yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 16:03:53 +00:00
Axel Dörfler
083de48a4b * Rewrote the trigger selection mechanism: it now searches for uppercase
characters first, and then falls back to take everything. fTrigger is now
  uint32 and works with all unicode characters; unlike in BeOS, the
  MenuTriggerTest application now works correctly in Haiku.
* fTriggerIndex is now a character position, not a byte position of the label;
  this allows BMenuItem::DrawContent() to draw the trigger at the correct
  position, even if there are multi-byte UTF-8 characters.
* The above fixed bug #1506; triggers are still not working, though.
* Rewrote Menu.h header.
* Renamed all private methods (that are not called by BWindow) to have the
  underscore prefix.
* Removed unused methods.
* Some minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 10:52:45 +00:00
Stephan Aßmus
5b06c4ae51 * improvement to checkmark and submenu indicator layout and drawing (layout
takes menu margins into account, drawing is now fully scalable)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 13:00:24 +00:00
Stephan Aßmus
a788be674b * some simplifications in the code, I'm not sure if it supported NULL texts as
the BeBook mentions it does
* make sure the view is invalidated on resize
* needs more fixes (for example GetPreferredSize() does not take everything
  into account)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 12:58:59 +00:00
Stephan Aßmus
917870d2ba * slight code style fix, but that file would need a complete cleanup to be
style compliant...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 12:55:19 +00:00
Stephan Aßmus
ded80ae491 * very minor cosmetic change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 12:54:19 +00:00
Marcus Overhagen
41a3048db5 added missing include file (probably gcc4 only build fix)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:51:31 +00:00
Ingo Weinhold
8bced38bb2 * Renamed fLayoutValid to fMinMaxValid.
* Clear fMinMaxValid when a new constraint is added. "Height for width"
  constraints are therefore no longer ignored.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 14:13:34 +00:00
Ingo Weinhold
b59629bef8 They way we were initializing the maximal sizes, maximum constraints could
be considered redundant, although they weren't. We do now use smaller
"unlimited" sizes which we can add without risking overflow, and can thus
correctly identify redundant constraints. This fixes the
SplitterGridLayoutTest1 in the LayoutTest1 app.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22337 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 00:27:24 +00:00
Ingo Weinhold
d2bb3c4350 The new row/column info items were not added, so that setting column or row
properties (like the weight or min/max) would be ignored, besides memory
being leaked.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-28 00:20:51 +00:00
Ingo Weinhold
8c2647695a * Removed the qoca library and the layouter implementation using it.
* Use the new ComplexLayouter for the more complex layouting tasks.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 22:48:20 +00:00
Ingo Weinhold
c29edec13e * Cleanup in ComplexLayouter and LayoutOptimizer: Removed debug output or
made it conditional, added/modified comments documenting the maths and
  algorithms.
* Refactored quite a bit in ComplexLayouter and added special handling for
  the case that the desired solution is already feasible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 22:44:21 +00:00
Stefano Ceccherini
e96b202311 Patch from Ioan Molnar:
If a Tab is partially out of the window, clicking on it to make it the 
active tab will scroll it to be completely visible.
The best solution would probably be having a way to scroll through the 
whole list of tabs, or something like this. But for now, at least, makes 
the tabbed terminal a bit more useful.
Thanks!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-27 08:26:15 +00:00
Axel Dörfler
7acb68edf9 Made the private B_HIDE_APPLICATION message (now a misnomer) hide all applications
that share the same signature - so that this feature is now consistent to what the
Deskbar does.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22304 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 13:38:10 +00:00
Axel Dörfler
229f4986d2 * Added private (as of now) B_HIDE_APPLICATION message that calls
do_minimize_team() (which is what the Deskbar does when you select
  "Hide All").
* Added keyboard shortcuts to minimize, and zoom a window, and to hide
  the whole application (Cmd+Ctrl+M/Z/H respectively). The former two
  are also present in Dano and up.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-25 13:15:15 +00:00
Ingo Weinhold
9c7408528e Implemented a ComplexLayouter class which is going to replace the Layouter
implementation which used the qoca constraint solver. It does the min/max
computation itself -- thanks to Peter Moulder for hinting that we're actually
dealing with separation constraints and proposing an algorithm. The actual
layout is done with the help of an active set method based optimizer.
The test results look very good so far. The code needs some cleanup (debug
output, math comments, special handling for some cases) and is therefore not
yet enabled by default.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-24 00:03:57 +00:00
Ingo Weinhold
a0710babd7 Use delete[] for array deletions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 23:35:20 +00:00
Ingo Weinhold
e2c699caec Fixed assert macro.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-23 23:32:03 +00:00
Ingo Weinhold
1f3138edcb * Moved qoca to src/libs/qoca.
* Made use of qoca opt-in. You have to set the jam/environment variable
  LAYOUT_CONSTRAINT_SOLVER to "qoca" to do that. Unfortunately it turned
  the latest version of qoca is GPL (only earlier version were LGPL; the
  license included in the downloadable archive was misleading), so we can't
  use it. Complex layouts constraints that would require constraint solver
  support are ignored until I've found a replacement.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22235 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-15 20:04:20 +00:00
Ingo Weinhold
60558ed93b SplitLayout.h is a local header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22234 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-15 19:52:13 +00:00
Stephan Aßmus
c831635f1e * make sure that the menu bar is still aligned with the right
side if in fixed size mode in ResizeToPreferred, this fixes
  the menu bars going out of view bounds in a lot of apps using
  fixed size fields, like Screen



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22230 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-13 15:08:48 +00:00
Stephan Aßmus
bbe8558522 * make absolutely sure there is no cyclic resizing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22229 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-13 15:04:38 +00:00
Stephan Aßmus
259233e466 * added NOTE on why having mouse coords in screen space until the very last
moment is so nice


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-13 15:02:29 +00:00
Ingo Weinhold
f0e6ea2160 Tracker never copied zero-sized attributes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-12 14:13:42 +00:00
Ingo Weinhold
085296e86c R5's WriteAttrString() also writes the terminating null. So does ours now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22224 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-12 13:51:48 +00:00
Stephan Aßmus
72c9d31ec4 * transmit correct type in BView::BeginRectTracking()
* put message codes for Begin/EndRectTracking() into giant switch... not
  actually implemented though


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-11 21:23:07 +00:00
Stefano Ceccherini
3424ff46e9 renamed private members of BPicture to fit our coding guidelines
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22216 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-10 14:55:42 +00:00
Stefano Ceccherini
b1af0a7a24 Setting the font shear in a BPicture didn't work, because the value was
treated as uint32 in some places, when it's a float.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-10 10:20:26 +00:00
Stephan Aßmus
1de41c158d * fixed tracker single click selection.
If I may say so, I find this code extremely messy and in desperate need for
refactoring. The bad news is that selection flickers now - the columns which
don't need to be drawn at all. I printed some debugging info in
BTextWidget::Draw() and it appears that for a single selection state change,
at least four invokations of BTextWidget::Draw() will result. Sometimes many
more. Since the code calculated the dirty rects wrongly in many places, it
appears that this bug might not have shown before. Like I said, the code is
a mess and there is not a single place for invalidating poses, so I am not
surprised why tons of invalidations arrive. :-/ Maybe I should make myself
more familiar with Tracker... or revert my text outline patch. :-P


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-06 10:40:47 +00:00
Stephan Aßmus
54a7f0923c * fExtraFlags was not maintained in various places, most importantly nowhere
in SetFamilyAndStyle(), this should fix stuff like IsFixed() not working


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-06 09:31:57 +00:00
Stefano Ceccherini
b33a19a278 Adjusted a bit BTextView::AutoResize() so that the text rect is more
centered. At least renaming a file in tracker looks a bit better now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 14:51:51 +00:00
Stephan Aßmus
2c5a88945e fix more glitches:
* invalidate the correct rect on WindowActivated() in case fDivider is not
  correclty maintained
* don't cut off part of the label in Draw() by constraining the clipping in
  case the placement of the label is a little different than intented


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22135 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 13:33:51 +00:00
Stephan Aßmus
a431f44be8 * make the text view layouting more robust, draw the frame around the
text view, ignore the divider for this (application code could layout
  the textview itself, and fDivider might not be maintained)
* change Draw() and TextInput::MakeFocus() accordingly

this fixes the weird placement of text controls in Beam


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-01 12:51:59 +00:00
Stefano Ceccherini
e94ad1e24d If typing is hidden, don't reply to B_COPY or B_CUT messages, but beep()
in this case. Note that the public methods still let you copy and cut 
the real text. Also prevented stealing passwords via scripting (not 
tested, though). Fixes bug #1354
Got rid of the _BTextGapBuffer_::[] operator since using it creates less readable code.
Also Implemented _BTextGapBuffer_::RealText() and used it instead of Text() inside BTextView. Will make sense later.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22129 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-31 07:39:18 +00:00
Stephan Aßmus
3a38a48561 * fixed size layout of BMenuBar on BMenuField in fixed size mode
(needs to account for the parts that the BMenuField draws, ie the shadow
  on the right)
* fixed follow mode of BMenuBar in fixed size mode (B_FOLLOW_LEFT_RIGHT)
* don't resize the BMenuField in fixed size mode (endless loop), this should
  be more robust anyways, since this endless loop would be triggered if an
  application tried to manually resize menuField->MenuBar() in auto resizing
  mode
* fixed calculation of the parts that need to be redrawn on resize


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22127 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-30 22:36:14 +00:00
Stephan Aßmus
caacab3726 * small cleanup, added comment about out of memory condition
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22126 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-30 22:31:55 +00:00
Axel Dörfler
7bc5a06be6 * BShelf::_AddReplicant() did not recognize zombies if their object was not
inherited from BView.
* BShelf::_AddReplicant() did not honour the fAllowZombies flag correctly; if
  it wasn't allowed, no error message was given.
* Both of these changes fixes the crashing of the Deskbar as described in
  bug #555.
* instantiate_object() now also fires a message to the syslog if the object's
  image could not been loaded. Some cleanup, no longer resets errno.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-30 01:03:33 +00:00
Axel Dörfler
a632458d8e The wonders of signals:
* Since the app_server launched the input_server, it would also get notified
  when the latter died via a signal - but LinkReceiver could return B_INTERRUPTED
  in that case (it didn't check the return value of port_buffer_size()) which
  the app_server misinterpreted and quit itself... this fixes the hanging part
  of bug #1298.
* But the input_server still wasn't restarted, because the Registrar had it
  still listed as being running. Now, the Registrar checks not just periodically
  for died teams, it will also check for it when a new application registers
  itself. This fixes the rest of bug #1298.
* Removed the old (disabled) R5 style input_server launch mechanism from the
  app_server.
* MessageLooper now prints a bit more information when a port is supposed to
  have been deleted.
* The default implementation of MessageLooper::_GetLooperName() is now
  returning the name of the semaphore of its BLocker instead of "unnamed
  looper".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22115 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-30 00:09:43 +00:00
Ingo Weinhold
e44a5286c4 The Compare() methods were broken. Worst of all Compare(x, x) would
return 1, which caused STL sort() to access elements out of bounds.
Fixes bug #1422.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-29 23:06:00 +00:00
Axel Dörfler
c4a589b09a There is no reason the printers directory shouldn't have the folder icon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-29 10:22:54 +00:00
Ingo Weinhold
c9f8015628 Fixed DEBUB build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-29 01:04:25 +00:00
Axel Dörfler
22ca66b9f8 Fixed bug #1028 from both sides:
* FindPanel::SetUpAddRemoveButtons() called Window()->FindView() but did not
  check if Window() was NULL.
* BWindow now always checks the result of a BAutolock - this is why Tracker
  got away with this bug on BeOS; NULL windows cannot be locked...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-29 00:40:40 +00:00
Stefano Ceccherini
6a9c969bcc If line breaks have changed, don't take the startOffset into account. Fixes bug #1430
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-28 15:13:55 +00:00
Stephan Aßmus
53fca955e6 * I confirmed that on BeOS, BView::Invalidate(BRect) rounds the rect to integer
coords in this way. BRegion does a different rounding, also compatible
  with BeOS. I added an explaination. This fixes one _part_ of #1426, which is
  that Sudoku doesn't invalidate more area than intended (or at least it works
  as it does on BeOS now). The second part of the bug though is that the server
  has been preventing the drawing of lines and rects in a certain way, in another
  words, the part of the bug I fixed should not have been a problem in the first
  place if the clipping would have worked correctly. I believe the problem shows
  when the drawing commands contain fractional offsets. The rounding happens in
  the server, but maybe too late (after comparing with the clipping region). It
  could also be a bug in our BRegion implementation, I need to check my new
  implementation behaves exactly like BeOS in the Intersects() and Contains()
  methods for fractional coordinates parameters. Anyways, at least the visual
  problems are gone.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22058 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 12:58:20 +00:00
Ryan Leavengood
6eb0129659 Patch from Justin O'Dell for bug #254, fixing the Defaults button behavior
for the Appearance and Menu prefs, and Tracker's settings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22049 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-24 01:17:18 +00:00
Michael Lotz
d570f3bf79 * Don't leak buffers when reallocs fail
* Always check the return of the resize function
* Handle resize errors gracefully and ensure that the message stays intact
* Don't crash when printing a message that contains a field with no items (unlikely but possible in low memory situations)
* Fixed renaming fields - was completely broken and would have missed up field names and contents
* Some cleanup

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22047 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-23 21:17:44 +00:00
Ingo Weinhold
2652981136 Added Supports[Content]Name() methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-22 21:22:29 +00:00
Stephan Aßmus
5c34aef797 changed the meaning of the "icon view label background" Tracker setting:
* it is replaced by a "icon view label outline" feature that renders a black
  or white outline around the text of a label under an icon. This can be used
  for background images that have a lot of contrast and is visually more
  pleasing (IMHO) than the text box in the workspace color (but the outline
  could of course still be improved as well)
  the outline or "false bold width" feature is a new BFont feature in Haiku
* Tracker appeared to have a disabled feature to install default background
  images, I enabled this feature and rewrote it a bit to use our big logo
  from the artwork folder, the placement is for 800x600, so not optimal for
  larger desktops, but at least it is shown by default on new installations
  or rather "fresh" images
* changed the way the dotted underline is rendered under links, accidentally,
  this fixes the bug that it was not dotted at all since a while, which is
  a bug in app_server or BView not tracking the need to update the drawing
  pattern in certain situations (this bug needs to be fixed too of course)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22040 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-22 15:01:38 +00:00
Stephan Aßmus
f148f628da * resizing scrolled views should have definitely been broken
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22039 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-22 14:53:24 +00:00
Stephan Aßmus
79d6486d1d * use a darker text color for disabled yet selected looking menu items
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-22 14:52:31 +00:00
Axel Dörfler
f7deaad7ee If Moved() has been called, Clicked() can't be called anymore; this actually
fixes a crashing bug when dropping a column too fast.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 19:10:50 +00:00
Marcus Overhagen
31cf24c13e debugging instrumentation for Cortex lockup bug (some weeks old already)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 18:44:55 +00:00
Axel Dörfler
27eab79b56 * BTitleView now resizes its columns asynchronously. As a side-effect, this
also solves the slow resizing part of bug #160 under Haiku (where GetMouse()
  obviously gets a lot more messages).
* Rearranged the interaction between BTitleView and ColumnTrackState a bit,
  removed some unused cruft.
* PoseView::ResizeColumn() had obviously required code to redraw the resizing
  lines on enlarging the column excluded for whatever reason.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 01:43:17 +00:00
Axel Dörfler
b78583734c The client-side implementation of B_NO_POINTER_HISTORY did only work for SetEventMask(),
but not for SetMouseEventMask(). We now track the value of that mask in a dedicated
member variable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-20 23:24:26 +00:00
Axel Dörfler
e46b225479 The server is too fast sending the messages; we now filter out old mouse events
client side in case B_NO_POINTER_HISTORY is set.
This fixes bug #1415.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-20 22:51:46 +00:00
Axel Dörfler
d0c290bf09 BAppFileInfo would crash if the resources failed to initialize, but SetInfoLocation()
forced it to use them. Now, it will filter out B_USE_RESOURCES when the resources
are invalid.
Also, _WriteData() and _RemoveData() will now fail if neither source is specified
with B_NO_INIT.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-20 14:08:51 +00:00
Stefano Ceccherini
0e5fe45f13 Removed unused DataBuffer class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-19 19:59:09 +00:00
Ryan Leavengood
d237672a06 A fix to bug #1154 by Justin O'Dell. Basically the settings for menus
default to having no accelerators, but that setting was not ever read
properly. So in fact the meny pref was correct, but the menus were wrong.
This fixes that.

If the default setting is supposed to be accelerators on then the settings
should be changed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22011 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-19 19:55:26 +00:00
Stephan Aßmus
ae3a7f4dac * don't leak the rect data in case of failed realloc()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-17 16:24:43 +00:00
Stephan Aßmus
f591e3a0f2 * fix weird Shape op/point allocation
* handle out of memory situations
* don't try to copy (and assign op!) in SetData if opCount/ptCount is 0
-> FontDemo doesn't crash anymore eventually when cycling fonts in outline
mode


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-17 11:17:29 +00:00
Stefano Ceccherini
22e16ac590 call RemoveSelf() on the replicant before deleting them. Fixes bug #1405
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21996 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-17 08:51:39 +00:00
Jérôme Duval
2272b5dbbd actually don't send B_SILENT_RELAUNCH for any message in the initial message list
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-16 19:03:45 +00:00
Jérôme Duval
a3192bf3a7 Tracker seems to launch applications with a B_REFS_RECEIVED message in the initial message list.
Now checks if such a message is present and avoids sending B_SILENT_RELAUNCH in this case, and also in the standard case with a ref.
This fixes bug #1387


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21987 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-16 17:36:58 +00:00
Stefano Ceccherini
422fadc829 Moved the dummy table local to the PicturePlayer::Play() function since,
as Marcus pointed out, having it outside wasn't thread safe. Moved 
PicturePlayer into the BPrivate namespace.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21982 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-16 14:40:03 +00:00
Jérôme Duval
9f22373bd3 fix gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-16 10:56:45 +00:00
Stefano Ceccherini
bd14785126 Debug was enabled by default.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-16 09:14:50 +00:00
Stefano Ceccherini
46b4e48998 Added some debug output to PicturePlayer. Since checking the table size for every op is very slow, now we do that only at the beginning, and use a custom op table if needed. The best case (which is the one used when drawing a picture with BView::DrawPicture()) is very fast since it only requires one check.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-16 09:14:03 +00:00
Stephan Aßmus
bd57c145be * setting a different menu color with the menu preflet gives now visually
agreeable results (I hope)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 20:38:29 +00:00
Axel Dörfler
cc116483ef The bug worked around in r21960 also affected Haiku. Now, a menu is only quit if the click
into its "controlling" window targeted the preferred handler - ie. is a standard click that
is not sent because of an event mask.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21961 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 02:12:05 +00:00
Axel Dörfler
b73648647d * Fixed the TODO added by Ingo in r21957: locking the application didn't even make any
sense. Instead, we now lock its app_server connection only. The deadlock as exposed
  by starting Icon-O-Matic twice is now gone, at last.
* Fixed the TODO added by Ingo in r21953: moved the thread/handler renaming code in a
  dedicated method _SetName() which is now called from _InitData() and SetTitle(); the
  "w>" is no longer lost.
* Unlike the BeBook states, BMessageQueue::RemoveMessage() is indeed not supposed to
  delete the message it removes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 01:06:20 +00:00
Ingo Weinhold
78fe3db271 Added another TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21957 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 00:10:37 +00:00
Ingo Weinhold
a1a144828c Added TODO.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 23:36:53 +00:00
Stefano Ceccherini
253d42a602 Implemented SetClipping op, but it's not working yet (looks like it's
never written into the data stream)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 15:21:15 +00:00
Stefano Ceccherini
d2d3fb8472 Removed a no longer true TODO
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21944 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 12:46:33 +00:00
Stefano Ceccherini
796e4e4552 Implement calling the exit_xxx hooks. Thanks to Marc Flerackers for the
help.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21943 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 12:45:42 +00:00
Stefano Ceccherini
feb557a6d1 Implemented WriteSetFontFamily() and WriteSetFontStyle(). Only the
server side functions are missing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 09:17:21 +00:00
Stefano Ceccherini
2f99607b77 My last commit broke setting fonts in BPictures. Added a comment in
PicturePlayer to explain what we need to do. Don't write the 
B_PIC_ENTER_STATE_CHANGE and B_PIC_ENTER_FONT_STATE ops until we fix the 
problem (we don't care about them in our server side 
implementation anyway). Font changes and state syncing work again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 08:40:13 +00:00
Stefano Ceccherini
c00e6e3f89 Implement more bpicture font methods, now PicturePlayer checks the size
of the function table, so if someone passes a smaller table, we avoid
 
calling invalid pointers.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21939 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 08:05:05 +00:00
Stefano Ceccherini
37033892c5 Implemented SetPattern op. Reduced the buffer size to 4096 again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-14 06:39:37 +00:00
Ingo Weinhold
d23c482278 Patch by Łukasz 'Sil2100' Zemczak: Made BStatusBar layout friendly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21936 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 23:34:06 +00:00
Jérôme Duval
48658ad173 fixed build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 17:54:45 +00:00
Stephan Aßmus
c6811df0c3 * I am turning this back on, it seems the problems are fixed, and if not,
I would like to fix them. Using the string width cache results in a great
  drawing speed up, for example in StyledEdit and Mail. Any app that uses a
  larger BTextView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 17:03:53 +00:00
Stefano Ceccherini
4d47fee5cd Renamed some BPicture private functions, small cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 15:28:31 +00:00
Stefano Ceccherini
690c7474a4 Implemented BPicture's SetPenLocation() op, also nested
AppendToPicture() (but still doesn't work :( ). Moved some functions 
around in PictureDataWriter.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21925 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 14:07:12 +00:00
Stefano Ceccherini
277571370c AppendToPicture() now sets the correct picture to be returned from
EndPicture() (tests have confirmed this). Although appending to a 
picture doens't work yet for some reason...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 13:09:59 +00:00
Stefano Ceccherini
ed5de868df Implemented the following BPicture ops: fill region, stroke/fill arc,
stroke/fill polygon, stroke/fill bezier. some work towards drawing of 
nested pictures.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 07:20:43 +00:00
Michael Lotz
d3ce129ef3 Use swap_data() when unflattening a swapped message. It fits this purpose perfectly as it does conversion based on the type code. Now known type like B_INT32_TYPE will get swapped automatically.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 22:27:25 +00:00
Ingo Weinhold
7e8ac2903b * Prefixed the variables NETWORK_LIBS, NETAPI_LIB, and
SELECT_UNAME_ETC_LIB with TARGET_ and introduced HAIKU_* and HOST_*
  counterparts.
* Use HOST_NETWORK_LIBS for building remote_disk_server.
* Also got rid of {R5,BONE,DANO,HAIKU}_COMPATIBLE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 22:15:10 +00:00
Stephan Aßmus
5a626bd963 * removed code duplication in BView::check_lock() and do_owner_check(),
* revised use of check_lock() versus do_owner_check() (do_owner_check()
  is supposed to drop you into the debugger if there is no owner, otherwise
  it behaves like check_lock())
* ConstrainClippingRegion() no longer transmits empty regions to the
  app_server. I would have thought that my fix to ServerLink would have
  solved the issue I was investigating, but only this commit fixes it.
  Maybe the last commit would have fixed it if I did a "jam clean"...
* WonderBrush draws the icons again on mouse over...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 13:14:09 +00:00
Stephan Aßmus
fddbc2311f * fix attaching and reading empty regions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 13:07:55 +00:00
Michael Lotz
a156e74ad7 * Changed swap_data() to behave like the R5 version
* Added a todo about unsafe access of the buffer
* Removed some types from is_type_swapped() to exactly mirror R5

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21902 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 10:42:40 +00:00
Michael Lotz
0127fb779d * Respect endiannes for item lengths inside swapped BMessages
* Also swap the flattened size when creating the read buffer
* Define specialized byte_swap()s for unsigned types too so that type_code and the like get swapped correctly

This should fix bug #1371.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 10:32:21 +00:00
Stephan Aßmus
8c1a98d8d4 * there was a complete mixup of "drawing origin" and "scrolling offset" in the
BView implementation (client side)
* introduced some private methods for _Convert*(BPoint*) methods which avoid
  doing the check_lock() thing in the recursion, also Origin() would likely
  have communicated with the app_server all the time, since the origin bit
  was needlessly invalidated, so some speedup should be achieved
* this should fix ticket #98


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 09:52:25 +00:00
Jérôme Duval
d65a066a81 fixed testing for haiku target
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21884 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-10 18:49:33 +00:00
Jérôme Duval
a9fa028de4 updated mesa to 7.0.1
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 21:12:30 +00:00
Stefano Ceccherini
98eadf4b9d Scrolling didn't work correctly if the user didn't move the mouse all
the time. Fixed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 09:38:19 +00:00
Axel Dörfler
1260fa6595 fCachedStack needs to be initialized and reset when the looper is unlocked.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-08 23:11:13 +00:00
Axel Dörfler
eaad52e8d7 Now uses the cache stack trick for a cheaper check_lock() version as suggested by stippi.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-08 22:43:52 +00:00
Michael Pfeiffer
f93d6bd89e * Implemented run_add_printer_panel(). Opens Printers preflet and sends to
it the message for opening the 'Add printer dialog'.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-08 20:48:06 +00:00
Ingo Weinhold
90aa265896 Made the compatibility level for target libbe_test depend on the compatibility
of the host platform. The libtracker Jamfile seems to be the only one that
needs another exception.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-05 01:13:27 +00:00
Stephan Aßmus
94a48ae276 * use a different message code for DrawString() with escapement delta
and DrawString() without
* this change also includes adding the penlocation to the shape to-screem
  coordinate conversion (temporarily breaks shape rendering, will be fixed
  in next commit)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21821 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-04 11:22:47 +00:00
Ingo Weinhold
da0f9ae040 Added Haiku as host platform supported by the build system ("haiku_host").
Completely untested yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21802 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 21:13:56 +00:00
Stephan Aßmus
2222864eed * complete overhaul of the font/glyph caching
* the previous AGG implementation is superfluous
* the new implementation is based on that one, but in a way that allows
  read/write locking to the list of cache entries (fonts) as well as
  read/write locking to the cached glyphs per individual font cache entry
* new GlyphLayoutEngine.h, which is to be the central place for layouting
  glyphs along the baseline.
  It handles the locking for getting the font cache entries.
  It works by giving it a template class GlyphConsumer which does the
  actual work.
* changed AGGTextRenderer to use the new font cache
* changed ServerFont::StringWidth(), and the bounding box stuff to use it
* changed DrawingEngine, it doesn't need the global font lock anymore
* our BFont thought that GetBoundingBoxesAsGlyphs and GetBoundingBoxesAsString
  is the same, which of course it isn't, hence the two separate functions...
  AsGlyphs just gets the bounding box of each glyph in a string, not treating
  the string as an actual word
  AsString adds the offset of the glyph in the word to the bounding box
* changed ServerProtocol.h accordingly for the different bounding box meaning


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 19:10:38 +00:00
Stephan Aßmus
075430faf4 * put some more useful utility classes into "shared". I tried to make sure
that OpenHashTable.h does not collide with all the other places that this
  is used, it seems everything still builds fine. Most problematic could be
  the OpenHashTable.h at kernel/util, but it seems it the target using
  that are not affected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 16:28:34 +00:00
Stephan Aßmus
d22f48c908 * fix the build of the app_server test environment (libbe_test) after
the change to the nodemonitor syscall


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 16:23:49 +00:00
Ingo Weinhold
9e12e9a72e * Added mapping of dup() in the FS shell.
* Adjusted the FS initialize() hook to have FD and partition_id
  parameters like the other hooks instead of the partition path.
* Adjusted initialization in BFS accordingly.
* Implemented the FS initialization method in KFileSystem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-02 12:43:49 +00:00
Axel Dörfler
edb15b5565 bonefish+axeld:
* Simplified the notification framework: removed the updater stuff completely;
  it was only there to account for some peculiarities of the node monitor which
  we now solved differently.
* NotificationListener no longer includes a doubly linked list link for convenience;
  it might want to listen to more than just one service.
* NotificationService cannot have an abstract destructor.
* Changed the _user_stop_watching() syscall to mirror the Be API; ie. it's no
  longer possible to just remove some flags separately, just to stop listening
  completely.
* Adapted the node monitor implementation to live in the NodeMonitorService class
  that uses the new notification framework.
* Removed the public kernel node monitor API - it wasn't useful that way since you
  couldn't do a lot with the KMessage in the kernel without using a private API.
  Now you will have to use the (private) notification manager to use the node monitor
  from inside the kernel. At a later point, we might introduce a public API for that,
  too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21780 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-01 14:48:44 +00:00
Axel Dörfler
c7f1e4bda3 Sorry, the previous patch for WindowAt() by Váradi Zsolt Gyula was broken as well.
This change now actually fixes its logic; thanks for the hint, though :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21777 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-31 21:50:28 +00:00
Jérôme Duval
c10776a209 applied patch from Váradi Zsolt Gyula: fixes People's (#1308) and Launchbox's closing problem. Thanks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21776 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-31 20:56:31 +00:00
Axel Dörfler
2851dbad53 * Moved Referenceable.cpp to src/kits/support (private libbe API), and its header to
private/shared.
* Made AddReference() and CountReferences() inlines.
* The registrar is now using the private Referenceable version in libbe.so.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21767 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-31 16:20:37 +00:00
Axel Dörfler
2ae1709efb Fixed the date string to comply to RFC 2822 - apparently, the timezone must not be given
as a string anymore (it's deprecated). That at least allows mmlr's internet provider to
recognize mails as valid mails rather than spam.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-31 15:12:50 +00:00
Michael Pfeiffer
dc5219b081 Added sanity check to public method. Set offset to first page in header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21754 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 18:19:56 +00:00
Stefano Ceccherini
60be800755 Added a wrapper method to instantiate_object(), where we catch any
possible exception thrown from the constructor called by the function 
itself, for safety. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 14:21:41 +00:00
Stefano Ceccherini
685271a77a Better error messages
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 12:56:22 +00:00
Stefano Ceccherini
948b80756a Initialize the string, so we don't get garbage in case of problems in
getting the name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21744 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-30 10:26:24 +00:00
Michael Pfeiffer
d4fd997069 Do not overwrite current printer name. Name should be provided by print_server already.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-29 08:59:46 +00:00
Ingo Weinhold
04ed91ac9c Added copy constructor and assignment operator.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21729 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-28 14:56:02 +00:00
Ingo Weinhold
619c170539 Some documentation. Courtesy of Jan Matejek.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-27 17:05:45 +00:00
Axel Dörfler
74f09960d2 Forgot to remove some debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-27 02:47:22 +00:00
Axel Dörfler
74c0424a43 * Added a mechanism to retrieve a BMessage with eventual error descriptions
for _kern_load_image().
* Added KMessage to the runtime_loader (a bit hacky, though) - it will use
  it to deliver the above mentioned functionality.
* load_dependencies() did return the wrong status code in case a library
  was missing; now it returns B_MISSING_LIBRARY.
* load_dependencies() will now try to load all dependencies when a report
  message is requested; therefore, all missing libraries are listed.
* Renamed uspace_program_args to user_space_program_args.
* The kernel filled in various members of the user_space_program_args structure
  unsafely, ie. was not using user_memcpy().
* Renamed some local variables in team.c to better fit our style guide (ie.
  uargs to userArgs).
* Changed Tracker to use the new _kern_load_image() variant on Haiku to retrieve
  and report all missing libraries. This fixes bug #1324.
* Adapted kernel_cpp.cpp to the runtime loader as well; the latter will now
  compile with _LOADER_MODE defined.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-27 02:32:19 +00:00
Axel Dörfler
67aa3b3eb0 The "Delete" item in the Trash is not really needed - but was pretty close to "Restore"; I've removed it for safety.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21713 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-27 02:12:23 +00:00
Stephan Aßmus
d069bd6917 * small correction in error handling code path
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21684 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 19:33:08 +00:00
Stephan Aßmus
6f867cc1de * rearranged includes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-22 19:29:56 +00:00
Axel Dörfler
95163879aa The AutoMounter now also compiles for Haiku again, sorry!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 18:14:38 +00:00
Stephan Aßmus
ed2254308b * just realized a bug already when reading over the commit log...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21666 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 17:16:54 +00:00
Stephan Aßmus
582da17386 * complete reimplementation of BRegion and it's backend
I "ported" the region implementation from XOrg to work on BRegion data.

This resulted in pretty much the same code structure as before, with 
RegionSupport.cpp containing the messy details. Only now it _is_ really messy
from a code beauty point of view. I didn't exactly feel like cleaning it
up right now... but I guess I will have to.

So what does this mean - our BRegion implementation was very slow (no offense!),
and on top of that it scaled very badly with more and more rects. The new
implementation seems to be on par with the very fast R5 implementation and
the data looks exactly the same too. BRegion is very performance critical
for the app_server, and I cannot wait to try this on my slow computer...

Some changes are noteworthy: The right and bottom coordinates of
BRegion internal data are now exclusive! I inherited that from the
XOrg implementation and didn't feel like changing the code, seeing it
is probably tested quite well. The conversion is handled transparently.

Secondly, constructing a BRegion with just one rect is not invoking
malloc anymore for the member data, this makes it much more efficient
to use temporary BRegions with just one rect, both externally and internally
in the BRegion implementation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 17:06:28 +00:00
Axel Dörfler
c16182bfe8 Tracker now also restores the previously opened windows from volumes that were
mounted later by the AutoMounter's initial mounting loop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21653 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-19 12:52:50 +00:00
Stephan Aßmus
67f3be42b0 * added ProfileMessageSupport.h/cpp to translate server message codes to
a string
* fixed profiling of message processsing in ServerWindow (didn't take batch
  processing into account)
* accelerated ViewLayer::RebuildClipping() by a factor of two by avoiding
  BRegion::Exclude(clipping_rect) for each child, and instead building
  one region with all children, and excluding that. RebuildClipping() is
  quite a common operation and is quite slow for views with many children


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-18 12:59:05 +00:00
Stephan Aßmus
c65e90b36c * fixed build of libbe_haiku.so on BONE compatible hosts
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-17 19:54:38 +00:00
Jérôme Duval
0de9b61d51 updated mesa to 7.0
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-15 22:28:49 +00:00
Marcus Overhagen
c41c3f9bca gcc4 compile fix, but C++ predicates are ugly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:36:11 +00:00
Marcus Overhagen
896aa538d4 gcc4 fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-07 00:02:12 +00:00
Axel Dörfler
d2d753669d * Renamed "EFI GUID Partition Table" to "EFI GUID Partition Map" to be consistent
with the other partition types.
* Added kPartitionTypeEFI to the constants.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 19:41:47 +00:00
Stefano Ceccherini
58acd5acb8 added default clause to the switch statement. This fixes a memory corruption bug in case the caller supplied an invalid value. Now we use B_TRUNCATE_MIDDLE in that case. Found by Andrea Anzani
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-05 09:01:54 +00:00
Stefano Ceccherini
99584ef9a2 Added _Show/_HideCaret() and used them in place of more bug-prone code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-04 20:20:09 +00:00
Axel Dörfler
2702a877ac * Added a work-around if the file to be watched does actually exist when starting
to watch it.
* Now adds the path to be watched to the update message (not the path of the
  file that actually changed, though).
* Made debug output conditionally compiled in when TRACE_PATH_MONITOR is defined.
* Added PathMonitor.cpp to libbe.so


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-04 18:48:16 +00:00
Ingo Weinhold
ccaa095f9c <malloc.h> ain't a standard header. Should fix the build on platforms that
don't have it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-03 14:17:03 +00:00
Axel Dörfler
fe1885f283 Fixed a stupid copy&paste bug; one version of Translate() did not lock the private
translator handle - and therefore ran into a debugger call. Was triggered by
WonderBrush's export function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-01 15:51:42 +00:00
Stephan Aßmus
7a90948b20 * this should fix BWindow::FindChild(BPoint)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-07-01 14:57:41 +00:00
Michael Lotz
5dc45eb4fe * Unified handling of different BMessage formats into MessageAdapter.cpp
* Removed r5_message.cpp and dano_message.cpp accordingly
* Also moved out KMessage handling from Message.cpp to MessageAdapter.cpp
* Fixed some minor style issues in Message.cpp

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-27 20:22:53 +00:00
Axel Dörfler
c5812d39a5 * no longer reschedule after releasing the bits lock.
* LockBits() now fails with B_BUSY in case the current buffer is NULL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-27 12:10:46 +00:00
Stefano Ceccherini
c57ff65839 Avoid scrolling vertically if scrolling area is outside the text rect. Pin parameters in Select() before doing other checks on them (reported by Marc Flerackers)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21511 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-27 10:43:48 +00:00
Axel Dörfler
d56eb9cf5d * LockBits() now returns B_OK for non-overlay bitmaps, as that makes much more sense.
* Added TODO about the possible use of the state parameter (would be nice to be compatible
  with R5 here, of course).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-26 23:20:44 +00:00
Axel Dörfler
eeb608e1c7 * StringFromStream() did not work correctly for empty strings (messed up the stream
position).
* StringFromStream() called BString::LockBuffer() with "length", but touched "length + 1"
  bytes.
* Prepared for the new "display as" FileTypes feature.
* The "DefaultQueryTemplate" folder now adds the MIME type of the folder to the
  attribute menu for simplified editing (before, you had to move a file with a
  matching file type into that folder to be able to add the attributes you likely
  wanted to see).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-26 17:43:55 +00:00
Axel Dörfler
d2d8f91af5 Fixed copy&paste bug, thanks Stippi for noticing!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-25 23:48:47 +00:00
Axel Dörfler
b418398455 * Removed _GetWindowList()
* _WindowAt() and _CountWindows() now have an individual version of that
  code which should be magnitudes faster.
* _WindowQuitLoop() no longer handles hidden windows specially - instead,
  it now walks the window list in the correct direction which should fix
  the issues.
* Also, it now uses WindowAt() and thus has an up-to-date view of the
  window list (it will no longer ignore new windows).
* And finally, it will no longer dereference an unsafe pointer (for
  BWindow::IsFilePanel()).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-25 23:38:45 +00:00
Stephan Aßmus
82d0e2c2b5 * do not ask hidden windows if they want to quit (not to be confused with
minimized windows, those need to be asked of course)
* added some comments about why this code is a little flawed but works anyways

NOTE: I really wonder wether traversing the window list in reverse is correct


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-24 11:43:48 +00:00
Ingo Weinhold
ff39fef2a4 * ceilf() both font ascent and descent individually before adding them up to
compute the vertical space requirement of the label.
* Use a better algorithm for vertically aligning the label. The menu bar (or
item) seems to use another algorithm. So, ATM the label is not necessarily
aligned with the menu bar text.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-22 21:52:53 +00:00
Axel Dörfler
ca13bd31a7 * The Deskbar tray icon menu "Check Mail" and the status window "Check Now" button
are now only enabled if there are any inbound accounts.
* BMailSettings::StatusWindowFrame() now returns some useful defaults.
* Minor cleanup.
* The MDR kit needs some serious overhaul before it can be part of R1.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21493 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-22 00:15:17 +00:00
Stefano Ceccherini
cf76d671df I *think* I've fixed the problem of menu fields not being opened when
the user clicks on the part which has been resized...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21487 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 20:47:19 +00:00
Stefano Ceccherini
80d75f15df Fixed problems with try/catch, hopefully. Thanks Axel for pointing them
out.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 20:25:08 +00:00
Axel Dörfler
efd98f31b2 The "show shared volumes on Desktop" setting now defaults to true.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-21 12:29:48 +00:00
Jérôme Duval
bb36f69fd0 gPeriodicUpdatePoses is already declared extern in the header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-20 21:40:43 +00:00
Ingo Weinhold
b321303cf9 * Implemented Min/Max/PreferredSize().
* Reworked the internal layout. _ValidateLayoutData() computes and caches the
  layout related data and all other methods just use those values. Now, in
  layout-aware mode the class should properly work not only when using the
  layout items. And when using layout items, the class does actually do
  internal layout; it was basically good luck that it worked in the tests,
  before. Vertical resizing is supported, too. 
* We do a few mean tricks to get the probably mostly preferred layout behavior:
  By default our own explicit max width and that of the menu bar layout item is
  set to unlimited and the horizontal menu bar alignment to left aligned. This
  allows to horizontally resize a BMenuField beyond its preferred size,
  although both label and menu bar have a limited max width. The user can, of
  course, override those explicit sizes/alignments to get a different behavior,
  if desired.
* Fixed invalidation in SetDivider(). When having the focus, the left and top
  border of the blue frame were not invalidated.
* The label is no longer drawn at vertical position font ascent + descent
  + leading + 2 (not sure how this calculation was supposed to work), but
  vertically centers the label around the ascent. With big fonts the label is
  shown a bit too far to the bottom. Not sure how to fix this in a generic way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-19 23:38:00 +00:00
Ingo Weinhold
ec592aa9e5 Implement _BMCMenuBar_::MaxSize() to override BMenuBar::MaxSize() and limit
the maximum width. The latter supports unlimited maximum width. The
_BMCMenuBar_ draws fine when resized wider than its min/preferred width, but
not the complete "button" area will cause the menu to open when being pressed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-19 23:09:01 +00:00
Ingo Weinhold
23b9a91178 Also override MinSize() and PreferredSize().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-19 23:02:34 +00:00
Stephan Aßmus
45f929b494 * added BCommandPipe class (currently private API) kindly provided by
Ramshankar
* adopted to Haiku coding style


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-19 12:38:29 +00:00
Michael Lotz
687e327bac Reworked the handling of periodically updated poses (currently only ones with a volume space bar):
* Addad global list where poses that need periodic updates can be registered with a callback
* Use this mechanism for poses with a volume space bar
* Create only one BVolume when the BPose is created for a volume, instead of every time the free space is calculated
* On Pulse() the global list is used to update all of the registered periodic update poses
* As the poses know their volume, it is no longer necessary to use a BVolumeRoster to loop through each volume on each Pulse()
* Removed the now superfluous SendNotices() mechanism
* Removed corresponding watching / handling of these notices in BPoseView

The BPoseView did a linear search for each volume pose on each Pulse() before. What's more it did this once for each mounted volume as it did get one individual notice for each of them. To get these volumes a BVolumeRoster was used to loop through the volumes, but then the BPose did still create a new BVolume to actually calculate the free space! I'm surprised that it did not suck away more performance with this method...

Anyway, this should bring down BVolume construction and update overhead down to a minimum and hopefully fix ticket #1247.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-19 09:33:29 +00:00
Stefano Ceccherini
ffcd67bc82 moved duplicate code to a common location.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 14:30:56 +00:00
Stefano Ceccherini
ac2284ed8b Moved ZombieReplicantView.h to src/kits/interface
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:38:14 +00:00
Stefano Ceccherini
fab61b6237 Moved TextInput.h to src/kits/interface as it's only used there.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21455 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:31:46 +00:00
Stefano Ceccherini
a24a5156f9 splitted SetActiveState() into 2 methods, since it was very messy
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 13:15:58 +00:00
Stefano Ceccherini
99851ad6db free() the modelist as it's allocated using malloc. A forgotten printf -> fprintf. minor other stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21452 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 12:44:58 +00:00
Stefano Ceccherini
6a45488dd9 Used exceptions to handle errors on InitData(). I hope I didn't made
stupid errors, since I don't use exceptions usually. Feel free to beat 
me on this. Moved uninitialization to _DisposeData(). Corrected some 
styling issues pointed out by axel. Used fprintf instead of printf.
Turned off debugging.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21450 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-18 09:53:36 +00:00
Ingo Weinhold
baade5580e Typo. Fixes menus (bug #1276).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 13:24:42 +00:00
Ingo Weinhold
8000c5e973 * Added layout-friendly constructor.
* Fixed invalidation in FrameResized().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 01:17:49 +00:00
Ingo Weinhold
4fa167e12d * Added layout-related methods (Min/Max/PreferredSize(), InvalidateLayout(),
DoLayout()).
* Don't resize the view and the window anymore, when fResizeToFit is not
  set.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 01:15:05 +00:00
Ingo Weinhold
05e3a10655 Rather use B_SIZE_UNSET for fPreferredSize.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-17 01:11:08 +00:00
Ingo Weinhold
48295d4ba7 libshared.a doesn't deserve a src/ subdirectory. Moved to
src/kits/shared.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-15 18:32:50 +00:00
Stefano Ceccherini
f09ba8ea46 Call get_clone_info and get_clone_info_size instead of using the
driver's path. More correct. Now we could remove the app_server's 
command to retrieve the driver's path.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-14 10:25:14 +00:00
Stefano Ceccherini
cca1217c5b fixed the colors of the shift modifier bitmap to be consistent with the others. Actually, though, I'm not sure which one is better
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 14:47:33 +00:00
Stefano Ceccherini
20e85f1c09 Use BBitmap::ImportBits() to get rid of the padded bitmaps
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 14:35:36 +00:00
Stefano Ceccherini
af03527240 Changed the loop to compute the column layout: Now the space for
modifiers is added after we've calculated the maximum width. This way we 
don't get overlapping between the menu content and the modifiers bitmaps 
themselves. TBR.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 13:16:39 +00:00
Stefano Ceccherini
37ddfd14ab Shortcut characters are aligned even if there's a submenu, like
discussed in the thread in haiku-development. I added a fSubmenus member 
to BMenu, to be able to tell from BMenuItem if there are other items 
with a submenu (maintained in BMenuItem::SetSuper()). If you don't like 
this solution, let's just revert.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 12:28:06 +00:00
Stefano Ceccherini
fbe2f227ca Some work on menu layouts:
- Menus are generally a bit wider (BeIDE ones didn't look nice)
- The modifiers bitmap are drawn more centered vertically
- Splitted BMenu::ComputeLayout() into three methods
- Various minor changes.
The menuitems still don't look nice with bigger font sizes, but we'll 
try to fix this...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21394 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 09:10:08 +00:00
Ryan Leavengood
5a1210fbef Moved the BAboutWindow implementation to the shared source directory, which
despite being talked about repeatedly, does not currently exist.

Adding this required adding some new Jam rules to deal with this shared source
directory and headers. I had some fun figuring this out. Despite writing
articles about Jam in the Haiku newsletter a few years ago I still find Jam to
be a PITA at times.

But my solution seems to work pretty well. Basically you just call the rule
UseSharedSource and pass the name of the shared source file you want to use.
This rule sets up the header directories and the right Jam variables for the
source file. You then add the source file to the source list in the Application
rule like any other source file.

I also made the authors list sent to the about window constructor null
terminated instead of passing the size of the array, as suggested by Hugo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-12 03:54:07 +00:00
Ryan Leavengood
a8a83855b0 Initial implementation of the common BAboutWindow class. Of course I just
realized that calling it a window may not be strictly correct since it isn't a
decendent of BWindow, but just uses a BAlert. Oh well, it can be changed if
need be.

I'm also checking in the first use of it, in ShowImage. Since ShowImage can
still be compiled for R5 I've added a #ifdef around the new BAboutWindow
related code.

I'm open for suggestions for the interface for this class, well mostly the
constructor. I'm not a big fan of having to specify the number of authors.

For now I'm making the header private, but I don't think it would be a big deal
to expose it publically.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-11 00:14:32 +00:00
Ingo Weinhold
9eae7400a4 Implemented layout-friendly constructors. Also added MaxSize(), though it
only invokes the BView version. Didn't know what to do with MinSize() and
PreferredSize(). ATM they return fixed, hard-coded values. It might make
sense to compute something depending on the font size, for instance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-10 16:52:42 +00:00
Stephan Aßmus
8812976dce * implemented icon size and layout to depend on the system plain font size
(currently, a font size above 16pt will make the icon 64x64, TODO: some
  of the other insets could depend on that value too)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-09 11:37:13 +00:00
Ingo Weinhold
da3addea5f Removed incorrect parameter validation in ResizeBy(). Resizing a view to a
negative size is perfectly fine.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-09 11:21:17 +00:00
Ingo Weinhold
c594b2f5f2 Added layout-friendly constructors and implemented Min/Max/PreferredSize().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-09 10:52:36 +00:00
Ingo Weinhold
6bef4a07d6 * Added default value for message in two arguments constructor.
* Removed resizing to minimum height in layout-friendly constructors.
* Cache preferred size.
* Implemented all of Min/Max/PreferredSize().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-09 10:51:15 +00:00
Ingo Weinhold
a2c9eeee87 Added layout-friendly constructor.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-09 10:47:05 +00:00
Ingo Weinhold
caf8aba2c9 * Added layout-friendly constructors and implemented Min/Max/PreferredSize(),
and DoLayout(). When the B_SUPPORTS_LAYOUT view flag is set (as is by
  default when using one of the new constructors) the BBox completely manages
  one true child (the first child that is not the label view).
* Centralized the layout related computation in new method
  _ValidateLayoutData(). The computed infos are cached in a new private
  LayoutData structure.
* GetPreferredSize() was broken in several respects. It does now return the
  same result as PreferredSize(). If B_SUPPORTS_LAYOUT is not set, these are
  the sums of the insets induces by the frame and the label. I.e. those values
  can for instance be added to the child's preferred size to compute the
  preferred size of the compound.

Not sure, if the Haiku-only TopBorderOffset() and InnerFrame() functions still
make sense. With layout management they're actually superfluous.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-08 23:40:16 +00:00
Ingo Weinhold
d432839022 * Set the _RESIZE_MASK_ macro to 0xffff. It was the bitwise inverse of the
disjunction of all view flags before, and the new layout related flags were
  missing. I suppose there was not striking reason for previous method.
* Made InvalidateLayout() virtual. When implementing layout management
  directly in a derived class instead of a separate BLayout, one needs to
  override it to know when to discard cashed layout infos.
* Added a ResizeTo(BSize) method.
* Avoided ugly multi-line strings in PrintToStream().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-08 23:24:38 +00:00
Ingo Weinhold
dd5ac13b5f * Added FixSizeConstraints() functions, which adjust the elements of a (min,
max, preferred) size triple so that they are compatible with each other.
* Implemented AlignInFrame(BView*, BRect).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-08 23:14:48 +00:00
Jérôme Duval
428d4d161b updated mesa to 6.5.3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-08 23:00:44 +00:00
Stefano Ceccherini
77974ff171 some forgotten fVariable -> sVariable renaming
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-06 13:20:50 +00:00
Axel Dörfler
96726e7e24 * Applied Stefano's patch to fix bug #1241; BScrollBar::SetValue() did not work
correctly for out of bounds values.
* BView::ScrollBy() now limits itself to what eventually attached scroll bars allow;
  this fixes the problem Stefano was observing after having applied his patch.
* Reenabled the limit check in BScrollBar::SetProportion(); after the above fix, I
  could not see any misbehaviour of Tracker anymore; IOW Tracker did not rely on
  this before, it was just hiding another bug :)
* Minor cleanup in ScrollBar.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 23:58:21 +00:00
Axel Dörfler
021ebd611a Fixed a warning when compiling Tracker for BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 17:54:47 +00:00
Axel Dörfler
618b37dc46 Fixed various incorrect uses of the erase() method of several STL containers I introduced before. Thanks to Stefano for the hint!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 17:45:02 +00:00
Stefano Ceccherini
2f03d0e0ed Changed the loops in BHandler::_SendNotices() and ::_ValidateHandlers().
See also r20183.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 13:15:45 +00:00
Stefano Ceccherini
bfab6b7394 Added some code to fix bug #953. If the mouse moves a bit while the
buttons are down, the popup menu won't become sticky.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 13:05:14 +00:00
Stefano Ceccherini
059ca4bd97 Some other changes, make sure we delete all resources on destruction
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 12:10:44 +00:00
Jonas Sundström
75159db429 The menubar icon at the top-right of Tracker folder windows now uses the view color of its parent view. This fixes bug #551.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 12:09:44 +00:00
Stefano Ceccherini
cf5948ae6c BMenuFrame overlapped partially with a BMenuScroller. This fixes the
spurious lines drawn over the menu. Thanks to Stephan for making me 
notice this!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 11:50:15 +00:00
Stefano Ceccherini
3616859a05 Changed the interaction between BMenuFrame, BMenuScroller and
BMenuWindow. BMenuScroller now is just the scroller button, and it's a 
child of BMenuWindow. This simplifies attaching/detaching the 
scrollers, and it's also a bit cleaner. 
The lower scroller wasn't shown anymore for some reason, and this commit also fixes this problem.
A drawing bug shows up now, though: when scrolling the menu UP, some 
spurious lines are drawn over the menu. I wonder if this is an 
app_server bug or what.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-05 10:20:06 +00:00
Axel Dörfler
1e651d5b4f Modal windows no longer install the 'Q' shortcut anymore. This fixes bug #1256.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21311 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-03 20:33:56 +00:00
Axel Dörfler
288e17885a Implemented B_CLOSE_ON_ESCAPE as mentioned on the mailing list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-03 19:23:03 +00:00
Stephan Aßmus
0d9c65d558 * applied patch by Jonas Sundström, the draggable icon in the Find window
will be drawn with alpha channel


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21302 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-03 08:16:13 +00:00
Marcus Overhagen
9e448b6224 cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21299 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-02 23:16:54 +00:00
Marcus Overhagen
1d18292953 Moved creating and destroying of Reader and Decoder plugins into the PluginManager class.
Removed deferred initialization from BMediaDecoder. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-02 20:00:48 +00:00
Stephan Aßmus
b31d4c4373 * messed up the build... ICON->VICN
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-01 17:32:55 +00:00
Stephan Aßmus
df50d6f79d * added query, query-template, printer, generic printer, floppy and bookmark icons.
-> all done by zuMi sometimes with minor modifications by myself


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-06-01 16:28:39 +00:00
Ingo Weinhold
e200a8e9b9 Unknown variable referred to in DEBUG build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21263 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-28 15:23:03 +00:00
Ingo Weinhold
93c4bf98f1 Reverted r21191. The one who calls BView::SetFont() is responsible for
also calling InvalidateLayout() and Invalidate(), if necessary.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-27 15:02:05 +00:00
Stephan Aßmus
8127593e85 * implemented loading and displaying of vector icons for
the alert bitmaps
* a little clean up



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21236 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-25 08:06:35 +00:00
Hugo Santos
77bf99deb0 fixed the way accept() works in regards to the cookie pointer. It is no longer visible to userspace, we pass the fd instead. Also renamed kernel's shutdown() to system_shutdown as it collides with Posix's shutdown().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 19:56:40 +00:00
Jérôme Duval
14e3d1b576 don't try to stop a non inited BFileGameSound
now stops BFileGameSound at the end of the track if not looping
GameSoundDevice now checks the sound_id is valid
added a header include in GSUtility.h 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 19:40:57 +00:00
Jérôme Duval
80856c970f fixed typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 19:37:11 +00:00
Stefano Ceccherini
1a2a0e07c6 Check scrolling against text rect limits. Fixes bug 1240 (and maybe 1241
too)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-22 14:13:08 +00:00
Ingo Weinhold
f856bb2838 Invalidate layout, when the font changes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-21 17:45:58 +00:00
Axel Dörfler
66eba86f4b * Applied patch by Jonas Sundstrom: fixed the usage of B_UTF8_ELLIPSIS hopefully
everywhere in the tree.
* Added the ellipsis to "About Haiku" in Deskbar as well.
* Minor cleanup of Deskbar's StatusView.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21156 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 16:34:09 +00:00
Axel Dörfler
da7c734d5c Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21155 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 15:50:04 +00:00
Axel Dörfler
5d2e4044c7 * All functions returning a message will now return an empty message in case there is
none yet, instead of returning an error.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 10:07:21 +00:00