11.6 28th August, 2014
- Scripting changes:
- Script
add-ins can now implement custom columns that can be
displayed in Details/Power mode, Tiles mode, and Info Tips, and also
searched on with the Advanced Find function.
- Added the File object which
provides a simple interface to allow reading and writing of binary files. It
is obtained via the new FSUtil.OpenFile and
Item.Open methods.
- Added the Blob object which provides
a simple interface for dealing with binary data. It is obtained from the new
DOpus.NewBlob method.
- Added a new Map object. Maps are similar to a
vector or array except they use arbitrary keys (integers, strings, dates,
etc) to lookup elements rather than sequential indices.
- Added a new Date object that provides
an alternate way to handle dates and times. It converts automatically to
VT_DATE and so should act as a drop-in replacement. The
Item object now returns Date objects for
its various date fields rather than VT_DATE. The
DOpus.NewDate method can be used to create a new
Date object.
- Added new OnAddCommands and
OnAddColumns
script methods. These provide an alternative way for a script to add
commands and columns. These methods have two advantages over the old OnInit
way of adding command and columns. Firstly, the script's configuration is
available in these methods whereas OnInit is unable to
access it. Secondly, a script can modify its own commands and columns
dynamically by calling the new Script.InitCommands and Script.InitColumns
methods.
- Added new OnScriptConfigChange
method which is called whenever the user modifies a script's configuration.
A script could respond to this event by calling, for example,
Script.InitColumns to update its columns based on the
user's settings.
- The FolderEnum script
object now has a Close method that lets you free the
underlying handle without waiting for garbage collection to clean it up.
- Added coverart property to the AudioMeta object, to
provide access to any cover art imagery stored in an audio file.
- The Path object's
ext property can now be modified.
- Added FSUtil.SameDrive method.
- FSUtil.Resolve
now returns a Path
object rather than a string.
- FSUtil.Resolve
now accepts an optional "j" argument to resolve junctions/links to
their underlying targets.
- Added Path.disks property.
- The AudioCoverArt
object now has width, height and
depth properties.
- Fixed crash when using the Progress.SetFiles method.
- The FileSize object can
now handle signed as well as unsigned values (signed versions are created
using FSUtil.NewFileSize("s")).
- The FileSize object has
new Add, Sub, Compare and
Clone methods.
- Added FileSize.Mult and FileSize.Div
methods.
- Added Item.groups property which returns
a Vector of all file type
groups a file is a member of.
- Added Dialog.defid property that
allows the default button in a dialog to be changed from the first one.
- The OnDoubleClick
event can abort further processing when multiple files are double-clicked,
by setting the DoubleClickData.cont
property to False. Also added the
DoubleClickData.call property, which lets a script
stop the OnDoubleClick method from being called for
subsequent files but allows normal processing to continue.
- The DoubleClickData
object now has a multiple property to indicate
that multiple files were double-clicked.
- The CLI now saves the script each time you run it.
Previously it was only saved when the CLI was closed which meant lost
changes if a scripting object caused a crash.
- The CLI now has a Clear
checkbox. If turned on, the output log will be automatically cleared when
the script is run.
- The Dialog object would
always include a string field even if the user had not requested it.
- Scripts launched via a drag and drop event are now able to determine the
source tab of the drop if it came from within Opus.
- Opus will now recognise scripts with a .txt extension (e.g. .js.txt,
.vbs.txt). Also, dropping a (for example) .js.txt file on the scripts
Preferences page now strips off the .txt suffix when copying it to the
scripts folder. These changes are designed to make it easier to install
scripts downloaded from the resource centre.
- When a script error occurs and no log is currently open to display it,
an error icon will now appear in the status bar that the user can click to
open the log pane.
- The Script configuration editor dialog, and the multiple-line text
editor that can open from that, are now both resizeable.
- When Prefs LAYOUT=xyz is run from a script,
command.results.newlisters is now populated with any new
Listers which were opened. Similarly, Prefs LAYOUT=xyz
LAYOUTTHISLISTER=paths will populate
command.results.newtabs with any new tabs.
- It's now possible for an OnBeforeFolderChange script
event to run its own Go command (the NOSCRIPT
argument must be used).
- If the script config editor was open and the script in question was
edited, the names in the script editor could become corrupted.
- The Command.SetQualifiers method
was ignored.
- Fixed crash with Python enumeration of Opus script collections.
- The Folder Options system now allows attribute
filters to be specified for folders and files separately. The Filters
tab in the Folder Options dialog has two new sets of attribute
buttons allowing these to be configured, and the new Set
SHOWFILTERFOLDERATTR and Set HIDEFILTERFOLDERATTR
commands allow the filters to be controlled programmatically.
- Added the Set HIDEEXT and Set
AUTOSIZE commands to allow control of the Hide file
extensions and Autosize Columns options.
- The date created/date modified fields in the metadata pane (and via the
SetAttr META command) can now copy their value from other
date fields, like the EXIF date fields already could.
- Added Delete before copy option to the Synchronize tool.
- Inline rename now supports Ctrl-' and
Ctrl-; to copy the name from the previous/next file in the
list. Hold Shift to also copy the extension.
- Added the Use temporary folder when copying to Zip files on
removable drives option to Zip files Preferences.
- Added the @keydown:any directive (true if any
qualifier key is held down).
- Added the Go TABPOS command, which allows folder tabs to
be repositioned by command, for use with hotkeys and scripts.
- Added Copy
NOQUEUEWHENSAME and Clipboard CUTNOCOPYQUEUEWHENSAME
arguments, to disable queuing when the source and destination paths are on the
same drive.
- The NEWTAB argument can now be used with Go
DRIVEBUTTONS=multifunctabs to control how the tabs are to be opened
(e.g. Go DRIVEBUTTONS=multifunctabs NEWTAB=findexisting).
- The viewer pane will now display icons and thumbnails from the shell if
nothing else can view them. This overrides the old behaviour of the showing
the hex viewer for file types no viewer understands. You can still use the
button on the viewer pane's control bar to switch to hex view at will.
- Added Preferences options for the new viewer
pane features: Show shell thumbnails and Show shell
icons. Turn both off if you want to revert to the old behaviour.
- Added Set
VIEWPANESHELLICONS and VIEWPANESHELLTHUMBS
commands to control the viewer pane's new Show shell thumbnails and
Show shell icons settings. (Handy if you want to do some hex
viewing for a while, then go back to normal.)
- Fixed desktop context menu sorting Lister layouts to the end of the list
if their names contained non-ascii characters.
- Lister Styles no longer start with the Toolbar checkbox set when
new. Updating a Style now leaves the checkbox as it is.
- Opening an empty tab (Go NEWTAB) did not update the
Lister's title bar.
- If a Lister style is already using an automatically generated folder tab
group, and you update the style, the existing tab group is now overwritten.
Previously, a new and unique tab group would be generated, alongside the old
one, but this was more clutter than useful.
- Fixed using Update on a Lister Style where it would only save the
tabs on one side of the Lister if there was only a single tab on the other
side, and the style had not previously specified a folder on the side with
just one tab.
- Fixed double-clicking a Style in Preferences and changing its name
resulting in two copies of the Style.
- Commands like Set SORTBY=+modified
SORTREVERSE=ToggleSmart which mix a generic field name
("modified", which matches any column showing modified dates and/or
times) with SORTREVERSE=ToggleSmart, now respect the
ToggleSmart request if the column is already present as the
sort column.
- Fixed opening symbolic links to zip files.
- Changes to MTP support to improve performance and prevent "freezing".
- Toolbar menus containing labels (as in Insert New > Label) no
longer deactivate the Lister window border while open.
- Styles edited via Preferences can now specify logs be displayed in the
utility panel.
- Improved placement of breadcrumbs pop-up menus when the menu is too tall
to fit above or below the button.
- Fixed breadcrumbs path field sometimes truncating paths in the middle when
the window was too narrow, since it could be misleading.
- Fixed some cases where breadcrumbs menus did not use ghosted icons or the
"system" label color for folders with the H and/or S attributes. (On XP/Vista,
some cases still remain, due to old OS limitations.)
- On Windows 7 and above, the breadcrumbs menus now apply the Show
System Folders filter in locations where it was ignored in the past.
(Desktop and profile folders, and some network folders.)
- Fixed font picker which was broken in the previous beta.
- Fix for location field borders not repainting properly if the window was
resized while focus was on the field.
- Fix for change notifications being processed out of order in special
situations. (Fixes possibility of blank results collection, until the window
was refreshed, after search that returned results almost instantly.)
- Fixed renaming a folder via the tree to put a dot on the end of a name,
showing the dot in the tree (until refreshed) even though it was really
trimmed.
- Fixed drag & drop on files within libraries which need to invoke
external drop handlers.
- The jobs bar auto-resize now restores the window size correctly if the
window was being moved at the time it tried to resize.
- The Create Folder dialog now allows you to create multiple fully
qualified paths in one go.
- Folder expansion in the tree is now deferred while inline rename mode is
active. This is to prevent a crash which could occur if items are inserted
while edit mode is active (e.g. by a folder expanding asynchronously).
- The Advanced Rename's Find & Replace mode wasn't properly
case-insensitive for some locales (e.g. Russian "В" and "в" were not
considered the same letter).
- The Advanced Find's Label clause didn't allow any non-standard
labels to be searched for.
- A three-button button that relies on files being selected could
incorrectly appear enabled without files selected if the second or subsequent
functions used @keydown conditions that weren't currently
met.
- Mouse wheel scrolling didn't work in the CLI's script output window.
- Fixed not being able to re-open the Preferences dialog if you closed it
while the Add Folder Alias dialog was open on top of it.
- The Find panel's Refine checkbox was incorrectly shown in
Opus Light, where it did not work.
- Fixed a crash which could occur if inline rename mode in the folder tree
was activated while the item was expanding.
- The Create Multiple Folders field now lets you select multiple
folders in a file display (including the Windows desktop, Explorer, etc.) and
Ctrl-C them into the clipboard, then paste into the dialog to get their names,
one per line. The field also now trims quotes and spaces from paths pasted
into it, including multi-line text.
- Improved the recovery on retry for errors resulting from a drive or
network becoming temporarily unavailable during file copy (e.g. if you're
copying to or from a USB drive, and remove and then reinsert the drive, Opus
should now be able to either resume (when copying from) or restart (when
copying to) the operation).
- A Copy HERE command launched via a filetype action would
ignore the HERE argument if there was a destination folder.
- The Clipboard PASTE command will now succeed if a full
path is specified with the AS argument even if the current
folder doesn't support pasting (e.g. a file collection).
- If a button launched two or more copy commands asynchronously (via
dopusrt) that were both set to use the same named queue, Opus would create one
queue for each job and run them immediately instead of queuing the second and
subsequent ones.
- If "descript.ion" comments are enabled, Opus will now show those comments
for structured-storage files (e.g. MSI files) in preference to comments from
the file itself.
- Made some improvements to try to make the Image Convert function not lose
the focus from files it modifies.
- Fixed error that could prevent the Author/Copyright/Software tags being
saved properly in a PNG file (would happen if the PNG file already had those
tags provided in a tEXt chunk).
- When dragging an MP3 file onto another one in the metadata pane, some
fields weren't correctly copied over. Also dragging a file from a library
onto another file in the metadata pane now works correctly.
- Fixed a couple of cosmetic issues with transition animations and DPI
virtualisation under Windows 8.1.
- Fix for not showing context menu items added to the registry under a file
extension instead of a file class, when there is no file class. (If there is a
file class, menu items registered in this way are still ignored, which is what
Explorer also does.).
- When the Resize Lister to display the jobs bar (if
possible) option is on and jobs bar closes the Lister was not resized
back to its original size if the Lister had been minimized after opening the
jobs bar.
- If the Show command was run in an empty folder the busy
cursor would be left visible indefinitely.
- Fixed crash triggered by selecting a shortcut to a non-file object (e.g. a
control panel) with the viewer pane open and the Show shell
icons option enabled.
- Fixed crash in brainchild (Advanced Function/Script editor) if you did two
sequential "search & replace within selection" operations.
- The Viewer Pane and Utility Pane header glyphs now have
1.5x and 2x size versions for people using high DPI displays or large
fonts.
- When a path field on a file display toolbar is against the left or right
edge of the file display, the margin is now smaller and consistent with that
of the top edge, for improved aesthetics.
- TIFF images which use Zip or JPEG compression can now be displayed.
- Fixed crash that could occur if you switched to dual display by choosing
the Duplicate tab on right tab context menu command, and very quickly
afterwards, closed the dual display (e.g. by selecting Split to new
Lister)
- When downloading a 64-bit update via the Update Checker, the progress bar would reset
to zero and start counting up again near the end of the file. (The download
was not affected and the issue was purely cosmetic.)
- Fixed problem with Advanced Rename that could leave the
busy spinner in the New Name column running indefinitely when the dialog first
opens.
- The Computer native view didn't respect the system NoDrives
policy.
- The advanced function editor and script editor controls had incorrect
hotkeys listed for their Change Case options.