* Remove no longer necessary support functions.
* The new version uses a single BString as input/output parameter and only
modifies that one by removing non-fitting chars and inserting the ellipsis
where appropriate, so avoids copying around bytes/chars/strings in a few
places. It uses the new Chars functions of BString so also no need for manual
multibyte handling.
* Adjusted the BFont and ServerFont usage of truncate_string() which are both
simplified by using the single BString. It avoids a lot of temprary
allocations and string copying. The char * version of BFont
GetTruncatedStrings() now uses the BString version and not the other way
around anymore which requires us to allocate temporary BString objects, it's
not worse than before though.
* This fixes a bunch of problems with the previous functions like always
prepending the ellipsis for B_TRUNCATE_BEGINNING, crashing on short enough
widths, violating the width in the B_TRUNCATE_END case when the width was
short enough, non-optimal truncation in a few cases and sometimes truncation
where none would've been needed. Also fixes#4128 which was a symptom of the
broken B_TRUNCATE_BEGINNING.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35381 a95241bf-73f2-0310-859d-f6bbb57e9c96
compatibility between two different versions of a shared library.
Even when using this tool, you still need to make up your mind about compatibility, but
IMHO it helps a lot.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35380 a95241bf-73f2-0310-859d-f6bbb57e9c96
Worse yet for a small enough length it actually crashes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35379 a95241bf-73f2-0310-859d-f6bbb57e9c96
that special characters can be used as well (umlauts for example).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35375 a95241bf-73f2-0310-859d-f6bbb57e9c96
the corresponding normal functions but have a "Chars" in the name like
"MoveCharsInto" or "AppendChars". Also added CountBytes() and CharAt().
This should make everyday string handling with multibyte strings a bit easier.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35371 a95241bf-73f2-0310-859d-f6bbb57e9c96
- remove some more leftover desktop integration-related code.
- remove special case that would hide the Desktop folder in file panels.
- fixed BFilePanel to correctly filter out the trash from the volume root
and show it on the desktop like everywhere else.
- renamed CountView::Add/RemoveFilter so they don't hide
BHandler::Add/RemoveFilter (gcc4 warning).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35368 a95241bf-73f2-0310-859d-f6bbb57e9c96
Add Language->IsCountry to tell if a language holds a country specifier (like fr_FR) or not (fr alone). This allows separating them in the preflet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35366 a95241bf-73f2-0310-859d-f6bbb57e9c96
This is still quite buggy, but at least you can start working on pt_br and test things out.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35364 a95241bf-73f2-0310-859d-f6bbb57e9c96
could prove to be a major PITA (because of all the dependencies that would need to be rebuilt)
* when adding a library to the image, its optional minor abi version is taken care of, too (i. e. a
corresponding link is created).
* the ABI-related links in /system/lib are now replicated in /boot/develop/lib/<arch>
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35362 a95241bf-73f2-0310-859d-f6bbb57e9c96
broken behavior in _RemoveItem that could potentially result in the wrong
list items being removed/deleted depending on the expanded/collapsed state
of higher items in the list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35360 a95241bf-73f2-0310-859d-f6bbb57e9c96
releasing our reference to it. So return immediately after having done that.
Previously the _MaybeNotifyProfilerThread() that innocently lurked at the end
of the method would be invoked, playing with the dead beef.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35357 a95241bf-73f2-0310-859d-f6bbb57e9c96
introduced with the update to bash 4. That could cause the bash build to fail
when built with multiple jobs. Thanks to Matt for investigating this!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35356 a95241bf-73f2-0310-859d-f6bbb57e9c96
* the previous behaviour was to consider it enabled if the count was above 0, and disabled otherwise.
* the new behaviour is to consider it disabled if the count is 0, but also allows to disable it by unchecking the box in the pref window, without setting the count to 0 (losing its value).
Fixes ticket #5007.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35355 a95241bf-73f2-0310-859d-f6bbb57e9c96
pose on a non-visible pose list which would cause poses to get lost from the
unfiltered list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35354 a95241bf-73f2-0310-859d-f6bbb57e9c96
B_REFS_RECEIVED within a short amount of time (0.5 seconds right now) and
send them to the last window to be appended to the playlist. This allows to
select multiple media files in Tracker and get them inside a playlist of a
single window instead of spawning many individual ones (like when filtering
for an album, selecting all tracks and opening them by hitting enter).
* Introduce special append index values APPEND_INDEX_REPLACE_PLAYLIST (-1, does
the same as before) and APPEND_INDEX_APPEND_LAST. The latter is used when
appending through a RefsReceived() call and ensures that the index is
evaluated at the actual insertion time (in ImportPLItemsCommand::Perform())
as by the time this function is called the playlist count may have changed
already due to multiple RefsReceived() invokations, which would then mess up
the order. This makes the above item work as expected.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35352 a95241bf-73f2-0310-859d-f6bbb57e9c96
functions provided with the given arguments.
* Make use of that looper to replace spawning a thread for each launch task.
On the one side this reduces the amount of used threads (and should fix#698)
and on the other side it makes the order in which refs are sent a bit more
predictable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35351 a95241bf-73f2-0310-859d-f6bbb57e9c96
* This fixes a bug where checking "show contents" before a source archive is chosen makes the window go tiny.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35350 a95241bf-73f2-0310-859d-f6bbb57e9c96
driver may not build due to dependencies to the kernel_c++_structs.h header.
Normally this header is build by jam when building the libfreebsd_network.a
library, with the first network driver so to speak.
Adding a rule to the atheroswifi Jamfile to build kernel_c++_structs.h
would be the wrong fix, because the atheroswifi doesn't need condition
variables.
The correct fix is to remove the #include <condvar.h> statement from proc.h.
And while I'm at it, I remove all the other include statements, too, as none
of them are needed by this header (all drivers are still compiling).
* Thank you mmadia for the heads up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35349 a95241bf-73f2-0310-859d-f6bbb57e9c96
changes (which may also happen on creation of new files).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35346 a95241bf-73f2-0310-859d-f6bbb57e9c96
fall out of the selection. The same is later done when removing them from the
matching subset, so moved that to a common EnsurePoseUnselected().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35345 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Add UpdateAfterFilterChange() with the update part of FilterModified().
* Add StopFiltering() that clears the filter and updates.
* Make use of these functions where appropriate to fix missing scroll ranges
after canceling a filter.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35344 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
The size instead of the data would be printed. The fixed/non-fixed handling is
generic though, so no need to special case the always non fixed elements.
Since adding of basic types through their Add*() function always generates fixed
size fields, this would only be visible if the data was added through AddData()
with isFixedSize == false. This is the case in compiled resources for example,
hence you would see it when printing the returned messages of BMimeType::Get*()
functions for pre-installed types.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35336 a95241bf-73f2-0310-859d-f6bbb57e9c96
general "flags" parameter. It encodes the target state of the page -- so
that the page isn't unnecessarily put in the wrong page queue first -- a
flag whether the page should be cleared, and one to indicate whether the
page should be marked busy.
* Added page state PAGE_STATE_CACHED. Not used yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35333 a95241bf-73f2-0310-859d-f6bbb57e9c96
flag. The obvious advantage is that one can still see what state a page is in
and even move it between states while being marked busy.
* Removed the vm_page::is_dummy flag. Instead we mark marker pages busy, which
in all cases has the same effect. Introduced a vm_page_is_dummy() that can
still check whether a given page is a dummy page.
* vm_page_unreserve_pages(): Before adding to the system reserve make sure
sUnreservedFreePages is non-negative. Otherwise we'd make nonexisting pages
available for allocation. steal_pages() still has the same problem and it
can't be solved that easily.
* map_page(): No longer changes the page state/mark the page unbusy. That's the
caller's responsibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35331 a95241bf-73f2-0310-859d-f6bbb57e9c96
the wired count of manually mapped pages not to be decremented in
delete_area(), leading to a "pages still has mappings" panic when the slab
allocator's memory manager deleted areas.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35329 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added flags to avoid notifying the busy condition variable unnecessarily.
* get_writable_cached_block(): Unlock the cache while memcpy()ing/memset()ing
the block's data. The idea is to reduce lock contention. Less effective
than I hoped, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35328 a95241bf-73f2-0310-859d-f6bbb57e9c96
should now be able to be installed gracefully. This fixes ticket #5248.
* Enhancement of the -a parameter, so that it accepts multiple packages at once.
Multiple packages have to be included in double quotes, due to the way getopts
handles options. This fixes ticket #5315.
* Thanks mmadia for this patch!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35327 a95241bf-73f2-0310-859d-f6bbb57e9c96