... 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]>
No fundamental change here, Tracker might be used as a kit and
this will fail as be_app is not Tracker.
Change-Id: I1e2d8e143e996c008cd03771d34f20198d8109c8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9577
Reviewed-by: waddlesplash <[email protected]>
Use new DraggableContainerIcon name when invalidating icon.
Create a ShouldHaveDraggableFolderIcon() method on BContainerWindow
to consolidate the gating logic to a method.
We alert if you try and copy, move or create link to any of these
directories, however you may drag the icon in some instances such as
to change the directory in a file panel or to open the directory up
in FileTypes. You may create a link to the printers directory.
Set the Printer icon on the printers directory.
Fixes#3385
Tracker: Disks menu in CountView
* Open Disks directory on click.
* Skip volumes with no capacity (e.g. system, config) from
Root and Desktop menus (still shown in Home and volumes though).
* No Trash on volumes, add only to Desktop.
* Declare some variables outside loop.
* Rename originatingWindow to source.
Fixes#3549
Change-Id: I66318d2485a5a8405f5459c355a467f34e19ecc5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9499
Reviewed-by: John Scipione <[email protected]>
Tested-by: Commit checker robot <[email protected]>
The max width of the file name was getting set by the width of the
name column, even in icon mode. Use an arbitrary max width of 30em
for the name field in icon (and mini-icon) mode instead.
Set fValueIsDefined on name and other attributes.
Do not attempt to truncate name if !fValueIsDefined, this means
that the value is "-" to show that it is undefined. We assume this
should fit and there is no way to truncate the value.
If the value is later defined it is marked fDirty to truncate it
to the available space.
Fixes#19431
Change-Id: I4cb7953bc746039600ee578b4fa6b786c802bdf8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9516
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
* Don't set Trash icon in FSGetTrashDir anymore, do it in TrashWatcher.
* Write vector icon to attr or large/mini icon attrs, but not both.
* Only update Trash icon attribute on boot volume, not the hidden trash
folder on other volumes.
* Monitor Trash icon attribute changes by TrashWatcher in BPoseView.
* Get rid of ShouldUseWellKnownIcon(), update ResetIconFrom().
* Remove model param from BPose::UpdateWidgetAndModel() and always use
the ResolvedModel() of the pose instead.
* Pass poseLoc into BPose::UpdateWidgetAndModel() in icon-mode.
* Workaround for GetAttrInfo() failing to update removed icon attrs.
* Check fNode not NULL in Model::StatChanged() to prevent crash when
unmounting volumes with trashed items.
* Filter out 0 capacity volumes checking for Trash directory.
Fixes#8696
Change-Id: Ief2efc07c85866cc0e49468c668e47ec90b855af
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9458
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Tested-by: Commit checker robot <[email protected]>
FindInt32() works in this case but is deprecated.
No functional change intended.
From the BeBook BMessage page:
"Several functions, such as FindRect() and FindInt32(), have versions
that return the found value directly. These versions don't report errors
and may not be supported in the future."
Change-Id: Ida979153dd00e247c2174edd73d0019752b388f8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9079
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Add switch to Desktop and Home shortcuts. Fixes#15148
Show Volumes or Disks on Desktop in file panel. Fixes#19547
Rename Add/RemoveRootPoses() to Add/RemoveVolumePoses().
Use default Tracker values when adapting to setting changes.
Bring ShowVolumes() into BPoseView and apply the same logic
used by file panel to DesktopPoseView to switch between Disks
and volumes on Desktop.
Add Disks or volumes to file panel in BPoseView instead.
When you set Show Disks or Show Volumes, set the other as well,
they are opposites of each other.
Remove unnecessary params related to adding/removing volumes.
Rename ShowVolumes() to ToggleDisksVolumes() and move to BPoseView.
Create IsVolumesRoot() to identify Desktop in a file panel.
Change-Id: Id250aa6cf7386c7988017a9edbdb16ec9cea00ba
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9503
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Remove shared message handling from ColorListView,
you are expected to implement this yourself and these
message constants were not actually being used by
the message target.
Do color drop handling in Appearance and Terminal.
Handle all color drops in WasDropped().
Allow current selection to remain, only update color.
TODO Changing selection on external drops should be
fixed in BListView. Work-around in BColorListView.
Fixes#19562
Change-Id: Ic99bbb1288fd736778eac831d38e453122815abc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9296
Reviewed-by: John Scipione <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Adjust tray icons and clock to fit accordingly. Leaf menu height is
reduced by 1 in vertical mode to match.
This makes the overlap of maximized windows and Deskbar less noticeable,
especially in horizontal mini-mode.
Fixes#16231
Change-Id: I622d008ee093e018ebcb46e3c45647577f46184f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8833
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
Haiku-Format: Haiku-format Bot <[email protected]>
AFAIK this has always been this way, however, the confusion seems to
be that pose->CalcRect() takes false for minimal rect while pose->Draw()
takes true for full-draw so they are opposites of each other.
This means we draw all columns on Invalidate(), not just the first one.
Change-Id: I40ddf5fa75b46d6da987fd5d5f83cdc4782fa851
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9019
Reviewed-by: waddlesplash <[email protected]>