Author Topic: v14.0 BETA  (Read 7199 times)

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4366
    • View Profile
    • Multi Commander
v14.0 BETA
« on: April 02, 2024, 13:24:58 »
Biggest change is that the error handling around Fileoperations (Copy/Move/Delete) have been rewritten.

 
  185+ Changes

  ** Release Candidate **
 Please report any issue around the new thing likes
 Auto error handling, Scriptable Columns, Play Audio, ...

-- Build 3015 - 2024-06-11
 FIXED -  Missing updated Language packs

-- Build 3014 - 2024-06-11
 FIXED - Missing translatable text items.
 FIXED - In Overwrite dialog SKIP was in some situation handled as Skip All.
 FIXED - Code cleanup and minor fixes.

-- Build 3013 - 2024-06-06

 FIXED - Layout and language texts issue with delete dialog
 ADDED - Zip archive will now store LastAccess and Created time for each item when creating zip archive.
 FIXED - Selecting an 'OverWrite IF' option when overwriting for a Zip file, The first file was not removed from the zip. Making it show the error again.
 FIXED - Copying files from RAR sometimes did not copy ALL of the selected files.

-- Build 3012 - 2024-06-04

 FIXED - Unpacking will now show that in the title bar of progress dialog
 FIXED - Progress bar is now shown correct when transfering to/from portable device
 FIXED - If a file was skipped during a file operation, it was not always show in error report.
 FIXED - AutoOverwrite options "If" (Eg IfSizeDiffers, IfNewer,...) did not always work
 FIXED - 3 Stability fixes

-- Build 3011 - 2024-05-31

 FIXED - Issue when opening .bz2/tar.bz2 files.
 FIXED - SDK Cleanup and removed depricated functions
 FIXED - Overwrite opten Appen/Resume/Rename now works again.
 FIXED - Creating Zip that are password protected works again.
 FIXED - Issue when typing path in commandline field.
 ADDED - Support for Onedrive for Business  accounts that are connected in the local computer.

-- Build 3010 - 2024-05-24
 ADDED - Popupmenu shown when dragging file with Alt, ow got a new option if files are dropped on an exe. Run exe with drogged files as parameters
 FIXED - Entering full path with filename in commandline files, It will now go to path and set file as focus. Was broken. Now works again.
 FIXED - Option that control if link target should be shown for Symlink/Junction now works for file.
 ADDED - Option to show error report for only Skipped and Failed files. If error was handled so it was copied/moved. it will not be shown in the error report.
 ADDED - Added so all new text support the language system and can be translated.
 FIXED - Change the layout of the CopyTo Dialog. all option in the two columns have swap places.

-- Build 3009 - 2024-05-17

 ADDED - Added Column showing onedrive status for files (Experimental. not 100% yet)
 FIXED - Replace files in zip archive sometimes failed
 FIXED - Test Zip archive sometimes now works again
 FIXED - Opening rar with encrypted filenames now works again
 FIXED -  2 Stability issues

-- Build 3008 - 2024-05-14

 FIXED -  Skip All option in overwrite dialog now works again
 ADDED - 'AllowAsFileProp' Option for MultiScript. And Only script with this option can be connected in the Scriptable columns dialog.
 FIXED -  2 Stability issues
 FIXED -  SDK API Cleanup

-- Build 3007 - 2024-05-06

 FIXED - Icon Option to get associated icon or not. Had no effect. Now it works.
 FIXED - Zip handing and new error handling system
 FIXED - Delete from zip now update progress bar better
 FIXED - Delete from zip can now be aborted.
 FIXED - Error Result view now works better.
 FIXED - Issue when deleting files with protected files attributes.

-- Build 3005 - 2024-05-01

 ADDED - Pressing Ctrl+O in CopyTo Dialog moves focus to Overwrite options
 ADDED - Pressing Ctrl+R in CopyTo Dialog moves focus to Protected files options
 FIXED - Tab focus fixed in CopyTo Dialog
 FIXED - Extension interfaces cleanups
 FIXED - RAR unpack and error handling been rewritten
 FIXED - 7Zip using new error handling system

-- Build 3002 - 2024-04-23
 FIXED - Issue when unpacking Rar/7z/other that uses old error handing system

-- Build 3001 - 2024-04-22
 FIXED - 4 Stability issues

-- Build 3000 - 2024-04-22
 FIXED - Will not fetch exe icon from exe of file is in onedrive, and file is not synced to local.
 ADDED - Zip pack/unpack will use the new Auto Error handling system.
 ADDED - Dialog for 'Compare Folders Advanced' will now remember last used settings

-- Build 2999 - 2024-04-08
 ADDED - Experimental support for adding scriptable columns, Let a MultiScript fetch what should be shown in a column in the file list
 ADDED - MultiScript function "VariableDefined(<str>)" that returns 1 if text provided exists as a variable.
 FIXED - 2 Stability issues

-- Build 2997 - 2024-04-02

 CHANGE- Major rewrite of error handing of Copy/Move/Delete operations.
 ADDED - MultiDataViewer is now language aware when doing find. (Can be turned off in option for faster search)
 ADDED - Opening Zip archive with large number of files is now faster
 ADDED - Copy/Move/Delete options for auto handling errors
 ADDED - Copy/Move options for auto handle overwrite options.
 ADDED - Copy/Move/Delete options for showing error report after operation is done
 ADDED - Options for Copy/Move/Delete for System/Hidden/ReadOnly options joined to be 1 options for "Protected Files" (instead of 3)
 ADDED - Support for 64px size thumbnails
 ADDED - DataPreview templates can be updated if they are not customized.
 ADDED - Playing audio file are now shown in status bar
 ADDED - Play Audio Sample command to menu (Will jump 25% into audio file and play for 15s then stop)
 ADDED - Play audio will now try to play "mp3,wav,mp4,m4a,avi,mkv,acc,wma,wmv,asf,flac" (some are movies but it will play the audio if possible)
 ADDED - Play/Stop Audio file icon button to toolbar
 ADDED - Improvements how playing audio files works and are shown.
 ADDED - Preview template for audio files can now select to play the audio file
 FIXED - Unpacking Zip with had a space in the filename just before the ".zip" part.
         Failed to unpack since it tried to unpack into a folder of the name, and space at the end is not allowed on Windows.
 FIXED - Issue when moving tab to other side and the new active tab in the "from" panel was delayed loaded.
 FIXED - 4 Stability issues




A new Experimental feature that probably only I myself have used for is ** Scriptable Columns. **

You can now create a MultiScript that will be used to get what should be shown in a column in the file list.
Add configure Scriptable filepropertys go to Column Customization (Right click on column header)
then at the side of the available columns. there is a script button.
Use this button to create a new file property (column) and connect it with a MultiScript.

Right now there is NO RESTRICTION on what the MultiScript can do when it runs for getting Column text.
But the script will be run for EACH folder and files in the file list where the column is shown.
So, if you have a MultiScript that execute an external program. this program will be executed for all items.
And that is probably not a good idea.. So be careful what script you connect.

When connect a Column with a MultiScript you select what input and output variables in the script it should use.
The Input variable in the variable that will be added with the value of the full path to the file.
Output variable it the variable that the result will be stored in.

To be able to create and debug the script easier.
You check now check if a variable exists, and if not it can be added.
This way. You can easy test the script in ther MultiScript Debugger.

Example of script that will just show the file extension in a column.


Code: [Select]
if(IsVariableDefined("$_FILEPROP_FILEPATH") == 0)
{
  @var $_FILEPROP_FILEPATH = GetTargetFocusPath();
}

@var $ext = PathGetFileExtPart($_FILEPROP_FILEPATH);

@var $_FILEPROP_DISPLAYNAME = $ext;

So to test this.
 * Create new MultiScript and paste in the code above. And save it
 * Go to Customize columns (right click on column header)
 * Click on Script button to add/edit Scritable columns
 * Click New. and then select the script you created, set Name and save.. then close.
 * The new column should now be shown in the list. You can filter on Scriptible and you find it easier.
 * Add the new column to current layout
 Save and close Window

Major Changes
  • New Error Handing system for file operations (Copy/Move/Delete) (Auto handle errors and show error result after operation)
  • Scriptable Columns
  • Play Audio files

File Operation Error Handing

File operations error handing have been totally changed.. You can now configure how File Already exists error should be handle.. (Overwrite options)
and you can also configure how Protected Files should be handle.. (Files with Hidden / System or ReadOnly file attributes.)
Other errors are not auto handled. but you can enable to skip error. then it will skip when other errors happened.
And if Show Result is enabled you get a dialog showing what errors happened and how they was handle..

The thing is that MC support many different types of FileOperation.. File normal device to normal device, To virtual device, To network, To FTP and so on.
So many different situation and I'm not sure all of them work with the auto handle and auto skip on error.

So please report any issue you see. 


« Last Edit: June 11, 2024, 21:37:06 by Mathias (Author) »

User_99

  • Active Member
  • ***
  • Posts: 81
    • View Profile
Re: v14.0 BETA
« Reply #1 on: April 13, 2024, 18:27:19 »
Thx for the new beta!

Nice feature for "File Operation Error Handing"

Miss some strings for translation. Still wip, or do I miss something?

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4366
    • View Profile
    • Multi Commander
Re: v14.0 BETA
« Reply #2 on: April 13, 2024, 23:49:50 »
Thx for the new beta!

Nice feature for "File Operation Error Handing"

Miss some strings for translation. Still wip, or do I miss something?
Still beta so strings are not finalized, so not translatable yet

"still wip" ?

User_99

  • Active Member
  • ***
  • Posts: 81
    • View Profile
Re: v14.0 BETA
« Reply #3 on: April 14, 2024, 08:12:41 »
Work in progress ;)

@translation: ok, thx

Lukasz S.

  • Junior Member
  • **
  • Posts: 30
    • View Profile
Re: v14.0 BETA
« Reply #4 on: May 14, 2024, 21:30:42 »
Hi Mathias,

Is it possible to increase dimensions of Copy/Move window to fit, for example, full Polish translation? The same for "Advanced >>" button.
Please see the screenshot.

BR
Lukasz
Polish translator
Lukasz S.

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4366
    • View Profile
    • Multi Commander
Re: v14.0 BETA
« Reply #5 on: May 15, 2024, 17:06:21 »
Hi Mathias,

Is it possible to increase dimensions of Copy/Move window to fit, for example, full Polish translation? The same for "Advanced >>" button.
Please see the screenshot.

BR
Lukasz
See if i can make them a little bigger. else maybe translate to something shorter that mean the same ;)

User_99

  • Active Member
  • ***
  • Posts: 81
    • View Profile
Re: v14.0 BETA
« Reply #6 on: May 18, 2024, 11:26:26 »
Hi Mathias,

in latest beta there is a small glitch. Should be on the same level, or not? Possible to fix?

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4366
    • View Profile
    • Multi Commander
Re: v14.0 BETA
« Reply #7 on: May 18, 2024, 23:21:00 »
Hi Mathias,

in latest beta there is a small glitch. Should be on the same level, or not? Possible to fix?

What is the issue ?

User_99

  • Active Member
  • ***
  • Posts: 81
    • View Profile
Re: v14.0 BETA
« Reply #8 on: May 19, 2024, 19:31:56 »
Does this really looks good for you?

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4366
    • View Profile
    • Multi Commander
Re: v14.0 BETA
« Reply #9 on: May 19, 2024, 22:27:42 »
Does this really looks good for you?
Looks like the text fits into the fields

User_99

  • Active Member
  • ***
  • Posts: 81
    • View Profile
Re: v14.0 BETA
« Reply #10 on: May 19, 2024, 23:32:27 »
Yes, text is ok, but not the two boxes.
Both boxes should be at the same height / level.

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4366
    • View Profile
    • Multi Commander
Re: v14.0 BETA
« Reply #11 on: May 20, 2024, 07:18:39 »
Yes, text is ok, but not the two boxes.
Both boxes should be at the same height / level.
The problem is if they are, it looks like the advanced button and save button belong to the settings for Keeping incomplete/Broken files.

I been thinking to swap the left and right side if settings. then the buttons is not so close to just one setting

Lukasz S.

  • Junior Member
  • **
  • Posts: 30
    • View Profile
Re: v14.0 BETA
« Reply #12 on: May 25, 2024, 01:07:55 »
Hi,

Is there any reason that Rename & Append buttons are not active? Please see attached screenshot.

BR
Lukasz
Polish translator
Lukasz S.

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4366
    • View Profile
    • Multi Commander
Re: v14.0 BETA
« Reply #13 on: May 25, 2024, 08:14:29 »
Good catch.. Will fix that
For normal file copy it should be enabled, if copying inside archives it should not
« Last Edit: May 25, 2024, 08:24:34 by Mathias (Author) »

User_99

  • Active Member
  • ***
  • Posts: 81
    • View Profile
Re: v14.0 BETA
« Reply #14 on: May 25, 2024, 20:01:27 »
Yes, text is ok, but not the two boxes.
Both boxes should be at the same height / level.
The problem is if they are, it looks like the advanced button and save button belong to the settings for Keeping incomplete/Broken files.

I been thinking to swap the left and right side if settings. then the buttons is not so close to just one setting
Thx, is fixed in latest release preview.

User_99

  • Active Member
  • ***
  • Posts: 81
    • View Profile
Re: v14.0 BETA
« Reply #15 on: May 30, 2024, 09:37:23 »
Hi Mathias,

some suggestion for new dialogue:

First pic: all fine

Second pic: Need only for ONE char more space. Possible to expand?

Third pic: Window is also a little bit too small. Could it be the same size as in picture one shown?

Cheers
« Last Edit: May 30, 2024, 09:40:37 by User_99 »

User_99

  • Active Member
  • ***
  • Posts: 81
    • View Profile
Re: v14.0 BETA
« Reply #16 on: May 31, 2024, 17:26:45 »
@Second pic: Need only for ONE char more space. Possible to expand?

Thx, is fixed in latest release.

User_99

  • Active Member
  • ***
  • Posts: 81
    • View Profile
Re: v14.0 BETA
« Reply #17 on: June 14, 2024, 17:55:27 »
Hi Mathias,

thx for update.
All fine so far here for me.

Missing some translatable text items. All found in Settings - Filesystem...

Jungle

  • Contributor
  • VIP Member
  • *****
  • Posts: 529
  • Old Skull
    • View Profile
Re: v14.0 BETA
« Reply #18 on: June 20, 2024, 08:14:09 »
1.
Example of script that will just show the file extension in a column.

Code: [Select]
if(IsVariableDefined("$_FILEPROP_FILEPATH") == 0)
{
  @var $_FILEPROP_FILEPATH = GetTargetFocusPath();
}

@var $ext = PathGetFileExtPart($_FILEPROP_FILEPATH);

@var $_FILEPROP_DISPLAYNAME = $ext;

On the line "@var $ext = PathGetFileExtPart($_FILEPROP_FILEPATH);" I get error "Script engine error => Failed to process token - "$ext"" although IsVariableDefined() returns 1.

---

2. Script list for a scriptable column is empty.
3. Scriptable columns are completely lost after closing MC (not only from displayed column, but from the available columns list)

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4366
    • View Profile
    • Multi Commander
Re: v14.0 BETA
« Reply #19 on: June 20, 2024, 09:13:34 »
1.
Example of script that will just show the file extension in a column.

Code: [Select]
if(IsVariableDefined("$_FILEPROP_FILEPATH") == 0)
{
  @var $_FILEPROP_FILEPATH = GetTargetFocusPath();
}

@var $ext = PathGetFileExtPart($_FILEPROP_FILEPATH);

@var $_FILEPROP_DISPLAYNAME = $ext;

On the line "@var $ext = PathGetFileExtPart($_FILEPROP_FILEPATH);" I get error "Script engine error => Failed to process token - "$ext"" although IsVariableDefined() returns 1.

---

2. Script list for a scriptable column is empty.
3. Scriptable columns are completely lost after closing MC (not only from displayed column, but from the available columns list)

I found that IsVariableDefined always return 1.  even if it is not defined.. that the only issue i found

I don't see it losing defined scripables columns. have you checked  the option for the script to be a FileProp?

maybe the script was created before you needed to allowed it to be run as fileprop column, thr script need the option "AllowAsFileProp"  to be clicking on the "*" in the script editor.
It will add
#options (AllowAsFileProp) 
At the top of the script..

so if you created the column before that was added it can be why it is not shown in the list.
« Last Edit: June 20, 2024, 09:15:23 by Mathias (Author) »

Jungle

  • Contributor
  • VIP Member
  • *****
  • Posts: 529
  • Old Skull
    • View Profile
Re: v14.0 BETA
« Reply #20 on: June 20, 2024, 10:01:37 »

I don't see it losing defined scripables columns. have you checked  the option for the script to be a FileProp?
Thanks. Checking this option works.

But there's another issue. Some multiscript functions fails with certain files. E.g. FileExists returns 0 for "hiberfil.sys", "pagefilt.sys", "swapfile.sys". And IsFolder fails with script engine error.

This sample code: will variable be visible out of its scope?

Code: [Select]
if(IsVariableDefined("$_FILEPROP_FILEPATH") == 0)
{
  @var $_FILEPROP_FILEPATH = GetTargetFocusPath();
}

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4366
    • View Profile
    • Multi Commander
Re: v14.0 BETA
« Reply #21 on: June 20, 2024, 10:48:07 »

I don't see it losing defined scripables columns. have you checked  the option for the script to be a FileProp?
Thanks. Checking this option works.

But there's another issue. Some multiscript functions fails with certain files. E.g. FileExists returns 0 for "hiberfil.sys", "pagefilt.sys", "swapfile.sys". And IsFolder fails with script engine error.

This sample code: will variable be visible out of its scope?

Code: [Select]
if(IsVariableDefined("$_FILEPROP_FILEPATH") == 0)
{
  @var $_FILEPROP_FILEPATH = GetTargetFocusPath();
}

it should be "@gvar" to force defined a global. But that branch is not merged. Will fix that tonight.

IsFolder() works for me

If FileExists return 0 then Windows return error when checking for those special file. Windows actually return ERROR_FILE_NOT_FOUND when trying to check those files.

Jungle

  • Contributor
  • VIP Member
  • *****
  • Posts: 529
  • Old Skull
    • View Profile
Re: v14.0 BETA
« Reply #22 on: June 20, 2024, 11:13:37 »
If FileExists return 0 then Windows return error when checking for those special file. Windows actually return ERROR_FILE_NOT_FOUND when trying to check those files.
But MC somehow shows that files in Explorer Panels. If it can detect them, then I don't see a reason why MultiScript's FileExists could not.
Try IsFolder() for "hiberfil.sys"

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4366
    • View Profile
    • Multi Commander
Re: v14.0 BETA
« Reply #23 on: June 20, 2024, 11:20:52 »
If FileExists return 0 then Windows return error when checking for those special file. Windows actually return ERROR_FILE_NOT_FOUND when trying to check those files.
But MC somehow shows that files in Explorer Panels. If it can detect them, then I don't see a reason why MultiScript's FileExists could not.
Try IsFolder() for "hiberfil.sys"

Listing all files just to see if a file exists is not efficient. It is very slow.
when checking if file exists the GetFileAttributes(..) API is used. But for the special system files it return false and set error code to FILE_NOT_FOUND.

Jungle

  • Contributor
  • VIP Member
  • *****
  • Posts: 529
  • Old Skull
    • View Profile
Re: v14.0 BETA
« Reply #24 on: June 20, 2024, 14:09:47 »
when checking if file exists the GetFileAttributes(..) API is used. But for the special system files it return false and set error code to FILE_NOT_FOUND.

I tried PathFileExists(). For non-existing file it returns 0x02 FILE_NOT_FOUND while for "hiberfil.sys" it returns 0x20 ERROR_SHARING_VIOLATION. Also FindFirstFile() succeedes.

It looks inconsistent when you see a file in the panel, but script says it doesn't exist.