History log of /haiku/src/kits/tracker/TextWidget.cpp
Revision Date Author Comments
# 9c274ccd 28-Feb-2024 Pascal Abresch <nep-git@packageloss.eu>

Document new rgb_color apis, apply their usage.

Change-Id: I48f1bedd3abfb3b445c1c7090ce43504bcff4537
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7485
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 8446d3b9 13-Dec-2023 John Scipione <jscipione@gmail.com>

Tracker: Miscellaneous cleanup

Move DraggableContainerIcon out of ContainerWindow.cpp into new.
Move CompareLabels to Utilities.cpp

Rename fContainerWindowFlags to fOpenFlags. These are the flags set
by OpenContainerWindow to save and restore state and should not be
confused with the windowFlags that are passed to BWindow. There are
two sets of flags, which I'm calling openFlags and windowFlags.

Rename fUseLayouts to fUsesLayout and useLayouts to useLayout. Put
all the constructor created flags at the top.

"window" variable name is ok, we don't need to say "containerWindow".

Rename Addons to AddOns everywhere with a capital O.
Rename BuildAddOnMenu() to BuildAddOnsMenu() with an s.
Rename AttributeMenu...() methods to AttributesMenu...() with an s.
Rename SetUp...() methods to Setup...() with a lowercase u.

Replace a few instances of fPoseView with PoseView() inline in
BContainerWindow and BDeskWindow.

A few more minor fixes in BDeskWindow.

Replace BPoint(0, 0) with B_ORIGIN in Pose.h

Change-Id: If30803753b63b19e35f14c0f0c4e08111d0d0980
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7240
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>


# cf83394d 22-Nov-2023 John Scipione <jscipione@gmail.com>

Tracker: Put duplicate checks into convenience methods

... and a few minor feature updates.

Create a CanEditName method on PoseView because we were using
subtly different checks in different places to see if allowed
to edit the name or not.

Tint background color of the Edit name text box on read-only
to indicate that the file name cannot be edited (only copied).

Create ReadOnlyTint() method in Utilities and use it here and
in PoseView to set the background color. Eliminate BackTint()
method from PoseView which served a similar purpose.

Add CanMoveToTrashOrDuplicate() convenience method.
Move To Trash, Delete and Duplicate options use same check.

Context menu of selection in file panel gets Duplicate option,
window context menu never did so don't try to enable it there.

Change-Id: I7a82d00ea10f22a7885c2e898a809e1abe9a6b30
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7122
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 501aa0f3 22-Nov-2023 John Scipione <jscipione@gmail.com>

Tracker: Check selection parent is read-only on query

If 0 items are selected, check the window's volume instead.

If 1 item is selected, check if the parent's volume is read-only.

If multiple items are selected, consider the entire selection to
be read-only if any item's parent directory in the selection is
on a read-only volume.

You aren't allowed to for example Cut a selection that has an
item on a read-only volume as the Cut operation would not be able
to succeed. However, if all items in the selection are not on a
read-only volume then you may Cut.

For non-query windows assume all selected item's are on the same
volume and only check the first item when multiple are selected.

Fixes #18661

Change-Id: Ib898e54b62558c66aad65d33afd080480e312565
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7120
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>


# 2b6ccde0 25-Apr-2023 John Scipione <jscipione@gmail.com>

Tracker: Disable edit menu items on ro volumes

... such as virtual directories or read-only media.
Also applies to open/save panels.

Menu items disabled on read-only volumes:
* New >
* Duplicate
* Move to Trash
* Move To >
* Cut
* Paste

Other reasons a menu item is disabled:
* Duplicate, Move To Trash, Cut, Copy, Move to >,
Copy to >, Create link > and Identify require a
selection.
* Paste requires something in your clipboard.
* Edit name requires a single item is selected.

Edit name is permitted on a read-only volume so
that you may copy the name. However the name is
not editable, you may only select and copy.

Pop system folder warning dialog on Edit name
commit instead, this way you won't see the dialog
if you just want to copy the name.

Move "Create link here" option last in the right-
click drag menu. Disable "Move here" if source or
dest is read-only, rest if dest is read-only.

Ignore Paste to virtual directory, (even more)
but permit Edit name.

Allow drag-and-drop to virtual directory but alert
and disable all right-click drag menu items like
other read-only directories.

Tint window backgrounds on all read-only windows
darker, not just on virtual and query folders.
Automatically switch the background color as you
navigate in and out of read-only folders.

Fix highlight color on column resize when background
color is not white. Fix "reverse video" effect so
that the highlight color is the inverse of the
background color. On Desktop however, highlight
color is always black or white.

Do not alter focus in save dialogs after initial
focus on the file name because focus on the pose
view is required for cut/copy/paste to work.

Make Edit Name work in file open/save dialogs and
make Cut/Copy/Paste work while editing file name.

Make Select all work in Edit name.

Duplicate code cleanup:

NameAttributeText::CommitEditedTextFlavor() and
HeaderView::FinishEditingTitle() call common
EditModelName() function in FSUtils.

RealNameAttributeText inherits from
NameAttributeText and calls its inherited
CommitEditedTextFlavor() method.

The alert text is defined in just one place in
FSUtils ShouldEditRefName() instead of three.
Consequently file name changed in the info window
can now be undone.

Change-Id: I3a78960057b8fb42d1f71af2ec3c808754c9b314
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6357
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# b7dd18b2 02-May-2023 John Scipione <jscipione@gmail.com>

Tracker: Style fixes only

... including whitespace, brackets, rename loc to where or
location, add a pragma.

Replace min_c with std::min.
Replace BPoint(0, 0) with B_ORIGIN
Use make_color() function to make static rgb_color objects.

Change-Id: I47a4e5e5f0e7038643baca7539d211350bbb8f20
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6404
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>


# 0c973c94 26-Aug-2022 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: Refactor IconCache size handling and usages.

* Instead of taking an icon_size, which we were having to cast
random integers to anyway, just take a BSize and convert internally
as needed. This simplifies a lot of usages of IconCache methods.

* Compute what B_MINI_ICON size will be at startup. This way,
we do not wind up caching "mini" icons in the fLarge*Icon variables
under HiDPI.

This does have a downside that if anything actually
does try to fetch "true mini" (16x16) icons when the real
ComposeIconSize(B_MINI_ICON) is larger than that, it will wind up
(confusingly) in fLarge*Icon, but that should not cause problems
and after this commit should not happen at all, anyway.

* Make mini-icon-mode use ComposeSize instead of the hardcoded 16x16,
and adjust metrics computations around it.

* Fetch larger icons in MountMenu logic. Also use BString::SetToFormat.

* Remove an unused, deprecated method from BPoseView.

* Rename variables in thumbnail generation code to match new behavior.


# 8e9bc3dc 23-Jul-2022 John Scipione <jscipione@gmail.com>

Tracker: Remove trailing whitespace

Change-Id: Iaf03ef8e89a85f443841f1dd51cf065e155845e0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5515
Reviewed-by: waddlesplash <waddlesplash@gmail.com>


# 50107f9f 20-Jun-2021 John Scipione <jscipione@gmail.com>

Tracker: fix last minute mini icon mode bugs

Pose::CalcRect() assumed top is at icon top in mini-icon mode. This
is not true for larger font sizes where the top of the text is above
the top of the icon. Calculate top and bottom based on font and icon
size matching the calculation in TextWidget::CalcRectCommon(). This
fixes a highlight redraw bug in mini icon mode at larger font sizes.

Push Edit name right 2px to match label position (in mini-icon mode.)

Round to integer to help with 1px off bug. Edit name box is still off
by 1px from the label for some font families and sizes.

Change-Id: Ibba897d6f3c7a879631adedada5cd59d2071191a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4204
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 7912dad9 17-Jan-2021 John Scipione <jscipione@gmail.com>

BTextView: Fix Tracker edit name

Don't resize text view in FrameResized() if resizable, this is done
in _AutoResize() instead. Set text rect width to width of max line when
word-wrap is off. Text rect width shrinks to the width of the text
matching behavior of BeOS R5 and previous Haiku. This fixes Tracker
Edit name.

Limit max width to column width in list mode or 30em in icon mode.
Filter paste messages limiting to max width in Tracker Edit name.

General BTextView fixes:

As a consequence of the text rect shrinking to fit the text, adjust
highlighting to go at least to edge of the view even if text rect width
is narrower. Extend the invalidation area beyond text rect when
redrawing to include highlighted areas.

Text views behave properly when overflow occurs i.e. when you type
text off the end of the text view. The text is nudged over as you
type/scroll so that the previous text is visible. This sorta worked
before but now works better.

Fix text rect centering by replacing switch with
BLayoutUtils::AlignOnRect().

Coalesce consecutive draw calls when inserting and deleting text to
prevent flashing for example when resizing the window. Redraw text
when the text view scrolls fixing a bug I noticed in StyledEdit.

Workaround negative height Beezer bug.

Fixes #16642, #16476

Change-Id: I2d32d6039944d2dc3218ce4de71f2966cc98c866
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3642
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 61282f95 10-Jan-2021 Adrien Destugues <adrien.destugues@opensource.viveris.fr>

Tracker: fix invisible selection text in disabled windows

Regression introduced in hrev54742 which used DeskTextColor() on a
non-desktop view. The view color isn't set anywhere in that case and
does not match the background color, which led to drawing white text on
a white background.

Moreover, a second bug was stacked on that: the selection is drawn in
"reverse video" (using the document color for the text and document text
color for the background) only for active windows. For inactive ones, it
is drawn normally, and then a middle-grey rectangle is alpha blended on
top. Add a comment to clarify that and reintroduce the ckeck that had
been removed.

Also replace the hardcoded black for the selection background, so it
will be more easily visible for people using dark mode.

Fixes #16627.


# 30ecf636 18-Nov-2020 John Scipione <jscipione@gmail.com>

Tracker: Scroll text to beginning on edit name

... so that the full file name is shown.

Center the file name in the edit box a bit better, the edit box is still
off compared to the non-editable file name by a pixel sometimes.

Use be_plain_font instead of getting the font from the PoseView since
the PoseView font is set to be_plain_font.

Fixes #16476

Change-Id: Ibda9341593163cdde898a83c98bf5ccea37126be
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3399
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 7866835b 21-Nov-2020 Pascal Abresch <nep@packageloss.eu>

Tracker: remove desktop check for text colors in poseview

Change-Id: I4db3cd5525242314bd7177dcdd25cd8ec0aa1f7f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3406
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>


# d9385a9d 20-Jul-2020 John Scipione <jscipione@gmail.com>

IK: align BTextView text rect/fix alignment

Recalculate line breaks in FrameResized() if word-wrap is on, otherwise
only move the text rect into position. StyledEdit was recalculating line
breaks before on resize (we have to in this mode) and the frame offset
updates for non-wrapping text views are inexpensive. This makes resizing
text view's work like StyledEdit everywhere.

Scroll to cursor when word-wrap setting changes if text view is editable.
If you are viewing a long document changing word-wrap can move the cursor
quite far, so scroll back to it.

Fix _ActualTabWidth() pen location for right and center-aligned text views
so that tabs widths are calculated correctly.

Reset fTextRect horizontal limits to bounds minus insets in
_RecalculateLineBreaks(), then grow fTextRect based on alignment when
wrap is off.

Fixing insets also fixes right and center-aligned BTextViews.
Left-aligned text view's grow right, right-aligned ones grow left,
and center-aligned ones grow out.

Make extra scrolling space for all aligned text views go the other way
from how it did in hrev24130 (and on left-aligned text view's too) so
that half the text is visible when you edit past the end or before the
beginnning of a text view instead of none of it.

Fixes #1651 #12608 #13796 #15189

Do not _RecalculateLineBreaks() if text view bounds are invalid.
In SetText() detect invalid text view bounds and resize the view to the
width and height of the first line. Then recalculate line breaks.
This fixes BAlert text view size issues.

Fixes #16481 (regression from hrev54496.)

Remove useless and heavy computation. There is no point in computing line
breaks for a 10px wide text view and it takes a long time because it needs
a lot of linebreaks. The view eventually gets laid out properly.

Fixes #5582 (which was not locale-related, after all.)

Only apply default insets if text rect is set to bounds. This ensures
that apps that manipulate the text rect can continue to do so without
the default insets interfering while apps that don't can benefit
from the defaults. If you want to set the text rect to bounds and
not use the default insets you must override the default by calling
SetInsets(). This prevent the default insets from being applied once
apps have changed the text rect fixing a bug in Icon-O-Matic where the
text rect insets were being applied incorrectly.

Fixes #16488 (regression from hrev54496.)

Reduce left and right insets inside text views from full label spacing
to half label spacing. Unify padding between BTextControl and BTextView.

Move fLayoutData->UpdateInsets() to private BTextView::_UpdateInsets()
because we need access to BTextView member variables when deciding
whether or not to add the default padding or not.

_UpdateInsets() changes:
* Don't update insets if BTextView::SetInsets() was called.
* Don't add default insets unless fTextRect is set to view Bounds().
* Do not set the right and bottom insets to left and top if negative,
set them to 0 like we do to left and top -- DeskCalc bug otherwise.

Fixes #15688

Other BTextView fixes:
* Replace max_c and min_c with std::max and std::min respectively.
* Remove scrolling from one instance of BTextView::SetText() as it
produced undesired results while editing a scrolled text view.
* Add default insets in _UpdateInsets()
* Fix scrolling when entering and deleting text so that some part of
the text is always visible. Make visible scroll width depend on font
size.
* Allow scrolling to a negative offset in x but not y. This allows you
to scroll the entire contents of right and centered-aligned text views
whose content does not fit in the box.
* Change _Refresh() to take an offset instead of a bool so that you can
scroll to any offset.
* Replace TextLength() with fText->Length() in a couple of places.

TextControl changes:
* Set text rect in BTextControl::DoLayout().
* Remove AlignTextRect() from TextInput.

Fix the following problems in apps:

ScreenSaver: Set text rect in PreviewView::AddPreview().
Tracker: Set "Edit name" text view insets to 2. Tweek text rect position
to be on top of label in icon, mini-icon, and list mode. Add a TODO that
the text rect is a pixel off from the name on some files.
Mail: Remove _AlignTextRect() and FrameResized() from AddressTextControl.
Use default insets on the text view, defaults are fine here.
DeskCalc: Set insets based on font size in ExpressionTextView
SetTextRect() instead of manipulating the text rect.
Remove _CheckTextRect() and related methods from InputTextView.
Icon-O-Matic: Remove _CheckTextRect() and related methods from InputTextView.
WebPositive: Remove _AlignTextRect() and FrameResized() from URLTextView
and call SetInsets().
StyledEdit: Word-wrap and FrameResized() changes ported to BTextView.

Fixes #16476 #16480 #16488 (regressions from hrev54496.)

Change-Id: Ifeca6077f8815ccd86d5a3880f99556298aaf0fe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3152
Reviewed-by: John Scipione <jscipione@gmail.com>


# 22758f16 17-Aug-2020 John Scipione <jscipione@gmail.com>

Revert "IK: align BTextView text rect/fix alignment"

This reverts commit a9b301871d06c0ebe42d22b31c685abed5107acd.

hrev54496

Change-Id: Ife3c834ad98d330f04976d9adf3b1553e7aca034
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3153
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>


# a9b30187 20-Jul-2020 John Scipione <jscipione@gmail.com>

IK: align BTextView text rect/fix alignment

Preserve passed in text rect in fTextRext (unless in layout)
and create an internal version fAlignedTextRect which is used
in place of fTextRect. fAlignedTextRext is aligned to fit the
text rect bounds and grows to fit. fAlignedTextRect always grows
vertically but only grows horizontally if wrap is off.

Left-aligned text view's grow right, right-aligned ones grow left,
and center center aligned ones grow out.

Set fTextRect to bounds in _DoLayout().

Reduce left and right padding inside text views from full label
spacing to half label spacing. Unify padding between BTextControl
and BTextView.

Fixing padding also fixes right and center-aligned BTextViews.

Undo extra scrolling for non-left text views from hrev24130 fixing
a scrolling left and right with mouse bug when it shouldn't.

Replace max_c and min_c with std::max and std::min respectively.

Remove scrolling from one instance of BTextView::SetText as it
produced undesired results while editing a scrolled text view.

Set text rect in BTextControl::DoLayout() and ScreenSaver
PreviewView::AddPreview().

Don't add padding if BTextView::SetInsets() is called. Set insets
to 0 in Tracker "Edit name" setting which prevents default padding
from being added. This is so that when you rename a file in Tracker
the TextView appears on top of the file name text with no padding.

80 char limit fixes.

Fixes #1651 #12608 #13796 #15189 #15688

Change-Id: I8c6106effc612f49aff374f29742471628b5df86
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3054
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 6fdf2dd2 04-Jul-2018 John Scipione <jscipione@gmail.com>

Tracker: center text horizontally again

We alwasys draw text at the bottom of the calculated TextWidget
rect, that's why it needed to be centered to get the desired
placement. However, there is two places


# 6b9353b4 04-Jul-2018 John Scipione <jscipione@gmail.com>

Tracker: Revert to previous CalcRectCommon bottom calc

... in list mode. Fixes #12997

This bug was introduced in hrev50528 along with new 32x32 icon size
in list mode. I'm not sure what I was thinking on this particular
line but reverting it seems to fix the problem and logically the
original code makes sense.


# 80873d1b 07-Sep-2016 Gabriel Maia <gbl08ma@gmail.com>

Tracker: always shrink the text input when renaming

When renaming an entry at the edge of a PoseView, the input
would not resize as usual. This change ensures the input
becomes resizable again if the text becomes small enough.
Fixes #3438.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# 8fdd2629 01-Sep-2016 John Scipione <jscipione@gmail.com>

Tracker: 32x32 icon size option in list mode

16x16 is same old default
32x32 is new and fun

Adjust start offset to depend on icon size

Remove the kColumnStart variable and instead use StartOffset()
method which calculates the column start offset based on the icon
size. When you switch between icon sizes in list mode recalculate
the first column width to make room for the icon or more text.

Add some padding to list height in large icon mode.


# ee20ff95 01-Sep-2016 John Scipione <jscipione@gmail.com>

Tracker: Style fixes

More style fixes


# 4072c4f1 21-Aug-2016 Adrien Destugues <pulkomandy@pulkomandy.tk>

Tracker: fix localization of warning when editing system dirs

Programatically generating a string usually doesn't work well with
localization. Better unfold all the possiblities.

Moreover, the callers of the functions had a long if condition with
3 B_TRANSLATE calls embedded in, and there was an erroneous ; at the end
of those, so the supposedly protected statement was executed anyway.

Fixes #12747.


# a99deff4 10-Jan-2016 looncraz <looncraz@looncraz.net>

Tracker Desktop Icons Using Wrong Text Color

Was using the panel color without checking if we were the desktop view.
This corrects the reported issue where icon label outlines would look
incorrect.

Signed-off-by: Jessica Hamilton <jessica.l.hamilton@gmail.com>


# c5b4dc40 09-Dec-2015 looncraz <looncraz@looncraz.net>

Tracker: Use Set*UIColor, improved font awareness.

InfoWindow now uses the font size to determine the window size and
placement of elements. Also uses system colors, including link
colors. Permissions view not font sensitive yet.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>
Patch 0039 from looncraz, unmodified.


# 9e78efbb 27-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: delete un-needed #includes.

All of these header files are already included by the .h file that
corresponds to the .cpp file.


# 8c2813c1 25-Feb-2015 John Scipione <jscipione@gmail.com>

Tracker: Style fixes


# 2f60dea5 29-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: Throw exception on assert failure

... in situations where a NULL pointer dereference was vital to the
functioning of the method we use a stronger assert that throws an
exception on failure. This is accomplished by a new method in
Utilities.cpp, ThrowOnAssert().

None of these conditions should ever be true, if they are it means that
the code is written improperly and would have resulted in a NULL
dereference and undefined behavior (most likely a crash) before.

Most instances of ThrowOnAssert() either replace an ASSERT followed
by a dereference or an early return that covered the error.

Also remove _ThrowOnErrorWithMessage() which wasn't being used.


# 54e2dd72 28-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: style fixes

No functional changes intended.


# 477bd87b 20-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: style fixes to TextWidget


# 09b0602f 21-Feb-2014 Stephan Aßmus <superstippi@gmx.de>

Tracker: Revert not offsetting the text.

It actually looked better before. It completely depends
on the first and last letter of the text whether there is
a pixel too much on the left or right. On average, it
looks better with the offset, since the string width often
includes the spacing needed before the next glyph on the
right, while the string touches the bounding box on the left.
What should be changed is how tight everything is in general,
the selection box should simply extend more outward. But I
don't really feel like diving into that right now.


# 06a4c38e 21-Feb-2014 Stephan Aßmus <superstippi@gmx.de>

Tracker: Don't offset text in selection box

Either the offset was a workaround for some BeOS bug or
backwards compatibility (I know of at least a vertical off-by-one
text positioning on BeOS for backwards compatibility reasons), or
the Haiku (FreeType) text rendering simply differs slightly, which
can't be avoided. In any case, relevant here is what looks better.
Should fix #1319.


# db416834 02-Jan-2013 Matt Madia <mattmadia@gmail.com>

Automatic whitespace cleanup. No functional change.


# 923d64ef 25-Nov-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Prevent TextWidget to start editing twice

It was possible to confuse TextWidget to start editing twice (clicking on the widget and during the wait,
pressing F2) and confusing the states of the TextWidget.


# ed63a5d2 18-Aug-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Double-Click simplification

Double-click check was redoing what is essentially already done in input_server.

The way we were doing it, right clicking (or pressing a different button for the second click,
for that matter) wasn't clearing the fields remembered and thus not breaking the sequence.
So a third click returning to the correct sequence (in a short time) would get recognized
as a valid second click. So a quick left-right-left would be seen by that method as left-left.

Also, clean up a previous fix I committed. Removed the introduced Origin() method as it
is the LeftTop() method I was interested in and it is already existing.

Fix #8714


# c3837537 14-Aug-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: TextWidget editing flaws

TextWidget tried to detect if the editing box would span outside the PoseView,
but it was using an hardcoded value of 1 for the minimum left value. But in Icon mode,
negative values can occur. Change to use the view's origin (top left corner of the view).


# 66c09a35 09-Aug-2012 Philippe Saint-Pierre <stpere@gmail.com>

Delayed widget editing, crash avoidance

Make the PoseView stop watching a TextWidget if it's being deleted.
Could happen in race conditions for example, if you click to edit
the name widget of a pose while the pose is being deleted soon after.


# 4cf0af06 09-Aug-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Additional cases to cancel double-click detection

Don't wait for a potential second click (and then trigger Widget editing) when:

1. a click occurs on a different pose, on a 'pose-less' area or when right clicking
2. when you start dragging something.


# 741e5246 09-Aug-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Double-click management changes

Make the "second click of a double-click" detection waiting time async. In other words
(hopefully clearer), when the TextWidget gets a click, it register itself, recording the time,
and it will get the editing order later as a callback from PoseView when the delay without any
further click expires.

Fixes #8818 and maybe others.


# ea001e58 28-Jul-2012 John Scipione <jscipione@gmail.com>

Round 2 of style changes to Tracker

* focused on 80-char limit fixes.
* also some whitespace and case statement indentation fixes


# b05aa8b5 27-Jul-2012 John Scipione <jscipione@gmail.com>

Style changes in Tracker, no functional change.

Manual whitespace cleanup
Change instances of const char * to const char*
Convert /* */ C style comments to // C++ style comments


# 546208a5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# 55ea3ed8 04-Nov-2011 John Scipione <jscipione@gmail.com>

Do not capitalize the Button label strings in code. Instead allow the translators to provide a version in the proper case instead. I made the untranslated buttons lable strings capitalized so that it would look correct in English. Thanks humdinger and axeld.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43181 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 504f70a6 03-Nov-2011 John Scipione <jscipione@gmail.com>

Change the text and button label of the activate button on Tracker dialogs
that appear when you try to rename or move an important system folder such
as 'system' or 'config' from the generic (and a little non-standard) 'Do It'
to a proper verb such as 'Rename' or 'Move'.

I take localization into account, there are now 3 different variables that
need to be translated, first is %ifYouDoAction which is the action verb in
one form, second is %toDoAction which is the action verb but in a different
form, and third is %toConfirmAction which is the text that appears on the
button label itself. Although in English there is no distinction between
%ifYouDoAction and %toDoAction (both use the same verb e.g. rename) there
is a distinction in other languages such as German.

Comments are provided in English and German using B_TRANSLATE_COMMENT as a
help for translators. I had some help from DeadYak and Humdinger getting the
German translations right since I only speak English (thanks guys). Humdinger
also directed me to the verb form translation issue in the first place.

I also removed the OSNAME macro and just use 'Haiku' instead since we aren't
maintaining an OpenTracker port for BeOS anymore. Ingo aka bonefish indicated
that this change could be a bit of a problem for distributions (were there
any) but if we actually wanted to support distributions we'd want to use a
global OSNAME macro somewhere else as I am sure the word 'Haiku' must appear
in the source in other places.

Closes #7767

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43175 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5987b2a3 07-Apr-2011 Jonas Sundström <jonas@kirilla.com>

Offer a 'Real name' column in Tracker list view mode, when set to show localized names. As discussed a while back. I honestly don't know if this is such a great idea after all. Name + real name is kind of silly. Ideally it would be labeled in a more logical way, or the feature should be dropped.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41197 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 77e2c2da 28-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Have ConfirmChangeIfWellKnownDirectory() protect the folders Common, Desktop, Root and Trash from renames and moves. Shift-key dialog protection added for the Home folder. Attempts on Desktop, Root and Trash are blocked silently. I admitt it's a bit odd to protect these so resolutely, unlike system, common and home, which are truly essential to the system. Would it be patronizing to enforce a stricter regime?

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41131 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ee8f3f6 25-Feb-2011 Siarzhuk Zharski <zharik@gmx.li>

Bunch of localization fixes pointed out by Diver. Thanks!

Notes:
- FileTypes: The "Same as" button label separated to two entities in dependency of
context: "Same Type as ..." and "Same Application as ...";
- Tracker: The sentences like "If you do %action [...]. To do %action [...]"
now use separately translated verbs for so called
"ifYouDoAction" and "toDoAction";
- NetworkStatus: NetworkStatusView _ShowConfiguration is fixed back after previous
attempt to localize it in r37337: useless code bloating purged out,
broken quasi-header "ifaceName information:" pulled back from Hell;
- StyledEdit: Menu item "Can't undo" had different casing in some situation. Looks
like HTA cannot detect such situation, so right lines "Can't undo"
were masked by wrong one "Can't Undo" and this line stay untranslated
for most time.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40688 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7b80b5d5 17-Sep-2010 Alexandre Deckner <alex@zappotek.com>

* Use multiple translate contexts in Tracker for easier translation


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38691 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 108f794c 16-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by mt: Translate various yet untranslated strings in libtracker,
closes ticket #6374. Thanks a bunch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38675 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3ddefbc1 14-May-2010 Stephan Aßmus <superstippi@gmx.de>

Fixed warning.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36812 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 545ebde0 30-Jan-2010 Michael Lotz <mmlr@mlotz.ch>

Implement type ahead filtering (this time for real and without abusing the
vertically sorted pose list). When enabled typing will filter based on the
currently visible attribute columns. Using shift-space as a delimiter
independent filtering strings can be typed, so you can filter based on multiple
attributes at once to refine results while you type. Filtering stays active
until you cancel it using the escape key. While the filtered result is displayed
all normal file operations can be used. Using the return key while filtering
auto-selects and opens the first filter result, allowing for fast traversal
through directories and directly opening the topmost result.

* Introduces fFilteredPoseList which stores the active filter result. The list
is only used when filtering is currently active, so no syncing is required
otherwise.
* Some minor adjustments to leave out invalidations where non-visible poses are
updated.
* Account for the now possible multiple lists throughout BPoseView.
* Add filter string output to the CountView and made that one a bit wider.
* Added all the settings-cruft for type ahead filtering (defaults to off).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35339 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d9626569 17-Jan-2010 Rene Gollent <anevilyak@gmail.com>

Model: Add accessor for Trash node property and cleanup spacing between inlines.
Rest: Use the IsTrash() accessor on Model where possible in place of the more expensive FSIsTrashDir() check.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35132 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ea1a27d6 24-Aug-2009 Alexandre Deckner <alex@zappotek.com>

* Reworked my fix for #3617. We now check again for a double click if the pose
was not freshly selected.
+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32660 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50f1b82d 19-Aug-2009 Alexandre Deckner <alex@zappotek.com>

* Rewrote rename-click detection to be more usable. The code is much smaller
and is based on the pose selection time, not on click time. It is more
robust and since the selection might have been by click, keyboard or
selection rect, it makes the behavior very pleasant (in my opinion) for
multiselections. Try and tell me!
* Disabled the modifiers (first click editing). Too many of them, and
conflicting with other usages, i'd like your opinions/preferences.
* Removed old, hackish and now unused DelayedEdit/SetDelayedEdit stuff.

Fixes #3617



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32529 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e70b6d95 06-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

* Cleanup in the icon mode stuff. kScaleIconMode is gone. There is simply
kIconMode and it can have different sizes.
* The "Icon Mode" super menu item is marked, when in icon mode, as well as
the size item in it's sub menu.
* When switching from mini icon mode or list mode back into icon mode, the
previous icon size is now restored. This also works when the folder has
been closed meanwhile. (The on-disk format for view state has changed, so
your folders will open with default values.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29971 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4dabc2e6 14-Mar-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed warning.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29512 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ade87ff 14-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

Temporary fix for the ugly drag bitmaps when dragging icons from the Desktop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29509 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 887f9688 24-Feb-2009 Stephan Aßmus <superstippi@gmx.de>

Improved the look of the icon label outline, at least the white text
version should look much better now. Not so sure about the dark text
version, but if you don't want that, just make sure your desktop bg
color is dark enough to get white text.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29310 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e9842421 31-Oct-2008 Alexandre Deckner <alex@zappotek.com>

* On date format change, remove the need for the synchronous call to
DrawViewCommon(), simply invalidate since the logic is simplified now,
see below.
* Reworked the way TimeAttributeText was updated when date format is
changed. Got rid of the recalculatText flag propagation, it was broken
since forever anyway (was here on r5 max4.1): It was only updating
visible poses and wasn't robust in certain cases. Besides, it was
cluttering the code on several layers upfront only for date format changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28402 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 49ad25b3 16-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* The type ahead mechanism did not work correctly in list view mode: instead
of taking the contents of the columns, it would always use the file name
instead.
* That uncovered another bug, though: WidgetText::Text() tried to cast everything
to StringAttributeText, but GenericAttributeText is actually used for most
columns.
* Therefore, GenericAttributeText is now a subclass from StringAttributeText.
* Extended the type ahead to take other columns into account, and made it also
find strings in the middle (like a filter) as a second choice.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28180 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1de41c15 06-Sep-2007 Stephan Aßmus <superstippi@gmx.de>

* fixed tracker single click selection.

If I may say so, I find this code extremely messy and in desperate need for
refactoring. The bad news is that selection flickers now - the columns which
don't need to be drawn at all. I printed some debugging info in
BTextWidget::Draw() and it appears that for a single selection state change,
at least four invokations of BTextWidget::Draw() will result. Sometimes many
more. Since the code calculated the dirty rects wrongly in many places, it
appears that this bug might not have shown before. Like I said, the code is
a mess and there is not a single place for invalidating poses, so I am not
surprised why tons of invalidations arrive. :-/ Maybe I should make myself
more familiar with Tracker... or revert my text outline patch. :-P


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22190 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5c34aef7 22-Aug-2007 Stephan Aßmus <superstippi@gmx.de>

changed the meaning of the "icon view label background" Tracker setting:
* it is replaced by a "icon view label outline" feature that renders a black
or white outline around the text of a label under an icon. This can be used
for background images that have a lot of contrast and is visually more
pleasing (IMHO) than the text box in the workspace color (but the outline
could of course still be improved as well)
the outline or "false bold width" feature is a new BFont feature in Haiku
* Tracker appeared to have a disabled feature to install default background
images, I enabled this feature and rewrote it a bit to use our big logo
from the artwork folder, the placement is for 800x600, so not optimal for
larger desktops, but at least it is shown by default on new installations
or rather "fresh" images
* changed the way the dotted underline is rendered under links, accidentally,
this fixes the bug that it was not dotted at all since a while, which is
a bug in app_server or BView not tracking the need to update the drawing
pattern in certain situations (this bug needs to be fixed too of course)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22040 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7fb6186f 29-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* integration of vector icons with the registrar and the mime data base
* additional versions of SetIcon[ForType] and GetIcon[ForType] in BMimeType
and BAppFileInfo, which handle flat vector icon data
* changes in Tracker to support scalable icons (currently broken for
non-vector icons and needs cleanup) and drawing icons correctly with alpha
channel (large parts of this work done by Michael Lotz)

If someone feels like looking over the changes, that would be much
appreciated! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18699 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 02be5353 22-May-2005 Axel Dörfler <axeld@pinc-software.de>

Added libtracker.so to the repository and the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12772 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9e78efbb4d21a6821be64e5053defd99ed364aea 27-Feb-2015 Augustin Cavalier <waddlesplash@gmail.com>

Tracker: delete un-needed #includes.

All of these header files are already included by the .h file that
corresponds to the .cpp file.


# 8c2813c1871f922248d187c377ccd4a3176b6432 25-Feb-2015 John Scipione <jscipione@gmail.com>

Tracker: Style fixes


# 2f60dea53ae5e08baeae2c4e41c89a8d2e74aaa6 29-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: Throw exception on assert failure

... in situations where a NULL pointer dereference was vital to the
functioning of the method we use a stronger assert that throws an
exception on failure. This is accomplished by a new method in
Utilities.cpp, ThrowOnAssert().

None of these conditions should ever be true, if they are it means that
the code is written improperly and would have resulted in a NULL
dereference and undefined behavior (most likely a crash) before.

Most instances of ThrowOnAssert() either replace an ASSERT followed
by a dereference or an early return that covered the error.

Also remove _ThrowOnErrorWithMessage() which wasn't being used.


# 54e2dd7272db551cab02cc678bd45bc4131dd867 28-Jul-2014 John Scipione <jscipione@gmail.com>

Tracker: style fixes

No functional changes intended.


# 477bd87be1628589ac7f186b6277133e8cb77153 20-Jun-2014 John Scipione <jscipione@gmail.com>

Tracker: style fixes to TextWidget


# 09b0602fff09600ec6ad4f1f5bc05fe2ec606a8f 21-Feb-2014 Stephan Aßmus <superstippi@gmx.de>

Tracker: Revert not offsetting the text.

It actually looked better before. It completely depends
on the first and last letter of the text whether there is
a pixel too much on the left or right. On average, it
looks better with the offset, since the string width often
includes the spacing needed before the next glyph on the
right, while the string touches the bounding box on the left.
What should be changed is how tight everything is in general,
the selection box should simply extend more outward. But I
don't really feel like diving into that right now.


# 06a4c38e3ab5f33cb2dd9eaf21d86eadb4734082 21-Feb-2014 Stephan Aßmus <superstippi@gmx.de>

Tracker: Don't offset text in selection box

Either the offset was a workaround for some BeOS bug or
backwards compatibility (I know of at least a vertical off-by-one
text positioning on BeOS for backwards compatibility reasons), or
the Haiku (FreeType) text rendering simply differs slightly, which
can't be avoided. In any case, relevant here is what looks better.
Should fix #1319.


# db41683495bfde817554415d14ae6f9cc91e77eb 02-Jan-2013 Matt Madia <mattmadia@gmail.com>

Automatic whitespace cleanup. No functional change.


# 923d64efa187b1cd8e520e376b2962a919985fdc 25-Nov-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Prevent TextWidget to start editing twice

It was possible to confuse TextWidget to start editing twice (clicking on the widget and during the wait,
pressing F2) and confusing the states of the TextWidget.


# ed63a5d20c7c4be88812d683bb3d563905297003 18-Aug-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Double-Click simplification

Double-click check was redoing what is essentially already done in input_server.

The way we were doing it, right clicking (or pressing a different button for the second click,
for that matter) wasn't clearing the fields remembered and thus not breaking the sequence.
So a third click returning to the correct sequence (in a short time) would get recognized
as a valid second click. So a quick left-right-left would be seen by that method as left-left.

Also, clean up a previous fix I committed. Removed the introduced Origin() method as it
is the LeftTop() method I was interested in and it is already existing.

Fix #8714


# c38375376d0190b7aec2c25ed691123395d0fcb6 14-Aug-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: TextWidget editing flaws

TextWidget tried to detect if the editing box would span outside the PoseView,
but it was using an hardcoded value of 1 for the minimum left value. But in Icon mode,
negative values can occur. Change to use the view's origin (top left corner of the view).


# 66c09a35546f869af3fef1968a3c423d04cc7495 09-Aug-2012 Philippe Saint-Pierre <stpere@gmail.com>

Delayed widget editing, crash avoidance

Make the PoseView stop watching a TextWidget if it's being deleted.
Could happen in race conditions for example, if you click to edit
the name widget of a pose while the pose is being deleted soon after.


# 4cf0af0607c9b5ad89fdcb5416725e4ae2eb7890 09-Aug-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Additional cases to cancel double-click detection

Don't wait for a potential second click (and then trigger Widget editing) when:

1. a click occurs on a different pose, on a 'pose-less' area or when right clicking
2. when you start dragging something.


# 741e52463a4e1df441230669a38f1bb8832f9674 09-Aug-2012 Philippe Saint-Pierre <stpere@gmail.com>

Tracker: Double-click management changes

Make the "second click of a double-click" detection waiting time async. In other words
(hopefully clearer), when the TextWidget gets a click, it register itself, recording the time,
and it will get the editing order later as a callback from PoseView when the delay without any
further click expires.

Fixes #8818 and maybe others.


# ea001e585a588e40404945a1201821da893d2e09 28-Jul-2012 John Scipione <jscipione@gmail.com>

Round 2 of style changes to Tracker

* focused on 80-char limit fixes.
* also some whitespace and case statement indentation fixes


# b05aa8b5b16e5b4f420a35c37805c6387df98737 27-Jul-2012 John Scipione <jscipione@gmail.com>

Style changes in Tracker, no functional change.

Manual whitespace cleanup
Change instances of const char * to const char*
Convert /* */ C style comments to // C++ style comments


# 546208a53940a26c6379c48a7854ade1a8250fc5 16-Apr-2012 Oliver Tappe <zooey@hirschkaefer.de>

More catalog-related cleanup.

* rename B_TRANSLATE_CONTEXT to B_TRANSLATION_CONTEXT and
B_TRANSLATE_WITH_CONTEXT to B_TRANSLATE_CONTEXT, squashing a TODO
* adjust all uses of both macros in Haiku's source tree
* use correct header guard for collecting/Catalog.h

The renamed macros require adjustments to all external applications
using catalogs.


# 55ea3ed849ab6f731db90123f3811d7c7232e5cc 04-Nov-2011 John Scipione <jscipione@gmail.com>

Do not capitalize the Button label strings in code. Instead allow the translators to provide a version in the proper case instead. I made the untranslated buttons lable strings capitalized so that it would look correct in English. Thanks humdinger and axeld.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43181 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 504f70a6e1f46a849989435584fe7de980b3f415 03-Nov-2011 John Scipione <jscipione@gmail.com>

Change the text and button label of the activate button on Tracker dialogs
that appear when you try to rename or move an important system folder such
as 'system' or 'config' from the generic (and a little non-standard) 'Do It'
to a proper verb such as 'Rename' or 'Move'.

I take localization into account, there are now 3 different variables that
need to be translated, first is %ifYouDoAction which is the action verb in
one form, second is %toDoAction which is the action verb but in a different
form, and third is %toConfirmAction which is the text that appears on the
button label itself. Although in English there is no distinction between
%ifYouDoAction and %toDoAction (both use the same verb e.g. rename) there
is a distinction in other languages such as German.

Comments are provided in English and German using B_TRANSLATE_COMMENT as a
help for translators. I had some help from DeadYak and Humdinger getting the
German translations right since I only speak English (thanks guys). Humdinger
also directed me to the verb form translation issue in the first place.

I also removed the OSNAME macro and just use 'Haiku' instead since we aren't
maintaining an OpenTracker port for BeOS anymore. Ingo aka bonefish indicated
that this change could be a bit of a problem for distributions (were there
any) but if we actually wanted to support distributions we'd want to use a
global OSNAME macro somewhere else as I am sure the word 'Haiku' must appear
in the source in other places.

Closes #7767

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43175 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5987b2a380151a1ddc4e168114f2df52873f8b3e 07-Apr-2011 Jonas Sundström <jonas@kirilla.com>

Offer a 'Real name' column in Tracker list view mode, when set to show localized names. As discussed a while back. I honestly don't know if this is such a great idea after all. Name + real name is kind of silly. Ideally it would be labeled in a more logical way, or the feature should be dropped.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41197 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 77e2c2dad3a96bee11984a15cfaf3047ee1c9e94 28-Mar-2011 Jonas Sundström <jonas@kirilla.com>

Have ConfirmChangeIfWellKnownDirectory() protect the folders Common, Desktop, Root and Trash from renames and moves. Shift-key dialog protection added for the Home folder. Attempts on Desktop, Root and Trash are blocked silently. I admitt it's a bit odd to protect these so resolutely, unlike system, common and home, which are truly essential to the system. Would it be patronizing to enforce a stricter regime?

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41131 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ee8f3f65fdeb106272bd3a195898778c86abf27 25-Feb-2011 Siarzhuk Zharski <zharik@gmx.li>

Bunch of localization fixes pointed out by Diver. Thanks!

Notes:
- FileTypes: The "Same as" button label separated to two entities in dependency of
context: "Same Type as ..." and "Same Application as ...";
- Tracker: The sentences like "If you do %action [...]. To do %action [...]"
now use separately translated verbs for so called
"ifYouDoAction" and "toDoAction";
- NetworkStatus: NetworkStatusView _ShowConfiguration is fixed back after previous
attempt to localize it in r37337: useless code bloating purged out,
broken quasi-header "ifaceName information:" pulled back from Hell;
- StyledEdit: Menu item "Can't undo" had different casing in some situation. Looks
like HTA cannot detect such situation, so right lines "Can't undo"
were masked by wrong one "Can't Undo" and this line stay untranslated
for most time.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40688 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7b80b5d5181053872dd475b1c559bc010914a31c 17-Sep-2010 Alexandre Deckner <alex@zappotek.com>

* Use multiple translate contexts in Tracker for easier translation


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38691 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 108f794c9749f5aef3e4f37591e65e1e7edcd76c 16-Sep-2010 Stephan Aßmus <superstippi@gmx.de>

Patch by mt: Translate various yet untranslated strings in libtracker,
closes ticket #6374. Thanks a bunch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38675 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 3ddefbc1d4dac83b45fa1a26e5ce782c76915791 14-May-2010 Stephan Aßmus <superstippi@gmx.de>

Fixed warning.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@36812 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 545ebde00c3d50510a5236de1c5eef25ac21d757 30-Jan-2010 Michael Lotz <mmlr@mlotz.ch>

Implement type ahead filtering (this time for real and without abusing the
vertically sorted pose list). When enabled typing will filter based on the
currently visible attribute columns. Using shift-space as a delimiter
independent filtering strings can be typed, so you can filter based on multiple
attributes at once to refine results while you type. Filtering stays active
until you cancel it using the escape key. While the filtered result is displayed
all normal file operations can be used. Using the return key while filtering
auto-selects and opens the first filter result, allowing for fast traversal
through directories and directly opening the topmost result.

* Introduces fFilteredPoseList which stores the active filter result. The list
is only used when filtering is currently active, so no syncing is required
otherwise.
* Some minor adjustments to leave out invalidations where non-visible poses are
updated.
* Account for the now possible multiple lists throughout BPoseView.
* Add filter string output to the CountView and made that one a bit wider.
* Added all the settings-cruft for type ahead filtering (defaults to off).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35339 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d9626569fb4d59f261c05cbe3a7d7e57e6bff9a5 17-Jan-2010 Rene Gollent <anevilyak@gmail.com>

Model: Add accessor for Trash node property and cleanup spacing between inlines.
Rest: Use the IsTrash() accessor on Model where possible in place of the more expensive FSIsTrashDir() check.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35132 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ea1a27d61aeadf29af3e7a116ced30d1bdf98806 24-Aug-2009 Alexandre Deckner <alex@zappotek.com>

* Reworked my fix for #3617. We now check again for a double click if the pose
was not freshly selected.
+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32660 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 50f1b82d5b7fe9b4d37fd4b56039ce921941fb70 19-Aug-2009 Alexandre Deckner <alex@zappotek.com>

* Rewrote rename-click detection to be more usable. The code is much smaller
and is based on the pose selection time, not on click time. It is more
robust and since the selection might have been by click, keyboard or
selection rect, it makes the behavior very pleasant (in my opinion) for
multiselections. Try and tell me!
* Disabled the modifiers (first click editing). Too many of them, and
conflicting with other usages, i'd like your opinions/preferences.
* Removed old, hackish and now unused DelayedEdit/SetDelayedEdit stuff.

Fixes #3617



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32529 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e70b6d957a03fbd24b6c47ad2668d23c11806912 06-Apr-2009 Stephan Aßmus <superstippi@gmx.de>

* Cleanup in the icon mode stuff. kScaleIconMode is gone. There is simply
kIconMode and it can have different sizes.
* The "Icon Mode" super menu item is marked, when in icon mode, as well as
the size item in it's sub menu.
* When switching from mini icon mode or list mode back into icon mode, the
previous icon size is now restored. This also works when the folder has
been closed meanwhile. (The on-disk format for view state has changed, so
your folders will open with default values.)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29971 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 4dabc2e66318aeb669201770f4b1d90b9da2cca0 14-Mar-2009 Axel Dörfler <axeld@pinc-software.de>

* Fixed warning.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29512 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2ade87ffe73ae76c81c5e9c03c0e998fe8e1775f 14-Mar-2009 Stephan Aßmus <superstippi@gmx.de>

Temporary fix for the ugly drag bitmaps when dragging icons from the Desktop.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29509 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 887f9688a47b6564622a46c116879c4ca2c5add7 24-Feb-2009 Stephan Aßmus <superstippi@gmx.de>

Improved the look of the icon label outline, at least the white text
version should look much better now. Not so sure about the dark text
version, but if you don't want that, just make sure your desktop bg
color is dark enough to get white text.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29310 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e9842421554da064c665301a10b6a6b3f69ac818 31-Oct-2008 Alexandre Deckner <alex@zappotek.com>

* On date format change, remove the need for the synchronous call to
DrawViewCommon(), simply invalidate since the logic is simplified now,
see below.
* Reworked the way TimeAttributeText was updated when date format is
changed. Got rid of the recalculatText flag propagation, it was broken
since forever anyway (was here on r5 max4.1): It was only updating
visible poses and wasn't robust in certain cases. Besides, it was
cluttering the code on several layers upfront only for date format changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28402 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 49ad25b3922a6354639b9fe6325c7c6aa1895e41 16-Oct-2008 Axel Dörfler <axeld@pinc-software.de>

* The type ahead mechanism did not work correctly in list view mode: instead
of taking the contents of the columns, it would always use the file name
instead.
* That uncovered another bug, though: WidgetText::Text() tried to cast everything
to StringAttributeText, but GenericAttributeText is actually used for most
columns.
* Therefore, GenericAttributeText is now a subclass from StringAttributeText.
* Extended the type ahead to take other columns into account, and made it also
find strings in the middle (like a filter) as a second choice.
* Whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28180 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1de41c158d4aee02e639595539c3f29bf849e09f 06-Sep-2007 Stephan Aßmus <superstippi@gmx.de>

* fixed tracker single click selection.

If I may say so, I find this code extremely messy and in desperate need for
refactoring. The bad news is that selection flickers now - the columns which
don't need to be drawn at all. I printed some debugging info in
BTextWidget::Draw() and it appears that for a single selection state change,
at least four invokations of BTextWidget::Draw() will result. Sometimes many
more. Since the code calculated the dirty rects wrongly in many places, it
appears that this bug might not have shown before. Like I said, the code is
a mess and there is not a single place for invalidating poses, so I am not
surprised why tons of invalidations arrive. :-/ Maybe I should make myself
more familiar with Tracker... or revert my text outline patch. :-P


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22190 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5c34aef797c60839b66395519c53b39291dc35c7 22-Aug-2007 Stephan Aßmus <superstippi@gmx.de>

changed the meaning of the "icon view label background" Tracker setting:
* it is replaced by a "icon view label outline" feature that renders a black
or white outline around the text of a label under an icon. This can be used
for background images that have a lot of contrast and is visually more
pleasing (IMHO) than the text box in the workspace color (but the outline
could of course still be improved as well)
the outline or "false bold width" feature is a new BFont feature in Haiku
* Tracker appeared to have a disabled feature to install default background
images, I enabled this feature and rewrote it a bit to use our big logo
from the artwork folder, the placement is for 800x600, so not optimal for
larger desktops, but at least it is shown by default on new installations
or rather "fresh" images
* changed the way the dotted underline is rendered under links, accidentally,
this fixes the bug that it was not dotted at all since a while, which is
a bug in app_server or BView not tracking the need to update the drawing
pattern in certain situations (this bug needs to be fixed too of course)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22040 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 7fb6186f3cb93a14ea0f96a82bdfc3d18f3ad56e 29-Aug-2006 Stephan Aßmus <superstippi@gmx.de>

* integration of vector icons with the registrar and the mime data base
* additional versions of SetIcon[ForType] and GetIcon[ForType] in BMimeType
and BAppFileInfo, which handle flat vector icon data
* changes in Tracker to support scalable icons (currently broken for
non-vector icons and needs cleanup) and drawing icons correctly with alpha
channel (large parts of this work done by Michael Lotz)

If someone feels like looking over the changes, that would be much
appreciated! :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18699 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 02be5353fd41ea40007a382e13f007eaf6b5a3a0 22-May-2005 Axel Dörfler <axeld@pinc-software.de>

Added libtracker.so to the repository and the build.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12772 a95241bf-73f2-0310-859d-f6bbb57e9c96