8376 Commits

Author SHA1 Message Date
Adrien Destugues
a5a3b2d9a3 Bluetooth: fix thread safety issue.
Fixes #11428.
2016-02-14 14:07:21 +01:00
Dario Casalinuovo
4666afbf41 BMediaEventLooper: Revert recent timeout rework
* While on my system it looked like to run well, it introduced
a regression on some hardware. I'm reverting it as I don't have
a better solution, with the difference that we will do that only
for perfomance time events.
* Fixes #12624.
2016-02-11 19:17:20 +01:00
Dario Casalinuovo
c1ad6121ca BMediaRecorder: Solve possible problem with node references
* Since the BMediaRecorder have an it's own estabilished policy
relating releasing the producer node we will not interfere with
it except when we are controlled from Cortex.
2016-02-09 20:24:58 +01:00
Dario Casalinuovo
d23913f2d9 BMediaRecorder: Return the actual accepted format
* Allow SoundRecorder to record without the need of a system mixer
in front, for the nodes I can test.
* Solve other format related problems.
2016-02-09 20:15:05 +01:00
Dario Casalinuovo
cc0d365ef7 BMediaRecorder: Fix unneeded argument and error check 2016-02-09 14:11:40 +01:00
Dario Casalinuovo
2a2e352a4a BMediaRecorder: Rework to allow external connections
* This required to review various parts of the code, and
isn't probably still perfect. The main problem was an attributes
hell where redondance created a lot of problems, all this data
is now controlled mostly by the node.
* Header indentation changes needed too.
2016-02-09 13:33:09 +01:00
Dario Casalinuovo
801b3e3bf4 MediaEventLooper: Add more safeness on exit
* The WaitForMessage is moved at the end of the loop, and
the check for quitting the loop is moved as it's condition,
this makes us to be sure that once a Quit() request is performed
we will not handle events anymore.
* Other minor style and initialization fixes.
2016-02-07 23:16:24 +01:00
Dario Casalinuovo
e2cf46ca0c TimedEventQueue: Fix style as suggested by axel 2016-02-03 18:41:50 +01:00
Dario Casalinuovo
138a802617 BMediaEventLooper: Use enqueue_time in a different shape
* This is the only solution that allowed to use the best
of both ways to do this calculus. I've also tested it
with a modified sound player that snoozed every time
the buffer should be handled, and found that neither
of the lateness calculus I tested (including enqueue_time)
really solve all problems. That's why I've tried to find
an average solution. There's still room for improvements
eventually.
2016-02-03 13:25:13 +01:00
Dario Casalinuovo
bb1f15aade BMediaEventLooper: Better solution for negative timestamp
* This problem happens only at the startup, so that it's
preferred that we deal with it in the BMediaEventLooper side.
* This solve some audio stability problems I had with slow systems.
2016-02-03 13:25:13 +01:00
Dario Casalinuovo
ffeb987dc4 BMediaEventLooper: Make lateness calculus in real time
* After having this patch applied locally for some time,
I'm going to be sure that we have to deal only with real_time values.
* Since RealTime() is just a system_time() wrapper, the code
will be slightly improved in performances too.
* Additionally it performs very well when the thread is
externally stopped (such as debugging it), so that the audio
recover almost immediately.
2016-02-03 13:25:13 +01:00
Dario Casalinuovo
f1059fbd7f BSoundPlayer: Release the node instead to delete
* It's a bad idea to delete directly a node. There are some
mechanisms behind that might break if not used correctly.
* May help with #12606.
2016-01-28 23:33:33 +01:00
looncraz
3e08f21606 MenuField Low Color (for frame)
BMenuField's frame is drawn from the LowColor() which is adopted from its
parent.  However, we should be adopting the parent's view color for our low
color, otherwise we sometimes end up with a miscolored border (most often white).

This was not noticed earlier as most views have matching view and low colors.

Fixes ticket #12603

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2016-01-27 19:43:11 -05:00
Axel Dörfler
de4b1dede1 BMailProtocol: Removed delete/append methods.
* The mail system is file based which makes these methods pretty much
  superfluous.
2016-01-26 16:01:03 +01:00
Adrien Destugues
f9fe8e12c3 Style fixes as suggested by Axel. 2016-01-24 17:04:06 +01:00
Adrien Destugues
be1537b41a BBox: tolerate non-layouted child in layouted mode
While mixing layouted and non-layouted views is not supported, we are
doing it in some cases, including translator preferences (which uses
layout, but the views may come from a translator add-on which doesn't).

So, try to handle that case and at least avoid crashes by calling
MinSize/MaxSize and other unsupported layout code on views which won't
handle it.

Fixes #12610.
2016-01-24 13:42:11 +01:00
looncraz
37f9a29216 Improve Default BButton Appearance
Change control border color to 172, 172, 172 and use for default button
indicator drawing.

People doing an in-place upgrade will need to modify the border color from
its previous default manually or by pressing "Default" in the Appearance
preflet.  This is a one-time annoyance.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes: #12589
2016-01-24 11:22:52 +01:00
looncraz
9909ce416d BSlider - Don't Use Control Mark Color
This returns BSlider to its original appearance.

Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk>

Fixes #12578.
2016-01-17 09:27:34 +01:00
Rene Gollent
8028ede7db Build: Add architecture rule for libshared.a.
- As suggested by Ingo, add libshared.a to the architecture name map.
  This allows it to be linked by its short name like other frequently
  used libraries.
- Adjust all Jamfiles referencing the lib accordingly.
2016-01-15 21:12:24 -05:00
Rene Gollent
7a3892f439 BWindow: Fix keyboard handling bug.
- In the case of certain messages that are dispatched from the
  app_server with multiple target tokens (i.e. due to an attached
  view that has a mouse or keyboard event mask set), we need to
  strip the focus flag from the message before passing it to the
  non-focus views. Fixes a bug observed via Clipdinger where the
  aforementioned circumstance would result in all keyboard shortcuts
  being invoked multiple times.
2016-01-15 20:31:26 -05:00
Rene Gollent
2eb5cc49ab libmail: Fix build on secondary architecture. 2016-01-14 16:38:51 -05:00
Axel Dörfler
618cc43b64 IMAP: New folders will now adopt default mail attributes.
* Added a function CopyMailFolderAttributes() that copies the attribute
  layout from the text/x-email default query folder.
* This using the new CopyAttributes() method in libshared that is pretty
  much a copy of a similar method from copyattr. However, I did not
  replace the latter, as that one allows for more fine grained error
  reporting (and attribute filtering).
* Closes ticket #3498.
2016-01-14 21:00:38 +01:00
Augustin Cavalier
56af4c7c2b BShelf: Use strcmp(). 2016-01-13 10:14:03 -05:00
looncraz
faf00c7fa8 ControlLook - Desktop Labels
Enforce use of proper colors in DrawLabel() when on the desktop.

This repairs an issue where the text looks wrong in ActivityMonitor when it is a
desktop replicant and likely other unreported issues.

Fixes #12576.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-01-13 09:25:01 +13:00
looncraz
a99deff476 Tracker Desktop Icons Using Wrong Text Color
Was using the panel color without checking if we were the desktop view.
This corrects the reported issue where icon label outlines would look
incorrect.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-01-13 09:25:00 +13:00
Augustin Cavalier
d3fc049b78 BShelf: Use BString for comparing strings.
Recommended by Jessica on the Commits ML.
2016-01-12 14:58:26 -05:00
Augustin Cavalier
e2dfcf7094 BShelf: Fix crash in the case that view is NULL.
Also correct some formatting.
Fixes #12584.
2016-01-12 14:30:13 -05:00
Augustin Cavalier
03b1819c04 Tracker: Get rid of the "Restart Deskbar" menu item.
Now that launch_daemon automatically restarts Tracker and Deskbar
when they crash, this is not needed anymore.
2016-01-12 12:19:31 -05:00
Axel Dörfler
90fd6af0b6 launch_daemon: Added ability to enable/disable a job.
* Instead of just starting/stopping it.
* Also available via the launch_roster command.
2016-01-12 16:22:47 +01:00
looncraz
79a091e7dd Correct Tracker QueryPoseView Column Resize Appearance
PoseView's ColumnRedraw fills exposed areas in manually in an offscreen view
using the PoseView's LowColor.  As QueryPoseView uses a custom view color it
is necessary for the low color to match, otherwise resizing a column will
draw the untinted document background color.

Fixes #12569.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-01-11 09:27:04 +13:00
looncraz
d2d239f4c4 Improve BButton Color Adaptability
View color now shows through, so we keep the view color in sync with the
parent to act as the button background color.  The low color is used to
determine the button color.  The high color is used to determine the
button label color.

The default low and high colors are the control background and text colors,
respectfully. To maintain the identical appearance as before, the default
control background color is tinted to match the default panel background
color. As the color has a gradient applied anyway, no one will notice a
difference while playing with custom control colors.

Fixes #12568.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-01-11 09:27:04 +13:00
looncraz
f9f16ddb2c BAbstractSpinner Colors
Adopted parent colors for the text view - should not have done so.
Disabled colors were incorrect, so I also corrected those in this patch.

Fixes #12574.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-01-10 18:51:04 +13:00
Jessica Hamilton
ed749c6221 BView::AdoptViewColors: handle not yet attached to a Window.
As per API documentation, a BView caches the configured view
colours when not yet attached to the app_server via its
window. So check if we're attached to a window, and if we are,
then and only then do we attempt to lock/unlock our looper.

This fixes uses of AdoptViewColors and AdoptParentColors when
the view isn't yet attached to a window.
2016-01-10 17:51:43 +13:00
looncraz
054c81664a MediaPlayer PositionToolTip Color
Previously the layout would crush the default colors of BStringView preventing
BStringView from calling AdoptParentColors() on its own, so we must call it
manually.

In addition, the default tooltip view should fully adopt tooltip colors so
that any colors will default to the desired foreground color (which is the
same as the tooltip text color).

Fixes #12573.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>
2016-01-10 11:39:35 +13:00
looncraz
c9bd4d84b9 Interface Kit: Correct button colors.
What appeared to be multiple issues was just one issue: BButton was drawing the
control background color for its border, whereas the previous system drew the
control low color, which was the parent's view color.

Neither is correct, no border should be drawn at all.

This made it appear that the default button was larger than it was and also
made it appear that some apps had a "white" border around the buttons.

In addition, BButton can now use the default BControl color behavior and
BButton exclusively adopt either parental or system colors without worrying
about the case in which another view has set the button's view color manually.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2016-01-06 16:55:14 -05:00
Dario Casalinuovo
ec02769a58 media_server: Replace ping/pong with notifications 2016-01-06 22:40:28 +01:00
Augustin Cavalier
1d11475790 BAboutWindow: Put the AboutView and StripeView into BPrivate.
To avoid name clashes. Possibly fixes the HaikuDepot crashes.
2016-01-06 15:08:34 -05:00
looncraz
678f8a7b5d Tracker: Fix column title colors following Set*UIColor merge.
Repair regression where low color for text drawing was not set properly.
Do not use tinted color for default color state.

Prior to this, the hinting font would not respond to being pressed and the
column title background was the wrong color initially, but correct after
resizing (but then wrong again after a redraw on exposure).

In addition, the initial tint values used for the view color were unused,
so I removed them.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2016-01-06 14:54:33 -05:00
Axel Dörfler
8180539313 IMAP: setting flags, and body fetching works now.
* The direct methods in BMailProtocol now forward the request to the
  looper; it's no longer the mail_daemon's responsibility to know
  anything about that protocol.
* It's in desperate need of refactoring, but it doesn't hurt to add
  it to the repository as is.
2016-01-05 20:12:26 +01:00
Augustin Cavalier
3592932936 BApplication: Remove added PrintToStream().
Another missed debugging snippet from the merge.
2016-01-04 18:52:41 -05:00
looncraz
2567fac21d app_server: Fix for LinkReciever.
LinkReceiver would spin endlessly when given a timeout value which prevented
DelayedMessageSender from being operational.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patch 0002 from looncraz, unmodified.
2016-01-04 13:37:33 -05:00
looncraz
f696e88a2c Convert various more things to using Set*UIColor.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patches 0038, 0040, 0042-0044 from looncraz, unmodified.
2016-01-04 07:29:14 -05:00
looncraz
f56d45ced4 BToolBar: Convert to using Set*UIColor.
This was a bigger change than many others as BButton now defaults to using
control background colors, and we can not do that here without the buttons
not appearing as we desire (blending in with the toolbar).

Using the control background color for the toolbar would be unacceptable.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patch 0041 from looncraz, unmodified.
2016-01-04 07:27:25 -05:00
looncraz
c5b4dc4007 Tracker: Use Set*UIColor, improved font awareness.
InfoWindow now uses the font size to determine the window size and
placement of elements. Also uses system colors, including link
colors. Permissions view not font sensitive yet.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patch 0039 from looncraz, unmodified.
2016-01-04 07:24:41 -05:00
looncraz
f0650dc98f preferences: Convert to using Set*UIColor.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patches 0023-0037 from looncraz, unmodified.
2016-01-04 07:21:14 -05:00
Augustin Cavalier
3199cff322 kits/interface: Convert the new BCardView over as well. 2016-01-04 07:08:24 -05:00
Augustin Cavalier
a4f254fa49 Remove printf() definition added in previous commit. 2016-01-04 07:06:55 -05:00
looncraz
7a96554cb3 kits/interface: Convert to using Set*UIColor.
Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patches 0003-0017 from looncraz, unmodified.
2016-01-04 07:04:45 -05:00
looncraz
7f9368cae5 Set*UIColor, etc.
The inseparable changes necessary to support live color updating across the
system in a sane, safe, and performant manner.

BView gains:

HasSystemColors()
HasDefaultColors()
AdoptSystemColors()
AdoptParentColors()
AdoptViewColor(BView*)
SetViewUIColor(color_which, float tint)
SetHighUIColor(...
SetLowUIColor(...
ViewUIColor(float* tint)
HighUIColor(...
LowUIColor(...
DelayedInvalidate()

BWindow gains a simple helper method:
IsOffscreenWindow()

BMessage gains:

AddColor()
FindColor()
GetColor()
HasColor()            * allegedly this API is deprecated, but I implemented it anyway
ReplaceColor()
SetColor()

Previous private ColorTools methods are made public and moved into GraphicsDefs:

mix_color, blend_color, disable_color

These are fully compatible with BeOS dan0 R5.1 methods and are just code cleanup
of BeOS example code under the OpenTracker license.

In addition, four new colors are created:
B_LINK_TEXT_COLOR
B_LINK_HOVER_COLOR
B_LINK_ACTIVE_COLOR
B_LINK_VISITED_COLOR

These changes are documented in their proper user documentation files.

In addition, due to a history rewrite, B_FOLLOW_LEFT_TOP has been defined and
used in lieu of B_FOLLOW_TOP | B_FOLLOW_LEFT and is included in this commit.

On the app_server side, the following has changed:

Add DelayedMessage - a system by which messages can be sent at a scheduled time,
and can also be merged according to set rules.  A single thread is used to service the
message queue and multiple recipients can be set for each message.
Desktop gains the ability to add message ports to a DelayedMessage so that
said messages can target either all applications or all windows, as needed.

Desktop maintains a BMessage which is used to queue up all pending color changes
and the delayed messaging system is used to enact these changes after a short
period of time has passed.  This prevents abuse and allows the system to merge
repeated set_ui_color events into one event for client applications, improving
performance drastically.

In addition, B_COLORS_UPDATED is sent to the BApplication, which forwards the message
to each BWindow.  This is done to improve performance over having the app_server
independently informing each window.

Decorator changes are live now, which required some reworking.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
2016-01-04 06:48:22 -05:00
Augustin Cavalier
3c85734188 BTextView: Don't crash if the file supplied is zero-length.
Fixes #12551.
2015-12-31 20:54:27 -05:00