Author Topic: Multi Commander 6.2 BETA  (Read 19565 times)

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4271
    • View Profile
    • Multi Commander
Multi Commander 6.2 BETA
« on: April 23, 2016, 12:50:42 »
The following fixes/changes since v6.1

110+ Changes

-- Build 2144 RC ( 2016-05-05 )
FIXED - Search Dialog will disable it self during search
FIXED - Content search will stop searching faster if stop command is issued
FIXED - Issue with binary content search that hanged searched in some situations.
FIXED - Call Unpack from script will now only unpack browsable files.
ADDED - CustomCommand "MC.CloseAllTabs" have a new option paramter "DONOTASK", This will prevent confirm dialog for locked tabs.
FIXED - 1 rare stability issue

-- Build 2140 ( 2016-04-30 )

CHANGE- Pack/Unpack now also use the new way to initialize file operations
FIXED - Unpacking password protected 7Zip from script now works better
ADDED - Unpacking Zip file with wrong password will now ask again for password
FIXED - Fixed issue with search and content search
FIXED - 2 Rare stability issues.
FIXED - Many internal changes.

-- Build 2135 ( 2016-04-23 )

CHANGE- Major rewrite how Copy/Move file operation are initialized (From copy/move button is pressed until copy/move is started)
ADDED - Temporary tweak setting in core setting, that will enable the old code path for starting copy/move (just in case)
ADDED - MultiScript functions for using the Advanced Filter engine from script.
          (FilterCreate, FilterLoad, FilterLoadById, FilterSave, FilterAddRule, FilterIsMatch)
ADDED - ShellContext menu 'new' updated to work with the new way program can register for this. (Like newer MS Office do)
CHANGE- Drag on Drop to same location will show the drop popup menu
FIXED - Holding ctrl and starting a drag/drop operation now works better.
FIXED - FindFiles content search could crash in very rare situations.
FIXED - Defining an empty array in MultiScript was not empty. Has 1 item, (that was unassigned)


Major rewrite of Initialize of Copy/Move Operation
This release contains a major rewrite of how copy/move operation are initiated and queued.
For example everything from when you press F5/F2 to start copy, until the file operation is actually queued.  Like how the dialog works and how it finds settings and and how it queues file operations and lots of other minor boring details are changed.
It is not something that you will notice, since it is still the same UI (dialog) But under the hood everything is changed.
and hopefully I have not broken anything.
BUT if I have.. There is a temporary settings in Core Settings that will enable the old code path instead.
You find it under the "Tweaking" section in the FileSystem Tab. But hopefully you will not need that.

Filters and MultiScript
The advanced Filters can now be used by MultiScript

For example this script till get all item items from the source panel.
and it then creates a filter that will match the Fullname and using 'Contains' matching with "Frog"
When done it will then set all the matching items as selected.

You can add many rules to a filter just like in the Advanced Filter setup.
You can also Load existing filters by ID or save/load to/from file.
Code: [Select]
@var $matches[];
@var $items = GetSourceItems(1);
@var $hFilter = FilterCreate();

FilterAddRule( $hFilter , "Fullname" , "Contains" , "Frog" );
@var $cnt = arrayCount($items)
for( $i = 0; $i < $cnt; $i++)
{
  $item = $items[$i];
  if(FilterIsMatch($hFilter, $item))
  {
    $item = PathGetNamePart($item);
    arrayAdd($matches , $item);   
  }
}
SetSourceSelected($matches, 1);

Filter Script function are. 
<handle> FilterCreate();
<num> FilterAddRule( <handle> , <Field to match> , <Match Type>, <Value> , [ Optional, set to 1 to invert rule)
<handle> FilterLoad( <filename> );
<handle> FilterLoadById( <guid of advacned id> );
<num> FilterSave( <filename> );
<num> FilterIsMatch( <handle> , <full path to file> ); // return 1 for a match, 0 for not a match


The Field / Match type for FilterAddRule are the names you see in the Advacned Filter dialog.. I will input the exact one here later

« Last Edit: May 05, 2016, 14:33:40 by Mathias (Author) »

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4271
    • View Profile
    • Multi Commander
Re: Multi Commander 6.2 BETA
« Reply #1 on: April 23, 2016, 17:27:57 »
MultiScript function FilterAddRule( <handle>  filterHandle,  <str> field , <str> matchType, <str> matchValue, (Optional, default 0)<num> InvertRule  1/0);

field can be

"fullname"
"ext"
"namepart"
"size"
"date"
"attribute"
"filecontent"
"extendedproperty" - (not fully supported yet)

MatchType can be

"is"   ( if field is text or number, eg filename or size )
"lessthan"  ( if field is number, eg size )
"morethan"  ( if field is number, eg size )
"wildcard" ( if field is text type )
"contains"
"beginwith" ( if field is text type )
"endwith"  ( if field is text type )
"before"  ( if field is date )
"after"  ( if field is date )
"has"    ( if field is attribute ) 
"hasnot" ( if field is attribute ) 
"regex" ( if field is text type )
"hex" ( if field is filecontent ) 


Ulfhednar

  • Contributor
  • VIP Member
  • *****
  • Posts: 503
    • View Profile
Re: Multi Commander 6.2 BETA
« Reply #2 on: May 03, 2016, 11:00:52 »
UnRAR weirdness
using MC 6.2 b2140 on w7x64 I had a strange event.

I have a button with the folowing code

Code: [Select]
MC.Explorer.Select FILTER="*.rar"
MC.Filesystem.Unpack TARGET=${sourcepath} FILTER="*.*"
MC.Explorer.Selection.UnselectAll

Normally I only click this when a pane is active/open with RARs in it, today I accidentally still had focus on a folder with some .mp4s when I clicked it.  ::)

The unpacking dialog opened & the process began to copy the .mp4s to the dir above  e.g. -
unpack d:\video\xyz.mp4 to d:\xyz.mp4
It would have continued with all the folder contents had I not canceled-but cancelling caused MC to CTD.

(hope I have posted in correct thread!) 

Thanks for the filter to MS capability Mathias.  Will need some time to play with that.  Has great potential ;)
« Last Edit: May 03, 2016, 11:02:28 by Ulfhednar »

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4271
    • View Profile
    • Multi Commander
Re: Multi Commander 6.2 BETA
« Reply #3 on: May 03, 2016, 11:14:02 »
Latest Beta the Unpack/Pack is also using the new way to initilize copy.
(Ops I forgot to include Latest beta history above)

Using them from script something might not be set correct. I will check

Hmm, Not sure I understand what goes wrong

You had xzy.mp4 selected, And you run you command that select *.rar and then calls unpack ?
but it did not unpack selected files, but instead try to unpack the mp4 file ?

Ulfhednar

  • Contributor
  • VIP Member
  • *****
  • Posts: 503
    • View Profile
Re: Multi Commander 6.2 BETA
« Reply #4 on: May 03, 2016, 14:17:36 »
I had the wrong pane selected, my cursor bar was on the <-.. space at the top of a dir that contained .mp4s.

I clicked my custom button & the unpacker started to process all the files in that folder - but they are all .mp4 not .RARs. :o
Nonetheless I ended up with copies of several files.
It is also odd that those files were written one dir level above, normally this command will extract to the source folder, & instead of asking for overwrite etc MC wrote copies elsewhere. 

My other open pane was the one with the .rar.  That was where I meant to click... :-[  :)

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4271
    • View Profile
    • Multi Commander
Re: Multi Commander 6.2 BETA
« Reply #5 on: May 03, 2016, 17:19:00 »
I had the wrong pane selected, my cursor bar was on the <-.. space at the top of a dir that contained .mp4s.

I clicked my custom button & the unpacker started to process all the files in that folder - but they are all .mp4 not .RARs. :o
Nonetheless I ended up with copies of several files.
It is also odd that those files were written one dir level above, normally this command will extract to the source folder, & instead of asking for overwrite etc MC wrote copies elsewhere. 

My other open pane was the one with the .rar.  That was where I meant to click... :-[  :)

I will check tomorrow..
But do you know if this is a new issue for 2140 or if it was like this before too in 6.1  ? maybe you don't know if you found it by accident

The thing is that Copy and Unpack are really the same thing since archive are virtual file systems.
If you select some files and in the CopyTo Dialog change the path so it ends with ".zip" like it was a folder then it will copy the files into a new zip archive
(So unpack should really not allow folders at all, I think that have broken. If it issue was not in 6.1 )


Ohh Btw you can try to check the option "Use old way of initlize copy/move file operation" in Core settings > FileSystem (tab) | Under the "Tweaking" section.
(This is however only a temporary fix. this will use the OLD code path for copy/move , and this will be removed in future versions )
« Last Edit: May 03, 2016, 17:56:30 by Mathias (Author) »

Ulfhednar

  • Contributor
  • VIP Member
  • *****
  • Posts: 503
    • View Profile
Re: Multi Commander 6.2 BETA
« Reply #6 on: May 03, 2016, 18:56:39 »
This was discovered by accident on 2140.  I have never seen it before.  I am sure I have wrongly clicked the button before & it just didn't take any action because no RARs.

I can see how your unpacker / copy function is the 'same'.  & That explains why the files went up to the the drive root in this case.
I think the only real 'problem' here, is the unpack function was invoked when there were no archives.

I'm happy to continue without the OLD code, this event was a surprise & I thought you should know given the fact it was ignoring the .ext ;)
I like how it is possible to copy things from within/to archives via the virtual file system.
I like the new system as it has some powerful options available.

If I find any other hiccups when using my scripts/buttons I will let you know.
Thanks for looking into this, Mathias.

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4271
    • View Profile
    • Multi Commander
Re: Multi Commander 6.2 BETA
« Reply #7 on: May 05, 2016, 11:21:42 »
This was discovered by accident on 2140.  I have never seen it before.  I am sure I have wrongly clicked the button before & it just didn't take any action because no RARs.

I can see how your unpacker / copy function is the 'same'.  & That explains why the files went up to the the drive root in this case.
I think the only real 'problem' here, is the unpack function was invoked when there were no archives.

I'm happy to continue without the OLD code, this event was a surprise & I thought you should know given the fact it was ignoring the .ext ;)
I like how it is possible to copy things from within/to archives via the virtual file system.
I like the new system as it has some powerful options available.

If I find any other hiccups when using my scripts/buttons I will let you know.
Thanks for looking into this, Mathias.

This issue is now fixed, So in next build this should not happen

AlanJB

  • VIP Member
  • *****
  • Posts: 432
  • VERY old Programmer
    • View Profile
Re: Multi Commander 6.2 BETA
« Reply #8 on: May 06, 2016, 23:38:23 »
Hi Mathias.

Thanks for including ""MC.CloseAllTabs DONOTASK"" in 6.2 RC.  I can make good use of that  :)

Do you have an (estimated) release date for 6.2 final yet, or do we wait for you to be happy with the testing of the RC?

Alan

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4271
    • View Profile
    • Multi Commander
Re: Multi Commander 6.2 BETA
« Reply #9 on: May 07, 2016, 12:04:55 »
Hi Mathias.

Thanks for including ""MC.CloseAllTabs DONOTASK"" in 6.2 RC.  I can make good use of that  :)

Do you have an (estimated) release date for 6.2 final yet, or do we wait for you to be happy with the testing of the RC?

Alan

Release is soon.  It depends on if any major issues are found or if I fix something that need more testing.
But if nothing happens, Then it will probably go out on tomorrow  (8-May).


AlanJB

  • VIP Member
  • *****
  • Posts: 432
  • VERY old Programmer
    • View Profile
Multi Commander 6.2 BETA Issue
« Reply #10 on: May 07, 2016, 13:56:49 »
Just updated to 6.2 RC.  "MC.CloseAllTabs DONOTASK" works perfectly, but I found the following issues...

F3 search:

  the search dialog always opens in advanced mode
  the search dialog remains in focus during the search
  Ctrl+F does not dismiss (close/hide) the search dialog

This behaviour does not occur in 6.1 Build 2125

Alan

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4271
    • View Profile
    • Multi Commander
Re: Multi Commander 6.2 BETA
« Reply #11 on: May 07, 2016, 14:08:29 »
The FindFiles dialog is open in the mode that a search was last done in.
Yes the dialog can be open at the same time. you can close it.
Ctrl+F works but it depends on what field the input focus is in. Some UI elements can steal the key, Mostly if focus is in the sub dialog for Advanced Filter.

AlanJB

  • VIP Member
  • *****
  • Posts: 432
  • VERY old Programmer
    • View Profile
Re: Multi Commander 6.2 BETA
« Reply #12 on: May 07, 2016, 18:20:23 »
I just realized that "F3" is my custom key binding;  the install default is, of course, "Alt+F3".

I assumed that the dialog would open in its last-used mode, I didn't realize that search had to be run before the setting was saved; it is not enough to simply hide the Advanced filter and then close the Find Files dialog.

OK - I've worked out the combinations to allow Ctrl+F to work.  Should have tested more rigorously.

A "non-issue" then, I guess  ;)
« Last Edit: May 07, 2016, 18:25:05 by AlanJB »

Jungle

  • Contributor
  • VIP Member
  • *****
  • Posts: 510
  • Old Skull
    • View Profile
Re: Multi Commander 6.2 BETA
« Reply #13 on: May 07, 2016, 20:33:36 »
But if nothing happens, Then it will probably go out on tomorrow  (8-May).
So there will be no "Language changes" post? Do you plan it for "more serious" release?

Mathias (Author)

  • Administrator
  • VIP Member
  • *****
  • Posts: 4271
    • View Profile
    • Multi Commander
Re: Multi Commander 6.2 BETA
« Reply #14 on: May 07, 2016, 21:22:29 »
But if nothing happens, Then it will probably go out on tomorrow  (8-May).
So there will be no "Language changes" post? Do you plan it for "more serious" release?

I avoided doing changes require language updates for this release so I can release it quicker..
Well there are 1 new text, but I pushed it, not using the language system for this release for that.
that will be fixed for next release. did not want to trigger the whole language update things for just one text for a custom command parameter.


Ulfhednar

  • Contributor
  • VIP Member
  • *****
  • Posts: 503
    • View Profile
Re: Multi Commander 6.2 BETA
« Reply #15 on: May 08, 2016, 18:42:41 »
This was discovered by accident on 2140.  I have never seen it before.  I am sure I have wrongly clicked the button before & it just didn't take any action because no RARs.

I can see how your unpacker / copy function is the 'same'.  & That explains why the files went up to the the drive root in this case.
I think the only real 'problem' here, is the unpack function was invoked when there were no archives.

I'm happy to continue without the OLD code, this event was a surprise & I thought you should know given the fact it was ignoring the .ext ;)
I like how it is possible to copy things from within/to archives via the virtual file system.
I like the new system as it has some powerful options available.

If I find any other hiccups when using my scripts/buttons I will let you know.
Thanks for looking into this, Mathias.

This issue is now fixed, So in next build this should not happen

Everything seems to be 100% now. 
Thanks Mathias ;)