Sfoglia il codice sorgente

Bug fix: File color rules with path mask do not work for local files

Source commit: a491c9fcd4efa3af4f9d59a65eaad6db600df1fd
Martin Prikryl 4 anni fa
parent
commit
d5742fc179

+ 2 - 1
source/forms/CustomScpExplorer.cpp

@@ -11057,10 +11057,11 @@ void __fastcall TCustomScpExplorerForm::DirViewGetItemColor(
   MaskParams.Modification = Modification;
 
   TCustomDirView * DirView = DebugNotNull(dynamic_cast<TCustomDirView *>(Sender));
+  bool Local = (dynamic_cast<TUnixDirView *>(DirView) == NULL);
   for (TFileColorData::TList::const_iterator Iter = FFileColors.begin(); Iter != FFileColors.end(); Iter++)
   {
     bool ImplicitMatch;
-    if (Iter->FileMask.Matches(FileName, Directory, DirView->PathName, &MaskParams, false, ImplicitMatch) &&
+    if (Iter->FileMask.Matches(FileName, Local, Directory, &MaskParams, false, ImplicitMatch) &&
         !ImplicitMatch)
     {
       Color = Iter->Color;

+ 1 - 1
source/packages/filemng/CustomDirView.pas

@@ -1333,7 +1333,7 @@ begin
   Result := clDefaultItemColor;
   if Assigned(OnGetItemColor) then
   begin
-    OnGetItemColor(Self, ItemFileName(Item), ItemIsDirectory(Item), ItemFileSize(Item), ItemFileTime(Item, Precision), Result);
+    OnGetItemColor(Self, ItemFullFileName(Item), ItemIsDirectory(Item), ItemFileSize(Item), ItemFileTime(Item, Precision), Result);
   end;
 end;