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
(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
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
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
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
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
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
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
-> 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
also calling InvalidateLayout() and Invalidate(), if necessary.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21251 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
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
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
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
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
* 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
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
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
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
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
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
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
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
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
- 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
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
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
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
#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
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
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
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
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
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
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
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
(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
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
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
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
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
* 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
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
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
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
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
* 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
* 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
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
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
"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
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
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
* 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
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
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
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
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
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
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
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
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
(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
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
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
* _ContrainPoint() was broken as it could never change the point it was supposed
to contrain.
* MouseDown() no longer sends a notification message automatically (only if it
changed something)
* MouseMoved() and synchronous MouseDown() will now only send modification messages
if something actually changed (not for every mouse update).
* After key presses, the invokation message is only sent when the value changed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19697 a95241bf-73f2-0310-859d-f6bbb57e9c96
auto scrolling to its own method, introduced a new private
StyledWidthUTF8Safe method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19694 a95241bf-73f2-0310-859d-f6bbb57e9c96
(most notably when you clicked the first time on the textview, the caret
would be left "drawn" on the old position.
- Implemented vertical auto scrolling (horizontal auto scrolling is
still missing). Note that the view jumps when there is nothing to
scroll, might be a bug in BView::ScrollBy() ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19692 a95241bf-73f2-0310-859d-f6bbb57e9c96
is done from inside the BMenu::_track() function, and not inside Pulse()
anymore. Patch by Lucasz Zemczak
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19653 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added a comment about the proper use of the data-file argument.
* Applied Ingo's suggestion to the Jamfile, and it worked out of the box.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19649 a95241bf-73f2-0310-859d-f6bbb57e9c96
C++ API functions.
* Made some internal headers C++ safe.
* Cleaned up lcl_sv.cpp to only contain what's actually used (in particular,
the IRS_LCL_SV_DB stuff is gone).
* Wrote a basic "services" file and put it into libnetwork.so's resources.
* Updated lcl_sv.cpp to look into the resources if /etc/services doesn't exist.
* Removed the "quasipublic" status of irs_lclsv_fnxt() and made it private.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19644 a95241bf-73f2-0310-859d-f6bbb57e9c96