Commit Graph
100 Commits
Author SHA1 Message Date
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 6a0f79107d * fix the build of the libbe_test target
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-11-01 15:03:58 +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
Stephan Aßmus ed7081f728 * 'PNG ' -> B_PNG_FORMAT
* reformat long lines so that they don't exceed 80 chars


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22751 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-28 19:13:46 +00:00
Stephan Aßmus d5f662106a * define more classes for non-selfcontained R5 headers... maybe I would have
to define even more if I did a clean build


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22746 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-26 23:43:55 +00:00
Stephan Aßmus 42a2db3602 * track the fact if Painter is attached to a frame buffer, incorporate
this information in the fValidClipping flag... which should prevent
  any drawing code to run if Painter is not attached properly


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22736 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-26 15:31:27 +00:00
Stephan Aßmus cf91c9e850 * some disabled code that was supposed to reveal more info on why
it can happen that a view's background region is outside the
  framebuffer... for some weird reason, it doesn't get triggered
  though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22725 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 18:20:03 +00:00
Stephan Aßmus ff85245718 * fixed the crashing result of bug #634, check if the supplied region
falls within the frame buffer bounds. This should not happen, and
  I am going to search for the cause next, but at least app_server
  dosn't crash anymore in this context. Left a comment on my findings
  so far.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 15:11:58 +00:00
Stephan Aßmus e48d0f097b * fix trailing tabs in FPS.h, thanks Michael!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22720 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 13:33:07 +00:00
Stephan Aßmus 450bb3e557 patch by Fredrik Modéen:
* extensive code cleanup
* small additional clean ups by myself


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22716 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-25 12:28:22 +00:00
Stephan Aßmus 5913d84eb8 patch by "anxiety":
* added a Query menu to the main menu, giving access to some
  email queries
I refactored the patch a little and added monitoring the query folder,
so that all open Mail windows should update. However, I might not have
got it to work as intended, at least I got no entries for the query results,
even though the same query did return results when run in Tracker.

This should implement the idea in #1208, and that's also where the patch
was attached. 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22702 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-24 23:01:54 +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
Stephan Aßmus a637e3c53c patch by Fredrik Modéen:
* add filtering of files by mimetype when adding them to the playlist
* some changes by myself (added Axel's suggestion to guess the mimetype
  in order to support other filesystems than BFS)
Fredrik -> please have a look at our coding guidelines, also you have weird
whitespaces in your patches... :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-22 14:44:38 +00:00
Stephan Aßmus d3f08e7fb8 * we don't actually need the AccelerantHWInterface in the test environment,
therefor we don't need to worry about the extended Accelerant interface


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22640 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 15:55:53 +00:00
Stephan Aßmus 55f2592d3a * added more stuff which was needed to get the test environment to compile
again


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22639 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 15:54:04 +00:00
Stephan Aßmus dd8cf8ddd6 * fix build in test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 15:52:56 +00:00
Stephan Aßmus 0e1ffc3925 * fix build in test environment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22637 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 15:48:12 +00:00
Stephan Aßmus 359f014e4e * part of libbe_test build fix... why is the _IMPEXP stuff there in the
first place? Is it even needed?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22636 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-21 15:19:25 +00:00
Stephan Aßmus 2759998892 * this partly fixes the broken build of the app_server test_environment
(yes I still use that), but there are more problems, regarding
  for example BPrivateScreen definition and the disk device API stuff,
  I am kind of clueless regarding those. :-(


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22623 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-19 19:54:05 +00:00
Stephan Aßmus b0e2e12f4f * fix the build of this test
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 18:21:26 +00:00
Stephan Aßmus 540fe7aef9 patch by Fredrik Modéen with changes by myself
* toggle the "marked" state of the settings menu items correctly
* implement muting/unmuting the volume
* implement volume up/down triggered by keyboard events
* forward the skip next/previous events to the controller
  (various kinds of keyboard navigation or mouse wheel)
* establish the notification link for volume and muted changes


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22594 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-17 10:29:16 +00:00
Stephan Aßmus bf7ab50d4c large patch by Bek (HOST team):
* style improvements, header reformatting, small refactoring and adding
  of missing copyrights

(to Marcus: this is not the original patch, it has already been revised two
times by myself and I thought it was very nice now)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22426 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-03 21:19:17 +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
Stephan Aßmus 0064e64138 patch by Julun:
* fixed ticket #1500
	* big cleanup and removal of unused code


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 14:54:15 +00:00
Stephan Aßmus 4d1c422802 * added a way for the ServerWindow message loop to determine the required type
of locking before processing the message (single/all window lock)
  -> in most message cases, I could comment out the unlocking/locking which
  switched to the different lock, because the required lock is now already held,
  this removes some race conditions which were commented in the code already
* EventDispatcher::SetDragMessage() didn't lock the object, this would have
  been bad if multiple windows tried to set a drag bitmap at once
* the Desktop object keeps track of mouse position and pressed buttons, so
  that it doesn't need to lock the EventDispatcher for sending fake mouse
  moves to windows on show/hide of windows (solves some cases of possible
  dead locks with the new locking strategy)
* the keyboard EventFilter switches the current workspace asynchrnously from
  the Desktop thread (another source of possible deadlocks)
* the "reader is trying to become writer" check in MultiLocker is only used
  in DEBUG mode now

As a summary: It would be nice if ServerWindow used a readlock for all messages
it processes itself, and forwards all messages for which it needs a write lock
to the Desktop thread. All cases where either the Desktop or the ServerWindow
mess with the EventDispatcher are possible sources of deadlocks. This is solved
right now by making sure that the lock is released before using the
EventDispatcher.

I have not observed any deadlocks while switching workspaces and launching
many apps anymore, neither crashes. But I have not tested extensively except
for in the test environment. That being said, I could reproduce the problems
on first try before in Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-02 14:09:11 +00:00
Stephan Aßmus 242eff3d7b * prepare optional package Vision (download at sourceforge has been updated
with HVIF icon too, thanks DeadYak!)
* enable optional packages in your UserBuildSetup


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 17:24:57 +00:00
Stephan Aßmus 05bcaa5a60 * put more website icons under version control
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22383 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 09:49:01 +00:00
Stephan Aßmus 212ad3266b * all the icons in native Icon-O-Matic format (including named paths, styles and
shapes) which have so far been done for Haiku, the website and other apps


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 09:34:20 +00:00
Stephan Aßmus 86952603d8 * updated WonderBrush location to the new release
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-30 07:54:58 +00:00
Stephan Aßmus 2a88281a61 * check for possible division by zero (just had a crash with divide error
on another machine, don't know if this was really the cause, but it should
  be checked nevertheless I guess)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 14:06:19 +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
Stephan Aßmus f691c77a30 * don't know which option to pass to fopen() in order to create a file if it
doesn't exist, so I just used a BFile instead... this should fix part of
  ticket #1423, if someone wants to look into the gateway retrieval
  (settings.cpp) to fix the other half of the bug, that would be great


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 07:22:18 +00:00
Stephan Aßmus c96bc8d3f1 * removed unnecessary whitespaces, small style cleanups
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 07:19:32 +00:00
Stephan Aßmus b1836934f8 * when selecting objects in the list view, the controls will adapt to the
object properties


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-29 06:46:29 +00:00
Stephan Aßmus 8abf0f5150 * the "auto numlock" option is now off by default, for all the notebook
users (this had irritated me myself when I first used DeskCalc on a notebook)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22273 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-22 08:41:16 +00:00
Stephan Aßmus 015a014aa7 * fixed quite a few selections bugs, most were caused by cyclic notifications,
and the mechanism to prevent them not working...
* could have fixed the "there are still listeners attached" bug (debugger drop)
  on exit, I have not seen it again, but I am not sure if it is really fixed
* introduced a way to ask the user, if changes should be saved and then
  pick up the line of thought after saving


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-21 15:21:38 +00:00
Stephan Aßmus c4ce9e7607 * the custom ScrollView supports B_NO_BORDER, B_PLAIN_BORDER and B_FANCY_BORDER
and each side of the border can be turned off or on individually
* -> cosmetic improvements


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22268 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-21 13:04:06 +00:00
Stephan Aßmus f10474fc0b * the main window is now using the min/max size from the layout system
* added Min/MaxSize() implementations to PropertyListView and ScrollView,
  which fixes the instable layout (upper list views shrinking towards the top
  whenever views are added/removed in the property list)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22267 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-21 08:40:00 +00:00
Stephan Aßmus 062aea5c40 patch by Julun:
* write the RTC settings (GMT versus Local time)
* small cleanups


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22251 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-19 07:12:08 +00:00
Stephan Aßmus 0fcc16e538 * some more cleanup and refactoring in EthernetSettingsView
* added Revert button
* added enabling/disabling of text controls according to Mode setting


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22239 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-17 17:50:06 +00:00
Stephan Aßmus 5406d829a8 a bit of cleanup
* Network can only be built for Haiku, so no package and no BeOS compatible
  declaration in Jamfile
* some style cleanup in EthernetSettingsView
* fixed EthernetSettingsView::AttachedToWindow(): fixed leaking of the
  initial message, fixed potential crashing bug when no device was present
  on the system


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22238 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-17 14:05:06 +00:00
Stephan Aßmus d12bc5d9e5 * I was a bit too ambitious, this file was not touched by Julun yet it appears
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22233 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-14 09:15:30 +00:00
Stephan Aßmus fd7c0c2ed7 patch by Julun:
* fixed more style issues
* fixed small memory leaks
* refactoring
+ some small changes by myself, added back Michael Berg and Andrew McCall as
  likely authors of most files which had no author information


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22232 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-14 09:04:03 +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
Stephan Aßmus cdb69c4a02 * take care of invalidating resized menufields on BeOS
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22227 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-13 11:49:38 +00:00
Stephan Aßmus 158001f57d * fractional rects need to be aligned if not drawing in subpixel precise mode,
by now, I feel there is too much code involved in this... I guess I should
  really move this to stuff to ViewLayer::ConvertToScreenForDrawing()...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-12 08:18:09 +00:00
Stephan Aßmus 42b3a11f19 patch by Julun:
* further cleanup of code to apply style guide
* removed now obsolete clock bitmaps
* some restructuring of the code
* adjusted layout of the time zone pane


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22222 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-12 06:08:42 +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
Stephan Aßmus ef4159b382 * added icon, based on work by "Humdinger" and "genki"
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-09 14:26:48 +00:00
Stephan Aßmus 129302e4c1 * fixed two bugs related to #1445, on BeOS R5, BFS has a bug that prevents
attributes to be written under a certain name when they already exist under
  the same name but with a different type
* the code that did the saving to a temporary file, then copied the attributes
  of the original file, then clobbered the original file prevented saving the
  icon in the icon attribute reliably, disabled this code for now and added
  TODO how it should work better


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-08 18:25:06 +00:00
Stephan Aßmus 5725361ffe * some fixes to the GUI on BeOS, avoid an app_server bug when resizing the window
after creating the views, but before Show()
* make the MenuFields in the Style section follow left/right


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22204 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-08 18:21:20 +00:00
Stephan Aßmus 13310304ea * fixed Mail startup, it would not open a window because of an uninitialized
variable (#1459)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22200 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-08 15:15:32 +00:00
Stephan Aßmus 53d9356e96 * applied another large patch to cleanup and refactor code by Julun (aka HOST)
* Julun also fixed some font sensitivity issues
* Julun already replaced the bitmap clock with resizable clock rendering,
  I took this as a base and tried to make it visually pleasing



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22199 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-07 10:23:12 +00:00
Stephan Aßmus c4650bba52 * CopyEngine::Start() didn't return something at the end of the function
* CopyEngine::CopyFolder() forgot to GetName(name) before using "name" in
  strcmp()
* "delete" already checks for NULL


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22196 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-06 23:02:41 +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
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
Stephan Aßmus 553024440b This fixes all the issues mentioned in #1207
* improved alignment of controls
* removed last separator from icon bar
* moved separator in sending mode so grouping of trash icon is like in
  reading mode
* adjust window size constraints according to icon bar width
* fixed follow modes of menufields when resizing window (even on BeOS,
  though a custom menu field is needed to take care of invalidation)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22128 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-30 23:10:41 +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
Stephan Aßmus 7ebe0d01cf first part of a big cleanup of the Mail code
* separated window, app and context menu code
* got rid of all the global variables (which were accessed completely without
  locking, and the code with regards to the preference window sill needs
  fixing)
* extracted some defines and helper functions to MailSupport.cpp, though I later
  saw Utilities.cpp...
* got rid of the FONT_SIZE define which was used in some (but not all) controls
  to override the system font size
* worked in Header.cpp to get the controls layout font sensitive with correct
  alignment too, some problems remain when resizing the window


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22122 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-30 19:32:38 +00:00
Stephan Aßmus e749c485ed * this fixes the second part of #1426, unfortunately, the clipping checks
have become more expensive, so maybe it is better to do what I proposed
  in the ticket comments, and move the rounding of drawing command coordinates
  into ViewLayer::ConvertToTopForDrawing() instead of handling it in
  DrawingEngine and Painter


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22060 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 14:31:49 +00:00
Stephan Aßmus 561844529d * implement FillRect() with B_OP_INVERT using hardware acceleration like
FillRegion() is already doing (untested)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22059 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-26 14:23:06 +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
Stephan Aßmus 227fb2b11c * use Ryan's new BAboutWindow class (also removed the hint that this app
originally was a birthday present for Ingo... hope he is Ok with that)
* fixed ticket #1424, now it uses three empty buttons for new pads
* cloned pads are now opened at an offset, otherwise one wouldn't have any
  visual feedback that something happened with a cloned pad on top of the
  original


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22055 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-25 17:34:43 +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
Stephan Aßmus 307d439902 * reenabled implementation of "false bold width" font feature
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22037 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-22 14:15:07 +00:00
Stephan Aßmus c5c3b078e7 * clarified comment
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22036 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-22 14:14:30 +00:00
Stephan Aßmus 22f5a4e492 * fixed broken invalidation on resizing the status view
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-20 22:23:18 +00:00
Stephan Aßmus e583bfc206 patch by Andre Garzia:
* reading/writing interface configuration data is now working properly
* at boot, net_server will overwrite the configuration with settings retrieved
  via DHCP, though
* refactoring/renaming

changes by myself:
* fixed warnings and cleaned up in Settings::ReadConfiguration(), when the
  nameservers are parsed
* fixed warning in EthernetSettingsView::_SaveAdaptersConfiguration(), changed
  the loop to do without "isOpen", I think it was broken in two ways before:
  - it would use the fp pointer after closing the file (isOpen was not
  maintained), and if that would have worked, it would have overwritten the
  interface configuration saved in an earlier loop iteration, now it should
  write all interfaces that are not set to autoconfigure


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22018 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-20 17:40:48 +00:00
Stephan Aßmus b60056cdb3 patch by Andre Garzia:
* it gets all the configuration and it saves it back but for some reason,
  the net_server is not noticing the changes yet


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22007 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-17 16:36:13 +00:00
Stephan Aßmus ae3a7f4dac * don't leak the rect data in case of failed realloc()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22006 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-17 16:24:43 +00:00
Stephan Aßmus 15a6a1bd6d * more pleasing insets/offsets and the proportion of the zoom button scales
with the font size


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22005 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-17 16:24:01 +00:00
Stephan Aßmus f7e1df7560 * get rid of RGBColor usage where it is not needed, this simplified many things,
possibly making them a little faster too
* mess with decorator button size calculation to make the whole layout scale
  more agreeable with the font size (no more fixed offsets/insets), but it
  is work in progress
* DefaultDecorator no longer allocated the border color array, it is part of
  the object now
* small memory footprint optimizations in ViewLayer, Decorator and WindowLayer


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22003 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-17 12:56:20 +00:00
Stephan Aßmus f591e3a0f2 * fix weird Shape op/point allocation
* handle out of memory situations
* don't try to copy (and assign op!) in SetData if opCount/ptCount is 0
-> FontDemo doesn't crash anymore eventually when cycling fonts in outline
mode


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22000 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-17 11:17:29 +00:00
Stephan Aßmus 6b9d63b18f patch by Andre Garzia:
* extracted a settings class from the view, now a dynamic number of ethernet
  devices is handled at the same time
* resolv.conf is parsed to extract the nameservers


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21970 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 21:57:41 +00:00
Stephan Aßmus bd57c145be * setting a different menu color with the menu preflet gives now visually
agreeable results (I hope)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21967 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 20:38:29 +00:00
Stephan Aßmus 91d0586a7d * it should be better to lock before accessing the data, even if reading only
* after this change, I have not spotted "left behind" cursors again, but it
  might just be bad luck...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21966 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 19:06:11 +00:00
Stephan Aßmus 86d8381f5f * fixed libbe_test build, I guess this was caused by Ingo's recent change
to the header path variable?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-15 18:52:50 +00:00
Stephan Aßmus 8f4f70a56d * implemented a lock up table for drawing text in B_OP_COPY,
maybe this is too resource hungry, feel free to critisize... :-)
* the speedup is there, but not overwhelming


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 17:09:20 +00:00
Stephan Aßmus c6811df0c3 * I am turning this back on, it seems the problems are fixed, and if not,
I would like to fix them. Using the string width cache results in a great
  drawing speed up, for example in StyledEdit and Mail. Any app that uses a
  larger BTextView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21928 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 17:03:53 +00:00
Stephan Aßmus ea6280b6d5 * maybe I fixed the sometimes weird decorator buttons, I have not spotted them again with this change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 09:27:18 +00:00
Stephan Aßmus a2d6475360 * fixed usage of hardware accelerated inverting, of course we shouldn't do it again in software after we have done it in hardware...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21921 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-13 09:26:27 +00:00
Stephan Aßmus 5a626bd963 * removed code duplication in BView::check_lock() and do_owner_check(),
* revised use of check_lock() versus do_owner_check() (do_owner_check()
  is supposed to drop you into the debugger if there is no owner, otherwise
  it behaves like check_lock())
* ConstrainClippingRegion() no longer transmits empty regions to the
  app_server. I would have thought that my fix to ServerLink would have
  solved the issue I was investigating, but only this commit fixes it.
  Maybe the last commit would have fixed it if I did a "jam clean"...
* WonderBrush draws the icons again on mouse over...


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


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21900 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 09:52:25 +00:00
Stephan Aßmus 95baf31294 * view accepting bitmaps are now cleared to white
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21895 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 15:56:37 +00:00
Stephan Aßmus aadc09c665 * fix the mixup of charCount (glyphs) versus bytes. The new font cache
implementation takes the byte count, even though it looks like this is
  less efficient when the glyph count is already known (I tested to
  optimize it away but it was not faster)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 13:34:09 +00:00
Stephan Aßmus b595496d03 * minor cleanup
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21890 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 13:31:59 +00:00
Stephan Aßmus e4273662d2 * this function might be called with a NULL FontCacheEntry, handle that
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21889 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-11 13:16:07 +00:00
Stephan Aßmus fe914c98b4 * added a version of SetFont() that takes a DrawState* to DrawingEngine and
Painter, that is needed to be able to tell if anti-aliasing is to be used,
  since the flags in the font can be overruled by the flags in the view...
* fixes aliased fonts reliably, tested with FontDemo


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21869 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-09 09:48:28 +00:00