Commit Graph

58586 Commits

Author SHA1 Message Date
Adrien Destugues
56a7cb3137 Fix build. 2018-07-19 19:28:19 +02:00
John Scipione
3123432674 BeDecorator: update close and zoom button gradients
... to better match BeOS.

Up until this point we have drawn buttons with a perfectly smooth
linear gradient that was nicely provided by Stippi. However, BeOS
used a more stylized gradient instead. This commit seeks to
reproduce this stylized gradient on BeDecorator adjusting itself
for larger button sizes.

Consolidate and correct colors. button, light1, light2, and
shadow1 colors are the same on close and zoom buttons. Zoom has
a lighter shadow2 than close button. Try to get as close to the
colors used on BeOS as possible. Added comments indicating the
colors used on BeOS in active and inactive states for future
reference.

light1 color stays grayscale if grayscale, otherwise skews
non-blue. This replicates how BeOS worked.

Fill with window tab color before drawing: lose B_TRANSPARENT.

Undraw the bottom left and top right corners of bitmaps in the
unpressed state. BeOS did not do this (usually), but it should
have as it closes the ring.

Define a bunch of bitmaps and use them as stencils to write into
ServerBitmaps 1 or 2 colors at a time.

Update close and zoom button down states. When the button is
pressed rotate bitmap by 180° by reading the source bitmap in
forwards while writing destination bitmap out backwards. This
allows the dark part to be draw in the top left while the light
parts are drawn in the bottom right. (opposite of unpressed)

Don't draw the parts of the big zoom square that are obscured by
the small square.

private _CreateTemporaryBitmap() method stolen from AlphaMask.cpp
to create temporary ServerBitmaps and zero them out. Store the
pointers on the BeDecorator class and then release them in the
destructor method when the class object is deleted.

Initialize the ServerBitmaps in the ctor and set fCStatus. On
failure set to B_NO_MEMORY and fallback to drawing a linear
gradiant. This will most likely never happen but just in case
it does we want to avoid crashing.

A few 80-line char fixes

Change-Id: Ic81837aa387f05b04dda3e1ff76fdf103c93f8e8
2018-07-19 14:01:51 +00:00
David Murphy
d8d6c65576 BListView: Restore selection to MouseDown and fix multi-select drag'n'drop
* Moves list item selection logic back to MouseDown from MouseUp to improve
  application compatibility and responsiveness
* Fixes multi-select drag and drop by not modifying the existing
  selection if a MouseDown event is on a selected item.

Fixes #9190, #14264, #14289
Change-Id: I58050b403dac985f98e03faa72de1ebc5d24f95b
2018-07-19 14:01:35 +00:00
Hrishi Hiraskar
bc8427c522 Tracker: Allow add-ons to dynamically extend popup menu.
An add-on may now add custom entries to the popup menu, in order
to provide more than one action.

Change-Id: Ib4726c0c1e70c59e3ba4d752df24b76cfee1c4a4
2018-07-19 14:00:48 +00:00
Augustin Cavalier
d632c685a0 Fix the build following previous changes. 2018-07-18 21:22:06 -04:00
Augustin Cavalier
53a371041c Remove the FreeBSD 9 compatibility layer.
Long live the FreeBSD 11 compatibility layer!
2018-07-18 20:11:35 -04:00
Augustin Cavalier
1e29bfd7d8 Update all remaining consumers of the FreeBSD compat headers. 2018-07-18 20:10:04 -04:00
Augustin Cavalier
fd893db8b1 broadcom43xx: Sync with FreeBSD 11.1.
And with that, the driver upgrades to FreeBSD 11.1 are complete!
2018-07-18 19:47:06 -04:00
Augustin Cavalier
3c42c902d9 Revert changes to BTextInput's text-rect calculation.
This reverts commit 11dee0444f.
This reverts commit 1641a0516d.
This reverts commit 484f64f315.

These changes break various edge-cases in BTextInput (e.g. typing off the end
of a long string, using the arrow keys to navigate while out-of-bounds),
and nobody has found any fixes for them in the nearly-a-year since they've
been instanted, so they are now being reverted.

Reopens #12608, #13796.
2018-07-18 19:31:02 -04:00
Andrew Lindesay
b3a7d91b2e HaikuDepot : Fix for List Algorithm
Fix a mistake in the binary search and insert
algorithms that was causing stability issues.

Fixes #14284
2018-07-18 23:05:58 +02:00
Augustin Cavalier
4aff6a8a2b wavelanwifi: Sync with FreeBSD 11.1.
Untested. Requires the previous commit.
2018-07-17 23:38:24 -04:00
Augustin Cavalier
d97a05f774 freebsd11_network: Completely rework the bus space access system.
Previously, we wrapped FreeBSD's accessors using our own in*/out* assembly
macros. Now, we skip that and just use FreeBSD's macros and assembly
directly. In the process, I've added some proper abstraction,
paving the way for the use of the FreeBSD layer on non-x86 platforms
(which will be sooner rather than later, I hope!).

This introduces some new functions required by some of the drivers
I was attempting to merge (wavelanwifi...), but as it also now
mirrors FreeBSD's bus access mechanisms exactly, it's possible
that some nuances lost before are now preserved. So this has
the potentiality to help with some of the stranger timeouts/failures
on devices that work just fine on FreeBSD.

Tested on VMware (pcnet), VirtualBox (pcnet, ipro1000), and
a T61 (iprowifi4965.)
2018-07-17 23:25:34 -04:00
Augustin Cavalier
f329739cdc marvell88w8363: Sync with FreeBSD 11.1.
Untested, but the changes are mostly adapations to the new KPIs.
2018-07-17 20:05:35 -04:00
Augustin Cavalier
5f64721b30 marvell88w8335: Sync with FreeBSD 11.1.
Untested, but the changes are mostly adaptations to the new KPIs.
2018-07-17 19:54:31 -04:00
Augustin Cavalier
28ca187801 ralinkwifi: Sync with FreeBSD 11.1.
Untested, but the changes are mostly adapations to the new KPIs.
2018-07-17 19:46:44 -04:00
Augustin Cavalier
7edcb06f62 tests/file_systems/bfs: Update tests Jamfiles to refer to the kernel BFS sources. 2018-07-17 19:17:41 -04:00
Augustin Cavalier
3664c8fa36 tests: Remove the "R5" BFS add-on, bfs_shell, and mkbfs.
Virtually untouched since 2007.
2018-07-17 18:27:43 -04:00
David Murphy
9ece492008 BMenu: BMenuBar submenus at screen edge moved onscreen instead of scrolling
Fixes #9093
Change-Id: I1322c0cd8ba4bbfddace037ed8a8ef666ebe7fe3
2018-07-17 21:21:40 +00:00
Alexander von Gluck IV
b19fc3b65d radeon_hd: Add RX Vega PCIID's per #13846. Testers wanted!
Change-Id: I6ab97c96a5e86725d92a973d3edca63508e388d5
2018-07-17 09:00:30 -05:00
David Murphy
e3f7fe948d BMenu: Submenu opening direction follows parent opening direction
Fixes #4859
Change-Id: I8e89afc3ad982d899428e3038fed354a78d04981
2018-07-17 04:12:21 +00:00
Augustin Cavalier
0da0829bbc HaikuDepot: Display the last copyright line instead of the first.
As Diver notes in #13006:
> I saw a few youtube videos with Haiku review where people were confused
> with package copyright year in HaikuDepot. They though this was when the
> package was last updated. HaikuDepot also only shows the very first line of
> copyright year, so if it's multiline (which is quite often) they see very
> old timestamps.

We should eventually display some sort of modified time as well as all
of the copyright lines, but at the very least, we can display the last line
instead of the first line, which usually is much newer than the first.
2018-07-16 23:00:23 -04:00
Augustin Cavalier
146a80c1cf HaikuDepot: Refactor & fix layout initialization in RatingItemView.
BLayoutBuilder is designed for single-shot use; i.e., a "one-liner"
of .AddLayout(), .Add(), and .End()s and no variable storage.
This is basically the only coherent way to use the class, as otherwise
it becomes unclear what state it's even in, and in the case of functions
like these with multiple branches for different options, that is doubly true.

It seems that in certain cases, the final SetInsets() after the End()
was winding up one before the "beginning" of the builder and thus attempting
to set the insets of NULL. Rather than analyze the function to determine
under what control-flow this occured (since it only happened for some
packages, and not others), I've opted here for the more systemic solution
to remove usage of BLayoutBuilder entirely, and just create straight BLayouts.

Fixes #14214.
2018-07-16 22:50:18 -04:00
Augustin Cavalier
4a88aa503a atheroswifi: Turn some apparently-harmless spam into debug-prints.
Both korli and KapiX report seeing this, but the driver works for them.

Fixes #14273.
2018-07-16 20:20:00 -04:00
Augustin Cavalier
c2dbeb9d31 Revert the cargo-culted changes to sata_request.
This reverts commit ffd36865cf.

They didn't fix anything, and on some systems it's reported that they
cause boot failures.

Fixes #14272.
2018-07-16 20:11:59 -04:00
Augustin Cavalier
dffc3e2353 freebsd11_wlan: Drain ageq before cleaning it up.
The comment above ieee80211_ageq_cleanup specifically notes that the queue
is assumed to be empty, and in order to make it so, ieee80211_ageq_drain
must be used.

Possibly helps with #3180, as this might be a source of mbuf leakage.
2018-07-16 20:00:17 -04:00
Augustin Cavalier
8959d55643 freebsd11_wlan: Sync previous ifdetach patch with FreeBSD.
It was upstreamed, albeit in a slightly different location and with
a different comment than I originally had.
2018-07-16 19:43:55 -04:00
John Scipione
0988f80fed Appearance Prefs: Add scroll bar knob setting
Check values before setting them in SetFromScrollBarInfo

Pin arrow and knob settings to the top so they are aligned
Adjust vertical spacing on single/double to match knob style height

Only draw arrows on single/double FakeScrollBar

Change-Id: I6be89f86181a87808ba5201caf88a33c4414d4c8
2018-07-16 16:11:46 +00:00
John Scipione
ec1b18c58a BScrollBar: Add lines and dots knob styles to scroll bar
Fixes #9137

Move scroll bar drawing into HaikuControlLook

Added B_SCROLLABLE flag to BControlLook

Update FakeScrollBar in Appearance to also draw using HaikuControlLook.

Focus works on scroll bars again, used by FakeScrollBar... and probably
nowhere else.

Added private _ScrollingEnabled() convenience method to BScrollBar and
use it in a few places making.

Create ScrollBarPrivate.h header to share a couple of scroll bar related
enums with HaikuControlLook that come from BeOS Scroll Bar prefs.

Stuff arrow_direction enum into BScrollBar::Private as it has been
succeeded by a similar enum already present in BControlLook and is only
around now for BScrollBar::Private::DrawScrollBarButton.

Change-Id: Idc31ee41de091ba45ded2f0315a004af00143803
2018-07-16 16:11:46 +00:00
Janus
70f1070b6f BColumnListView: BSizeColumn sort with big files works as expected
- Use off_t to compute the difference
- Fixes #14279

Change-Id: I253f16bb75501904ff59ac603a4680c66cfec33f
2018-07-16 16:09:36 +00:00
Humdinger
27dcc63210 Remove Fonts chapter from user guide
The fonts prefs were moved to the Appearance prefs a long time ago.
This page is a left-over, not referenced in the user guide anymore.
2018-07-16 16:48:09 +02:00
Augustin Cavalier
562ec5674f freebsd11_network: Sync queue.h with FreeBSD 11.1.
Includes some actual bugfixes, from reading the FreeBSD commit logs.
2018-07-15 22:07:09 -04:00
Janus
a5167229e1 Shortcuts: save columns information
- Clean up useless code
- Remove horizontal scrollbar
- Fixes #14278

Change-Id: I7edcb998bfca4b90d02f949b6e7979bcdbcc3cbb
2018-07-15 00:27:48 +02:00
Janus
8d6561d6fc Shortcuts: Use ALT-R for "Revert to saved"
- Fixes #14275

Change-Id: I2ca692e277c130fcee5edd202976ab748d811d7b
2018-07-14 21:53:16 +00:00
Augustin Cavalier
40cab5860d radeon_hd: Disable non-working chipsets.
Fixes #12026.
2018-07-14 17:36:25 -04:00
Augustin Cavalier
a16e3a0b37 freebsd11_wlan: Disable another spammy information print.
Hopefully helps with #14270.
2018-07-14 14:08:25 -04:00
Augustin Cavalier
1a9f01e8ed iprowifi2100: Sync with FreeBSD 11.1.
Untested, but mostly just changes to adapt to the new net80211 stack.
2018-07-14 14:08:25 -04:00
Augustin Cavalier
71bcccaeee ipw2100: Remove.
Long since superseded by the iprowifi2100 driver.
2018-07-14 14:08:25 -04:00
Augustin Cavalier
cb4ca78fbf freebsd11_wlan: Disable a spammy information print.
On some atheroswifi systems, it apparently prints every 100ms.
Hopefully helps with #14270.
2018-07-13 18:31:41 -04:00
John Scipione
71c7f40521 app_server: change the default scrollbar knob to none
Change-Id: Iea13ebe6918f5583c3a4ce10414a54f06c51efe6
2018-07-13 00:21:52 +00:00
David Murphy
e4433ad0fa BMenu: Fix crash and keyboard navigation on 'recent items' menus
* Prevents crash mentioned in Trac, but also enables keyboard navigation
  to 'recent items' menus such as "Open files..." in MediaPlayer and DiskProbe
* Check selected menu and submenu exist in menu tracking thread before accessing
* Update BMenu::AttachedToWindow to pass in keydown param to _AddDynamicItems

Fixes #9251
Change-Id: I3031b8e9c1b9dd4ef1187c5a6b8ab7925e3496d2
2018-07-13 00:16:58 +00:00
Augustin Cavalier
e042d58907 atheroswifi: Add AR9300 HAL.
Not really based on KapiX's patch (I looked at his Jamfile changes, but
did the rest of it myself.)

Besides the usual GCC2 (C89) fixes, this commit also changes FreeBSD's code
in removing two of the _reg_map_macro headers and adding only the relevant
portions to a post-preprocessed version of the non _macro files. This spares
us importing 7 MB (!) of headers.

KapiX confirmed his patch as working; hopefully I didn't break anything
in this import.
2018-07-12 20:07:33 -04:00
Augustin Cavalier
3142fb6996 scheduler: Fix setting priorities following the penalty cancellation changes.
Before hrev46809, the "thread->priority = priority" line was below this
check, and so all was well. But that commit moved the line to its present
location, which means ever since then, the following code which updates
CPU entries, scheduler listeners, etc. has never been run.

On my VMware instance (which is probably pretty affected by the host system
and thus not the greatest performance test), "time jam -j2 HaikuDepot" decreased
from 46.0s real to 43.3s real, 52.3s user to 48.1s user, 12.1s sys to 12.2s sys.
So this seems to make some sort of impact.

Spotted by Fishpond in #10454 and confirmed by korli, but somehow neither of
them followed up on that in the 4.5 years since...
2018-07-11 21:53:44 -04:00
Augustin Cavalier
a052f4807f atheroswifi: Sync with FreeBSD 11.1.
Thanks to khaled and return0e for testing!
2018-07-11 19:32:38 -04:00
Augustin Cavalier
09ddf9b9f3 freebsd11_network: Properly implement CALLOUT_RETURNUNLOCKED.
Fixes a double-lock situation in the Atheros driver. We really should
implement FreeBSD's MTX_SPIN instead of relying on cpu_status here...
2018-07-11 19:03:27 -04:00
Julien Lepiller
3248de3de4 Mediaplayer: remember position and volume
Change-Id: I43fa7cbcedd39c39e4b136e9e1f9bb34bf3eb570
2018-07-11 17:37:56 +02:00
Augustin Cavalier
dd9cb9cdc9 freebsd11_network: Check for NULL in bus_teardown_intr.
Should help with #14235.
2018-07-10 23:22:37 -04:00
Augustin Cavalier
ecdc1bc8e7 freebsd11_wlan: Add missing mtx_destroy of the ic_list_mtx. 2018-07-10 18:41:05 -04:00
Augustin Cavalier
1a35344427 freebsd11_network: Only start_wlan if FBSD_WLAN_FEATURE is required.
Fixes #8634.
2018-07-10 18:40:21 -04:00
Augustin Cavalier
77cf476567 iprowifi3945: Disable hardware AES.
Recommended by the FreeBSD developers as "possibly broken." Hopefully
helps with #14260.
2018-07-10 18:33:19 -04:00
Augustin Cavalier
e131a159c3 iprowifi2200: Sync with FreeBSD 11.1.
Untested, but the changes are relatively minimal (mostly adapations
to the new FreeBSD KPIs), and ttcoder recently opened a ticket (#14258)
about it, so he can test.
2018-07-10 18:28:02 -04:00