ADD: cm_CopyFileDetailsToClip Commands

ADD: Some additional items in main menu
This commit is contained in:
Alexander Koblov 2013-12-15 13:01:13 +00:00
commit d0d5cc2bf3
5 changed files with 92 additions and 4 deletions

View file

@ -172,12 +172,15 @@ type
procedure UpdateColumnsView;
published
procedure cm_CopyFileDetailsToClip(const Params: array of string);
end;
implementation
uses
LCLProc, Clipbrd, uLng, uGlobs, uPixmapManager, uDebug,
LCLProc, Clipbrd, DCStrUtils, uLng, uGlobs, uPixmapManager, uDebug,
uDCUtils, math, fMain, fOptions,
uOrderedFileView,
uFileSourceProperty,
@ -1025,6 +1028,54 @@ begin
dgPanel.Hint:= #32;
end;
procedure TColumnsFileView.cm_CopyFileDetailsToClip(const Params: array of string);
var
I: Integer;
AFile: TDisplayFile;
sl: TStringList = nil;
procedure AddFile;
var
J: Integer;
S: UTF8String;
begin
if AFile.FSFile.IsNameValid then
begin
S:= EmptyStr;
for J:= 0 to AFile.DisplayStrings.Count - 1 do
begin
S:= S + AFile.DisplayStrings[J] + #09;
end;
J:= Length(S);
if J > 0 then sl.Add(Copy(S, 1, J - 1));
end;
end;
begin
if DisplayFiles.Count > 0 then
begin
sl:= TStringList.Create;
try
for I:= 0 to FFiles.Count - 1 do
begin
AFile:= FFiles[I];
if AFile.Selected then AddFile;
end;
if sl.Count = 0 then
begin
AFile:= GetActiveDisplayFile;
AddFile;
end;
Clipboard.Clear; // prevent multiple formats in Clipboard
Clipboard.AsText:= TrimRightLineEnding(sl.Text, sl.TextLineBreakStyle);
finally
FreeAndNil(sl);
end;
end;
end;
{ TDrawGridEx }
constructor TDrawGridEx.Create(AOwner: TComponent; AParent: TWinControl);

View file

@ -19,7 +19,7 @@ object frmMain: TfrmMain
SessionProperties = 'nbConsole.Height;seLogWindow.Height'
ShowHint = True
ShowInTaskBar = stAlways
LCLVersion = '1.0.1.3'
LCLVersion = '1.0.14.0'
Visible = True
object MainToolBar: TKASToolBar
AnchorSideTop.Control = Owner
@ -933,6 +933,7 @@ object frmMain: TfrmMain
Top = 0
Width = 116
Action = actMakeDir
Caption = 'Directory'
Flat = True
NumGlyphs = 0
end
@ -979,6 +980,9 @@ object frmMain: TfrmMain
object mnuFilesHardLink: TMenuItem
Action = actHardLink
end
object miMakeDir: TMenuItem
Action = actMakeDir
end
object miLine1: TMenuItem
Caption = '-'
end
@ -1027,6 +1031,15 @@ object frmMain: TfrmMain
object miLine4: TMenuItem
Caption = '-'
end
object miWipe: TMenuItem
Action = actWipe
end
object miDelete: TMenuItem
Action = actDelete
end
object miLine50: TMenuItem
Caption = '-'
end
object miExit: TMenuItem
Action = actExit
end
@ -1081,6 +1094,9 @@ object frmMain: TfrmMain
object miCopyFullNamesToClip: TMenuItem
Action = actCopyFullNamesToClip
end
object miCopyFileDetailsToClip: TMenuItem
Action = actCopyFileDetailsToClip
end
object miLine37: TMenuItem
Caption = '-'
end
@ -1331,7 +1347,7 @@ object frmMain: TfrmMain
end
object actMakeDir: TAction
Category = 'Classic'
Caption = 'MakeDir'
Caption = 'Create &Directory'
HelpType = htKeyword
OnExecute = actExecute
end
@ -1979,6 +1995,11 @@ object frmMain: TfrmMain
HelpType = htKeyword
OnExecute = actExecute
end
object actCopyFileDetailsToClip: TAction
Category = 'Mark'
Caption = 'Copy all shown &columns'
OnExecute = actExecute
end
end
object pmHotList: TPopupMenu
left = 120

View file

@ -16,6 +16,7 @@ TFRMMAIN.BTNRIGHTDIRECTORYHOTLIST.CAPTION=*
TFRMMAIN.BTNRIGHTEQUALLEFT.HINT=Show current directory of the left panel in the right panel
TFRMMAIN.BTNRIGHTEQUALLEFT.CAPTION=>
TFRMMAIN.LBLCOMMANDPATH.CAPTION=Path
TFRMMAIN.BTNF7.CAPTION=Directory
TFRMMAIN.BTNF8.CAPTION=Delete
TFRMMAIN.BTNF9.CAPTION=Terminal
TFRMMAIN.BTNF10.CAPTION=Exit
@ -23,6 +24,7 @@ TFRMMAIN.MNUFILES.CAPTION=&Files
TFRMMAIN.MILINE1.CAPTION=-
TFRMMAIN.MILINE2.CAPTION=-
TFRMMAIN.MILINE4.CAPTION=-
TFRMMAIN.MILINE50.CAPTION=-
TFRMMAIN.MNUMARK.CAPTION=&Mark
TFRMMAIN.MILINE47.CAPTION=-
TFRMMAIN.MILINE5.CAPTION=-
@ -55,7 +57,7 @@ TFRMMAIN.ACTVIEW.CAPTION=View
TFRMMAIN.ACTEDIT.CAPTION=Edit
TFRMMAIN.ACTCOPY.CAPTION=Copy
TFRMMAIN.ACTRENAME.CAPTION=Move
TFRMMAIN.ACTMAKEDIR.CAPTION=MakeDir
TFRMMAIN.ACTMAKEDIR.CAPTION=Create &Directory
TFRMMAIN.ACTDELETE.CAPTION=Delete
TFRMMAIN.ACTABOUT.CAPTION=&About
TFRMMAIN.ACTSHOWSYSFILES.CAPTION=Show &Hidden/System Files
@ -182,6 +184,8 @@ TFRMMAIN.ACTCOLUMNSVIEW.HINT=Columns View
TFRMMAIN.ACTTHUMBNAILSVIEW.CAPTION=Thumbnails
TFRMMAIN.ACTTHUMBNAILSVIEW.HINT=Thumbnails View
TFRMMAIN.ACTCHANGEDIRTOHOME.CAPTION=Change directory to home
TFRMMAIN.ACTSYNCDIRS.CAPTION=Synchronize dirs...
TFRMMAIN.ACTCOPYFILEDETAILSTOCLIP.CAPTION=Copy all shown &columns
TFRMMAIN.TBEDIT.CAPTION=Edit
TFRMMAIN.TBDELETE.CAPTION=Delete
TFRMMAIN.TBCHANGEDIR.CAPTION=CD

View file

@ -91,6 +91,7 @@ type
actBriefView: TAction;
actColumnsView: TAction;
actChangeDirToHome: TAction;
actCopyFileDetailsToClip: TAction;
actSyncDirs: TAction;
actThumbnailsView: TAction;
actShellExecute: TAction;
@ -165,6 +166,11 @@ type
lblRightDriveInfo: TLabel;
lblLeftDriveInfo: TLabel;
lblCommandPath: TLabel;
miMakeDir: TMenuItem;
miWipe: TMenuItem;
miDelete: TMenuItem;
miLine50: TMenuItem;
miCopyFileDetailsToClip: TMenuItem;
mnuCmdSyncDirs: TMenuItem;
mnuContextRenameOnly: TMenuItem;
mnuContextCopy: TMenuItem;

View file

@ -98,6 +98,7 @@ type
procedure cm_CmdLinePrev(const Params: array of string);
procedure cm_ContextMenu(const Params: array of string);
procedure cm_CopyFullNamesToClip(const Params: array of string);
procedure cm_CopyFileDetailsToClip(const Params: array of string);
procedure cm_Exchange(const Params: array of string);
procedure cm_OpenArchive(const Params: array of string);
procedure cm_TestArchive(const Params: array of string);
@ -733,6 +734,11 @@ begin
DoCopySelectedFileNamesToClipboard(frmMain.ActiveFrame, True);
end;
procedure TMainCommands.cm_CopyFileDetailsToClip(const Params: array of string);
begin
frmMain.ActiveFrame.ExecuteCommand('cm_CopyFileDetailsToClip', []);
end;
procedure TMainCommands.cm_CopyNamesToClip(const Params: array of string);
begin
DoCopySelectedFileNamesToClipboard(frmMain.ActiveFrame, False);