Commit Graph

3436 Commits

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


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


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


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

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

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

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

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


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


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


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


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


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


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


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

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


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


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


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


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

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


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


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


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


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


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


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


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


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

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

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

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


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


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


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


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



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


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


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


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

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

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

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


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

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

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

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


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


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


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


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


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

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


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


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


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


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


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


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


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


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


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


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


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


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



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


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


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


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


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21152 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-16 10:07:21 +00:00
Ingo Weinhold
476d4befd7 Added IsLayoutValid().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-15 15:38:26 +00:00
Stefano Ceccherini
84c2abee94 Cast errors to status_t before throwing, otherwise the catch operator
won't catch them (as ints). Thanks to Ingo and Marcus for pointing out 
the problem and suggesting a solution.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21133 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-13 20:26:31 +00:00
Ingo Weinhold
e6d2c1f310 BButton needs B_FULL_UPDATE_ON_RESIZE despite the fact that it isn't
resizable by default.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21121 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 17:01:41 +00:00
Ingo Weinhold
a19a660a78 Removed the BSize(const BRect&) constructor and added BRect::Size()
instead. Also added a BRect(BPoint, BSize) constructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21120 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 16:50:16 +00:00
Ingo Weinhold
253599a20b Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 16:19:24 +00:00
Ingo Weinhold
f2d34b2994 Added unary - operator.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21117 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 16:15:20 +00:00
Ingo Weinhold
0473808ce2 Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21116 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 15:49:01 +00:00
Stefano Ceccherini
140334f858 Added error checking using exceptions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21112 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-12 08:46:56 +00:00
Stefano Ceccherini
522528180e Check if we have a window before drawing the item in
BListView::_Deselect()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21107 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 20:40:48 +00:00
Axel Dörfler
4cad5aba3b Made IsTargetLocal() a lot faster by using BPrivate::current_team() which caches the team ID.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21104 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-10 09:17:51 +00:00
Jérôme Duval
94f814b32c fHandlerToken can be equal to B_PREFERRED_TOKEN
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21096 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-09 23:16:19 +00:00
Axel Dörfler
d00539e3ba * Revamped BPathMonitor API as suggested by Ingo - we could rename it to BNodeMonitor
and add wrappers for watch_node() as well, though.
* Implemented more or less all what is needed for the path monitoring to work.
* Added a test application: works fine under Haiku, but somewhat flaky under BeOS,
  dunno why yet.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21066 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-08 00:30:59 +00:00
Stefano Ceccherini
ca3e59106d call lock/unlock_draw() in SwapBuffers too. Don't set the view color to
B_TRANSPARENT_32_BIT because it doesn't look good in direct mode. Korli, 
please review.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 21:21:28 +00:00
Stefano Ceccherini
652f187eee finally fixed debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-07 20:49:58 +00:00
Stefano Ceccherini
1560418a27 forgot the \n
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 20:41:39 +00:00
Stefano Ceccherini
5115ca0858 Added optional debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21035 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 20:03:31 +00:00
Axel Dörfler
ed1589a568 Fixed binary compatibility problem I introduced yesterday.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21031 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-05 05:46:08 +00:00
Stefano Ceccherini
e6bf88d435 use the already available BLocker instead of atomic_add and a semaphore
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21025 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 20:52:30 +00:00
Axel Dörfler
e5bc3cb9b4 Added virtual desctructor to calm down GCC 4.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 16:59:23 +00:00
Axel Dörfler
f30198a051 * Implemented PathMonitor class - untested, but compiles.
* The API is just a proposal at this time, please comment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-04 16:02:04 +00:00
Stefano Ceccherini
4bfa8f22df completes previous commit. Sorry for breaking the build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 16:34:31 +00:00
Stefano Ceccherini
107ce0bba0 Fixed a bug in selection via keyboard (the problem described in bug
#716, comment #4)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20997 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-03 15:15:23 +00:00
Jérôme Duval
d87dc169fb fixed a typo was U instead of O
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20981 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-02 19:02:17 +00:00
Stefano Ceccherini
f96bec013d small cleanups. Moved some code into a _DrawLine() method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 19:49:43 +00:00
Hugo Santos
75f1f9e04a added two more test multicast applications: multicat/multisend. sockaddr_in6/in6_addr must be visible through <netinet/in.h>, fixed that as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 16:56:58 +00:00
Axel Dörfler
4231541414 * Implemented atomic commit support to the clipboard as described by #1187.
* Cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 10:50:15 +00:00
Jérôme Duval
c25f230cb6 added _get_key_map() to get the character map size
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20917 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 10:07:34 +00:00
Stefano Ceccherini
0d4fbcc8fe made _BInlineInput_::AddClause() more robust in low memory conditions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-27 20:35:36 +00:00
Stefano Ceccherini
effcdf2e6a Implemented locking for BGLView direct mode. Tested with GLTeapot and
GLDirectTest. Seems to work fine


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-26 20:23:10 +00:00
Stefano Ceccherini
8860ba90e6 If there's a opened menu, the window should "eat" the B_MOUSE_DOWN
message. This fixes bug #582 and now menus behave like on beos (or 
should, at least)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20799 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-24 21:00:20 +00:00
Jérôme Duval
7cfdfca2e2 GLView :
window_bounds are now coordinates of the view on the screen (was the window before)
this eases dramatically the drawing of the clip from the buffer
now allocates m_clip_info whenever needed as some apps call EnableDirectMode() after DirectConnected(), ie GLTeapot.
MesaSoftwareRenderer:
implemented DirectConnected() support in Mesa Software Renderer
tested with GLTeapot on QEmu, B_RGB16 mode only


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20797 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-24 17:37:51 +00:00
Jérôme Duval
285d5ce2ea we need view bounds in the window coordinates, they can then be offset with the window bounds for clipping
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20785 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-23 22:05:14 +00:00
Jérôme Duval
618aaaed08 added a copyright
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20763 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-19 22:07:38 +00:00
Stefano Ceccherini
a1c0361478 Use LineHeight() instead of StyledWidthUTF8Safe() to get the height of
the line in PointAt(), since the former didn't return the correct 
result, due to the fact that there were 0 charachters on that line. 
Fixed a bug in TextHeight() which ended up doubling the 
height of the line if we requested the last line.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20745 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-18 09:33:32 +00:00
Ingo Weinhold
ca615cfc7a BRoster::Launch() didn't send a B_SILENT_RELAUNCH message to an already
running app. Fixes bug #1162.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20743 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-18 02:15:19 +00:00
Axel Dörfler
f5faf48a9f Small fix for _StealMouseMessage(): only if "feed focus" is "false", the message
can't be used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-17 14:29:54 +00:00
Jérôme Duval
31ebfe61e4 added default sound events
implemented system_beep() by sending an event to the media addon server


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20728 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-16 19:15:46 +00:00
Jérôme Duval
33c487a43e implemented add_system_beep_event()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20711 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 20:40:12 +00:00
Jérôme Duval
88ec4b1dbe fixed some warnings
code style of MMediaFilesManager.* 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20703 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-15 13:59:59 +00:00
Axel Dörfler
ffcc37a0aa * Added and implemented B_INVALIDATE as available on Dano; to invalidate only a certain
part of the view, you can add a BRect "be:area" to that message - very handy.
* Cleaned up AppDefs.h a bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20683 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-14 18:11:42 +00:00
Jérôme Duval
ea4f253fd6 update license headers, code style
In BPushGameSound, SetParameter and SetStreamHook return B_UNSUPPORTED while Perform calls the parent class.
Moved code to the constructor.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20682 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-14 13:35:39 +00:00
Jérôme Duval
effe53fae9 fixed the wrong test for real
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-12 20:32:19 +00:00
Jérôme Duval
c7509fce9d improve codestyle
fix bad init in BPushGameSound


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-12 19:20:45 +00:00
Stefano Ceccherini
22cf4a3be6 sizeof(B_PAGE_SIZE) != B_PAGE_SIZE. Fixed bug 1151. Sorry for the silly
typo. Also uses calloc() so that the direct_buffer_info struct is 
initialized to 0.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-12 13:15:06 +00:00
Axel Dörfler
6cde6beba7 Fixed several issues pointed out by Olivier "Methe" Milla.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 21:21:36 +00:00
Stefano Ceccherini
5f2316263f Implemented BGLView::DirectConnected(). I don't know if it works, since
the gldirect_mode test app crashes at startup (also before this commit). 
Style changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 14:11:32 +00:00
Stephan Aßmus
b5a071bc22 * patch by aldeck, fixes ticket #1143
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20618 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 17:45:35 +00:00
Stephan Aßmus
027f6a768c * export SetDiskMode() symbol, thanks to "aldeck" for providing the BeBook link,
fixes ticket #1140


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-08 17:37:22 +00:00
Jérôme Duval
0c93c0a807 change the way FileGameSound works : avoid using a port
code style, some clean up


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-06 22:40:23 +00:00
Hugo Santos
17b77c3b92 consolidate all RECV/SEND ioctls into a single RECEIVE/SEND pair
- changed the socket module to use thew new RECEIVE/SEND in all forms of recv() and send()
 - changed libnetwork to use the new RECEIVE/SEND
 - remove transfer_args processing from strace since the structure was removed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 14:26:46 +00:00
Axel Dörfler
df004988d8 ioExtension can of course be NULL...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 13:33:07 +00:00
Axel Dörfler
580d7b0441 No longer let translators overwrite the ioExtension message when they aren't
the chosen one.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 13:29:55 +00:00
Axel Dörfler
09c3a92d0a Now handles two cases of incorrectly built trees gracefully (instead of crashing).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 11:44:35 +00:00
Axel Dörfler
b754aa3dbd RemoveItems() implementation was missing; more or less copied the one from BListView
(which is slow, but works).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 11:16:43 +00:00
Hugo Santos
dae7f8ea46 initial recvmsg and sendmsg implementations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 17:39:43 +00:00
Jérôme Duval
38220fb0e5 fix ServerLink::ReadShape and ServerLink::AttachShape for empty shapes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 22:53:01 +00:00
Jérôme Duval
e89f68e277 attach missing args for AS_GET_EDGES
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 21:03:56 +00:00
Niels Sascha Reedijk
a36e40dcda Strip API documentation from these files: they are in separate dox files now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-02 11:25:43 +00:00
Stephan Aßmus
340e1a9702 added broken symlink icon (almost 1:1 copy from zuMi's version,
only slight clean-up and used the colors from my app icon)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-29 10:22:28 +00:00
Stephan Aßmus
e6d3d87248 created "volume" icon (started off of zuMi's version)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-29 07:48:15 +00:00
Ingo Weinhold
b8ba8f58d7 Added the disk device API to the libbe_haiku.so, so that libtracker.so builds
again for target libbe_test. Added respective syscall stubs and other functions
to libhaikucompat.a.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20447 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 15:20:08 +00:00
Axel Dörfler
67fb7cd0ed Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-28 08:47:28 +00:00
Ingo Weinhold
2b2ec4382a * Moved the AutoLocker class out of the kernel/utils/AutoLock.h header
into its own shared/AutoLocker.h. It can be used by userland code too.
* Removed headers/private/shared/ObjectLocker.h and replaced all uses of
  BObjectLocker by AutoLocker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-27 12:05:33 +00:00
Stefano Ceccherini
63cd2925a0 Update the window size when adding and removing items. This fix bug
#683, but makes bug #582 look even more funny. Oh, well I hope I'll fix 
it one day.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20403 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-22 14:48:03 +00:00
Jérôme Duval
18108ef7de applied minimums to values computations
implemented SetLimitsFor() and GetLimitsFor()


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20391 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-18 23:32:27 +00:00
Jérôme Duval
789b86ec6c don't send a message on mouse down and mouve moved
correctly set "be:channel_changed"
correctly set "be:current_channel" with SetCurrentChannel()
correctly set "be:value"


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-17 18:25:27 +00:00
Jérôme Duval
80a1eea587 only chooses alpha characters for menu triggers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20385 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-14 18:53:31 +00:00
Stefano Ceccherini
a3d758e369 Added support for font settings in PictureDataWriter. Not used yet
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-13 11:14:47 +00:00
Ingo Weinhold
9781d591cb Include <util/kernel_cpp.h> in DoublyLinkedList.h only when compiling
for the kernel. Added missing includes in userland code that uses the
header.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-11 13:56:45 +00:00
Axel Dörfler
b5937fc6e6 The Message-Id field now gets a default hostname added in case there is none set in the system.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-10 12:33:33 +00:00
Ingo Weinhold
eb9b19800b Fixed gcc 4(.1.2) build problems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-04 05:00:40 +00:00
Marcus Overhagen
0b0ecfab90 Added "const" to many parameters.
Removed most data allocations/copying from PicturePlayer, ServerPicture now has to do this when converting coordinates.
Added additional functions to ViewLayer to copy&convert multiple BPoint, BRect, BRegion to Screen coordinates, those should be further optimized.
Removed some function call overhead.
Note: some functions of PicturePlayer don't appear to be implented by PictureDataWriter,


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 23:17:40 +00:00
Marcus Overhagen
a20cecff60 removed unnecessary use of const_cast<> and (global) do_playback() function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 18:37:55 +00:00
Jérôme Duval
506a2d9cc1 fix gcc4 build
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 18:12:01 +00:00
Stefano Ceccherini
649d84071b Removed commented code which implemented reading and writing of old
style BPicture data. If we need to support it, we can always resurrect 
the code from the svn history.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 15:45:57 +00:00
Stefano Ceccherini
79e78d47e9 Moved some functions around, some minor cleanups...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-01 14:57:36 +00:00
Axel Dörfler
63d6bf7ad8 * Applied patch by Jonas to have 32-bit icons in the mount and template menus
under Haiku. This fixes bug #1033. Thanks!
* Changed IconMenuItem sizing to use the same method as ModelMenuItem which
  makes sure the item is large enough for the icon, and which centers the icon
  in case the item is higher than the icon.
* Minor cleanup, added some comments about where those classes are used.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20240 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-26 23:02:54 +00:00
Axel Dörfler
d8de23cd1e BDirectory::Contains() would return "true" if the entry being tested for existed,
but the BDirectory was not initialized correctly. Thanks to Jonas who also provided
a patch for this (which I didn't use directly, though, for some minor reasons).
This fixes bug #1034.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-24 05:43:16 +00:00
Jérôme Duval
695174cbdd avoids invalidating when the text doesn't change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20210 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-23 20:04:57 +00:00
Axel Dörfler
cf2aeb201f * Implemented BDragger::{Show|Hide}AllDraggers() and its backend in the app_server.
This fixes bug #242. The value is currently stored in a separate file.
* Removed some unused codes from ServerProtocol.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20188 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-21 07:57:21 +00:00
Stefano Ceccherini
11ef32dfa9 erase() shrinks the vector, so we decrement the handler. Fixes the crash in case there are invalid handlers (Time application, for example). Should be fixed in the other _SendNotices() call too ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-20 16:25:15 +00:00
François Revol
0ba2462a6d Added a stub BTextParameter as in Dano, I'd need that for ESDSink at least.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20146 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-16 23:40:49 +00:00
Ingo Weinhold
7b95cc638b The BRoster initialization (contacting the registrar) can now time out
(generous 1s for delivery and for reply). This allows for the registrar
main thread to be debugged. Before the libbe initialization in gdb would
block, since it constructed the global be_roster which waited forever for
a reply from the registrar.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20144 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-16 16:53:45 +00:00
Philippe Houdoin
abbdc51e90 Applied Troeglazov "3dEyes**" Gerasim's patches: adds keys up and mouse wheel events support.
Thanks.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20141 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-16 11:37:36 +00:00
Jérôme Duval
c34e204a4e updated mesa to 6.5.2
updated the mesa software addon to work again (maybe would need more work)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20137 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-15 23:40:43 +00:00
Waldemar Kornewald
9c3e767c44 Changed from ~0 to kCurrentWorkspaceIndex which is actually readable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20102 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-07 14:42:33 +00:00
Waldemar Kornewald
ce9e75125e Changed from B_ALL_WORKSPACES to ~0 because that's more readable. :)
Can't we have something like B_CURRENT_WORKSPACE_INDEX?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20095 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-07 13:32:29 +00:00
Waldemar Kornewald
e89c235337 "Show Folder Location in Title Bar" is now disabled, by default.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 21:41:40 +00:00
Waldemar Kornewald
2e7b1dcdb9 The Defaults button had a different default than Tracker has
internally.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 18:33:10 +00:00
Axel Dörfler
17c3c55fbc Fixed flattening/unflattening BPictures. Unfortunately, this does not fix bug #1014.
Note: endianness is completely ignored.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 18:01:42 +00:00
Ingo Weinhold
cd9660c79a Moved sending the B_NO_REPLY reply from the destructor to the more
general _Clear(), so that the assignment operator and Flatten() will
trigger such a reply as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-06 17:30:54 +00:00
Michael Pfeiffer
c282eba324 * Fixed bug #1009. Update window while in BPrintJob.ConfigPage() or
ConfigPage().
* Set mime type of spool file so print_server accepts the file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20075 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-05 20:40:15 +00:00
Ingo Weinhold
c1c0c22091 * In the BMessage assignment operator we do now clear some of the message
header flags after copying the header of the original message. Before
  cloning a message that still needed a reply would result in the clone
  also needing a reply, which, in the end, led to two replies being sent,
  thus screwing up the cached reply ports used for synchronous messaging.
  Fixes bug #1008.
  BTW, also clearing the reply info breaks Tracker and Deskbar, so I suppose
  R5 keeps it and Tracker and Deskbar rely on that behavior.

* Added a bit of debug code removing and printing spurious messages from a
  cached reply port.

* Added TODO in BMessage::~BMessage(). ATM, we only send a B_NO_REPLY in the
  destructor, but not in case the message is overwritten using the
  assignment operator or Flatten().



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20074 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-05 16:04:46 +00:00
Axel Dörfler
815c38625d Applied patch by Vasilis Kaoutsis:
* replaced new[] with malloc()/realloc() where appropriate - since we're messing with
  the bits anyway, this makes the code slightly faster.
* however, we might want to throw some std::bad_alloc exceptions to deal correctly with
  low memory situations.
* cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20065 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-04 13:32:36 +00:00
Waldemar Kornewald
234554ce4b Fixed BScreen::SetMode() to use the current workspace when none is given.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20053 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 17:47:01 +00:00
Axel Dörfler
f55ffadf96 Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20045 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 12:44:51 +00:00
Waldemar Kornewald
f6a62205d3 Fixed comment style. :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20041 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-02 08:22:02 +00:00
Waldemar Kornewald
f70737c108 Fixed (*crossing fingers* :) the probably most complicated deadlock in Haiku's history...Axel, am I exaggerating? :)
I've tested it and it seems to work. Could someone else please confirm that everything still works well?

Hmm, I'm still wondering why Axel took the time to suggest a possible solution to me instead of fixing it himself. There must be a catch. ;)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 22:32:16 +00:00
Axel Dörfler
f6c0820638 * The BHandler observer mechanism was completely broken in Haiku for remote targets;
this fixes bug #1005. As a result, the Disks icon will now appear in file panels
  when you change that setting with a panel open.
* _ObserverList is now in the BPrivate namespace (and renamed to ObserverList).
* its BHandler map is now only temporarily used for handlers that do not belong to
  a looper yet; when BHandler::SendNotices() is called, they will be transferred
  into the BMessenger map.
* Invalid messengers are now removed from the map when encountered.
* Added TODO comments about a possible reference counting if a handler is added
  twice to a list (right now, this will be ignored).
* All {Start|Stop}Watching() methods are now more or less safe to be used in low
  memory situations (adding some items to the map can still throw an exception...).
* Renamed BHandler::InitData() to _InitData().
* Some refactoring and cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 16:08:01 +00:00
Ingo Weinhold
5df726a403 Fixed infinite recursion. Discovered by Ryan.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20027 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-02-01 08:21:44 +00:00
Ryan Leavengood
e3e76a3af9 Added convenience methods to allow a group or grid layout's insets to be set
while it is being built.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20026 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-31 20:30:20 +00:00
Waldemar Kornewald
e327ea521a This should fix absolute scrolling when clicking on an area covered by the thumb.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20022 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-30 20:22:24 +00:00
Axel Dörfler
f91bf83feb We must not wait for the reply of the registrar - this fixes a deadlock between
the registrar and the app_server.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-29 22:40:29 +00:00
Axel Dörfler
6af9dcbfe5 Another cleanup patch by Vasilis Kaoutsis - thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19998 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-28 21:35:08 +00:00
Axel Dörfler
087882c26e * Rewrote headers as necessary; only Errors.h and Debug.h still originate from a Be header now;
feel free to change that ;-)
* Cleaned up existing headers.
* Coding style guide update to BBufferIO (renamed m_* members to f*).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19972 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 16:36:29 +00:00
Axel Dörfler
9dbe170a69 Implemented direct message passing for local targets; this fixes a deadlock
with PostMessage() in case the message queue is full.
Some notes:
* for synchronous replies, we don't use this mechanism yet, but it could be
  extended to do that as well.
* the code looks so complicated because we need a way to access the looper's
  queue without locking it (to prevent deadlocks); like Dano's solution, I've
  abused BTokenSpace to store a BDirectMessageTarget with a BHandler.
* we also need to decouple the lifetime of a looper's queue from its target,
  as we cannot lock the looper, and therefore, can't guarantee it stays valid
  as long as we're accessing it outside of BLooper.
* init_clipboard() now needs to be done after the global constructors have
  been called - since sending messages now needs gDefaultTokens to be initialized.
  Since this is done per image, it shouldn't cause any troubles, though.
* some minor cleanup, removed unused _msg_cache_cleanup_() and friends.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19968 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 13:59:56 +00:00
Axel Dörfler
c01f349e6d Cleanup:
* Got rid of unused BLooper members
* renamed fTaskID to fThread
* Removed private and deprecated AddLooper()/RemoveLooper()/... stuff; BLooper is now
  directly calling BLooperList methods.
* Got rid of extensive and useless comments
* Made a few TODOs more clear
* Merged InitData() and InitData(...) to _InitData(...)
* BLooper::Team() now uses BPrivate::current_team(), sTeamID is gone now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 12:42:18 +00:00
Axel Dörfler
aa33d0a928 Got rid of the looper ID stuff - it seems nowhere to be used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 12:11:33 +00:00
Axel Dörfler
88df8322a9 Optimized current_team() - it now uses a static variable to hold the team ID.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19964 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-26 12:05:10 +00:00
Axel Dörfler
ca9b91886d * Added a Dano extension to BMessageQueue: IsNextMessage().
* BLooper::AddMessage() is now using this method to determine wether or not to
  update its looper thread.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19956 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-25 17:08:16 +00:00
Axel Dörfler
4686f4f716 A little oversight made all icons white on BeOS. This fixes bug #990.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19953 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-25 12:09:01 +00:00
Ryan Leavengood
5f5d917ad1 Your wish is my command: now only removable read-only volumes have their
desktops integrated in Tracker.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19947 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-24 19:29:46 +00:00
Stefano Ceccherini
b30e7f31c1 Use BTextView::Copy/FreeRunArray() instead of memcpy() and free()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-24 06:11:12 +00:00
Stefano Ceccherini
1a64df767e BTextView::FreeRunArray() now accepts a NULL pointer too (like free())
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19937 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-24 06:02:58 +00:00
DarkWyrm
355260f73b Removed non-boot desktop integration checkbox.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19934 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-23 23:48:54 +00:00
Axel Dörfler
15e334974b Calling ResizeToPreferred() on a BBox now honours its current size, IOW it won't get
any smaller due to this (before, a box without a label would resize itself to 0/0).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19919 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-23 17:27:32 +00:00
François Revol
f9c52afd6a Remove old usb kit fro Be in favor of the new rewritten one. At least we have one now :D
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19918 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-23 17:14:35 +00:00
François Revol
9b84f25119 The original (sample code version) USB Kit from Be, as from ftp.be.com/samples/usb_kit/usbkit_99-03-23.tgz
Some files renamed. Won't build yet with our usb_raw driver due to different namings. classes need to be B-prefixed anyway. USBKit.h needs to be split like in zeta as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-22 15:59:44 +00:00
Axel Dörfler
61b44b9345 Fixed a bug introduced by DarkWyrm: he obviously missed that there are two locations
where you have to set the default value of a setting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-21 21:02:45 +00:00
DarkWyrm
2395270daa Label tweaks as agreed upon on list
"List folders first" and "Show Full Path" default to on now


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-21 20:50:14 +00:00
Axel Dörfler
9353267722 fs_unmount_volume() gets a path to the mount point, not the (eventual) device
behind the mount point; BPartition::Unmount() would never unmount a volume.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19894 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-21 18:44:20 +00:00
Axel Dörfler
83dd342c4a * Implemented the AutoMounter for Haiku - it's barely tested at this point, but
at least mounting/unmounting seems to work. This fixes bug #191.
* Also changed the way how Tracker automatically mounts/unmounts volumes: it now
  only differentiates between removable and fixed storage, not between initial
  scan at boot, and periodical scans during runtime. Also removed all HFS stuff.
* Got rid of _INCLUDES_CLASS_DEVICE_MAP for the BeOS build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19893 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-21 18:03:47 +00:00
Axel Dörfler
eaac07392a * Fixed build under R5/Dano that was broken since Stippi added vector icon support.
* Separated Haiku's icon stuff a bit better, so that Tracker can still be built
  without having Haiku headers around.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-19 23:16:41 +00:00
Axel Dörfler
6486616423 * To get away with that empty mount menu, it now at least shows all mounted and
mountable volumes - there are no icons yet, and it will also not work at all,
  that is, you cannot mount/unmount any volumes yet.
* Got rid of _INCLUDES_CLASS_DEVICE_MAP in MountMenu.cpp.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-19 23:01:42 +00:00
Marcus Overhagen
2313ae7997 Modified SetValue to do nothing when the value is already set.
This seems also be done it BeOS R5 and does remove the constant 
flickering in the MediaPlayer slider.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-19 22:32:35 +00:00
Axel Dörfler
a803529b13 As Marcus noticed, some icons were gone after my last change; in fact no icons
were shown for all files without an own icon, and without one from its MIME type.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19866 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-19 20:59:37 +00:00
Axel Dörfler
e30afed439 As per Ingo's request, I moved calling BRoster::Private::UpdateActiveApp() into
the app_server (and updated all comments that said otherwise).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-19 16:41:58 +00:00
Axel Dörfler
c2f641f2e5 Turns out the whole "active app" mechanism in the registrar wasn't used at all; the
Switcher now works as expected.
* Renamed TRoster::ActivateApp() to UpdateActiveApp(), as the app is already activated
  at that point (the registrar only keeps track of it).
* BWindow::DispatchMessage() now calls the new BRoster::Private::UpdateActiveApp()
  method when it receives a B_WINDOW_ACTIVATED message.
* Added BRoster::_UpdateActiveApp() which calls the new B_REG_UPDATE_ACTIVE_APP.
* Removed now unused B_REG_ACTIVATE_APP.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19857 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-18 17:45:08 +00:00
Axel Dörfler
badbad99a9 Messed up logic last time - the cursor should now work as expected again in BTextView.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19856 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-18 16:04:01 +00:00
Axel Dörfler
6c3692dc87 Turns out our pulse mechanism was broken; we need to honour the rate set by
SetPulseRate() even if it is 0. BView::_Attach() and BView::SetFlags() now
just set the previous pulse rate again (which will start pulsing in case
there is no fPulseRunner yet).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-17 21:26:54 +00:00
Axel Dörfler
2a720453e1 One step closer to the Switcher - still doesn't work, though, but at least the
BWindow code looks okay now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19849 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-17 19:38:58 +00:00
Axel Dörfler
849de6ef97 Added another GetStyledText() function to force a specific encoding.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19847 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-17 12:04:02 +00:00
Axel Dörfler
ac0ff19664 While investigating why our UTF-16 files are broken (with a smaller output buffer),
I noticed that "state" was never set, but as expected this doesn't help at all:
we just can't use iconv() this way, I'll open a bug for this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19844 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-17 11:18:33 +00:00
Axel Dörfler
4ea89ce5c8 Looks like Be and Andrew mixed up UCS-2 and UTF-16; I added the UTF-16 conversion as well
now (which has a marker at the beginning of the file, unlike UCS-2).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-17 11:08:39 +00:00
Axel Dörfler
8acdd17f08 Added WriteStyledEditFile() variant that gets an encoding argument; it will automatically
encode the text in the BTextView accordingly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19841 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-17 09:10:16 +00:00
Axel Dörfler
450a5aea22 * GetStyledText() is now much more forgiving when it comes to corrupted data
(ie. if the text file is cut off, it will no longer return an error, but
  load as much as possible).
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19831 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-16 20:50:56 +00:00
Axel Dörfler
8cddf19132 Tracker now prefers an icon coming directly from the MIME type over one specified
by the application - as FileTypes already did.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-16 17:36:16 +00:00
Stefano Ceccherini
68fb266820 get rid of the now useless trackTime parameter
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-16 15:22:31 +00:00
Stefano Ceccherini
ebd1a3a130 some more work on menus... fixed bug #953 and some more stuff
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19827 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-16 14:43:01 +00:00
Stefano Ceccherini
ee144512ec use Invalidate() and UpdateIfNeeded() in BTextView::SetTextRect(). Fixes bug #571
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-16 09:04:14 +00:00
Stefano Ceccherini
1e634f4d9c Actually use B_COLOR_SELECTION_TEXT when drawing. Patch by Andrea Anzani
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19823 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-16 08:36:35 +00:00
Axel Dörfler
235a50037c accept() and bind() now accept NULL address parameters in the R5 compatibility mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 13:07:09 +00:00
Axel Dörfler
7383c05e71 The R5 socket protocol constant conversion routine was broken - now, NetPositive
is starting to work under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 12:37:08 +00:00
Axel Dörfler
43cca04a9a Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19731 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-06 18:06:38 +00:00
Axel Dörfler
ccf137b886 BWindow::IsFront() was implemented incorrectly - we actually need to query the
app_server for this; added a new AS_IS_FRONT_WINDOW command for this.
For example, clicking on the menu bar to bring windows to front in FFM mode
does work now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-06 17:08:19 +00:00
Stefano Ceccherini
27e7210df2 Since Waldemar changes to menus, replicants menus didn't work
anymore. That problem showed up for example during my haiku 
presentation at Begeistert, where I couldn't delete replicants from 
the desktop... grrrr!!! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19708 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-05 10:03:33 +00:00