Commit Graph

3746 Commits

Author SHA1 Message Date
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
Stefano Ceccherini
44cd9847e9 pass -1 as first parameter of StartMenuBar(), otherwise it will hide the
cursor (used for keyboard navigation). Fixes bug #1807


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 13:04:52 +00:00
Stefano Ceccherini
2e0ba90d3f We can't use the be_app looper, since it can be already locked from
another thread (for example, when quitting the app/window), and that 
would cause a deadlock. Fixes bug #1645.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23995 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-18 08:15:29 +00:00
Jérôme Duval
6c1399c4b0 fixed looping mode, and bug #1730
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-10 21:03:34 +00:00
Stefano Ceccherini
a2186f4a81 print also the view name in case it mixes up flags and resizing mode.
Helps identifying it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23910 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 14:12:49 +00:00
Stefano Ceccherini
d082779211 Rewrote Input.h, adjusted Input.cpp accordingly, added nothrow on
allocations.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23905 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-07 10:50:39 +00:00
Marcus Overhagen
05b79eadff Removed the no longer needed debug code.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-06 22:08:25 +00:00
Stephan Aßmus
e0b3fc9796 IMHO these are a little better error codes. If fDelegate is NULL, it means
the BDiskDevice of a BPartiton has not been prepared for modifications. To
me, it means the initialization status of the object does not support the
operation, hence B_NO_INIT. B_BAD_DATA hints to me that I have passed invalid
data to a function.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23875 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 15:16:22 +00:00
Stephan Aßmus
7b95b37ca2 Make the Desktop window check the Deskbar frame only every half a second,
use a cached value otherwise. Should speed up icon placement when Tracker
starts.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23871 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 09:23:05 +00:00
Axel Dörfler
1ea104aeeb UpdateIfNeeded() no longer keeps the looper's BMessageQueue locked when
calling DispatchMessage().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23870 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 08:36:01 +00:00
Stephan Aßmus
753fd45fc2 Second part of a patch sent by Clemens zeidler:
* If in B_WIDTH_AS_USUAL mode, the strings in the tabs are nevertheless
  truncated to the available width.
* Pass the real area available for the string to BTab::DrawLabel(), resolved
  TODO in DrawLabel() about not having to calculate an offset to account
  for the slope.
* Fixed some too lines of code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 08:07:21 +00:00
Stephan Aßmus
00f378126a First part of a patch sent by Clemens zeidler:
* The BMediaTheme now uses B_WIDTH_FROM_LABEL for tabs in tabviews, 
  this makes tabs as wide as they need to be.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23868 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 08:04:03 +00:00
Stephan Aßmus
034e2b7f94 applied patch by Maurice Kalinowski:
* BTimeSource now checks if it is about to add itself as a slave node
  and refuses to.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-05 08:00:08 +00:00
Ingo Weinhold
bd6a90a7e2 _PostMessage() was holding the BLooperList lock while calling
BMessenger::SendMessage(), which could lead to deadlocks (as in bug
#1745).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-04 21:12:19 +00:00
Axel Dörfler
7cb9337835 * Ingo broke binary compatibility of Window.h in r18649, thanks to Stefano
for finding this. This should fix bug #1734.
* Removed unused BWindow members and the temporary PrintToStream() method.
* Indentation cleanup (DirectWindow.h had some spaces instead of tabs).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-04 15:01:34 +00:00
Stefano Ceccherini
13bba42efc Previous revision break all sorts of stuff. Fixed. hopefully
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23837 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-03 16:02:13 +00:00
Axel Dörfler
5905a0ae34 * Fixed _{kern|user}_{read|write}[v]() functions to not move the descriptor's
file position in case an offset was specified.
* Reverted r23828-r23830 in File.cpp: don't fix the symptoms but the cause
  of the problem (hey, that has to be in the kernel, right? :))
* Cleanup of File.cpp, removed OpenBeOS namespace.
* Moved user_fd_kernel_ioctl() to the section where it belongs to (that
  function should be renamed, though).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 23:50:51 +00:00
Stephan Aßmus
40da55c3ad * the BeBook documents WriteAt() and Write() to differ analogous to
ReadAt() and Read() with regards to the file position. Ie, WriteAt()
  is not supposed to modify the data pointer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23830 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 18:28:26 +00:00
Bruno G. Albuquerque
835b8e688a This fixes my previous fix. The position to read can be completelly random so I have to first cache the current
position before calling _kern_read() and reset it afterwards.

*NOW* this fixes bug #1200 in all cases.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 17:59:33 +00:00
Bruno G. Albuquerque
3debfe5186 ReadAt() should not change the file position. Tested under R5 and Zeta. This fixes bug #1200 (Received emails are
missing attributes).

I hope nothing relies on the previously broken behaviour.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 17:38:55 +00:00
Stephan Aßmus
96418817f9 * added a PrintToStream() method
* added optional tracing for the main operations
* fixed bad pointer arithmetic when reallocating/moving the object's data
* it was impossible to remove the very first space via _RemoveSpaces()
* added a little more variaty to error return codes for some
  functions to make them a little more helpful

-> This fixes the bogus space values in DriveSetup (#1737)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23824 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-02 12:38:15 +00:00
Oliver Ruiz Dorantes
308050e89a Update LocalDevice class with basic bluetooth_server comunication. Server code still to come. Nothing except the driver tested at the moment... I hope after these nothing is broken
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 21:24:17 +00:00
Ingo Weinhold
90e3bbf0cb Added optional kernel tracing for sending BMessages. Currently only the
destination of the message and it's "what" field are stored. It might be
nice to also get some info about its fields -- maybe as an additional
option.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-02-01 12:35:00 +00:00
Bruno G. Albuquerque
7a35b205fe Added regex implementation. using the system one results in failures when
compiling a regex. Note this is probably a bug in how MDR uses regex and not in
the regex implementation itself. This is just the simple fix while I
investigate bug #1200.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 12:59:12 +00:00
Stefano Ceccherini
5cc2ed98e2 Don't close a submenu if the mouse is outside the parent menu.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23790 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 11:34:05 +00:00
Stefano Ceccherini
9d73eec0ef Fixed a couple of problems with inserting text when there was a
selection (for example, moving around text with the mouse).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23789 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 10:58:04 +00:00
Stefano Ceccherini
bc7e472d88 DragMessage() makes a copy of the passed message. We were leaking inside
BTextView::_InitiateDrag().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23787 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-30 09:22:49 +00:00
Philippe Houdoin
46b5cc220a Corrected GLRenderer's instantiation function name.
(I guess frenchies are guilty here, as mmu_man's ThemeAddOn have the same disease...)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-26 22:51:51 +00:00
Stefano Ceccherini
28fa064595 Added more conditional debug output, taken from the dw_info test app.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23730 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-25 11:54:35 +00:00
Stefano Ceccherini
020cbad9d4 delete the semaphore instead of releasing it, otherwise
DirectConnected() could be called twice with B_DIRECT_STOP when closing 
the BDirectWindow.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23718 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 13:43:34 +00:00
Stefano Ceccherini
455a252e0d rewrote GLView.h (left out BGLScreen for now, will integrate it later),
adapted GLView.cpp to the new variable naming scheme.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-24 12:55:38 +00:00
Stephan Aßmus
28ff3e2c9a * the name of an image is actually B_PATH_NAME_LENGTH long
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23707 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-23 14:58:24 +00:00
Axel Dörfler
9f1506cb81 * Moved locking the looper from the GLRenderer class into the GLView class:
when the view is detached, fRenderer has already been released, and wouldn't
  unlock the looper anymore in GLTeapot. This fixes bug #1626.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23691 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 18:27:45 +00:00
Axel Dörfler
616e68e76c * IsLocked() now also uses the fCachedStack method that check_lock() is
already using.
* We don't have to try posting _QUIT_ more than once, as it cannot block; the
  looper is local, so direct message passing is used in this case.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 18:24:13 +00:00
Axel Dörfler
0fc3b83496 The AutoMounter should not keep a BDirectory object around that points to the
volumes root directory when trying to unmount it. This fixes bug #1694.
Thanks to Ingo for investigating this! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23685 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 14:45:49 +00:00
Alexandre Deckner
68c0d50c01 - Minor fixes to my last BColorControl patch
- Changed Backgrounds preflet to account for the fixes in BColorControl

First commit :) Hi everybody!



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-21 11:54:53 +00:00
Stefano Ceccherini
9c76ea4c52 Applied patch by Alexander Deckner (with a few small changes by myself):
Implemented palette mode and fixed bugs listed at ticket #1701. Thanks 
for your work!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23671 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 21:20:12 +00:00
Axel Dörfler
478ebbd14a Fixed an endless loop when iterating over all hosts (when there was no
/etc/hosts file).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23660 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-20 12:10:41 +00:00
Jérôme Duval
741e605cee updated copyright header
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 15:51:17 +00:00
Jérôme Duval
14334b29f1 added scripting support for tab selection in BTabView
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23635 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 15:38:28 +00:00
Stephan Aßmus
d4000a765f * fix the new layout version of the BView constructor to call the BHandler
constructor with the supplied name


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23630 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-19 11:59:26 +00:00
Stefano Ceccherini
8afaa47365 Fixed warning
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 12:09:23 +00:00
Stefano Ceccherini
75ee0a2911 Respect the maximum bytes set by SetMaxBytes() in Insert() and on
keydown. Fixed SetMaxBytes() so that it respect multibyte characters
(it removes the whole character in case it doesn't fit).
This can be seen in BColorControls, where you can't write numbers with 
more than 3 characters anymore.  


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-18 12:01:31 +00:00
Jérôme Duval
816fc92124 fixed GetVolume()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-17 19:44:39 +00:00
Stephan Aßmus
86914dfa8e * fix typo in the documentation for GetVolume()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 18:01:27 +00:00
Stefano Ceccherini
cc5d5e7a14 Reduced the time used for the vmware workaround
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23529 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 13:41:08 +00:00
Stefano Ceccherini
d01f3af185 Menu tracking now ignores mouse movements if they are too fast
(suggested by stippi). The movement threshold will be subject to 
changes, as I only tested on vmware and it's probably too high.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23528 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-15 13:40:13 +00:00
Stefano Ceccherini
d99b6db824 use B_NO_POINTER_HISTORY in SetMouseEventMask().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-14 13:52:15 +00:00
Ithamar R. Adema
e7fe0f67d1 Fix BPrintJob to not screw up user-made job settings with the global defaults.... StyledEdit prints again :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 23:47:35 +00:00
Ingo Weinhold
69666c9199 Clarified documentation of the "asynchronous" SendMessage() methods.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-13 22:55:27 +00:00
Michael Lotz
5d196712c9 Add a temporary backwards compatibility fix for applications that accidently
mix up the resizingMode and flags field in the BView constructor. This does
not cause problems under BeOS but was causing wrong follow modes when those
applications were run under Haiku. In case such an application is detetected
a corresponding warning is printed out. Also added a comment explaining the
rational behind the change and a ToDo for the later cleanup.

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

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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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

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



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


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


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


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


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


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


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


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


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


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


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


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


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


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


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



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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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



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


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


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


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


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


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


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


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


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

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


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

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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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


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



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


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



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


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


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


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


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



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


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


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


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


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


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


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


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

this fixes the weird placement of text controls in Beam


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


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


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


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


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


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


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


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


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

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


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


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22032 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-21 19:10:50 +00:00