Commit Graph

46394 Commits

Author SHA1 Message Date
John Scipione
e9eb899aa4 BFont docs: Update SetEncoding() with some new info 2013-08-25 21:36:50 -04:00
John Scipione
4385f73996 Revert "Menu: check numBytes == 1 on KeyDown"
This reverts commit 44dc533861.
2013-08-25 19:40:00 -04:00
John Scipione
163fc310f7 Revert "MenuField: Make sure input is a single byte"
This reverts commit 4e075e0f4c.
2013-08-25 19:39:47 -04:00
John Scipione
7462734202 MenuBar: Fix sticky menu issue. #6408 comment:9 2013-08-25 00:22:07 -04:00
John Scipione
60a7f11599 Menu: Handle Keyboard input better.
When you push an arrow key obscure the cursor so that it doesn't get in the
way of the menu items. BeOS R5 also did this.

When you select an item with Enter or Space, or cancel with Escape, set the
super menu to close in _QuitTracking() if you've specified onlyThis == false.
Also, show the cursor here in case you haven't moved the mouse since it was
obscured.

This fixes a problem where when you select an item in a menu via the keyboard
while your mouse is over the parent menu item or menu field it would pop the
menu back up again even though you've made your selection or cancelled.
2013-08-25 00:17:41 -04:00
John Scipione
3dd9ff2b5d BMCMenuBar: Refactor MakeFocus()
Get rid of unused fRunner variable.

It is very basic now, it just works.

Also, renamed msg to message in MessageReceived() and
declared MakeFocus() above it (alphabetically).
2013-08-25 00:09:28 -04:00
John Scipione
8f74b98905 MenuField: Remove unused variables
fSelected and fTransition
2013-08-25 00:09:16 -04:00
John Scipione
44dc533861 Menu: check numBytes == 1 on KeyDown 2013-08-25 00:08:44 -04:00
John Scipione
cccc4076db Menu and friends: Style fixes, no functional
... changes intended.

* 80 char limit fixes
* Indentation fixes
* Braces style fixes
* Use ternary operator where appropriate
* Rename menuItem to just item and declare it once outside
  the loop
* Omit 3rd param of GetMouse() because it is default
* Rename variables eg state => focused and menu => submenu
* Indent comments below line they apply to
* Reword some comments
* Add some #pragmas
2013-08-25 00:05:02 -04:00
John Scipione
f5bb831108 Menu: Silly code optimization
Always set releasedOnce to true here instead of setting it true in the
case that it is false. It's almost certainly faster and clearer to always do
the assignment than to incur the cost of the conditional and branch.
2013-08-24 01:58:12 -04:00
John Scipione
4e075e0f4c MenuField: Make sure input is a single byte 2013-08-24 01:58:10 -04:00
Niels Sascha Reedijk
ef9294ec86 Update translations from Pootle 2013-08-24 06:13:48 +02:00
Siarzhuk Zharski
d516d16129 USB audio/SiS7018: Set controls_count on list mix ioctl
Looks like it works with default controls count 128 on default Haiku
builds but force media-addons-server to crash in case KDEBUG_LEVEL is set
to 0. Thanks to Vitaly Diger for pointing out and testing this issue.
2013-08-22 10:52:26 +02:00
John Scipione
d5de9547c7 Menu: some helpful comments 2013-08-21 19:46:39 -04:00
Oliver Tappe
d1716b277c Fix #9928: broken printf specifiers "%La" and "%LA"
* fix unitialized variables in __printf_fphex() in case of architectures
  without support for long double - this triggered unreliable results
  or crashes when using %La or %La on x86
* activate long double implementation in use for x86_64 for x86, too,
  as they share the long double format
2013-08-21 18:01:14 +02:00
John Scipione
9422c92ea3 MenuField: Open the menu bar when the label is clicked
Fixes #6894

Private DrawLabel() method renamed to _DrawLabel() and rest of drawing
code moved to new private method _DrawMenuField(). These methods both
check to make sure that they are drawing in a valid rect that intersects
updateRect.

When label or menu is selected Draw a the label background in the selected
menu color matching the behavior of BeOS R5.

_DrawLabel() calls be_control_look->DrawLabel()

Update copyright year in MenuField.h
2013-08-21 04:20:58 -04:00
John Scipione
408c0ee4cd MenuField: enable/disable the menu field when...
the child menu bar or the child menu bar's menu is enabled/disabled.

This means that there is just one status we have to check, the menu
fields, and the child menus agree. This change takes practical form
in the Backgrounds preflet which disables the placement menu when
the image is set to "None", but, only the menu got disabled and not the
parent menu field so the label was erroneously still drawn as enabled.
2013-08-20 18:15:13 -04:00
John Scipione
ac359925f5 Revert "don't open the menu if it's disabled."
This reverts commit ce8253d97b.
2013-08-20 18:13:14 -04:00
John Scipione
3de334b9f4 MenuField: need stdio.h if TRACE enabled
* Also update authors adding myself
2013-08-20 17:02:28 -04:00
John Scipione
db85cbe0b5 MenuItem: Set and restore the low color too
A small revision on my last published commit, set and restore the
low color in addition to the high color when drawing the menu item
because DrawString() will produce nicer looking results if the low
color of the view matches the color it draws on due to anti-aliasing.
2013-08-20 16:50:05 -04:00
John Scipione
dec0a3523d MenuItem: Fix disabled sub-menu item color
See #6610 comment:15 for details.

Firstly, don't save and restore the super menu's low color
since it never changes, instead, save and restore the super
menu's high color which does get altered here.

Secondly, set the high color to
B_MENU_SELECTED_ITEM_TEXT_COLOR only if the menu item
is activated and enabled, otherwise set the high color by tinting the
background color which might be
B_MENU_SELECTED_BACKGROUND_COLOR or
B_MENU_BACKGROUND_COLOR depending on whether
the item is selected or not.

Thirdly, complete the TODO by using a lighten tint if the menu
has a dark background and vice-versa.

This third item is actually a good candidate for a BControlLook
function because the disabled tint should depend on whether the
background color of the thing you're disabling is light or dark.
2013-08-20 16:20:56 -04:00
John Scipione
6048f54145 Screen prefs: Use menu field layout methods
... to layout the menu field label and menu in the grid. This makes
the label and grid layout correctly, the AddMenuField() method should
be deprecated or fixed as it lays out the menu field differently.

Also replace numeric spacing units with font relative spacing units.
2013-08-20 14:43:16 -04:00
Jessica Hamilton
ffd71d3d19 MediaPlayer: revert hrev38440
With #6610 fixed, it is now possible to open disabled menus in a
menubar, so the workaround introduced in hrev33840 is no longer
needed.

Signed-off-by: John Scipione <jscipione@gmail.com>
2013-08-20 13:47:56 -04:00
Jerome Duval
a17e9da139 XHCI/UHCI USB: forgot to get the x86 PCI module. 2013-08-20 19:42:59 +02:00
Jerome Duval
c2cfbd70fe intel_extreme: add MSI support 2013-08-20 19:42:58 +02:00
John Scipione
83ea4af492 BMenu: Don't hit test separator items
Fixes #4147 while not causing the regression described in #6610
like hrev35248 did.
2013-08-20 13:34:14 -04:00
John Scipione
77850e8dba Revert "BMenu return only enabled items"
Patch by "stimut"

This reverts commit abc26ba8ad.

Reverting this patch fixes #6610
2013-08-20 13:30:31 -04:00
Jérôme Duval
d31b295e59 pci: check the bus number for pcie mechanism
* fallback to mechanism 1 for out of range bus numbers
* Support for the fallback is mandatory according to the PCIe specification.
* Should help with #9929 and #9930
2013-08-20 18:28:27 +02:00
John Scipione
b87ee2bfeb Keymap mod keys: Conflict if either left or right
... key doesn't match rather than requiring both left and right keys
to not match for a conflict.

Also update copyright year
2013-08-19 15:59:55 -04:00
John Scipione
460168d586 Keymap mod keys: Use menu field label and refactor
Use CreateLabelLayoutItem() instead of faking the label with a BStringView.
This is important because it means the label is part of the menu field control
rather than being it's own separate view.

Also convert from using deprecated BGroupLayoutBuilder and
BGridLayoutBuilder classes and use the BLayoutBuilder template instead.

Use font-relative spacing values instead of constants.

Make key label take up 2 columns

Make protected methods private, don't want to subclass
ModifierKeysWindow
2013-08-19 15:59:55 -04:00
John Scipione
c197198238 Keymap mod keys: style fixes 2013-08-19 15:59:54 -04:00
John Scipione
2388b04ab8 Keymap mod keys: Move ConflictView to top.
Also, move includes from .h to .cpp file.

Make _FillSavedIcon() private, make Draw() public.
2013-08-19 15:59:54 -04:00
Siarzhuk Zharski
222b10cbc0 USB audio: Fix building on x86_64
* fix x86_64 build errors and warnings pointed out by Diver;
* fix warning building with gcc2.
2013-08-19 21:18:59 +02:00
Stephan Aßmus
03891f74db HaikuDepot: Added Insert(TextSpan) to Paragraph 2013-08-18 17:53:06 +02:00
Stephan Aßmus
be42d7a9a3 HaikuDepot: Added more methods to List
* Add(ItemType, index) and Replace(ItemType, index)
2013-08-18 17:53:05 +02:00
Stephan Aßmus
00f2259aef HaikuDepot: TextSpan fixes for sometimes neglected fCharCount. 2013-08-18 17:53:04 +02:00
Stephan Aßmus
92d83d4edc HaikuDepot: Added Insert() and Remove() to TextSpan. 2013-08-18 17:53:03 +02:00
Stephan Aßmus
bbb3f9ac5e HaikuDepot: Package status should come from PackageManager
* But its unimplemented...
2013-08-18 17:53:02 +02:00
Stephan Aßmus
d4957a50ae HaikuDepot: Paragraph holds TextSpan objects 2013-08-18 17:53:01 +02:00
Stephan Aßmus
f1071521b3 HaikuDepot: Added TextSpan class 2013-08-18 17:53:00 +02:00
Stephan Aßmus
aa26b5f5f0 HaikuDepot: Added TextStyle convenience methods
* Empty constructor
 * Copy constructor
 * operator==(const TextStyle& other)
2013-08-18 17:53:00 +02:00
Stephan Aßmus
13e00959ac HaikuDepot: Pargraph data classes for TextView
* Added ParagraphStyleData. Contains actual style data. Incomplete.
   Supposed to be immutable,.
 * Added ParagraphStyle, references a ParagraphStyleData.
   Multiple ParagraphStyle object can refer to the same ParagrapgStyleData,
   when a style aspect is changed for ParagraphStyle, it makes its own
   copy of the previous ParagraphStyleData with the changed property.
 * Added Paragraph class, currently knows only its ParagraphStyle.
2013-08-18 17:52:59 +02:00
Stephan Aßmus
6eabc75c78 HaikuDepot: Vote up/down icons now clickable. Nothing happens. 2013-08-18 17:52:58 +02:00
Stephan Aßmus
bef5ba1ac3 HaikuDepot: BitmapButton fixes
* BitmapView can be configured to scale or not to
   scale the bitmap.
 * BitmapButton more or less completed.
2013-08-18 17:52:57 +02:00
Stephan Aßmus
ecbb2c1943 HaikuDepot: Moved BitmapView into its own source file
* Added BitmapButton, based on BitmapView, for clickable
   icons. Incomplete and untested.
2013-08-18 17:52:56 +02:00
Siarzhuk Zharski
a69892cadc Rename driver folder 'usb_audio' to 'usb'
... just because the source path ./kernel/drivers/audio/usb obviously
references audio hardware so "_audio" suffix is excessive.

No functional changes.
2013-08-18 14:49:59 +02:00
Siarzhuk Zharski
14f92002e1 USB audio: use new(std::nothrow) for allocations
* Use new(std::nothrow) for allocations;
* Input buffer index counter restored;
* Improve unsupported UI controls debug info tracing;
* Some cleanup.
2013-08-18 14:49:51 +02:00
Siarzhuk Zharski
743d75946f USB audio: Mixer Unit control implementation
* support of Mixer Unit control in UI implemented;
* improve SetMix/GetMix to support Mixer Unit control type;
* cleanup and improvements.
2013-08-18 14:49:44 +02:00
Siarzhuk Zharski
353a4e04d1 USB audio: Fix function of Selector Unit control
* restore function of Selector Unit that was previously disabled;
* fix Selector Unit input pin names "Unknwon" case.
2013-08-18 14:49:37 +02:00
Siarzhuk Zharski
a8066fe34a USB audio: dev.entry number should be 1-based, etc
* USB audio device entry number made 1-based instead of 0. According to
  Haiku MultiAudio specs audio device entries should be 1-based but
  0-based;
* cleanup and refactoring. No functional changes;
* recording stream activated;
* fix input channels description report and codestyle issues.
2013-08-18 14:49:22 +02:00