Set window location but do not Invoke() when opening prefs window.
We do not want the Deskbar window location to change on open/show
prefs window, only when you change the preference.
The root problem here is that we currently do not support horizontal
mini-mode in Deskbar preferences, only vertical. Consequently, opening
the prefs window switches Deskbar into vertical mini-mode when in
horizontal mini-mode. Leave the state alone so this doesn't happen.
Change-Id: Ife00e02f4bc16344fed47d23b9d768aa46b8d7f7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11524
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
(cherry picked from commit 6674947bb98ba64da5af9d5de6f894850a194b98)
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11533
We have to check for dragging in Pulse(), it's too late to check
this by the time we have gotten to StartEdit().
A bit of additional cleanup including some related comments.
Change-Id: Id292d73593d12028e7368c50dac0869c4a7df94b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/11439
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
* Context-click on pose pops menu even if Shift/Command held down.
* Primary-click + Shift/Command on pose extends selection.
* Primary-click + Control on pose same as context-click, pop menu
as Tracker emulates context-click with Control+click.
Regression from hrev58610.
Change-Id: I81477030be1320d26a30811335ec4b2ab755f679
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10974
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
When filtering this is the filtered pose list, else this is the
pose list in list mode or the visible pose list in icon mode.
Remove filtered pose list fixup from hrev44493 to resync the lists
afterwords which fixes issue with duplicate symlinked files appearing
on other volumes that appear to be created when saving linked files
while filtering.
Change-Id: I6d6c85fe222960f47cc206322eeb4441f7fa73aa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10970
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Regression from hrev59676. Unfortunately pose positions are
offset by position in source window in this case, like in #19698.
Change-Id: I5278f7f473fa52f35df9019a4cb93b4f7aab53ef
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10925
Reviewed-by: John Scipione <[email protected]>
Fixes#20018, #20050.
The sort was causing the scroll position on change directory
(go up/back) in navigation (single-window/browser) mode and
causing issues with pose list when type-ahead filtering.
Change-Id: Id07890462ac3ecd36f3db508671c77c943ee3e2c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10860
Reviewed-by: waddlesplash <[email protected]>
... and we're not extending the selection or dragging.
Done on MouseUp() to allow for drag & drop. Fixes#20043.
More fixes included in this commit:
* Refactor BPoseView::MouseUp() code dealing with selection and
popping menu. Don't consider fAllowPoseEditing for selection.
* Command **and Shift** extend selection.
* Create BPoseView::ExtendSelection() convenience method
(also used in mouse down).
* List view/icon view loc "fix". Code worked before because index
is 0 in icon mode but be explicit about pose location in list mode
vs. icon mode anyway.
* Add ASSERT() for Window() and CurrentMessage() to BPoseView::MouseUp().
We were already assuming they weren't NULL and it would have crashed
if they were.
* Replace pose with clickedPose style fix (meaning is clearer).
* Comment update for "last_buttons" message param.
Change-Id: I3ecb035dbca8b343c230f1e6aee3070939a4a3f6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10814
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Create a _SetWindowLocation() convenience method. This gets called in
the constructor, on Show() and when the Deskbar window state changes.
Do not Invoke() on SetValue(), call Invoke() after except when Deskbar
tells preferences to update its value instead of the other way around.
When focused numpad 4 and left arrow set top left expando mode,
numpad 6 and right arrow set top right expando mode. These are the
"left" and "right" positions of Deskbar. We can safely assume that
bottom left/right expando mode will never be implemented, only top.
Add a small horizontal space between the window location control and
the checkboxes, they are a bit too close to each other.
Fixes#20057.
Change-Id: I43289e4bf0e021ca2665a4f65a135edf6faff29e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10835
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
... get/set from/to the app settings instead. This synchronises
bar view state and app settings state.
Set state in the app settings when TBarView::ChangeState() is called.
This updates the in-memory settings, they get saved on quit (reboot).
Change order of ChangeState() to be same as settings:
vertical, left, top, state.
Pass kExpandoState or kMiniState instead of a true or false.
kFullState is deprecated and unused.
Change-Id: I907e381396d99bd6d81cac8986dd6769735b6cd6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10834
Reviewed-by: John Scipione <[email protected]>
Tested-by: Commit checker robot <[email protected]>
... without regression from #19403. Fixes#19769.
Drop version of BPoseView::MoveSelectionTo() signature changed.
Pass in uint32 moveMode to pass on create link or relative link.
This fixes the double create link on:
- Context-click => Create link/relative link => Current folder.
Use synchronous Go() in ShowDropContextMenu() to get the
return value. Asynchronous Go() always returns NULL so didn't
work right. Also don't send message since we're handling this
through the return value. Send MoveTo/CopyTo/LinkTo shortcuts
messages to window instead of the view.
This fixes the double create link on:
- Context-click drag and drop => Create link/relative link here.
Update loop control status better. Set stat size and perms.
Fixup MoveTo/CopyTo/LinkTo pose locations.
Change-Id: Ibff9f16d7c1c921a46a425de2f280318c40f4c69
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10715
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
... and remove the "copy" suffix from it, that has to be passed in
along its length. Create convenience version to hide this.
Change-Id: Ifb488e73f496da676a413fd9e5d8fdeedcc7a2b4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10783
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Make text color document text not panel text by default.
mix_colors for diff colors like we do for quote colors.
Update color formatting but not the values. Set opacity to 0xff.
grey => gray (US English standard spelling).
Change-Id: If26efe8c2d9086aa049028b396921b8702a1093e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9984
Reviewed-by: John Scipione <[email protected]>
Tested-by: Commit checker robot <[email protected]>
B_HOME and B_END are considered nav keys however they are not yet
implemented (but they were implemented on BeOS).
Change-Id: Ib30eb60ab26e1a06151836e8bc4a5ce24e403b40
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10731
Reviewed-by: John Scipione <[email protected]>
Tested-by: Commit checker robot <[email protected]>
... because B_NO_COMMAND_KEY shortcuts don't get registered on key down
anymore, so we have to set the target right away for this to work.
Setting target in the constructor only works becauese this menu item is
not not added dynamically.
Change-Id: I368bf91e286509c2a5d584a87bda7aea48d98a4f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10803
Haiku-Format: Haiku-format Bot <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
... on B_RESTORE_BACKGROUND_IMAGE (which sets the Desktop color or wallpaper).
Remove kRestoreBackgroundImage, preferring the B_ version we got from
Backgrounds (and represents the same constant). Tracker already imported
this constant long ago.
Fixes#20028.
Change-Id: I6c59f4ddd1b2a7ec0d5e90fe6a8a9671dc66d50e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10729
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
... and exclude some more folders from Paste. Gating is
consolidated in "Paste into folder".
Use TargetIsReadOnly() to get parent, not selection.
We want the opposite logic compared to "Paste into folder", we
want to ignore the selected folder or volume's read-only status
and get the read-only status of the parent.
For example File => Paste on config volume in home should be
allowed even though config is a read-only volume. We're _not_
pasting to config, we're pasting to home which is writable.
We want the opposite logic of "Paste in folder" (selection).
Change-Id: Ib13b3a007b86b8d355c994f252f7beb320494c8c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9895
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
Add AddPosesCompleted() override in DesktopPoseView.
Better Desktop checking (by use passed in param).
Add an IconAttrChanged() convenience method that checks for icon
attribute changes only. AttrChanged() calls this and then checks
a couple of other attributes.
Change-Id: Id7d399eaea3ca2f97083c93ebfb9157327ae4f0d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10638
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
This means that the Trash icon will no longer appear
on the boot volume, only on Desktop. It's still there
just invisible and should not have been visible.
Change-Id: I1c95b39667af1603d8114b29185a352b047787cb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10421
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
... instead of top-left of view bounds.
This only affects backgrounds inside windows (not on Desktop).
The view bounds may be scrolled over but we don't want to draw the
background from the scrolled over position, we want to draw from
the top-left of the window which is the top-left of the extent.
We also have to set the icon origin in the view state to the extent
instead of the view because it will be different if scrolled.
Change-Id: Ieff9d0a66086d116d46ffbd713b2dcd45d312870
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10413
Haiku-Format: Haiku-format Bot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Custom background image is disallowed on the Desktop folder and Root
aka "Disks" folder. However, you may use a default background image.
We store the background image on the node, Desktop window and the
actual Desktop share the same node so we have to explicitly disallow
background images from showing on Desktop windows.
Make UpdateBackgroundImage() protected.
Remove unused BDeskWindow::UpdateDesktopBackgroundImages();
Handle all background image code in ContainerWindow. BPoseView calls
its window if targetted to update its background image.
Fixes Desktop background portion of #19947.
Change-Id: I4b104340b5a69807961b99bde7b0455d7d58065a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10392
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Note this is a change to how BeOS R5 and Haiku has always worked.
Drawing dragged poses as selected ensures that the text can be read
even on black on black or white on white because the selection rect
creates contrast.
Lessen contrast by blending with gray when selected and cut, even
more when window is unfocused.
Pose text on Desktop is inverted compared to in a folder by default
so this bug typically occurs when dragging to and from Desktop.
Change-Id: Icb1ee7ccbf9b5e2d8c3a4b89c6b90e19da15c917
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9520
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: humdinger humdinger <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Remove SetStylable() call making it false.
Update low and high colors in _UpdateTextViewColors().
Update colors when B_COLORS_UPDATED message is received.
Change-Id: Iad3e3d9f46b922c7cf68e20cd7788d0d0efcb0b5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10010
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Always MakeSelectable(), MakeEditable() in SetEnabled().
Get rid of fEditable and fWindowActive. Get rid of IsEditable(),
SetEditable(), IsSelectable and SetSelectable().
Change-Id: Iab07097b2692ef6d9d7ed41b0fab45a2df99e261
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10009
Reviewed-by: John Scipione <[email protected]>
Tested-by: Commit checker robot <[email protected]>
The old code works because in icon-mode you have just one row
but this is not the intended way to determine the pose location
in icon mode (and mini-icon mode).
Refactor CommitActivePose() and kEditName in PoseView.
Use CurrentPoseList() to use filtered or regular pose list
(but don't update both).
In practical terms this should do nothing.
Change-Id: Iedafb147a6963bdb1411491be25641141325c1bf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10025
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
This was preventing open() from getting the volume icon
once a FAT volume was mounted. This is now handled in the VFS.
Fixes#19303.
Change-Id: I5837bcdd4496b5eda13610e9ded661f1529364ea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10023
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
... so that replicants can receive it to update their colors.
Forward a workspaces activated message when Desktop color changes
as well for the same reason.
Fixes#19816
Change-Id: I7b8bf8b7decc3ce088881ccb29492db6a41945b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9772
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
desklink: Set view color transparent on media volume replicant,
redraw when switching workspaces as background color may change.
HaikuControlLook and BeControlLook: Update label text color on
Desktop to black or white depending on background color. Ignore
passed in text color on Desktop. Disabled text tinting also
applies to Desktop text color.
Fixes#19700 (properly), #19800
Change-Id: I351bc046721297e85166dd8bd3a2ba63fe2cd09f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9770
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
BButton background drawing issues from hrev49993 has been fixed
by nephele's recent control color updates. This frees BControl
classes to be able to draw their background transparent.
Change-Id: Ic739782807f91deb11f7e1a3c3c9e2ef60734334
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9782
Reviewed-by: nephele nephele <[email protected]>
Tested-by: Commit checker robot <[email protected]>
(and mini-icon mode).
This fixes a regression from R1B5 allowing you to click on the blank
area to the left or right of the icon of a file with a long filename
to select it. You once again have to click on either the icon or the
label to select the file.
Fixes#19753
Change-Id: Iae8b7c4561f2bfdda1361d4bbee4e87ecde2bb06
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9745
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>