Commit Graph

3981 Commits

Author SHA1 Message Date
Rene Gollent
fe83a98715 Remove unneeded header.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 21:33:13 +00:00
Rene Gollent
0c8bdbafd5 Revamp BList somewhat to further optimize the resizing behavior.
We now keep track of a lower bound as to when the list should scale
itself back down. When increasing the list size, we double the current,
with the lower bound set to 1/4 of the current size, not allowing it to
go any smaller than the block size. These combined allow us to do very
cheap tests to see if an operation requires a resize at all, and minimize
how often the list actually needs to be resized, since the difference in upper
and lower bounds prevents bouncing back and forth between a size in the case
of adding/removing an item while close to a boundary. All in all this should
make BList noticably more scalable when doing large numbers of add/remove
operations.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 21:30:28 +00:00
Oliver Ruiz Dorantes
350458a6ba - Add PinCode command replies
- Add CancelInquiry command


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25942 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 19:18:32 +00:00
Alexandre Deckner
491a329330 - AddPoses didn't check for the ShowDiskIcon() option when deciding to AddRootPoses.
When changing to icon mode with a size other than 32 (ie: kScaleIconMode) PoseView calls Refresh() and all the poses are 
removed and loaded again (PoseView.cpp line 1995). This called AddPoses but didn't check for ShowDiskIcon(). The Disks icon 
was shown on startup though, since Tracker uses another code path when starting (caching?).

  This fixes #1833.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-12 18:22:27 +00:00
Alexandre Deckner
82adcce2b7 - BView::MoveBy was letting BView::MoveTo do the rounding after adding
the delta.
  For example, MoveBy(-0.5, 0.0) would do nothing in this case: 
roundf(150.0 - 0.5) = 150.0, when rounding the delta it gives the 
expected value: roundf(150.0 + roundf(-0.5)) = 149. 

  On the other hand, BView::ResizeBy was doing it right, and this 
explains the bug in Cortex (#333). Cortex was doing 
scrollBar->MoveBy(-0.5,0) then scrollBar->ResizeBy(0.5,0) and the 
inconsistency lead to the visual bug. (see StatusView::MouseMoved())

  This fixes #333. The bug was strange to reproduce since sometimes the 
point received in MouseMoved would be "some_integer+0.5" values 
sometimes just integral. This has still to be investigated though not 
problematic here anymore. See cortex/RouteApp/StatusView.cpp line 222.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25930 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 19:43:36 +00:00
Rene Gollent
819eb21bbf Remove (invalid) TODO note. Rename variable more meaningfully. Remove stray whitespace that crept into previous commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25927 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 14:29:59 +00:00
Alexandre Deckner
abe0b5c858 - MakeViewFor didn't return a view with a good default size when no hintRect was provided (as
in Cortex). This happened only when needing a tabbed view. It will now return a view with the 
most fitting size. This fixes #597



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25923 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 01:47:49 +00:00
François Revol
f57b802a6e Debugger stubs for m68k.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 01:26:02 +00:00
Rene Gollent
34380ac48c Tracked down issue with previous commit. For some reason, modifying the passed in parameter's value directly results in a segfault in registrar, and I cannot see why. Thoughts?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25920 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 00:32:48 +00:00
Rene Gollent
22aef42481 Revert this change until I determine why it now crashes the app_server when it didn't during my tests.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 23:25:33 +00:00
Rene Gollent
864ace1845 Rework BList's Resize() functionality: instead of altering the size of the list a block at a time,
we now double/halve the current size of the list, starting with the constructor blocksize as a baseline.
This has the net effect that when doing large numbers of inserts/removes, the number of resize operations 
needed scales logarithmically to the number of operations, which should yield a decent performance 
improvement in such cases.

Review welcome. This does not yet affect ticket #2363 that I'm aware of, as I'm currently in the process
of attempting to find a copy of said app to test with.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25916 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 22:10:13 +00:00
Karsten Heimrich
e8991ce3ac * fill the view with it's high color, BPrintJob behaves now like on R5
fixes printing from e.g Scooby (missing header color)

  finally found the missing peace here:
  http://www.freelists.org/archives/haiku-development/06-2008/msg00086.html
  thanks Stephan  :)



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 18:42:47 +00:00
Alexandre Deckner
6d4ab8b00e - The bug in Tracker (previous commit) uncovered a bug in BScrollBar's thumb positioning. The + 1.0 was well intented and produced the right effect unless fMax-fMin was too close to 1.0. It could
leave a unusable gap on the right (or down) of the thumb.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25897 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 00:53:16 +00:00
Alexandre Deckner
ed27e7aef6 - Scrollbar proportions computation was wrong in icon mode. The problem showed when a folder contained few icons regrouped in a small area (Extent() smaller than Bounds()). The viewable extent is
always Bounds() now.

 This fixes #361, again we're better than R5! Although in this test case, the scrollbars shouldn't be activated in the first place. In icon mode the poseview is still putting too much white space on 
the left (x<0) and make the scrollbars show. Fix is almost ready :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 00:52:01 +00:00
François Revol
9c1328f0a2 gcc4 fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25883 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-09 18:08:24 +00:00
Stephan Aßmus
80f4a4f272 The given updateRect in screen coords (_Draw()/_DrawAfterChildren()) should
no longer extend outside the view after r25879.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-09 16:09:20 +00:00
Stephan Aßmus
581e67867c * Change the protocol for sending the affected view tokens during an update
session to also include each view's individual update rect (in screen coords).
  Should actually not be mush slower than the old version, and hopefully makes
  it possible to have smarter BView::Draw() implementations which should make
  more than up for any potential speed loss.
* Removed unused version of View::AddTokensForViewsInRegion().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-09 16:07:18 +00:00
Ingo Weinhold
258fd455bc Also do fast mouse wheel scrolling when Command or Control is pressed
(was Option only).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-08 23:47:32 +00:00
Jérôme Duval
631d09ac07 gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-08 16:32:07 +00:00
Fredrik Modeen
1ac8a0b5cb Added some part from BSerialPort and some missing things R5 Joystick Pref app reports as missing, with this R5 Joystick Pref App starts in Haiku
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-08 15:42:29 +00:00
Rene Gollent
ef83ae3e0b Remove BOutlineListView's home-brew quicksort implementation in favor of a comparator that hooks into the STL's sort algorithm as suggested by Ingo. Tested and seems to work nicely.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25848 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 16:14:30 +00:00
Stephan Aßmus
636427b614 Axel!! Since _Thursday_ I am trying to track this down. "MediaPlayer wouldn't
play any more clips." Of course I was searching in my own commits. In the
end, I resorted to binary searching revisions for when this broke. Turns out
it is your change r25793/r25794, in which you forgot to attach the colorspace
to the app_server message. Which of course makes it lock up. Another of those
instances where you think passing data structures between client and app_server
instead of this "protocol" would be the better idea...

* Fixed bitmaps_support_space() retrieving the currently supported overlay
flags for a given color space. This makes MediaPlayer play files again, the
media node connection would time out because of the broken app_server
communication. (I have not tested this change yet, but I will in a minute, on
a different computer.)
* Also retrieve the overlay supported flag for YCbCr colorspaces.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 15:14:00 +00:00
Stephan Aßmus
cf7e57ef10 Small coding style fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 12:39:56 +00:00
Rene Gollent
fed7414a59 A view shouldn't be able to RemoveChild a view that it isn't in fact the parent of.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-07 07:10:08 +00:00
Rene Gollent
bf319ba31d Remove stray debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 21:03:37 +00:00
Rene Gollent
e90b17a854 Fix logic bug in quick sort routine. This would result in infinite recursion such as that in bug #2343.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 21:01:51 +00:00
Rene Gollent
642695c2fe Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 15:27:28 +00:00
Stephan Aßmus
ae4ebbcca6 * Use NULL instead of 0 for some pointer initializations.
* Slightly more debug output for failed atempts to create a decoder.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25825 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 13:07:02 +00:00
Axel Dörfler
6ec21b4ad3 * Implemented retrieving additional bitmap support flags by the app_server.
* Added B_BITMAPS_SUPPORT_OVERLAY flag to indicate overlay support for the
  color space.
* Rewrote GraphicsDefs.h - the previous one was obvious a copy of the Be header,
  including typos and strange white space. I was a bit lazy with respect to
  the color space details, and mostly trusted the information provided by the
  Be header else.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25793 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 17:44:46 +00:00
Stephan Aßmus
bddb4413d7 Do not remove the plugin from the list if the ref count has not reached
zero, otherwise we leak these plugins, since the ref counting is based
on the plugin still being in the list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 17:09:13 +00:00
Stephan Aßmus
cc4ed3f7e7 Honor the 80 char per line limit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25791 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 17:07:47 +00:00
Karsten Heimrich
15c0cece2b * don't print child views with invalid rect, this makes printing e.g.
from Scooby nearly the same as on R5 (still misses the gray header color)
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 20:21:40 +00:00
Stephan Aßmus
3dd59121c4 Resolved TODO and set the flags for the kind of additional
bitmap support (bitmaps support child views or BViews can
draw them)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-02 18:18:56 +00:00
Axel Dörfler
9abdb2222c * PoseView waited for 200 ms after a B_META_MIME_CHANGED message was evaluated
to give other windows the opportunity to mark the icon invalid before
  recaching it.
* Since we currently update all app MIME types on first boot, over 400 messages
  are generated, so that delay easily caused the message queue to get full.
* I've now reduced the wait to 10 ms, and also call BWindow::UpdateIfNeeded()
  afterwards, which empties the message port, too. This fixes bug #2212.
* Note though, this should be handled completely different to make it really
  work right.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25719 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-30 09:10:53 +00:00
Axel Dörfler
873066a8e1 A bit of cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-30 09:07:06 +00:00
François Revol
e26120ae27 Add char * version of ReadFrames, for compatibility with some R5 games.
Patch by genki0. I didn't see any reason not to commit it, so...
This should fix #897.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25656 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-25 21:45:32 +00:00
Ingo Weinhold
d2e55e94c0 Memory leak in error case. CID 807.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-24 16:23:22 +00:00
Oliver Ruiz Dorantes
fd585f3c8b Implement/stub the mandatory parent methods from the BluetoothDevice Class
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25595 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-21 21:55:30 +00:00
Karsten Heimrich
75ef87aeb5 * make printing for child views working, noticed while trying to print
from Scooby, it would draw all child views on top of each other...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-20 20:39:47 +00:00
Rene Gollent
087592136a Moved scroll implementation from ScrollBy into ScrollTo and made ScrollBy simply wrap a call to the former. This
guarantees that the virtual hook is called in all cases, and fixes bugs 1252 and 1838.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25559 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-19 00:16:49 +00:00
Stephan Aßmus
91af9113d6 The compiler warns, and it is correct - DPMSState() and DPMSCapabilities
are supposed to return flags, and not a status_t.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-17 16:50:29 +00:00
Jérôme Duval
4c1f76cbf4 Patch from Shinta: don't send B_INPUT_METHOD_STOPPED when IM is not active
fix bug #2220


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-15 23:37:34 +00:00
Stephan Aßmus
01c52d4f9c Print the error message to stdout, since that is where the
message->PrintToStream() output goes. Thanks, Jerome, for the suggestion!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 20:33:53 +00:00
Stephan Aßmus
1781abf702 Print and error and the message in case _ArgvReceived() fails to parse the
message correctly, it is a bit strange why the message should not follow
protocol.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 20:12:57 +00:00
Axel Dörfler
32f1d45867 * Reworked James Woodcock/stippi's patch a bit: since the remaining entries
are NULL pointers anyway, we just adjust argc.
* Made argv processing more safe, it will now check if the allocation of the
  argv array succeeded in the first place.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 19:57:12 +00:00
Stephan Aßmus
9765d74881 Just spotted a mistake in my previous commit... and while I am at it, I can
properly credit James Woodcock, who debugged this problem and whom I forgot
to mention in my previous commit. Sorry!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 19:51:36 +00:00
Stephan Aßmus
e5aa9e13f4 If an error happens during extraction of the argument vectors in
_ArgvReceived(), the array elements still need to be set to NULL otherwise
the function will free() random pointers at the end.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25494 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 19:44:47 +00:00
Stephan Aßmus
fe76020396 GetDiskSystem() is supposed to find the system by name, it should not influence
the internal enumaration for GetNextDiskSystem(). The compiler spotted that
one actually... :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 15:47:22 +00:00
Ingo Weinhold
07ddcd64cf * Renamed libnetapi to libbnetapi. Create a symlink in the image.
* Extended R5 compatibility check to also consider calls from
  libbnetapi.
* Fixed incorrect R5 compatibility check in BNetEndpoint constructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 13:49:48 +00:00
Ingo Weinhold
6b202f4e3d * Introduced new header directory headers/private/system which is supposed
to contain headers shared by kernel and userland (mainly libroot).
* Moved quite a few private kernel headers to the new location. Split
  several kernel headers into a shared part and one that is still kernel
  private. Adjusted all affected Jamfiles and source in the standard x86
  build accordingly. The build for other architectures and for test code
  may be broken.
* Quite a bit of userland code still includes private kernel headers.
  Mostly those are <util/*> headers. The ones that aren't strictly
  kernel-only should be moved to some other place (maybe
  headers/private/shared/util).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-14 03:55:16 +00:00
Ingo Weinhold
9b4fea7ee7 * Made libnetapi a separate library again.
* The built-in services are no longer added as resource to libnetwork,
  but as attribute. This removes the libbe dependency.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-13 23:41:09 +00:00
Rene Gollent
8814495410 GCC4 fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25471 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-12 16:05:53 +00:00
Stefano Ceccherini
e2fe7e2fe0 Removed PortQueue since it's not used. Small style (old) changes here
and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-12 13:27:56 +00:00
Jérôme Duval
f61b0e49e0 Patch from Kaoutsis: replace hard coded path with find_directory(B_BEOS_ETC_DIRECTORY, ...)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-12 10:02:48 +00:00
Axel Dörfler
1da9f5cea5 * Added BDiskSystem::ShortName() and everything needed to get it there.
* Added BDiskDeviceRoster::GetDiskSystem() method, that can get a disk system
  by short/pretty/module name - since they should all be unique, I put them
  in a single namespace, please complain if you don't like that :-)
* Cleaned up DiskSystem.h and DiskDeviceRoster.h according to the updated
  header guidelines.
* Renamed ntfs pretty name from "ntfs File System" to "Windows NT File System".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-10 11:44:00 +00:00
Jérôme Duval
cf1c322756 use find_directory() instead of /boot/home/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-08 13:10:09 +00:00
François Revol
8e3f5e8959 Make the BString& version of SetTo() behave like BeOS, that length < 0 is means "until the end". This makes CopyInto() acting alike too. Note the char * version crashes in BeOS, instead we act like the other version for consistency.
There are many other calls that crash in BeOS when called with invalid args, should we attempt to sanitize them or call debugger() instead ?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-08 12:56:55 +00:00
Maurice Kalinowski
8b1e3b1af8 - Implemented MediaExtractor::Copyright, which just calls the instantiated reader
- Implemented BMediaFile::Copyright, which just calls Copyright() of the extractor. So this is just a simple pass through.
- Style cleanup (mostly whitespaces)

Problem is that our readers currently return the copyright of the source code, not the copyright of the MediaFile itself, like the BeBook documents. Thus, we might need to change all readers to return appropiate data or behave differently for Haiku readers.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-07 21:09:56 +00:00
Stephan Aßmus
bd78dbf81c Fixed bad text antialiasing against the colored background used for input
methods. Fixes #2209.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-07 15:38:09 +00:00
Jérôme Duval
7a58a3ed3d we honor safe modes for GL addons too. maybe this should end somewhere in libbe and a userland safemode.h
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-06 21:58:07 +00:00
Jérôme Duval
5abf416fd0 B_SAFEMODE_DISABLE_USER_ADD_ONS is also a safe mode we now honor in translation kit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-06 21:39:31 +00:00
Ingo Weinhold
26791a6b96 Changed the semantics of create_app_meta_mime(): Like update_mime_info()
it does now accept directories and doesn't ignore the "recursive"
parameter anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25308 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-04 13:01:11 +00:00
Ryan Leavengood
6aede71c0c Resolve a TODO and fix another ancient bug, #386. Print Screen is now handled
by BWindow, no longer by the app_server. This should stop the "screen freeze"
effect.

This adds a dependency on libpng.so and libz.so to libbe.so. The same
dependencies and the PNGDump code added here can be removed from the
app_server. I am just waiting for a code review of this before doing that.

This implementation still does not give the client a chance to handle it
differently.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-30 02:55:15 +00:00
Jérôme Duval
e6b421a98e fix misuse of ... with B_UTF8_ELLIPSIS
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25261 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-29 21:48:36 +00:00
Stephan Aßmus
f466d35d9c Rewrote parts related to drawing the labels. The order of drawing happens as
this (seems to be what R5 BStatusBar does):
* combine the "trailing text" with the "trailing label" and truncate the
  resulting string on the left side according to the width of the entire
  control
* combine the "label" with the "text" and truncate that on the right side
  according to the space left by the right hand text.

-> No more overlaps (theoretically, in practise there are still overlaps
  because our BFont::TruncateString() does not respect the width in some
  situations.)

* Changed _SetTextData() accordingly, it is not used anymore for the
  label and trailing label, and could therefor be simplified a little.
* fixed _BarFrame() to not return fractional coords, which could sometimes
  leave a dirty line of pixels.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25244 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-29 12:42:10 +00:00
Jérôme Duval
a1a5f1241f only set shear and rotation with valid values
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25220 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-27 18:35:59 +00:00
Ingo Weinhold
6bf15ffcdc * Changed macros that enable tracing for individual components from
defined/undefined to numeric values (0 for undefined). This allows for
  trace levels.
* Set SYSCALL_TRACING_IGNORE_KTRACE_OUTPUT default to 1, since this is
  what one usually wants.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-27 14:24:18 +00:00
Jérôme Duval
5975ad0cfc if no menubar is found in the archive, recreate one to avoid crashing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25212 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-27 14:18:39 +00:00
Stephan Aßmus
df5030c7e3 * Include KMessage in libbe_haiku.so again.
* Export a fake _get_port_message_info_etc() for KMessage in libbe_haiku.so

This fixes the build of the app_server test environment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25202 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-26 21:57:22 +00:00
Jérôme Duval
e8bc20e263 updated mesa to 7.0.3
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-26 16:33:15 +00:00
Axel Dörfler
13bbfe422b * validate_instantiation() also needs to add the BPrivate namespace in case
it couldn't find the class on first try. This fixes the problems mentioned
  by Shinta as part of bug #2086.
* Got rid of GetNumber() - there is a POSIX function strtoul() for exactly
  this purpose.
* demangle_class_name() can now fail.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-26 14:28:16 +00:00
Jérôme Duval
fc1ca2da5c style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25177 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-26 12:16:53 +00:00
Jérôme Duval
d6e065401f style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25175 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-26 11:41:05 +00:00
Jérôme Duval
3bfa2d1223 style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25174 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-26 11:33:08 +00:00
Jérôme Duval
a74d92608d style cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25173 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-26 11:31:00 +00:00
Jérôme Duval
2ad7bf44d0 Patch from Shinta, this fixes bug #2097. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25172 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-26 11:13:53 +00:00
Bruno G. Albuquerque
d81dcabe8e FS gurus, please review.
- get_new_fd() now checks if we are dealing with attributes before deciding to
  bail out on a locked vnode.
- Enabled locking in MailSettings again as it now works.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25162 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 19:45:40 +00:00
Bruno G. Albuquerque
68d6c8f169 - Remove directory locking for Chain creation until BNode::Lock() is fixed.
- Creating 2 chains at the same time will result in problems now, but this is
  something unlikelly to happen (although not impossible).
- Added TODOs related to this.
- MDR is usable again inside Haiku and you can actually send emails when
  creating a mixed inbound/outbound account.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25160 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 15:58:44 +00:00
Bruno G. Albuquerque
3dd2f0667e Shame on me. The node is actually unlocked in close_fd().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 15:33:35 +00:00
Bruno G. Albuquerque
8ce1d51721 From the BeBook:
Node Locking

Another feature provided by the BNode class is "node locking": Through BNode's
Lock() function you can restrict access to the node. The lock is removed when
Unlock() is called, or when the BNode object is deleted.

There is still something wrong with locking though. For example, it looks like
WriteAttr() fails on the node when we lock it (File Busy) but it should not.
The lock acquirer should be able to call WriteAttr() on it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 14:50:57 +00:00
Stephan Aßmus
d092f4d8df Appearently, PopState() should flush right a way if not in a transaction,
or else the server will keep working with the state and especially a clipping
region which should not be effective anymore. This fixes one problem I could
observe with my test app.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25154 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 11:10:08 +00:00
Stephan Aßmus
a49de3208c Reordered methods a bit. SetOrigin() and so on is state related. PopState()
PushState() should be at the top of the state related methods.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25153 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 11:07:51 +00:00
Stephan Aßmus
ee7cf06d20 * Added link flushing where the change is supposed to happen as soon as
possible on the server side (for example Show() and Hide() need to be
  immediate). But also SetViewColor() and a few others. This fixes the
  bug encountered in Pairs.
* Removed NOTE in DrawAfterChildren(), since it was outdated.
* Corrected a typo in a comment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25145 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-25 10:00:37 +00:00
Axel Dörfler
89eb861a3e * Large cleanup. Removed inconsistent usage of errno in instantiate_object();
instead, it will now use the image_id parameter to store errors in.
* find_instantiation_func() and validate_instantiation() will no longer
  overwrite errno with B_OK.
* Made private functions static, and moved them to the top.
* If the class name starts with '_', it will now try to add a BPrivate namespace
  in case it could not find the class. This should help with the compatibility
  issues Shinta reported (also part of ticket #2086).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25124 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-24 09:56:03 +00:00
Axel Dörfler
991c062ff3 * Made the archive version of BTextControl::_InitData() more resistant against
a broken archive - it will now create a new _BTextInput_ child, if it couldn't
  find one. This fixes #2086.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25123 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-24 09:52:27 +00:00
Rene Gollent
291b899af6 When saving its state, BShelf was erroneously saving the BMessage
given to it when the replicant was first added. This had the net 
effect that any on the fly changes such as the color drops allowed
by the Activity Monitor replicant were discarded. Fixed.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25113 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-22 22:44:40 +00:00
Jérôme Duval
9fdd497614 * typo in Control
* layout the view even in the case of an unarchived one
* this should finally fix #2121


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25106 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-22 21:26:10 +00:00
Axel Dörfler
cd81456e14 Just a minor bug that caught my attention while glancing at the code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-22 19:55:33 +00:00
Jérôme Duval
d5b26be18c restores the text controls before using SetValue() since this one uses them
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25103 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-22 19:13:00 +00:00
Ingo Weinhold
0970b97bed Added support_kit_config.h configuration header. ATM it only contains a
setting to force BLockers to be semaphore style. This may help with
debugging deadlocks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-22 15:04:01 +00:00
Jérôme Duval
157c0ced17 don't try to archive BHandler::fName when it is null
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-21 20:52:00 +00:00
Axel Dörfler
f4103e2b13 Reverted r25084, and fixed bug #1762 again as suggested by Korli on the mailing
list.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25091 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-20 21:22:16 +00:00
Jérôme Duval
c4157c8ddb as noticed by Axel, InitObject is also used by other constructors: we init fStyle in the BArchive constructor instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-20 17:47:11 +00:00
Jérôme Duval
727f8f30c8 _QuitAllWindows()) calls _WindowQuitLoop() twice but we don't want to check two times a window (hence the use of the xor operator)
this fixes bug #1762 (Installer: trying to close it via alt+q shows warning twice)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-20 16:47:30 +00:00
Jérôme Duval
3d9c0d7c37 Patch from Shinta: fStyle defaults to B_FANCY_BORDER
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-20 16:04:45 +00:00
François Revol
e33471b4e2 This should fix building libnetwork.so, we don't have the net_api header anymore.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-19 23:49:17 +00:00
Oliver Ruiz Dorantes
39399f65f0 - Implement RemoteDevice::GetFriendlyName() in kit and handle the required reply in the server.
- Now a discovery process is nicer.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-19 16:53:06 +00:00
Michael Lotz
4a32ef2c30 Remove doubled "count" in declaration. Fixes a "operation may be undefined"
warning with GCC4.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 22:55:27 +00:00
Axel Dörfler
5464b10f1a * get_uint32_color() now returns the color as host endian value.
* Introduced a new get_rgb_color(), that returns an rgb_color from a host endian
  uint32.
* Those two together fix bug #2094.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 18:10:44 +00:00
Axel Dörfler
f374f0d9f1 * A view can have more than just one LayoutItem, and therefore, we have to
remove them all in RemoveView().
* Also, previously, the wrong LayoutItem could be removed if there was any
  view that had more than one item around.
* IOW using BView::RemoveSelf()/RemoveChild() yourself would have leaked
  memory in the best case, and would otherwise crash your app if there was
  any view with more than one LayoutItem.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 14:44:19 +00:00
Axel Dörfler
28d5567e28 * GetPreferredSize() no longer crashes when given a NULL parameter (as the
other interface views already do).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-18 12:01:07 +00:00
Alexandre Deckner
e8fa461ae7 * clamps the textcontrol input to 255
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 22:57:04 +00:00
Oliver Ruiz Dorantes
fae5a1d349 - Add inquiry fields for the RemoteDevice, to store the information retrieved .
- Update those fields at discovering




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 19:17:10 +00:00
Axel Dörfler
e0da34f5c0 * "where" and "be:view_where" are supposed to contain the same value; dunno
why the latter is then even added, but we do the same thing as BeOS now.
* This fixes bug #2075.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-17 11:10:44 +00:00
Oliver Ruiz Dorantes
6b81bac2bf - Change again the api... Strings are not for everything
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24991 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 22:16:19 +00:00
Oliver Ruiz Dorantes
b0410a2221 - Implement a filter for devices that are repling multiple times.
- Fix the creation of the RemoteDevicesList


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24990 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 22:15:20 +00:00
Ingo Weinhold
b9f23a3497 Moved KMessage from libbe to libroot.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24984 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 17:55:55 +00:00
Stephan Aßmus
52e06f988d Applied patch by Artur Wyszynski:
* Renamed BView::Alignment() to LayoutAlignment() which fixes a ton of warnings
  and some conflicts with BControls.
* Added virtual destructor to BRefFilter in case the GCC version is 3 or newer
  (can't do it for GCC 2.95.3, since that would break binary compatibility 
  AFAIKT)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24983 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-16 17:11:40 +00:00
Oliver Ruiz Dorantes
078958f502 - Run the Looper
- Create Agent from the LocalDevice
- Fix constructors



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24977 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-15 22:31:54 +00:00
Stefano Ceccherini
838c73ba76 Removed unused BWindow friend classes, renamed some BView member
variables to fit our guidelines.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 09:26:11 +00:00
Stefano Ceccherini
18af47f5c4 Renamed some private methods to have the underline prefix, now that
BWindow doesn't call them directly anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 08:53:25 +00:00
Stefano Ceccherini
10f4d0679a Added a class MenuPrivate to handle access to private BMenu methods.
BMenuItem and BWindow are no longer friends of BMenu, but use this class 
instead.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24909 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 08:22:09 +00:00
Ingo Weinhold
df50f7a9b4 * Changed the way the socket functions work:
- The net_stack driver is no longer used. Instead we have a kernel
    module which is directly used by syscall implementations in the
    kernel. I.e. we no longer tunnel those functions through ioctls, but
    have normal syscalls.
  - Removed the superfluous net starter module.
  - Implemented the FDTYPE_SOCKET type file_descriptors, that is sockets
    are no longer vnode based.
  - Adjusted libnetwork (the socket function implementations)
    accordingly.
  - Adjusted netstat accordingly.
* Socket module:
  - Implemented socketpair().
  - Added "kernel" parameter to the control hook. Quite a few more hooks
    would actually need the parameter, but I didn't change those yet,
    since that would probably also require changes to the protocol
    module interface.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24908 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-11 04:12:23 +00:00
Stefano Ceccherini
47908b9ae3 fixed warnings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 20:48:38 +00:00
François Revol
85e1e2f4d6 Coding style :P
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 18:05:00 +00:00
François Revol
42fe011d2a Set close-on-exec flag on USB Kit device descriptors, so apps launched by Tracker won't inherit all the fds to hubs as they do on Zeta :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-10 16:46:26 +00:00
Maurice Kalinowski
a7fb4c16b6 fix some gcc4 related warnings...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24879 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 20:28:55 +00:00
Maurice Kalinowski
3c08ed4a34 Don't reset the duration value after passing it to SetRef as pointed out by Marcus.
Sorry for taking so long to commit this...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 19:43:49 +00:00
Axel Dörfler
cfc3fa87da * Cleaned up InterfaceDefs.h, added TODO about getting rid of declaring
_init_interface_kit_() in there.
* Moved private get_mode_parameter() into the BPrivate namespace.
* Renamed interface_misc.h to InterfacePrivate.h.
* Minor other cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-09 10:07:35 +00:00
Oliver Ruiz Dorantes
2154bbe8d6 Added copyright
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-08 20:39:04 +00:00
Oliver Ruiz Dorantes
da9793832b ObjectList is required
Courtesy of candidate SoC student Adrien Destugues 



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-08 20:02:29 +00:00
Stefano Ceccherini
e5e708ca39 Removed the snooze() call before tracking the popup menu. This should
avoid the problem noticed by Andrea Anzani (can you check, please ?) 
where the tracker menu would close when moving the mouse too fast.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-08 08:37:05 +00:00
Michael Lotz
bfbbfedc5f * Prepare usb_raw.h for eventually being made public. Prefixed enums values
with B_USB_* and the command union is now usb_raw_command.
* Changed usb_raw and the BUSB* classes accordingly.
* Moved the raw_device struct into usb_raw.cpp as suggested by Francois as it
  was the only thing usb_raw_private.h defined.
* Removed usb_raw_private.h again because of the above.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24861 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-08 07:53:43 +00:00
Ingo Weinhold
5822847842 If the entry leaf name is "." or ".." we need to resolve it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 19:41:49 +00:00
Michael Lotz
d419b482ad Integrate the USBKit into libdevice and make it public. I left the USBKit.h
name, as it in fact is like a kit in the kit. It combines the different BUSB*
classes as compared to SerialPort.h where there really is a 1:1 relationship
between the header and the (one) class. If someone has a better fitting name
please shout.
Separated the usb_raw.h into usb_raw.h which defines the protocol and
usb_raw_private.h which holds the internal device structure for usb_raw. This
reduces the header dependencies.
Hopefully cought all occurencies of USBKit.a usage (in usb_dev_info and
the usb_webcam media add-on) but might have missed something that is not in
the image.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-07 19:24:16 +00:00
Stephan Aßmus
d7aa5bb89c Oh boy. I think I fixed the issue by understanding it with the right side of
my brain, while the left side is still puzzled. So it's hard to put it into
words. Basically, there was an unwanted feedback loop when applications first
scrolled vertically and then horizontally (or vice versa). Because of the
feedback effects between BView and controlling BScrollBar, and because BView
controlls both scrollbars at once, it is important not to set the scrolling
offset of an unaffected ScrollBar, since we might actually be comming from the
SetValue() function of the other scrollbar. Fixes #1913 and possibly more,
going to check up on the other scrolling related bugs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 17:59:22 +00:00
Stephan Aßmus
205cf95ff6 More cleanup, disabled accidentally left on tracing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 17:53:43 +00:00
Stephan Aßmus
2f8dc04583 More style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24839 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 16:56:30 +00:00
Stephan Aßmus
1158eeac58 According to my tests on R5, a BScrollBar with a proportion of 0.0, the value
that it has when you never set it, uses the large step to figure out the
proportion it should display. This fixes Pe's scroll bars to display the
"correct" proportion. Of course the proportion is only correct if the large
step indeed equals the page size. Fixes #1758.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24838 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 16:47:43 +00:00
Stephan Aßmus
c2234e0598 * Added optional tracing to ScrollBar.cpp.
* Fixed line breaks to not exceed 80 char limit.
* Removed any trailing spaces.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24836 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 16:22:10 +00:00
Stephan Aßmus
6a1d169c52 * Removed trailing spaces in ScrollBar.h
* It's not a good idea to archive fProportion as int32, seeing it's a float
  on [0..1].
* Implemented archive constructor for BScrollBar. Untested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-06 15:11:31 +00:00
Jérôme Duval
b5c24e59f2 fix typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 18:14:52 +00:00
Axel Dörfler
70f87b87d9 Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 12:19:44 +00:00
Stephan Aßmus
13b895c5c6 Applied patch by Christof Lutteroth:
* The count/info view in Tracker truncates the text in a better way when
  it does not fit, and also used the space of the barber pool when it isn't
  displayed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24764 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-03 09:04:07 +00:00
Ingo Weinhold
f8cb30712e * Replaced the dummy implementations of the <grp.h> and <pwd.h>
functions by ones reading /etc/{group,passwd}.
* Added quasi-standard getpwent_r() and getgrent_r().
* Added _SC_GETGR_R_SIZE_MAX and _SC_GETPW_R_SIZE_MAX sysconf()
  constants.
* Moved initgroups() and getgrouplist() definition to grp.cpp. They use
  the same backend as the <grp.h> functions.
* Set the permissions of files created by the build system to what they
  should be on the image (executables: 755, others: 644). Otherwise only
  root could do anything under Haiku.
* Added build system variables HAIKU_ROOT_USER_NAME and
  HAIKU_ROOT_USER_REAL_NAME to customize name and real name of Haiku's
  root user.
* Added build system rules AddUserToHaikuImage and AddGroupToHaikuImage
  for adding additional users and groups (by default only root user and
  group and a "users" group are created).
* Adjusted BIND port and coreutils config.h files according to what
  features have become available.
* Fixed HAIKU_DOCUMENTATION_OBJECT_DIR definition. Untested, but it used
  a wrong variable name before.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24750 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-02 14:02:52 +00:00
Oliver Ruiz Dorantes
1f3aa49890 Complete asking the server all the events needed to perform a complete(basic) discovery process
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-01 21:48:05 +00:00
Rene Gollent
7ca97741bd Clean up build break - library declaration line was doubled.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-31 01:01:11 +00:00
Oliver Ruiz Dorantes
d581ede6e2 - Implementation of the discovery classes & RemoteDevice
. Support for StartInquiry method



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24699 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 21:48:17 +00:00
Karsten Heimrich
fe1500eeaf * got rid of fPageNumber as we the information always around
* rewrote parts of Begin/CommitJob, _StartPage, SpoolPage, _EndLastPage and _AddPicture


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24693 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 20:23:24 +00:00
Karsten Heimrich
0bc5c11939 * some small code cleanup
* followed Rene' sugestion and constrain the clipping region, still we only
  get the "user" visible view region drawn, so there might be an other problem


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24687 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 18:50:36 +00:00
Karsten Heimrich
f1c61c2ada * naive implementation for DrawAfterChildren()
* resolved TODO in _RecurseView(), no need to call Draw() on views
  that are hidden or miss the B_WILL_DRAW flag, as there Draw()
  function would never be called according to the BeBook documentation



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24686 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 18:12:45 +00:00
Karsten Heimrich
5d81827b2c * push the states on the server instead on the client side
* DrawState::SetOrigin needs to take the view scaling into account
* set the orgin in BPrintJob, to be able to print more then one page properly

Note: This would make printing work on HAIKU as on BeOS, but still it does
      not because of 1; BPortLink size limit and 2; because we can only print/ draw
      the visible region of a view? I had to resize StyledEdit to a i.e 10000
      to test and to be able to print the full syslog.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 16:25:23 +00:00
Maurice Kalinowski
6938364b39 * Implemented BMediaRoster hooks GetRefFor, SetRefFor, SniffRefFor to access BFileInterface related file functions.
* Implemented BFileInterface class which was nearly empty so far. Added handling of messages passed to BFileInterface class.
* Added needed structs and message values to DataExchange.
* This is needed to get for instance the reader.media_addon to work. Usually one calls above functions to set a file to be decoded by the node. If the target is a consumer, they are used for setting the target for encoding data.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 01:35:58 +00:00
Ingo Weinhold
290946ce80 * Implemented some basics for supplementary groups support:
- The kernel stores the group IDs in the team structure. They are
    correctly inherited on fork() and load_image_etc().
  - Implemented getgroups() for real, i.e. it retrieves the groups
    associated with the process.
  - Implemented setgroups(), initgroups() and (the BSDish)
    getgrouplist(). The latter two read the group information from the
    "group database" /etc/group (if existing).
  - Change the BIND port config, since we do have getgrouplist() now.
* The set-uid feature was broken when the path to the executable was
  relative, since we used stat(), which, in the kernel, uses the kernel
  IO context.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 00:08:13 +00:00
Maurice Kalinowski
999cd0acee * implemented BMediaRoster::StartControlPanel(). It queries a BControllable node with CONTROLLABE_START_CONTROL_PANEL message and returns the result to the caller (thx for help/suggestions from Marcus here). Needed to add appropiate structs and message value to DataExchange.h
* implemented BControllable::StartControlPanel(). The behaviour is supposed to be the one documented in the BeBook, meaning that it first checks if the BControllable node has been instantiated over an BMediaAddOn. If so, we investigate where the addon is located and try to launch it. Thus media_addons which have a control panel need to be compiled as an Application, not as an Addon. See r24664 as an example.
* inside BControllable::HandleMessage() call StartControlPanel for the message.
* MediaNodes having such a ControlPanel are rarely used as parameterwebs should provide you everything. But for instance the vst MediaAddOn uses it and some others do as well.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24665 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 20:53:01 +00:00
Ingo Weinhold
6287376408 Make weak symbols for all those inet_*() functions declared in
<arpa/inet.h>. Since they are renamed to __inet_*() by means of macros
(why anyway?), the functions won't be found e.g. by configure scripts
not including the header. Makes OpenSSH even more happy.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24646 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 12:41:04 +00:00
Ingo Weinhold
79e1d3770c Not that I know what I'm doing...
Moved nameser_compat.h to our public headers (arpa/inet) and include in
<arpa/nameser.h>. That's solved similarly in BONE. At any rate OpenSSH
is now happy that HEADER exists.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 12:37:05 +00:00
Axel Dörfler
ced3755c30 * Fixed a memory leak in Deskbar's BarWindow.cpp when adding a deskbar
replicant failed as pointed out by Mark Hellegers.
* Clarified ownership of the passed in message in TReplicantTray::AddIcon()
  as well as BShelf::_AddReplicant().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24621 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-28 11:40:55 +00:00
Ingo Weinhold
071f9c3aa2 Build configurations shouldn't be done in svn controlled files, so I
finally created a solution to avoid that: Header files that contain
configuration settings (and nothing else) go to build/config_headers.
To change settings, create a directory build/user_config_headers (which
is ignored by svn), copy the respective header there and modify it at
your leisure. Currently only tracing_config.h has been moved to the new
location, but more files will follow eventually. It is also recommended
to move optional macro definitions in Jamfile (as for BFS) to a config
header instead; the build system will then automatically rebuild on
changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 22:01:38 +00:00
Ingo Weinhold
b40802973a Addressed memory leaks in the MIME sniffer code. Fixes bug #1660.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 04:26:43 +00:00
Ingo Weinhold
781a715529 Move RegistrarThread[Manager].cpp to the registrar. There was no point
in those living in libbe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 02:51:58 +00:00
Ingo Weinhold
b6646cf8c0 I disclaim any responsibility for this file. I don't even know why it
lives here.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24602 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-27 02:29:39 +00:00
Stephan Aßmus
a7a306d1a6 * Added "Disks" icon (file system root mimetype) based on work done by
Marius Middelthon - Thanks!
* Sorted vector icons a bit more like original bitmap icons.
* Renamed BeBox icon to Root icon.
* Commented out some dead code which caused a warning in
  TrackerInitialState.cpp


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-26 20:25:48 +00:00
Stephan Aßmus
9def3bf783 * Rewrote MediaRoster.h
* Removed appearantly unused satic variables. Hope this does not break
  binary compatibility, going to test.
* There are three more private methods, which could probably be removed
  as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 15:42:58 +00:00
Stephan Aßmus
a715f908f2 * Use new (std::nothrow), check for out of memory conditions and report them.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 15:25:52 +00:00
Stephan Aßmus
8b940bb400 * Set the global BMediaRoster instance pointer to NULL in the destructor,
the DefaultDeleter is not the only situation in which the instance might
  be deleted, a client app can also call Quit() on the BMediaRoster instance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 15:16:55 +00:00
Axel Dörfler
a121b8c83c * Added a new flag for write stat: B_STAT_SIZE_INSECURE that allows a
file system to not fill newly created space with zeros. 
  BFile::SetSize() now uses this, while [f]truncate() does not. This
  is only a temporary work-around until BFS supports sparse files.
* Apps that want to reserve space to fill up later should use 
  BFile::SetSize() for now, as this will be a lot faster than 
  [f]truncate().
* cache_io() and the functions below now use a special mode when you 
  pass in a NULL buffer: for read access, the cache is only populated
  (useful for prefetching), for write access, the file is filled with
  zeros.
* Implemented BFS's Inode::FillGapWithZeros() using this method now.
* Removed extraneous white space.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-24 13:39:02 +00:00
Michael Pfeiffer
242605b930 Set page_offset to -1 like BeOS R5 did.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-23 17:46:00 +00:00
Niels Sascha Reedijk
ce9ba9b376 First version of the BMessageQueue documentation.
Note: I have cleared the original MessageQueue.cpp file from the inline documentation. When the storage kit comes up, we need to rediscuss the documentation policy.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-22 14:36:20 +00:00
Stephan Aßmus
e339f8165b Also don't print error on B_BAD_PORT_ID in BMediaNode::WaitForMessage(),
it just means the port has been deleted while the node was waiting, like
when a program quits.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24502 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 13:02:01 +00:00
Stephan Aßmus
6b8545a4fe * Improve line breaks in BMediaNode::WaitForMessage() for 80 char width
according to coding style guide.
* Print the error string for read_port_etc() instead of the error code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24501 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 12:40:46 +00:00
Stephan Aßmus
8056f0db19 * Failing to find an add-on for a BMediaNode could simply mean that the
node was instantiated by an application, therefor it is not an error.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-21 12:37:43 +00:00
Stephan Aßmus
d830aa92ce * Added FindKeyFrame() method to MediaExtractor, it is similar to Seek(),
but operates "read-only".
* Added FindKeyFrame() method to ReaderPlugin, see above.
* Reformated ReaderPlugin header. Added const qualifier to Source() method.
* Small cleanups in BMediaTrack::SeekToTime() and SeekToFrame(). Added TODOs
  with regards to "seeking" in decoders, wich should IMHO be revised. (Codecs
  cannot seek in the stream, they only get fed chunk data. The only thing they
  can do is reset themselves in preparation for a discontinuity of the chunk
  data...)
* Implemented BMediaTrack::FindKeyframeByXX() methods via the new
  MediaExtractor::FindKeyFrame() method.
* Implemented Seek() and FindKeyFrame() methods in the Reader base class,
  returning B_NOT_SUPPORTED. I think this makes sense and also I don't have
  to adapt all existing Reader plugins for the new FindKeyFrame() call. :-)
* Implemeneted FindKeyFrame() in the avi_reader. The OpenDMLFile class
  gets Seek() extended for a "read-only" mode. Currently the implementation
  is broken (as before) with regards to keyframes. These were ignored before
  and I have not changed them to actually support the seek flags with regards
  to keyframes. That's the interesting TODO...
* Some reformatting here and there in avi_reader code, sorry for the mixup.
  The only actual change is the support for the read-only flag to Seek().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24495 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 23:36:14 +00:00
Stephan Aßmus
3bac9fe16c Failing to find a suitable decoder for a stream is reported in three different
modules, I left the one from MediaExtractor::CreateDecoder, since it also
mentions the stream index.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24491 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-20 12:59:45 +00:00
Stefano Ceccherini
47ed33e09b Apply the same logic of BMenu::_Track() also in BMenuBar::_track():
check if mouse is over a submenu and then if it's over the current menu.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24479 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 20:59:55 +00:00
Stephan Aßmus
4a46d818c9 * Implemented ERROR as fprintf(stderr, ...) with tracing turned off as well.
* Fixed all but one compiler warnings in libmedia.so.
* Truncated lines to 80 char width where I looked at code.
* Turned printf()s into TRACE/ERROR calls in MediaExtractor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 19:39:07 +00:00
Stephan Aßmus
a08f6a39d8 Return B_ERROR for the FindKeyFrameFor*() methods, unless the time/frame
is 0, in which case it is almost save to assume it is a keyframe. Added
TODO though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24474 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 17:15:12 +00:00
Stephan Aßmus
c844c20840 * Use tracing facilities in BMediaTrack.
* Turn off tracing in the Media Kit.
* Notify of unimplemented functions regardless of tracing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24473 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 17:12:05 +00:00
Stephan Aßmus
c2848f102b * Improved debug output.
* fTrackList was deleted with delete, but needed delete[].


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24472 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 17:09:26 +00:00
Rene Gollent
e51a01a517 Fix SpaceMonitor crash. Verified that R5 and/or Zeta in fact do *not*
Invalidate() on SetMaxValue(). This should probably be revisited in
the future whenever we break binary compat. TODO note added to that
effect.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-19 14:57:50 +00:00
Axel Dörfler
8417b8d87f * Added a comment in _InitData() to make it more obvious when the looper is
locked.
* Removed some long and useless comments.
* Other minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 17:34:56 +00:00
Rene Gollent
9596a089a4 Plug various memleaks in BShelf.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-18 00:35:36 +00:00
Oliver Ruiz Dorantes
5ceb8de4e9 SetDiscoverable method Implementation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 22:46:56 +00:00
Ingo Weinhold
1b32947d3f * Aligned the semantics of the read_symlink() FS module hook with the
readlink() function. It is no longer required to null-terminate the
  string, shall not fail, if the buffer is too small, and shall return
  the length of the string actually written into the buffer.
* Adjusted rootfs, devfs, and bfs accordingly. Also adjusted their
  read_stat() hooks to return the correct symlink length in st_size.
* Our readlink() does now comply to the standard (and BeOS).
  Additionally if the buffer is big enough it is nice to non-conforming
  apps and null-terminates it.
* BSymLink::ReadLink() explicitly null-terminates the string now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24425 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 21:37:40 +00:00
Rene Gollent
36ac322c47 Fix a case in BShelf where it wouldn't return the error correctly if the replicant was rejected by the shelf. This
would cause various incorrect behavior, best observed in the form of Deskbar crashing if you tried to drag and drop 
a large replicant (i.e. Workspaces) onto it.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24418 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-17 01:20:49 +00:00
Oliver Ruiz Dorantes
631aa54864 Add scan mode and authentication commands
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-16 22:40:16 +00:00
Rene Gollent
1f83df03bc Implement save/restoring replicants in BShelf. This results in
Tracker now persisting its desktop replicants across sessions.
This may not completely handle zombies properly though, I had
nothing to test that case with.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-16 05:55:25 +00:00
Rene Gollent
5a32be6b84 Specify a umask when creating tracker_shelf file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-15 16:19:03 +00:00
Oliver Ruiz Dorantes
0ba3dcf529 Mark to fix in some other moment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-15 15:34:39 +00:00
Axel Dörfler
6107b24def * Changed the sorting order back to how it was done previously to r22113.
* This fixes bug #1915.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24396 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-15 15:20:49 +00:00
Oliver Ruiz Dorantes
23234fa59d Supply a supoprt file for functions used among all the kit
Move implementation from LocalDevice for retrieving the BluetoothServer Messenger



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-13 20:13:39 +00:00
Oliver Ruiz Dorantes
057d0dc02a Correct misspell adquire->acquire
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-13 19:30:04 +00:00
Marcus Overhagen
4ca14fe1a6 Fixed harmless copy & paste bug.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-12 23:19:52 +00:00
Oliver Ruiz Dorantes
32c01b554a Move the command builder module to the kit although meant to be kept private
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24379 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-12 21:44:25 +00:00
Oliver Ruiz Dorantes
b8c8202d4d * Add one more inquiry process hook function for notify when it has started
* Move Messages id to a private header
* New constructor for RemoteDevice



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-12 21:18:23 +00:00
Marcus Overhagen
eb5b2f6fde Removed a lot of unsave memory handling.
Check for memory allocation errors.
Added limit to maximum flavor format count (300).
No longer crashes when out_format_count is invalid for B_BUFFER_CONSUMER,
or in_format_count is invalid for B_BUFFER_PRODUCER.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-11 23:24:40 +00:00
Axel Dörfler
4b83262008 * _Realloc() did not initialize the reference count either.
* _Alloc() can now preserve the original reference count, only _Clone()
  still initializes it to 1. As Karsten pointed out, this is necessary to
  preserve the "shareable" status of the private data.
* I hope that's finally it. What happened to our testing suite, anyway? :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 22:56:27 +00:00
Axel Dörfler
bf4ddb61e1 * As found by Karsten, the reference count was not initialized in
_ReplaceAtPositions(), and _DoCharacterEscape() (we don't need to preserve
  it, though, as it must be 1).
* Factored out an _Alloc() method which is now always called when the private
  data is allocated. It also takes care of correct initialization (and thus
  fixes the above problem).
* This fix finally allows turning on reference counting again, thanks Karsten!
* Minor cleanup, renamed "oldAdr"/"newAdr" to "oldString", resp. "newString".


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 19:14:05 +00:00
Axel Dörfler
7c58a46830 The result of some more proof-reading caused by Stephan's comments:
* _Realloc(), and _Detach[With]() may fail, but that wasn't accounted for
  everywhere.
* The Append(), Prepend(), and Insert() char versions all caused their
  backends to access invalid data (must use strncpy() instead of memcpy()
  here). 
* All Append(), Prepend(), and Insert() BString variants used an invalid
  check, and would therefore just do nothing in certain situations like this
  one:
    BString a = "-";
    BString b = a;
    a.Append(b);


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 16:41:43 +00:00
Axel Dörfler
688c14266c * After my last change, _IsShareable() was called on the wrong string in the
copy constructors, effectively turning of references completely.
* Since that caused troubles (NetPositive now crashes when started), I
  temporarily disabled references by letting _IsShareable() always return
  false until the issue is resolved.
* _FreePrivateData() now sets the fPrivateData member to NULL, and is also
  safe to be called when fPrivateData is NULL.
* Removed my comment about the threading problem in _Detach() and _DetachWith()
  as that just couldn't happen.
* _Clone() must not use memcpy() as the string pointed to by "data" might not
  be as long as "length".
* LockBuffer() now marks a string as unshareable.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 14:14:44 +00:00
Stephan Aßmus
417889ced8 * Handle clearing to white on the client. This also makes sure that bitmaps are
cleared which have no app_server link (B_BITMAP_NO_SERVER_LINK).
* Check the allocation of the BWindow in BBitmap for view accepting bitmaps.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-10 10:51:56 +00:00
Ingo Weinhold
2586d10ea9 CreateFile() didn't specify the B_ERASE_FILE, hence the file wouldn't be
truncated, if already existing. This problem could be experienced when
saving in Pe.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 17:38:55 +00:00
Michael Lotz
a433b9febf Rewrite and activate message passing by area. Passing by area works now with
the new sematic of transfer_area so a message area is transfered into the right
teams' address space and it does not need to be cloned there anymore. Passing
by area is only used for messages bigger than a certain size (currently
hardcoded to 40KB) which should be somehow bound to the max port message size.
This makes passing large messages (i.e. > the port limit) possible, so for
example copy&paste of long text, image data, etc. should now work.
Got rid of the fClonedArea member as it is not necessary with the new design,
renamed shared_area to message_area in the private message_header, avoid
an unnecessary allocation of the header for the copy constructors, check
allocations in a few more places and some minor cleanup.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24321 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 13:35:41 +00:00
Oliver Ruiz Dorantes
a8006c78f0 Add DiscoveryAgent skeleton
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24318 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-09 00:39:32 +00:00
Axel Dörfler
a1dac092fa Followed suggestion by Stephan.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24314 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 20:49:30 +00:00
Axel Dörfler
002b33b720 * Fixed a bunch or concurreny bugs and memory leaks of the new reference
string stuff.
* It's still not thread-safe for all usage patterns, though, so we might want
  to remove or disable it: if a string is shared between several threads, and
  one of those starts to use a reference, all kinds of problems can happen.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24312 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 19:05:09 +00:00
Axel Dörfler
5286000296 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24309 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 17:44:39 +00:00
Axel Dörfler
c7a77521ff Renamed all *LAYER* constants to *VIEW*.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24306 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 16:44:18 +00:00
Andrew Bachmann
b0f0bffa32 missing this symbol caused a library to not load. implementation taken from old/compat/libnet/netconfig.c, after removing printf.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24301 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 12:14:13 +00:00
Rene Gollent
766c46166c Team debug effort with Michael Lotz:
Tracked down the root cause of the issue worked around in r24228.
The behavior that was occurring in this case was as follows:
Vision created a BInvoker off the heap, containing a BMessage likewise
off the heap. It then called BAlert::Go with this invoker. When any of
the buttons in the BAlert were pushed, _SendMessage would enqueue the
message into the target looper (in this case, Vision's window) and wake
it up with write_port_etc. However, in some cases this would result in
a reschedule such that Vision's looper executed before _SendMessage() was
able to complete all its processing. Upon receiving this message, Vision
destroyed the BInvoker in question, which in turn deleted its owned
BMessage -- which was the message that was still in the middle of _SendMessage()!.
Consequently it would crash a few lines later when it hit IsSourceWaiting() and
tried to check flags off its header off the already destroyed this. To fix this,
we now do the AddMessage/write_port_etc last before returning. Also removed the
sanity checks added in r24228 so we don't mask other problems of similar nature.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24297 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-08 00:18:51 +00:00
Stefano Ceccherini
556f83c6f7 In the menubar tracking function, loop indefinitely if mouse stands
still. This way keyboard menu navigation works much better. 
Unfortunately I can't apply the same trick for BMenu since it opens the 
submenu with a delay, and that won't work anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24296 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-07 21:26:36 +00:00
Stefano Ceccherini
5c30ed357a If a NULL menuitem was supplied to BMenu::_NextItem(), the function
would have returned the second item in place of the first. Also return 
NULL, not false, when there are no "next items". 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24294 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-07 21:00:46 +00:00
Stephan Aßmus
8dd37e7af9 Make sure that a detached view is really no longer the focus view.
MakeFocus(false) can not be trusted, since it is virtual and might not call
the BView version.  


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24293 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-07 20:58:59 +00:00
Rene Gollent
5c9a6b8c2a As per discussion on haiku-dev, BWindow now always forces the
B_ASYNCHRONOUS_CONTROLS flag. If anyone does encounter an app that 
breaks because of this, please let me know, but a few tests with various 
apps seem to show no issues.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-07 01:37:00 +00:00
Oliver Ruiz Dorantes
2be1278e76 Remove warnings and text output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24281 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-06 20:46:17 +00:00
Oliver Ruiz Dorantes
221b5626d5 Add FriendlyName and SimpleRequest interface implementation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24252 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-05 23:30:34 +00:00
François Revol
c56d6fa283 This gets libbluetooth.so building at least on zeta.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24248 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-05 22:39:35 +00:00
Rene Gollent
8c5c17cdbc Fixed a crash that would happen sometimes with BInvoker: If an invoker was
set up with a null replyTo, sometimes BMessage would crash 
calling IsSourceWaiting() after delivering the message. This appeared
to be because fHeader was NULL, but I'm not entirely certain if this
is actually supposed to be possible, so this may be masking a different
bug. This was observable using the multiline paste spam BAlert in
Vision, which would sometimes but not always crash in Haiku after hitting
any of the buttons to dismiss it, though consistently when calling IsSourceWaiting()
from the private BMessage::_SendMessage().



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24228 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-04 06:08:20 +00:00
Rene Gollent
4e03eeaa47 The registrar's shutdown window and BAlert both use
a BTextView in order to be able to display multiline
panel text (since BStringView can't handle this). However,
while they correctly set the background panel color, they
neglected to set the font style/color to that used by panel.
Fixed. This makes shutdown/restart dialogs properly color sensitive.




git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24226 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-04 01:21:00 +00:00
Stefano Ceccherini
69fac0cee0 patch by Andrea Anzani (with a few style modification by me) which
enables tab (as BTab) switching via mouse wheel. Thanks!
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24214 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-03 12:41:05 +00:00
Stefano Ceccherini
495949fc2c x_offset -> xOffset
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-03 12:29:07 +00:00
Rene Gollent
c8ae58fd4f Made Navigator color-sensitive. More to come.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24208 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-02 21:16:43 +00:00
Axel Dörfler
3ba0ac742d * Fixed a few problems in AddMessage() (most of them were pointed out by Marcus):
- no need to initialize the buffer on stack
  - no need to initialize "buffer" to NULL
  - renamed "buf" to stackBuffer
  - enlarged buffer on stack to 16384 bytes (we have a minimum of 192 kB of
    stack per thread, anyway).
  - check the actual size of the stack buffer against the message's flattened
    size instead of the one of its pointer.
  - check if the allocation of the helper buffer failed, and return B_NO_MEMORY
    in this case.
* Moved static helper functions to the top of the file.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-02 14:47:03 +00:00
Karsten Heimrich
0f9d90aa24 * This fixes ticket #1865
* Allocate the buffer to flatten the message on the heap, if it's size is bigger then a given 
  buffer on the stack. It seem's to exceed the stack size (this might count for AddFlat() too).

  Note: With this change one is able to copy the text into the clipboard (1mb), but it
        is still impossible to paste it somewhere, as in BClipboard::_DownloadFromSystem()
        SendMessage() fails transferring the data back in the reply msg because of the port size limit...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-02 00:06:45 +00:00
Stefano Ceccherini
dc93a6b1ee Applied patch by Denis Washington which implements "diagonal mouse
support" for menus (see ticket #284). Thanks a lot!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24193 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-01 22:15:23 +00:00
Stephan Aßmus
43361fc860 * Fixed "missing virtual constructor" warning (which is probably even a
correct warning) for AbstractPointerListHelper. (libbe_build.so)
* I have had problems with implementing virtual functions inline in the
  class declaration before, so I implemented the virtual destructor
  externally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24168 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 14:39:19 +00:00
Rene Gollent
4f8e472b15 Minor optimization.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24165 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 05:42:07 +00:00
Rene Gollent
396b8a0dc2 Rescan the selection range after doing a swap.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24164 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 00:52:20 +00:00
Axel Dörfler
e705558bb9 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24159 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-28 00:12:06 +00:00
Rene Gollent
07d1827688 Implement BOutlineListView's derivative of SwapItems(). This makes things like Vision's network reordering shortcuts
work correctly.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24158 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-27 22:54:37 +00:00
Stefano Ceccherini
748347fc20 Check for invalid rects in BRegion::Include() and Exclude(). This fixes
weird text selection in BTextView() (for example, when an empty line was 
part of the selection).



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24142 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 15:20:39 +00:00
Rene Gollent
43948ef628 - Fix an error in SwapItems where the item tops would not be swapped
if the items were the same height.
- Modified _RecalcItemTops to allow us to specify a range instead of 
just a starting point. This is useful for cases like Swap, where 
only the items in between those being swapped need to be 
recalculated.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24139 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 13:27:24 +00:00
Stephan Aßmus
a01db67de0 Do not scroll to the bottom of the current line if that means the top of the
line will be scrolled out of view. (Fixes text jumping one pixel up/down in
Vision with each new char you type into Visions text box.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-26 11:48:36 +00:00
Stephan Aßmus
46ea5b1e49 Further improvements to auto scrolling and text rect + container view resizing:
* Renaming things in Tracker list mode no longer magically grows the text view.
* ScrollToOffset() is not supposed to depend on the existence of any scroll
  bars, in R5 text views simply scroll to where they need to. This fixes
  renaming things in Tracker when hitting the window bounds (text widget stops
  growing and starts to autoscroll) and also the Text tool in WonderBrush.
* _ScrollToOffset() is therefor no longer needed.
* The insets of the text rect are not so interesting as the original width.
  In auto resizing mode, the original width is important when there is no
  container view. In this setup, the text rect auto resizing is mainly needed
  for auto scrolling, but it should never shrink below the original size.
* Further improved auto scrolling for right aligned and center aligned text
  views, it works like R5 now. Also take the line height into account when
  checking for the bounds bottom. Removed extra spacing for vertical
  scrolling.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24130 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-25 23:34:23 +00:00
Oliver Ruiz Dorantes
7bdc499516 Collect the messenger from the correct signature. Allow 0 as HCI ID. Drop correctly the BDADDR to userland.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-25 20:40:44 +00:00
Axel Dörfler
351b7a2d24 * Added B_WATCH_INTERIM_STAT, and B_STAT_INTERIM_UPDATE definitions to
NodeMonitor.h.
* The latter will be set in "statFields" for interim updates when you have
  asked to get them via the former.
* BFS now uses the B_STAT_INTERIM_UPDATE flag for sending updates to actively
  written files.
* This makes us more compatible with BeOS again; if you only asked for
  B_WATCH_STAT, you will now only receive a notification if the file in
  question has been closed.
* Tracker now uses B_WATCH_INTERIM_STAT to always get all updates (ie.
  downloading a file will update its size and modification time in Tracker
  periodically during the download).
* Wether "needsTrimming" was true or not has no influence on wether or not
  the size index needs to be updated in BFS - only the actual file size is
  stored there, not the on-disk size.
* Added a TODO comment in Inode::WriteAt() that it would actually need to
  update the size index when changing the file size, not when the file has
  been closed (but that's probably too slow).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24114 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-25 13:54:30 +00:00
Stephan Aßmus
a68292dd29 fh -> fontHeight
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24105 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 22:35:30 +00:00
Stefano Ceccherini
576e2bf833 Patch by Julun: implements a refcounted BString. Thank You!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 21:16:58 +00:00
Stephan Aßmus
b8872c02c1 BTextControl:
* Placed _BTextInput_ into BPrivate namespace.
* Made _BTextInput_::AlignTextRect() smarter, it centers the line vertically,
  for the case that the BTextControl has a larger label font. Improved insets
  for asthetics.
* Used _BTextInput_::AlignTextRect() consistently in BTextControl, no more
  custom calls to SetTextRect(). Account for minimum vertical inset of 2
  pixels in GetPreferredSize().
* Consistendly select all text when gaining focus in _BTextInput_.
* Override MouseDown() in case the control did not have focus before, or else
  BTextView::MouseDown() will deselct the text again and place the cursor.
  (in line with BeOS behavior)
* Removed unused fBool member from _BTextInput_ and other cleanup.

BTextView:
* Reimplemented BTextView::_AutoResize() so that it works well with
  BTextControl and autoscrolling when the alignment is not B_ALIGN_LEFT.
  I needed two new members for this, fLeftInset and fRightInset which are
  the original insets from the fTextRects. It might currently be broken
  for renaming things in Tracker, I will have to check. _AutoResize() no
  longer messes up the fTextRect insets.
* Fixed stray carrets sometimes being left over, mostly when auto scrolling,
  but I observed them in other cases as well.
* Prevent negative scrolling offsets when autoscrolling. Fixes weird scrolling
  offsets when navigating to the left.
* Reset scrolling to B_ORIGIN when SetText() is called. Fixes for example
  starting to type in the middle of the control in Vision when entering new
  text and autoscrolling was triggered before.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24101 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 20:39:29 +00:00
Stephan Aßmus
35b450cd25 Draw the label right at origin in B_ALIGN_LEFT mode. Should improve alignment
with other controls. (BTextControl patch with the same change is upcomming, but
it includes many other changes I didn't want to mix in.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24100 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 20:25:17 +00:00
Stefano Ceccherini
ca6fdaaab1 and there, the usual forgotten debug stuff...\n
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24097 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 16:00:43 +00:00
Stefano Ceccherini
3429c09099 Turns out #1804 was fixed, but I broke it again with a "cleanup" commit. Fixed for real.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 15:51:39 +00:00
Stefano Ceccherini
60e1cfbfbb don't freak out if BMenuWindow::AttachScrollers() is called more than once (happens when a menu window has scrollers already, and we call BMenu::AddItem().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24094 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 15:29:10 +00:00
Stephan Aßmus
fef3930499 patch by Rene Gollent:
* BListItems now store the top offset of the frame within the parent BListView.
* This allows binary searching the clicked item.
* ItemFrame() is now a cheap call.
* Fixed several bugs in the sorting code of BOutlineListView which lead to
  crashes of client applications.
* Implemented previously unimplemented functions in BOutlineListView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-24 14:15:28 +00:00
Stefano Ceccherini
35671cdcc5 avoid double function call.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24081 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 15:57:35 +00:00
Stefano Ceccherini
7d62a1da89 In the last commit I introduced a bug: charCount wasn't incremented
correctly in some cases inside HashEscapements(). Also, when looking for 
a value in the hash, we checked the same position twice in some 
cases (did not cause any problem, was just a bit slower).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24079 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 15:41:22 +00:00
Stephan Aßmus
9553296aee * Removed #ifdefs around cursor code (ie activate it).
* Replaced non-stylish/conform looking cursor shapes with cool looking
  cursor shapes. (I am always delighted by WonderBrush's cursor code output...)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24076 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 11:54:34 +00:00
Stephan Aßmus
ab7c45e727 * Prevent cross from being too close to the surroundings.
* No need for B_OP_OVER anymore since ages.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 11:52:53 +00:00
Stefano Ceccherini
10d36f0e44 removed debug leftover
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24072 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 00:49:17 +00:00
Stefano Ceccherini
95c02f082c such a long debugging session for such a silly error: the new hashed_escapements struct was never put into the width table when we grew the hash. The BWidthBufferTest now works. Simplified a bit the code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24071 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-23 00:46:50 +00:00
Stefano Ceccherini
47d3c50607 Change the order we use to check the position of the mouse pointer
inside menus: first sub, then current, then super. It's more logical, 
and handles every case (hopefully I've tested every possible 
combination) of overlapping menus correctly.
Fixes bug #1821.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24044 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-21 10:10:17 +00:00
Stephan Aßmus
da5d970124 * Small code cleanups, a bigger style cleanup should be done, but I didn't
want to mix too much cleanups into real changes.
* Got rid of the weird lines between rows.
* Tweaked colors (selections are usually dark everywhere else in Haiku).
* Implemented slightly tinting alternating rows.
* Removed the code duplication to figure out the appropriate background
  row color, fixed some inconsistencies between Draw() and RedrawColumn()
  in this regard.

TODO: Default colors should be computed based on current panel color though.

TODO: Figure out why the outline view does not scroll (at least not visibly)
when the vertical scroll bar is used.

TODO: Remove remaining redraw bugs. I observe a column of pixels not being
updated in some cases when resizing columns.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24033 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 12:27:36 +00:00
Stephan Aßmus
bbf31e4d1f * If bitmaps are drawn with alpha channel, it helps to setup the correct
alpha mode. Thanks to Ralf Schuelke for pointing this out.
* Also check the bitmap color space and only use alpha drawing for bitmaps
  with valid alpha channel.
* Don't just reset the parent to B_OP_OVER, but use the previous mode.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 09:56:26 +00:00
Stephan Aßmus
c3b57150e2 I was just going to implement Begin/EndViewTransaction(), but I saw
it is already implemented they way I thought it could be done - nice! Just
some simplifications.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:42:09 +00:00
Stephan Aßmus
f6a3e5637b * Looking at the diff I remember it contains a patch Andrea Anzani send me,
fixes indicating the focus of the resized column if it isn't the first one.
* Code cleanups by myself in the archiving implementation. No functional change.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:40:53 +00:00
Stephan Aßmus
99238ef54f Disable excessive debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24024 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-20 00:37:40 +00:00
Alexandre Deckner
3831b0dcd0 - Revert button's first update didn't work since revert data is stored in the Show() method.
- Default data is defined in two places, and was inconsistent.
- Color comparisons could be done with the wrong alpha. note: BColorControl's behavior wrt alpha might differ from R5's.   

This fixes part of #254


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24008 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 18:08:48 +00:00
Stefano Ceccherini
1134e85609 fixed a few problems in BMenuBar, triggered by the particular use the
Menu preflet makes of it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 14:30:49 +00:00
Stefano Ceccherini
ec20f9f60d reverted r21961. A menu could be closed, if the user
clicked (with the menu opened) on a view which uses GetMouse() in a loop 
(PE, tracker), since it stealed the mousedown message.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 13:24:13 +00:00
Stefano Ceccherini
50cd4d0280 Patch by Denis Washington: menubars now, like menus, can be navigated
without keeping the mouse button pressed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24004 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 13:21:02 +00:00