ADD: Option to dim inactive panel.

This commit is contained in:
cobines 2009-12-23 08:51:51 +00:00
commit 01e6b12850
6 changed files with 1140 additions and 1066 deletions

View file

@ -912,7 +912,7 @@ object frmOptions: TfrmOptions
end
object cbTextColor: TColorBox
Left = 160
Height = 22
Height = 30
Top = 26
Width = 100
Style = [cbStandardColors, cbExtendedColors, cbSystemColors, cbPrettyNames]
@ -925,15 +925,15 @@ object frmOptions: TfrmOptions
AnchorSideTop.Control = cbTextColor
AnchorSideTop.Side = asrBottom
Left = 160
Height = 22
Top = 56
Height = 30
Top = 64
Width = 100
Style = [cbStandardColors, cbExtendedColors, cbSystemColors, cbPrettyNames]
BorderSpacing.Top = 8
ItemHeight = 16
OnChange = cbColorBoxChange
OnDropDown = cbColorBoxDropDown
TabOrder = 1
TabOrder = 2
end
object btnForeColor: TButton
AnchorSideLeft.Control = cbTextColor
@ -942,7 +942,7 @@ object frmOptions: TfrmOptions
AnchorSideBottom.Control = cbTextColor
AnchorSideBottom.Side = asrBottom
Left = 266
Height = 22
Height = 30
Top = 26
Width = 28
Anchors = [akTop, akLeft, akBottom]
@ -950,7 +950,7 @@ object frmOptions: TfrmOptions
BorderSpacing.InnerBorder = 4
Caption = '>>'
OnClick = btnForeColorClick
TabOrder = 2
TabOrder = 1
end
object btnBackColor: TButton
AnchorSideLeft.Control = cbBackColor
@ -959,8 +959,8 @@ object frmOptions: TfrmOptions
AnchorSideBottom.Control = cbBackColor
AnchorSideBottom.Side = asrBottom
Left = 266
Height = 22
Top = 56
Height = 30
Top = 64
Width = 28
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Left = 6
@ -973,8 +973,8 @@ object frmOptions: TfrmOptions
AnchorSideTop.Control = cbBackColor
AnchorSideTop.Side = asrBottom
Left = 160
Height = 22
Top = 86
Height = 30
Top = 102
Width = 100
Style = [cbStandardColors, cbExtendedColors, cbSystemColors, cbPrettyNames]
BorderSpacing.Top = 8
@ -987,22 +987,8 @@ object frmOptions: TfrmOptions
AnchorSideTop.Control = cbBackColor2
AnchorSideTop.Side = asrBottom
Left = 160
Height = 22
Top = 116
Width = 100
Style = [cbStandardColors, cbExtendedColors, cbSystemColors, cbPrettyNames]
BorderSpacing.Top = 8
ItemHeight = 16
OnChange = cbColorBoxChange
OnDropDown = cbColorBoxDropDown
TabOrder = 5
end
object cbCursorColor: TColorBox
AnchorSideTop.Control = cbMarkColor
AnchorSideTop.Side = asrBottom
Left = 160
Height = 22
Top = 146
Height = 30
Top = 140
Width = 100
Style = [cbStandardColors, cbExtendedColors, cbSystemColors, cbPrettyNames]
BorderSpacing.Top = 8
@ -1011,19 +997,33 @@ object frmOptions: TfrmOptions
OnDropDown = cbColorBoxDropDown
TabOrder = 6
end
object cbCursorText: TColorBox
AnchorSideTop.Control = cbCursorColor
object cbCursorColor: TColorBox
AnchorSideTop.Control = cbMarkColor
AnchorSideTop.Side = asrBottom
Left = 160
Height = 22
Top = 176
Height = 30
Top = 178
Width = 100
Style = [cbStandardColors, cbExtendedColors, cbSystemColors, cbPrettyNames]
BorderSpacing.Top = 8
ItemHeight = 16
OnChange = cbColorBoxChange
OnDropDown = cbColorBoxDropDown
TabOrder = 7
TabOrder = 8
end
object cbCursorText: TColorBox
AnchorSideTop.Control = cbCursorColor
AnchorSideTop.Side = asrBottom
Left = 160
Height = 30
Top = 216
Width = 100
Style = [cbStandardColors, cbExtendedColors, cbSystemColors, cbPrettyNames]
BorderSpacing.Top = 8
ItemHeight = 16
OnChange = cbColorBoxChange
OnDropDown = cbColorBoxDropDown
TabOrder = 10
end
object btnMarkColor: TButton
AnchorSideLeft.Control = cbMarkColor
@ -1032,15 +1032,15 @@ object frmOptions: TfrmOptions
AnchorSideBottom.Control = cbMarkColor
AnchorSideBottom.Side = asrBottom
Left = 266
Height = 22
Top = 116
Height = 30
Top = 140
Width = 28
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Left = 6
BorderSpacing.InnerBorder = 4
Caption = '>>'
OnClick = btnMarkColorClick
TabOrder = 8
TabOrder = 7
end
object btnCursorColor: TButton
AnchorSideLeft.Control = cbCursorColor
@ -1049,8 +1049,8 @@ object frmOptions: TfrmOptions
AnchorSideBottom.Control = cbCursorColor
AnchorSideBottom.Side = asrBottom
Left = 266
Height = 22
Top = 146
Height = 30
Top = 178
Width = 28
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Left = 6
@ -1066,15 +1066,15 @@ object frmOptions: TfrmOptions
AnchorSideBottom.Control = cbCursorText
AnchorSideBottom.Side = asrBottom
Left = 266
Height = 22
Top = 176
Height = 30
Top = 216
Width = 28
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Left = 6
BorderSpacing.InnerBorder = 4
Caption = '>>'
OnClick = btnCursorTextClick
TabOrder = 10
TabOrder = 11
end
object btnBackColor2: TButton
AnchorSideLeft.Control = cbBackColor2
@ -1083,15 +1083,15 @@ object frmOptions: TfrmOptions
AnchorSideBottom.Control = cbBackColor2
AnchorSideBottom.Side = asrBottom
Left = 266
Height = 22
Top = 86
Height = 30
Top = 102
Width = 28
Anchors = [akTop, akLeft, akBottom]
BorderSpacing.Left = 6
BorderSpacing.InnerBorder = 4
Caption = '>>'
OnClick = btnBackColor2Click
TabOrder = 11
TabOrder = 5
end
object gbExample: TGroupBox
AnchorSideLeft.Control = btnForeColor
@ -1099,20 +1099,20 @@ object frmOptions: TfrmOptions
Left = 304
Height = 172
Top = 26
Width = 205
Width = 209
Anchors = [akTop, akLeft, akRight]
BorderSpacing.Left = 10
Caption = 'Example'
ChildSizing.LeftRightSpacing = 6
ChildSizing.TopBottomSpacing = 6
ClientHeight = 154
ClientWidth = 201
ClientHeight = 152
ClientWidth = 205
TabOrder = 12
object pbExample: TPaintBox
Left = 6
Height = 142
Height = 156
Top = 6
Width = 189
Width = 193
Align = alClient
OnPaint = pbExamplePaint
end
@ -1121,14 +1121,42 @@ object frmOptions: TfrmOptions
AnchorSideTop.Control = cbCursorText
AnchorSideTop.Side = asrBottom
Left = 10
Height = 17
Top = 210
Width = 126
Height = 22
Top = 258
Width = 160
BorderSpacing.Top = 12
Caption = 'Use Inverted Selection'
OnChange = cbbUseInvertedSelectionChange
TabOrder = 13
end
object tbInactivePanelBrightness: TTrackBar
AnchorSideLeft.Control = lblInactivePanelBrightness
AnchorSideLeft.Side = asrBottom
AnchorSideTop.Control = lblInactivePanelBrightness
AnchorSideTop.Side = asrCenter
Left = 226
Height = 46
Top = 274
Width = 216
Max = 100
PageSize = 10
Position = 0
ScalePos = trRight
BorderSpacing.Left = 8
TabOrder = 14
end
object lblInactivePanelBrightness: TLabel
AnchorSideLeft.Control = cbbUseInvertedSelection
AnchorSideTop.Control = cbbUseInvertedSelection
AnchorSideTop.Side = asrBottom
Left = 10
Height = 19
Top = 288
Width = 208
BorderSpacing.Top = 8
Caption = 'Brightness level of inactive panel'
ParentColor = False
end
end
object pgHotKey: TPage
ClientWidth = 524

View file

@ -46,6 +46,7 @@ TFRMOPTIONS.BTNCURSORTEXT.CAPTION=>>
TFRMOPTIONS.BTNBACKCOLOR2.CAPTION=>>
TFRMOPTIONS.GBEXAMPLE.CAPTION=Example
TFRMOPTIONS.CBBUSEINVERTEDSELECTION.CAPTION=Use Inverted Selection
TFRMOPTIONS.LBLINACTIVEPANELBRIGHTNESS.CAPTION=Brightness level of inactive panel
TFRMOPTIONS.LBLHOTKEY.CAPTION=Hot Key:
TFRMOPTIONS.LBTYPES.CAPTION=Categories:
TFRMOPTIONS.LBCOMMANDS.CAPTION=Commands:

View file

@ -189,6 +189,7 @@ type
gbAutoRefreshEnable: TGroupBox;
gbAutoRefreshDisable: TGroupBox;
grpQuickSearchFilterKeys: TGroupBox;
lblInactivePanelBrightness: TLabel;
lblAutoSizeColumn: TLabel;
lblQuickSearch: TLabel;
lblQuickFilter: TLabel;
@ -299,6 +300,7 @@ type
stgCommands: TStringGrid;
gbIconsSize: TGroupBox;
stgHotkeys: TStringGrid;
tbInactivePanelBrightness: TTrackBar;
tsWLX: TTabSheet;
tsDSX: TTabSheet;
tsWDX: TTabSheet;
@ -2158,6 +2160,7 @@ begin
SetColorInColorBox(cbCursorColor,gCursorColor);
SetColorInColorBox(cbCursorText,gCursorText);
cbbUseInvertedSelection.Checked:=gUseInvertedSelection;
tbInactivePanelBrightness.Position:=gInactivePanelBrightness;
{ File operations }
edtCopyBufferSize.Text:= IntToStr(gCopyBlockSize div 1024);
@ -2357,6 +2360,7 @@ begin
gCursorColor := cbCursorColor.Color;
gCursorText := cbCursorText.Color;
gUseInvertedSelection:=cbbUseInvertedSelection.Checked;
gInactivePanelBrightness:=tbInactivePanelBrightness.Position;
{ File operations }
gCopyBlockSize := StrToIntDef(edtCopyBufferSize.Text, gCopyBlockSize) * 1024;

View file

@ -62,6 +62,8 @@ type
FMouseDown: Boolean; // Used to check if button-up was received after button-down
// or after dropping something after dragging with right mouse button
ColumnsView: TColumnsFileView;
// Updates the drop row index, which is used to draw a rectangle
// on directories during drag&drop operations.
procedure ChangeDropRowIndex(NewIndex: Integer);
@ -277,15 +279,18 @@ type
{en
Changes drawing colors depending on if this panel is active.
}
procedure SetActive(Active: Boolean);
procedure SetActive(bActive: Boolean);
procedure SetFileFilter(NewFilter: String);
function DimColor(AColor: TColor): TColor;
// -- Events --------------------------------------------------------------
procedure edtPathExit(Sender: TObject);
procedure edtSearchExit(Sender: TObject);
procedure edtRenameExit(Sender: TObject);
procedure edtFilterEnter(Sender: TObject);
procedure edtFilterExit(Sender: TObject);
procedure edtSearchChange(Sender: TObject);
@ -1394,10 +1399,14 @@ begin
end;
end;
procedure TColumnsFileView.SetActive(Active: Boolean);
procedure TColumnsFileView.SetActive(bActive: Boolean);
begin
lblAddress.SetActive(Active);
lblPath.SetActive(Active);
FActive := bActive;
lblAddress.SetActive(bActive);
lblPath.SetActive(bActive);
dgPanel.Color := DimColor(gBackColor);
end;
procedure TColumnsFileView.SetFileFilter(NewFilter: String);
@ -1406,6 +1415,14 @@ begin
ReDisplayFileList;
end;
function TColumnsFileView.DimColor(AColor: TColor): TColor;
begin
if (not FActive) and (gInactivePanelBrightness < 100) then
Result := ModColor(AColor, gInactivePanelBrightness)
else
Result := AColor;
end;
procedure TColumnsFileView.edtPathExit(Sender: TObject);
begin
edtPath.Visible := False;
@ -1424,10 +1441,17 @@ begin
UnMarkAll;
end;
procedure TColumnsFileView.edtFilterEnter(Sender: TObject);
begin
SetActive(True);
end;
procedure TColumnsFileView.edtFilterExit(Sender: TObject);
begin
if edtFilter.Text = '' then
CloseFilterPanel;
pnlFilter.Visible := False;
SetActive(False);
end;
procedure TColumnsFileView.edtSearchChange(Sender: TObject);
@ -1518,7 +1542,7 @@ procedure TColumnsFileView.CloseSearchPanel;
begin
pnAltSearch.Visible:=False;
edtSearch.Text:='';
FActive:= False;
SetActive(False);
end;
procedure TColumnsFileView.CloseFilterPanel;
@ -1550,7 +1574,7 @@ begin
fPrevious := False;
edtSearch.Text := Char;
edtSearch.SelStart := UTF8Length(edtSearch.Text) + 1;
FActive:= True;
SetActive(True);
end;
procedure TColumnsFileView.ShowFilterPanel(Char : TUTF8Char = #0);
@ -1825,7 +1849,6 @@ end;
procedure TColumnsFileView.dgPanelExit(Sender: TObject);
begin
FActive:= False;
SetActive(False);
end;
@ -1879,12 +1902,11 @@ end;
procedure TColumnsFileView.dgPanelEnter(Sender: TObject);
begin
FActive := True;
SetActive(True);
UpDatelblInfo;
frmMain.EnableHotkeys(True);
SetActive(True);
if Assigned(OnActivate) then
OnActivate(Self);
end;
@ -2430,6 +2452,7 @@ begin
edtFilter.OnChange := @edtFilterChange;
edtFilter.OnKeyDown := @edtFilterKeyDown;
edtFilter.OnEnter := @edtFilterEnter;
edtFilter.OnExit := @edtFilterExit;
edtPath.OnKeyDown := @edtPathKeyDown;
@ -3127,6 +3150,7 @@ begin
inherited Create(AOwner);
Self.Parent := AParent;
ColumnsView := AParent as TColumnsFileView;
StartDrag := False;
DropRowIndex := -1;
@ -3198,7 +3222,7 @@ var
TempRowHeight: Integer;
begin
Flat := gInterfaceFlat;
Color := gBackColor;
Color := ColumnsView.DimColor(gBackColor);
AutoFillColumns:= gAutoFillColumns;
// Calculate row height.
@ -3260,7 +3284,6 @@ var
iTextTop: Integer;
AFile: TColumnsViewFile;
FileSourceDirectAccess: Boolean;
Panel: TColumnsFileView;
ColumnsSet: TPanelColumnsClass;
//------------------------------------------------------
@ -3286,7 +3309,7 @@ var
TitleX := 0;
s := ColumnsSet.GetColumnTitle(ACol);
SortingDirection := Panel.FSorting.GetSortingDirection(ACol);
SortingDirection := ColumnsView.FSorting.GetSortingDirection(ACol);
if SortingDirection <> sdNone then
begin
TitleX := TitleX + gIconsSize;
@ -3387,10 +3410,12 @@ var
procedure NewPrepareColors;
//------------------------------------------------------
var
newColor, tmp: TColor;
newColor, BackgroundColor: TColor;
procedure TextSelect;
//---------------------
var
tmp: TColor;
begin
tmp := ColumnsSet.GetColumnTextColor(ACol);
if (tmp <> newColor) and (newColor <> -1) and
@ -3407,15 +3432,15 @@ var
Canvas.Font.Style := ColumnsSet.GetColumnFontStyle(ACol);
// Set up default brush color first
if (gdSelected in aState) and Panel.FActive then
Canvas.Brush.Color := ColumnsSet.GetColumnCursorColor(ACol)
if (gdSelected in aState) and ColumnsView.FActive then
BackgroundColor := ColumnsSet.GetColumnCursorColor(ACol)
else
begin
// Alternate rows background color.
if odd(ARow) then
Canvas.Brush.Color := ColumnsSet.GetColumnBackground(ACol)
BackgroundColor := ColumnsSet.GetColumnBackground(ACol)
else
Canvas.Brush.Color := ColumnsSet.GetColumnBackground2(ACol);
BackgroundColor := ColumnsSet.GetColumnBackground2(ACol);
end;
newColor := gColorExt.GetColorBy(AFile.TheFile);
@ -3425,14 +3450,14 @@ var
if gUseInvertedSelection then
begin
//------------------------------------------------------
if (gdSelected in aState) and Panel.FActive then
if (gdSelected in aState) and ColumnsView.FActive then
begin
Canvas.Brush.Color := ColumnsSet.GetColumnCursorColor(ACol);
BackgroundColor := ColumnsSet.GetColumnCursorColor(ACol);
Canvas.Font.Color := InvertColor(ColumnsSet.GetColumnCursorText(ACol));
end
else
begin
Canvas.Brush.Color := ColumnsSet.GetColumnMarkColor(ACol);
BackgroundColor := ColumnsSet.GetColumnMarkColor(ACol);
TextSelect;
end;
//------------------------------------------------------
@ -3442,7 +3467,7 @@ var
Canvas.Font.Color := ColumnsSet.GetColumnMarkColor(ACol);
end;
end
else if (gdSelected in aState) and Panel.FActive then
else if (gdSelected in aState) and ColumnsView.FActive then
begin
Canvas.Font.Color := ColumnsSet.GetColumnCursorText(ACol);
end
@ -3452,6 +3477,7 @@ var
end;
// Draw background.
Canvas.Brush.Color := ColumnsView.DimColor(BackgroundColor);
Canvas.Brush.Style := bsSolid;
Canvas.FillRect(aRect);
@ -3469,9 +3495,7 @@ var
//------------------------------------------------------
begin
Panel := (Parent as TColumnsFileView);
with Panel do
with ColumnsView do
begin
if not isSlave then
ColumnsSet := ColSet.GetColumnSet(ActiveColm)
@ -3483,14 +3507,14 @@ begin
begin
DrawFixed // Draw column headers
end
else if Panel.FRetrievingFiles = rfsLoadingFiles then
else if ColumnsView.FRetrievingFiles = rfsLoadingFiles then
begin
Exit
end
else if Panel.FFiles.Count > 0 then
else if ColumnsView.FFiles.Count > 0 then
begin
AFile := Panel.FFiles[ARow - FixedRows]; // substract fixed rows (header)
FileSourceDirectAccess := fspDirectAccess in Panel.FileSource.Properties;
AFile := ColumnsView.FFiles[ARow - FixedRows]; // substract fixed rows (header)
FileSourceDirectAccess := fspDirectAccess in ColumnsView.FileSource.Properties;
NewPrepareColors;

File diff suppressed because it is too large Load diff

View file

@ -164,7 +164,8 @@ var
gMarkColor, // Mark color
gCursorColor, //Cursor color
gCursorText : TColor; //text color under cursor
gUseInvertedSelection:boolean=false;
gUseInvertedSelection: Boolean = False;
gInactivePanelBrightness: Integer = 100; // 0 - black, 100 - full color
gShowIcons: TShowIconsMode = sim_all_and_exe;
gShowIconsNew: TShowIconsMode;
@ -585,6 +586,7 @@ begin
gFontStyle := TFontStyles(gIni.ReadInteger('Configuration', 'Font.Style', 1));
gEditorFontStyle:= TFontStyles(gIni.ReadInteger('Editor', 'Font.Style', 0));
gViewerFontStyle:= TFontStyles(gIni.ReadInteger('Viewer', 'Font.Style', 0));
{ Colors }
gForeColor := gIni.ReadInteger('Colors', 'ForeColor', clDefault);
gBackColor := gIni.ReadInteger('Colors', 'BackColor', clWhite);
@ -592,7 +594,9 @@ begin
gMarkColor := gIni.ReadInteger('Colors', 'MarkColor', clRed);
gCursorColor := gIni.ReadInteger('Colors', 'CursorColor', clHighlight);
gCursorText := gIni.ReadInteger('Colors', 'CursorText', clHighlightText);
gUseInvertedSelection:= gIni.ReadBool('Colors', 'UseInvertedSelection', false);
gUseInvertedSelection:= gIni.ReadBool('Colors', 'UseInvertedSelection', False);
gInactivePanelBrightness:= gIni.ReadInteger('Colors', 'InactivePanelBrightness', gInactivePanelBrightness);
{ File operations }
gCopyBlockSize := gIni.ReadInteger('Configuration', 'CopyBlockSize', 65536);
gSkipFileOpError:= gIni.ReadBool('Configuration', 'SkipFileOpError', False);
@ -827,7 +831,7 @@ begin
gIni.WriteInteger('Colors', 'CursorColor', gCursorColor);
gIni.WriteInteger('Colors', 'CursorText', gCursorText);
gIni.WriteBool('Colors', 'UseInvertedSelection', gUseInvertedSelection);
gIni.WriteInteger('Colors', 'InactivePanelBrightness', gInactivePanelBrightness);
{ File operations }
gIni.WriteInteger('Configuration', 'CopyBlockSize', gCopyBlockSize);