Commit Graph

45906 Commits

Author SHA1 Message Date
John Scipione
879020baf1 Info: Set fixed size true for pref app menu field
Fixes #9753

This changes the preferred app menu field to no longer resize itself
based on the item width and instead always take up the rest of the
available space in the window. For narrower items this means that there
will be empty space to the right where there wasn't before. For items
wider than the available width of the window (like the example in #9753)
this means that the item will be truncated when selected.

AFAIK this was always a problem and was not caused by my recent work on
menu fields, we just didn't notice it because it's rare that an application
name in English at the default 12pt font size is wider than the available
space.

That being said, this fix is a band aid, the real fix is to convert this
window to use the layout APIs so that if you have an application that is too
wide to fit then the window will resize itself to fit the new item. There are
other some layout problems in this window too. Unfortunately, like Find, this
window has not been updated in aldeck's Tracker layout branch. Luckily,
converting this window to use the layout API is a lot less work than Find was.
2013-05-08 14:26:45 -04:00
John Scipione
ec1f08fb05 Resize menu field menu bar iff fFixedSize is true
If the menu field is not fixed size than the width of the menu bar
should depend on the menu item contents so just do the default and
get the Bounds() without any extra resizing.
2013-05-08 14:26:45 -04:00
John Scipione
a61d468cf9 BMenuItem: Round to prevent unneeded truncation
The case I fear is if frameWidth is 99.999999 and labelWidth is 100.0
it will attempt to perform a truncation unnecessarily.
2013-05-08 14:26:44 -04:00
Jérôme Duval
a130bab351 ext2: fixes 64 bit warnings 2013-05-08 20:10:33 +02:00
Rene Gollent
df720531e3 Use B_USE_SMALL_{SPACING,INSETS} as suggested by Axel. 2013-05-07 22:59:35 -04:00
John Scipione
6ba46ced85 Reinit offscreen bitmap when set keyboard layout
Fixes #9345
2013-05-06 21:16:24 -04:00
Rene Gollent
4efba5fd99 Use default spacing for inspector's groups too. 2013-05-06 18:47:17 -04:00
John Scipione
e28ba280de BMCPrivate: Cleanup
Remove no longer needed header includes, most that I recently added
a few that were already there but just aren't needed anymore. Don't
use BPrivate::MenuPrivate namespace.
2013-05-06 18:29:34 -04:00
John Scipione
c1a7e89fc2 Put the label truncation code back in BMenuItem.
Just a few commits ago I moved the label truncation code out of
BMenuItem and into BMCMenuBar because the truncation had to happen
outside of BMenuItem. Turns out, that wasn't true so I'm moving the
label truncation back into BMenuItem and removing the _DrawItems()
method from BMCMenuBar.

Note that the code is not a copy of what was there before, but, the
updated version I created for BMCMenuBar. The main difference is that
I use menuPrivate.Padding() instead of GetItemMargins() and I always
use the width of the parent menu frame instead of using fBounds even
if the state is not MENU_STATE_CLOSED. These are changes needed for
BMCMenuBar but should work just as well for a regular BMenu.
2013-05-06 17:55:33 -04:00
John Scipione
13cec30211 Find: set a max width on each of the menu fields
... instead of the just on the mime type menu now that
menu field truncation is working. This will prevent the
volume menu growing too wide as well.
2013-05-06 17:23:59 -04:00
John Scipione
c333966291 Draw truncated menu label in BMCPrivate, fixes #9735
...instead of in BMenuItem and remove the truncation code from BMenuItem.

The label truncation code cannot work in BMenuItem because the super
menu helpfully resizes itself to fit the menu item. So, instead we do the label
truncation in BMCPrivate making sure that BMenuItem there can't expand the
BMCMenuBar because we set the width to fMenuField->_MenuBarWidth()
explicity.

Note that this only truncates the label in BMCMenuField, i.e. the label inside
the menufield, it does nothing to the labels of the menu items in the attached
BMenu or BPopUpMenu which is exactly what we want.
2013-05-06 17:15:20 -04:00
John Scipione
1afff67178 Set some static variables for magic number constants 2013-05-06 17:15:20 -04:00
John Scipione
4e1b19207a Refactor BMenuField::DrawLabel()
also use std::max() instead of max_c()
2013-05-06 17:15:19 -04:00
John Scipione
2bf1592a70 Rework layout-enabled contructor for BMCMenuBar
Was passing !fixedSize into the view flags of BMenuBar, which made no sense.
Stop doing that, set fixedSize to true instead.

Remove the fixedSize parameter from this contructor, it's too late for that.
2013-05-06 17:15:19 -04:00
John Scipione
6c1452071c Remove pre-ControlLook drawing code in menu classes 2013-05-06 17:15:19 -04:00
John Scipione
d218f0f822 Put the BMenuBar initilization on it's own line 2013-05-06 17:15:18 -04:00
John Scipione
d5c51ba676 Update header comments 2013-05-06 17:15:18 -04:00
John Scipione
d97b434060 Style fixes to BMenu and related classes. 2013-05-06 17:15:17 -04:00
Jérôme Duval
3f5d1e7825 exfat: fixes 64 bit warnings 2013-05-06 22:41:07 +02:00
Jérôme Duval
575eeda9a5 cdda: fixes 64 bit warnings 2013-05-06 22:41:06 +02:00
Jérôme Duval
267a780ab5 btrfs: fixes 64 bit warnings 2013-05-06 22:41:05 +02:00
Axel Dörfler
a1566b06b7 bfs: removed kernel_cpp.h's new operator.
* This fixes bug #9715 from the POV of BFS, ie. the new operator seems
  to call the constructor on a NULL object on failure.
2013-05-06 21:45:50 +02:00
Matt Madia
c0f529c38b VL-Gothic fonts is updated to version 20130422. Fixes #9706. 2013-05-05 17:16:46 -04:00
Rene Gollent
1b17f7ab00 Fix x86-64 build. 2013-05-05 16:57:51 -04:00
Rene Gollent
1b10489347 Add listener interface to MemoryView.
- When the target address of the memory view changes, an attached
  listener is now notified. This lets the inspector window's text input
  keep in sync with the current address when keyboard navigating the
  memory view.
2013-05-05 16:08:31 -04:00
Ingo Weinhold
5af6169bb2 x86[-64]: Fix arch_cpu_user_strlcpy() for small buffers
The case for small buffers was broken, since scasb operates on edi/rdi,
not esi/rsi.
2013-05-05 15:46:32 -04:00
Michael Lotz
ec4d0e426d BMediaNode: Handle port read syscall interrupts by retrying.
The syscall might be interrupted, especially in signal heavy
applications. In that case we need to retry the read until the timeout
runs out. since the timeout is already absolute we don't need to adjust
anything.
2013-05-05 21:16:45 +02:00
Rene Gollent
ab2e15ab8c Use default insets for inspector window as well. 2013-05-05 13:34:07 -04:00
Rene Gollent
2253368e6a Implement #8671.
Smarter Zoom behavior for TeamsWindow - resize such that the
team list view's horizontal scrollbar isn't needed.
2013-05-05 13:14:24 -04:00
John Scipione
ddd6037113 Some style fixes in MenuItem 2013-05-05 13:12:15 -04:00
Michael Lotz
dff48661fd intel_extreme: Remove redundant cast of argument. 2013-05-05 18:27:01 +02:00
Michael Lotz
f5d67f3f4d intel_gart: Fix build after argument type change. 2013-05-05 18:26:57 +02:00
Rene Gollent
447f975c88 Spacing adjustments as suggested by Axel. 2013-05-05 08:55:13 -04:00
Rene Gollent
73eeef0a52 Change truncation mode for image/function list views.
Since for image/file paths, the most interesting part is generally the
filename at the end, and the initial path information is mostly
redundant, it makes more sense to truncate at the beginning.
2013-05-04 21:18:38 -04:00
Rene Gollent
69d85497fd Fix update issues in BStringColumn.
In some cases, BStringColumn wouldn't properly detect that an update was
needed, and would consequently fail to truncate a string as needed with
a column resize.
2013-05-04 21:17:47 -04:00
Rene Gollent
9187efd1a9 Clean up context menu building.
Even if the inspect action is unavailable, continue building the rest
of the actions, since they can apply regardless of the value location.
2013-05-04 20:30:04 -04:00
Rene Gollent
309f473c0f Various minor layout tweaks/improvements to prompt window. 2013-05-04 20:30:04 -04:00
Jérôme Duval
c162f52eaa intel_extreme and radeon_hd: some 64 bit fixes 2013-05-04 20:20:33 +02:00
Jérôme Duval
82c2deb5b7 agp_gart: some 64 bit fixes 2013-05-04 19:50:17 +02:00
Jerome Duval
f756b25e8a DiskProbe: remove superfluous parentheses introduced in a31ac99 2013-05-04 18:20:38 +02:00
Jerome Duval
ee668d24e3 exfat: Return more than a single dirent at a time in exfat_read_dir().
* similar to what mmlr did in hrev45575 for bfs.
* DirectoryIterator could try to read past the end of the directory.
* replaced a dprintf with a TRACE() statement.
2013-05-04 18:12:51 +02:00
Jerome Duval
9f0006623c MediaPlayer: addr_t instead of long, as suggested by Ingo. 2013-05-04 16:16:30 +02:00
Jérôme Duval
62e60219cc ShowImage: initialize rgb_color.alpha field. 2013-05-04 15:31:15 +02:00
Jérôme Duval
a31ac990cc Diskprobe: some 64 bit fixes
* also warnings about comparisons between signed and non signed.
2013-05-04 15:31:14 +02:00
Jérôme Duval
2443899f1b WebWatch: some 64 bit fixes 2013-05-04 15:31:13 +02:00
Jérôme Duval
c0722add75 TextSearch: some 64 bit fixes 2013-05-04 15:31:13 +02:00
Jérôme Duval
3e4cf3a1b8 PowerStatus: some 64 bit fixes 2013-05-04 15:31:11 +02:00
Jérôme Duval
14b32de1d5 People: some 64 bit fixes 2013-05-04 15:31:10 +02:00
Jérôme Duval
bd380b558a PackageInstaller: some 64 bit fixes 2013-05-04 15:31:10 +02:00
Jérôme Duval
113817f035 MediaPlayer: 64 bit build fixes for an ugly use of BList. 2013-05-04 15:31:07 +02:00