Right clicking on a Pose to get the contextual menu would quite often
trigger a rename action of that pose. Don't allow to rename a pose
by releasing the secondary mouse button.
When restored, an overlap was wrongly detected in offsets for
failure to take into account the width of the border line.
This was causing the horizontal scrollbar to show unnecessarily.
A crash of Tracker was triggered when accessing AddOn menu (by
shortcut or context-menu) for Pose on Desktop, because of it's
incapacity to read the mime type list (that wasn't built in
those cases).
1. Build the list of mimetypes of files in selection only once and
reuse it for all further tests.
2. Fix a regression introduced in hrev44384 where the MimeType()
wouldn't get recognized when just changed by tracker (by that same
right click). It would be on subsequent clicks.
3. Rename the static map variable to better fit our coding style
and be more understandable.
When sorting files by Modified dates, right clicking on a file was leading
to a sorting issue where files were changing positions (without reason).
1. Any changes to stats (size, modification, creation, mode) was triggering
the sorting. Now only stats fields currently used as a Sort criteria will
trigger such event.
2. The Mimeset of file was set (in case of unknown file format) once per checked
add-on when building AddOn Menu. Now it's checked once per file in selection.
(so, once per file, rather then once per file, per add-on).
3. Now rely on registrar to force the mimeset (to trigger the sniffer in case
the attribute already exist) rather than trying to duplicate the feature in Tracker.
4. When Sorting, if there is a old position known, check if it's working by looking
if you should come after the previous item, and before the following item. Previously,
the item would be pushed at the top if the group of item all fitting the criteria
(same file size, same file kind, etc.. depending on the sorting criteria).
Fixes#8478.
Fixing #1592.
A feedback FSNotification()->EntryMoved->PendingNodeMonitorCache->FSNotification
was seemingly introducing some race condition, as it was working 1 time
on several tries.
* Remove several hard-coded colors
* Reduce slightly the font size in the file info panel (#6909).
* Don't hardcode the font height, compute it
* Fix a bug where deploying the bottom panel makes the current
window width the new minimum width
* Don't hardcode the bottom panel's height, compute it
(allows better font size tolerance).
Introduce a function to generate the string representation of a bitrate
(kbps, mbps, gbps, etc..)
* Factor out the code from MediaPlayer InfoWindow
* Allow different bases (/1000 or /1024)
Top was using the 'theorical' interval value to determine the percentages.
The measured thread times were taken in an always a bit larger interval than
that theorical value, hence the negative '%' occuring regularly.
Should fix#4589.
fBackgroundImage wasn't being cleared when removing the desktop
background image because the loading process wasn't ignoring
loading failures (as is the "no background for this workspace" setting).
fBackgroundImage not being NULL was causing crashes mainly in
ScreenChanged(), where it was trying to re-center a non-existant
background. Was causing #7376 and maybe others.
In List Mode, consider the extra margin added to the right of
the last column when computing the Extent of the PoseView. This
was causing the ResizeToFit to resize a bit too small.
Fixes#4318
In previous, it was still working as I was more interested into != 0 than
exact count. Still, for clarity sake, I add -l to get the actual count.
Thanks Axel.
The bash script tried to verify the existence of a file,
but there were several fils fitting the wildcard expression.
So, [ -e .../*gcc ]; was interpreted as if it had too many
arguments. Replaced that expression by a count of files.
Fixes#8493.
* Rather than duplicating the decision taking logic involving wheter or not to draw
the outline or glow in every replicant, update be_control_look to make it more
generic.
* The Monitoring of the background preferences is now only done in Tracker (where it
was already being done).
* Add a BControlLook::B_IGNORE_OUTLINE flag to avoid this new behaviour.
* Remove that said logic from ActivityMonitor and use be_control_look.
* Use the ignore flag in DeskCalc to avoid the outline in its case.
Should fix#7716, #7291.
In Playlist, whenever a move of items occured causing the
currently playing song to change its position, so :
1. Importing files (D&D for example) before its position
2. Removings files before it
3. Moving files before it
was causing the currently playing song to restart because
it was thinking a new entry was asked (it had a different
index number suddently).
Also adjusted the behaviour when you delete the currently
playing track.
Should fix ticket #6689.
1. When in /boot, you couldn't go to the parent (which is fine by itself),
but the menu item wasn't disabled.
2. In Single Window Browsing, doing "Open parent" wasn't respecting that
setting and was opening new windows.
3. In filepanel, when navigating to Desktop folder, the "Go to parent" was
still proposed even though it would do nothing choosing it.
4. Opening a Pose in Single Window Browsing was repopulating the menus and
putting the shortcuts again. That was an issue if Navigator bar was used
since it conflicts with its shortcuts.
Fixing ticket #6851.
In an earlier commit, I removed a memleak, but it was covering more cases
than intended. Thanks to Alex Wilson's insight, it seems that simply removing
the check is better (since that check is essentially redone in FSMoveToTrash()).
Rather than checking if "window" AND "view" are NULL, check if
"window" OR "view" are NULL, since neither could be null and deferenced later
on.
From the Matrox accelerant, it seems that such event occurs when a
"Workspace switch, screen prefs change, or overlay app shutdown occurs"
Might be interesting to revisit tickets related to intel accelerant.
CID 205.
BVolume::BlockSize() might return a negative value (error code) and it
was passed as parameter of CalcItemsAndSize() as a size_t (unsigned).
Thus the check for an error code failed.
CID 4171.
The dynamic_cast was called twice, and the assert was
done on the first attempt. Now it just cast once, assert on this
and pass it further as before.
CID 3122.
* The comparaison couldn't ever not match. Based on the comment above the
function, I made it so that flags must contain at least one of B_WATCH_NAME,
B_WATCH_STAT or B_WATCH_ATTR
CID 2586