Commit Graph
227 Commits
Author SHA1 Message Date
John Scipione a892df239f Tracker: Fix several unchecked return values
CID611191, CID611192, CID611193
2014-07-18 17:58:07 -04:00
John Scipione 5969c5d779 Tracker: Fix use after free
CID510586
2014-07-18 17:58:05 -04:00
John Scipione 1933335b06 Tracker: fix 2 uninitialized scalers
CID610119
2014-07-18 17:58:04 -04:00
John Scipione ba24adb272 Tracker: fix 2 unbounded copies
CID609045
2014-07-18 17:58:02 -04:00
John Scipione d308d1fa82 Tracker: fix unchecked dynamic_casts
CID603130, CID603131, CID603132
2014-07-18 17:58:01 -04:00
John Scipione 62de0e04be Tracker: fix unchecked return values
Check that LockLooper() succeeds

CID611190, CID611194, CID602477
2014-07-18 17:57:43 -04:00
John Scipione dc3cfca45b Tracker: fix unused pointers
CID610474, CID610475
2014-07-18 17:53:03 -04:00
John Scipione 20e3467eae Tracker: fix dereference after NULL checks
CID600503, CID600504, CID600505
2014-07-18 17:52:37 -04:00
John Scipione 0db0308b08 Tracker: style fixes to PoseView.cpp
Compare with NULL explictly
2014-07-18 17:51:25 -04:00
John Scipione d5868b5976 Tracker: style fixes to PoseView
Variable renaming for consistency and clarity
2014-07-17 14:51:09 -04:00
John Scipione d7e6821137 Tracker: miscellaneous style fixes 2014-07-17 14:23:33 -04:00
John Scipione 091db3a99d Tracker: Check if selectedPose is NULL
... before using it.
2014-06-20 21:29:19 -04:00
John Scipione 14bf930b99 Tracker: Check if selectedBounds is NULL
... before using it.
2014-06-20 21:29:17 -04:00
John Scipione 38181640e9 Tracker: style fixes to PoseView class 2014-06-20 21:29:14 -04:00
John Scipione 9437e677ba Tracker: Style fixes 2014-06-10 00:36:10 -04:00
John Scipione 9bd08d10ab Tracker: Don't change selection if right-click
... inside a selection. If you click outside a selection extend the
selection to include the new items as Tracker normally would and
then pop up the dialogs.

Works with control-click as well, same utility function used.

Fixes #10449
2014-02-01 04:42:39 -05:00
John Scipione 80f4300a72 Tracker: Make context menu work with control-click
in additional to secondary mouse button click, uses same utility function.
2014-02-01 04:42:38 -05:00
John Scipione 898f108250 Tracker: Add SecondaryMouseButtonDown method
Create this utility method in Utilities.cpp and use it elsewhere tell if the
secondary mouse button is pressed or if it is emulated with a control-click.
2014-02-01 04:42:36 -05:00
John Scipione 6be6813f23 Tracker: swap using std::swap() 2014-02-01 04:42:33 -05:00
John Scipione fcb24e82c4 Tracker: Only open items if doubleclick w/ primary MB
Also rename fLastClickPt to fLastClickPoint
2014-02-01 04:42:32 -05:00
John Scipione 9d33fe6896 Tracker: Style fixes to BPoseView 2014-02-01 04:42:31 -05:00
Freeman Lou 80c9ee9c3f Tracker: exclude trash from selection.
Signed-off-by: Rene Gollent <[email protected]>
2013-12-25 12:09:53 -05:00
Ingo Weinhold 1c29b26e7c Add virtual directory feature to Tracker
Similar to stored queries, files of the virtual directory type behave
like directories -- i.e. they open in a list-mode Tracker window and
show up as an item with submenu in navigation menus. The file itself is
a plain text file in driver settings format. It can have an arbitrary
number of "directory" entries, which specify the paths of (actual)
directories for which the virtual directory provides a merged view. The
view will not show duplicate entries. For non-directory entries the
first one encountered (according to the order the directory paths are
specified in the file) will be shown. A subdirectory entry will again
behave like a virtual directory.

The support in Tracker isn't perfect yet. I'm afraid major refactoring
would be necessary to get it there.

The virtual directory file type uses a differently colored version of
the folder icon. Alternatives welcome.
2013-06-29 14:58:51 +02:00
Ingo Weinhold de85051c81 BPoseView::AttributeChanged(): additional check in icon case
Model::AttrChanged() requires the model to be open and so does
IconCache::IconChanged(), so add the check. Not sure if the block is
ever executed now (or ever worked before). This does at least prevent
asserts being triggered when compiled with debugging enabled.
2013-06-29 13:58:10 +02:00
Ingo Weinhold ddd775f5ac BPoseView::FSNotification(): fix issue in debug build 2013-06-27 21:57:41 +02:00
Ingo Weinhold 535207ae9a BPoseView::AddPosesTask(): fix count checks
In case GetNextDirents() returned an error, the wrong blocks were
executed.
2013-06-27 21:57:39 +02:00
Ingo Weinhold 25a7b01d15 Merge branch 'master' into package-management
Additional changes:
* Add src/system/kernel/lib/zlib, which builds a kernel version of zlib,
  needed by packagefs.
* BuildFeatures: Add a build feature "gcc2" to allow for easier checks.
* Referenceable.cpp: Include <OS.h> instead of <debugger.h>. The latter
  is not needed and prevents building for the build platform.
* zlib/zutil.h: Fix gcc 2 build. We really should use the external
  package instead.

Conflicts:
	.gitignore
	build/jam/BuildSetup
	build/jam/FileRules
	build/jam/FloppyBootImage
	build/jam/HaikuImage
	build/jam/ImageRules
	build/jam/KernelRules
	build/jam/NetBootArchive
	build/jam/OptionalBuildFeatures
	build/jam/OptionalLibPackages
	build/jam/OptionalPackageDependencies
	build/jam/OptionalPackages
	build/scripts/build_haiku_image
	configure
	data/bin/installoptionalpackage
	data/system/boot/Bootscript
	headers/os/app/Message.h
	headers/os/package/PackageInfo.h
	headers/os/package/PackageInfoAttributes.h
	headers/os/package/PackageInfoSet.h
	headers/os/package/PackageRoster.h
	headers/os/package/PackageVersion.h
	headers/os/package/hpkg/PackageInfoAttributeValue.h
	headers/os/storage/FindDirectory.h
	headers/os/storage/Node.h
	headers/os/support/StringList.h
	headers/private/system/directories.h
	src/add-ons/kernel/drivers/audio/ac97/es1370/Jamfile
	src/add-ons/kernel/file_systems/packagefs/AttributeIndex.cpp
	src/add-ons/kernel/file_systems/packagefs/Jamfile
	src/add-ons/kernel/file_systems/packagefs/Package.cpp
	src/add-ons/kernel/file_systems/packagefs/Package.h
	src/add-ons/kernel/file_systems/packagefs/PackageDomain.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageDomain.h
	src/add-ons/kernel/file_systems/packagefs/PackageFSRoot.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageLinkDirectory.h
	src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageLinkSymlink.h
	src/add-ons/kernel/file_systems/packagefs/PackageLinksDirectory.cpp
	src/add-ons/kernel/file_systems/packagefs/PackageNode.h
	src/add-ons/kernel/file_systems/packagefs/ResolvableFamily.cpp
	src/add-ons/kernel/file_systems/packagefs/Version.cpp
	src/add-ons/kernel/file_systems/packagefs/Version.h
	src/add-ons/kernel/file_systems/packagefs/Volume.cpp
	src/add-ons/kernel/file_systems/packagefs/Volume.h
	src/add-ons/kernel/file_systems/packagefs/kernel_interface.cpp
	src/add-ons/kernel/file_systems/userlandfs/shared/driver_settings.c
	src/apps/deskbar/BarApp.cpp
	src/apps/deskbar/BarMenuBar.cpp
	src/apps/deskbar/BarMenuBar.h
	src/apps/deskbar/BarView.cpp
	src/apps/deskbar/BarView.h
	src/apps/deskbar/BarWindow.cpp
	src/apps/deskbar/BarWindow.h
	src/apps/deskbar/DeskbarMenu.cpp
	src/apps/deskbar/DeskbarMenu.h
	src/apps/deskbar/DeskbarUtils.cpp
	src/apps/deskbar/DeskbarUtils.h
	src/apps/deskbar/ExpandoMenuBar.cpp
	src/apps/deskbar/ExpandoMenuBar.h
	src/apps/deskbar/TeamMenu.cpp
	src/apps/processcontroller/ProcessController.cpp
	src/apps/remotedesktop/RemoteDesktop.cpp
	src/bin/bash/config-top.h
	src/bin/finddir.c
	src/bin/package/Jamfile
	src/bin/package/command_add.cpp
	src/bin/package/command_create.cpp
	src/bin/package/command_list.cpp
	src/bin/package_repo/command_list.cpp
	src/bin/pkgman/command_refresh.cpp
	src/build/libbe/support/Jamfile
	src/build/libpackage/Jamfile
	src/build/libroot/Jamfile
	src/build/libroot/fs.cpp
	src/build/libroot/remapped_functions.h
	src/kits/locale/MutableLocaleRoster.cpp
	src/kits/opengl/GLRendererRoster.cpp
	src/kits/package/PackageInfo.cpp
	src/kits/package/PackageInfoSet.cpp
	src/kits/package/PackageRoster.cpp
	src/kits/package/PackageVersion.cpp
	src/kits/package/RepositoryCache.cpp
	src/kits/package/hpkg/PackageWriterImpl.cpp
	src/kits/package/hpkg/ReaderImplBase.cpp
	src/kits/package/hpkg/WriterImplBase.cpp
	src/kits/print/PrintTransport.cpp
	src/kits/print/Printer.cpp
	src/kits/screensaver/ScreenSaverRunner.cpp
	src/kits/support/StringList.cpp
	src/kits/tracker/ContainerWindow.cpp
	src/kits/tracker/DeskWindow.cpp
	src/kits/tracker/PoseView.cpp
	src/libs/print/libprint/Transport.cpp
	src/preferences/printers/AddPrinterDialog.cpp
	src/preferences/screensaver/ScreenSaverWindow.cpp
	src/servers/debug/DebugServer.cpp
	src/servers/input/AddOnManager.cpp
	src/servers/media_addon/MediaAddonServer.cpp
	src/system/boot/Jamfile
	src/system/boot/loader/Jamfile
	src/system/boot/loader/loader.cpp
	src/system/boot/loader/vfs.cpp
	src/system/kernel/fs/vfs.cpp
	src/system/kernel/fs/vfs_boot.cpp
	src/system/libroot/os/find_directory.cpp
	src/system/runtime_loader/runtime_loader.cpp
	src/tools/package/Jamfile
2013-05-05 15:03:26 +02:00
Rene Gollent a53db18937 Fix #9663.
When clearing the filter state, don't disable filtering entirely if we
have a ref filter present. Otherwise, it won't be invoked again
until the next time a typeahead filter is engaged.
2013-04-12 00:05:27 -04:00
Humdinger 163a394833 Revert "Renamed Tracker option "Don't move files to Trash" (#9352)"
This reverts commit 45f77dcd70.
2013-02-10 11:33:51 +01:00
Humdinger 45f77dcd70 Renamed Tracker option "Don't move files to Trash" (#9352)
Renamed that option as it is the only negatively phrased to
"Move deleted files to Trash first" and also the option below
that to "Ask before deleting for good".
Also renamed every function name etc. in that regard and also
settings string of the Tracker settings file.
2013-01-06 20:04:07 +01:00
Matt Madia db41683495 Automatic whitespace cleanup. No functional change. 2013-01-02 10:11:56 +00:00
Philippe Saint-Pierre 205cf6950c Tracker: Force Identify - don't require holding shift (#4857)
Don't require to hold shift when clicking on force identify,
can now be released after popup menu have appeared.
2012-12-24 16:10:21 -05:00
Philippe Saint-Pierre 3fbf5d6809 Tracker: Drawing artifact (#6513)
After switching from outline only selection mode to transparent rectangle,
a drawing artifact could occur because the last selection rectangle wasn't
reset properly.  On following update, Tracker thought a selection rectangle
was still to be shown.
2012-12-23 16:33:49 -05:00
Philippe Saint-Pierre dbe3088153 Tracker: Tracker crashes in KeyDown() if there are no models associated with the PoseView.
Happens in special windows, such as OpenWith Window, that do have a PoseView not associated
with a model.  Fixes #8160.
2012-11-25 20:35:39 -05:00
Alex Smith 11c9f9a1d6 Merge branch 'master' into x86_64
Conflicts:
	build/jam/FloppyBootImage
	build/jam/OptionalBuildFeatures
	build/jam/OptionalPackages
	headers/private/shared/cpu_type.h
	src/bin/ps.c
	src/bin/sysinfo.cpp
	src/kits/tracker/PoseView.cpp
	src/preferences/appearance/DecorSettingsView.cpp
	src/preferences/virtualmemory/Settings.cpp
	src/servers/input/AddOnManager.cpp
	src/servers/input/InputServer.cpp
	src/servers/input/InputServerMethod.cpp
	src/system/boot/Jamfile
	src/system/boot/platform/raspberrypi_arm/mmu.cpp
	src/system/boot/platform/u-boot/arch/arm/Jamfile
	src/system/kernel/arch/x86/arch_cpu.cpp
	src/system/kernel/arch/x86/arch_thread.cpp
	src/system/kernel/cache/block_cache.cpp
	src/system/kernel/vm/VMAnonymousCache.cpp
2012-11-18 14:02:07 +00:00
Philippe Saint-Pierre 151b6997c0 Tracker: Moving columns could make an horizontal scrollbar appear 2012-09-15 19:31:34 -04:00
Philippe Saint-Pierre ed63a5d20c 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
2012-08-18 22:13:09 -04:00
Alex Smith e688bf23d4 Merge branch 'master' into x86_64
Conflicts:
	src/servers/app/ServerWindow.cpp
2012-08-16 21:11:15 +01:00
Philippe Saint-Pierre c38375376d 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).
2012-08-15 01:28:44 -04:00
Philippe Saint-Pierre 8cbdf82a0a Tracker: Drawing glitch when created Pose is first in PoseView
Due to clipping of a rect to match the view bounds, there was a confusion
as to whether the rect was at the top of the view bounds, or above the view
bounds as both met the condition.

Fixes #8876.
2012-08-14 16:26:19 -04:00
Philippe Saint-Pierre 7ad72ef6ea PoseView: avoid duplication of poses
When filtered, clear the FilteredPoseList before re-filling it.

Fixes #8875.
2012-08-12 16:34:39 -04:00
Rene Gollent 39433058f7 Fix ticket #8858.
- When an Identify/Force Identify request is made in Tracker, if the target
  is a link, resolve it to its destination first. Fixes #8858.
- Have mime_update.sh explicitly mimeset the welcome/user guide scripts.
2012-08-11 09:56:20 -04:00
Philippe Saint-Pierre c01e918c0a Cancel editing of Widget if sorting of poses occured.
Since the position of the widget was registered at the first click,
it likely changed and its causing drawing afterfacts (it's editing at
its old location).
2012-08-10 12:23:08 -04:00
Philippe Saint-Pierre 66c09a3554 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.
2012-08-10 12:11:04 -04:00
Philippe Saint-Pierre 4cf0af0607 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.
2012-08-10 00:07:56 -04:00
Philippe Saint-Pierre 741e52463a 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.
2012-08-09 23:15:27 -04:00
Philippe Saint-Pierre e0e641c078 Tracker: Style fixes, should have no functional change 2012-08-09 23:15:27 -04:00
Alex Smith a5e96a301e Merge branch 'master' into x86_64 2012-08-09 08:24:50 +01:00
Philippe Saint-Pierre 11a36918ee PoseView::AddPosesTask - no need to open the node at this point 2012-08-09 01:28:54 -04:00
Philippe Saint-Pierre aafb6faf57 PoseView: crash related to PoseView containing many files
Due to a previous change in the incrementation of models in AddPosesTask,
PoseView containing large number of poses were prone to crash in ClearPoses().

Gaps in PoseList or other invalid memory area were introduced.

Thanks to x-ist for precious assistance in spotting those issues!
2012-08-08 16:36:02 -04:00