summaryrefslogtreecommitdiff
path: root/UCoreUtils.pas
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@redhat.com>2025-01-04 20:41:26 +0100
committerTomas Bzatek <tbzatek@redhat.com>2025-11-27 21:42:57 +0100
commit90db8b6652f73ddc335922d3a7c593878d83c45e (patch)
tree6b3f8ed57d4dc3358c2965bf41f6e613b8b80bf0 /UCoreUtils.pas
parent63ff1bea9bb1e87a7e2643f680d04f2b9c00d072 (diff)
downloadtuxcmd-90db8b6652f73ddc335922d3a7c593878d83c45e.tar.xz
Basic ListView CSS styling
Diffstat (limited to 'UCoreUtils.pas')
-rw-r--r--UCoreUtils.pas120
1 files changed, 51 insertions, 69 deletions
diff --git a/UCoreUtils.pas b/UCoreUtils.pas
index a5019d8..8949ed6 100644
--- a/UCoreUtils.pas
+++ b/UCoreUtils.pas
@@ -133,13 +133,12 @@ var ChildExitStatus: sig_atomic_t;
AppPath, IconPath: string; // Used in UFileTypeSettings
NormalItemGDKColor, ActiveItemGDKColor, InactiveItemGDKColor, SelectedItemGDKColor, DotFileItemGDKColor, LinkItemGDKColor,
- NormalItemGDKBackground, ActiveItemGDKBackground, InactiveItemGDKBackground: PGdkColor;
- InactiveItemBGColorNum: Cardinal;
+ NormalItemGDKBackground, ActiveItemGDKBackground, InactiveItemGDKBackground: PGdkRGBA;
implementation
-uses DateUtils, GTKForms, GTKUtils, GTKView, ULocale, UConfig, UCore, UGnome, UMain, UFileAssoc;
+uses DateUtils, GTKForms, GTKStdCtrls, GTKUtils, GTKView, ULocale, UConfig, UCore, UGnome, UMain, UFileAssoc;
(********************************************************************************************************************************)
function FormatFloat64(Value: Int64; Sep: string): string;
@@ -562,7 +561,6 @@ begin
{ no '*' in the rest, compare the ends }
if HelpWilds = '' then Exit; { '*' is the last letter }
{ check the rest for equal Length and no '?' }
- {$R-}
for I := 0 to LenHelpWilds - 1 do begin
if (HelpWilds[LenHelpWilds - I] <> InputStr[MaxInputWord - I]) and
(HelpWilds[LenHelpWilds - I]<> '?') then
@@ -571,7 +569,6 @@ begin
Exit;
end;
end;
- {$R+}
Exit;
end;
{ handle all to the next '*' }
@@ -831,7 +828,7 @@ begin
gtk_about_dialog_set_logo(PGtkAboutDialog(about_dialog), AppIcon128.FPixbuf);
gtk_window_set_transient_for(PGtkWindow(about_dialog), PGtkWindow(FMain.FWidget));
gtk_dialog_run(PGtkDialog(about_dialog));
- g_object_unref(PGObject(about_dialog));
+ gtk_widget_destroy(about_dialog);
end;
procedure SetupAppIcon;
@@ -1170,13 +1167,9 @@ begin
memset(args_list, 0, (Length(Parameters) + 1) * sizeof(PChar));
for I := 0 to Length(Parameters) - 1 do
begin
- {$R-}
PCharArray(args_list^)[I] := strdup(PChar(Parameters[i]));
- {$R+}
end;
- {$R-}
PCharArray(args_list^)[Length(Parameters)] := nil;
- {$R+}
end;
// Duplicate this process
@@ -1418,16 +1411,12 @@ begin
for I := 0 to Length(Parameters) - 1 do
begin
Temp := Parameters[i];
- {$R-}
// PCharArray(args_list^)[I] := malloc(Length(Temp)+1);
// memset(PCharArray(args_list^)[I], 0, Length(Temp)+1);
// StrCopy(PCharArray(args_list^)[I], PChar(Temp));
PCharArray(args_list^)[I] := strdup(PChar(Temp));
- {$R+}
end;
- {$R-}
PCharArray(args_list^)[Length(Parameters)] := nil;
- {$R+}
end;
except
on E: Exception do DebugMsg(['*** forked ** function HandleSystemCommand(''', Command, '''):Exception: ', E.Message]);
@@ -1720,54 +1709,41 @@ begin
end;
procedure SetupColors;
-var Color: TGDKColor;
- LocalListView: TGTKListView;
begin
- // TODO
-{
- LocalListView := TGTKListView.Create(Application);
- try
- if ConfNormalItemDefaultColors then begin
- NormalItemGDKColor := GetDefaultTextColor(LocalListView, GTK_STATE_NORMAL);
- NormalItemGDKBackground := GetDefaultBaseColor(LocalListView, GTK_STATE_NORMAL);
- end else begin
- StringToGDKColor(ConfNormalItemFGColor, Color);
- NormalItemGDKColor := GDKColorToPGdkColor(Color);
- StringToGDKColor(ConfNormalItemBGColor, Color);
- NormalItemGDKBackground := GDKColorToPGdkColor(Color);
- end;
- if ConfCursorDefaultColors then begin
- ActiveItemGDKColor := GetDefaultTextColor(LocalListView, GTK_STATE_SELECTED);
- ActiveItemGDKBackground := GetDefaultBaseColor(LocalListView, GTK_STATE_SELECTED);
- end else begin
- StringToGDKColor(ConfActiveItemFGColor, Color);
- ActiveItemGDKColor := GDKColorToPGdkColor(Color);
- StringToGDKColor(ConfActiveItemBGColor, Color);
- ActiveItemGDKBackground := GDKColorToPGdkColor(Color);
- end;
- if ConfInactiveItemDefaultColors then begin
- InactiveItemGDKColor := GetDefaultTextColor(LocalListView, GTK_STATE_ACTIVE);
- InactiveItemGDKBackground := GetDefaultBaseColor(LocalListView, GTK_STATE_ACTIVE);
- end else begin
- StringToGDKColor(ConfInactiveItemFGColor, Color);
- InactiveItemGDKColor := GDKColorToPGdkColor(Color);
- StringToGDKColor(ConfInactiveItemBGColor, Color);
- InactiveItemGDKBackground := GDKColorToPGdkColor(Color);
- end;
- StringToGDKColor(ConfSelectedItemFGColor, Color);
- SelectedItemGDKColor := GDKColorToPGdkColor(Color);
- StringToGDKColor(ConfDotFileItemFGColor, Color);
- DotFileItemGDKColor := GDKColorToPGdkColor(Color);
- StringToGDKColor(ConfLinkItemFGColor, Color);
- LinkItemGDKColor := GDKColorToPGdkColor(Color);
- try
- InactiveItemBGColorNum := $FF + (InactiveItemGDKBackground^.red div 256) shl 24
- + (InactiveItemGDKBackground^.green div 256) shl 16
- + (InactiveItemGDKBackground^.blue div 256) shl 8;
- except InactiveItemBGColorNum := $D0D0D0FF; end;
- finally
- LocalListView.Free;
- end;}
+ if Assigned(NormalItemGDKColor) then gdk_rgba_free(NormalItemGDKColor);
+ if Assigned(ActiveItemGDKColor) then gdk_rgba_free(ActiveItemGDKColor);
+ if Assigned(InactiveItemGDKColor) then gdk_rgba_free(InactiveItemGDKColor);
+ if Assigned(SelectedItemGDKColor) then gdk_rgba_free(SelectedItemGDKColor);
+ if Assigned(DotFileItemGDKColor) then gdk_rgba_free(DotFileItemGDKColor);
+ if Assigned(LinkItemGDKColor) then gdk_rgba_free(LinkItemGDKColor);
+ if Assigned(NormalItemGDKBackground) then gdk_rgba_free(NormalItemGDKBackground);
+ if Assigned(ActiveItemGDKBackground) then gdk_rgba_free(ActiveItemGDKBackground);
+ if Assigned(InactiveItemGDKBackground) then gdk_rgba_free(InactiveItemGDKBackground);
+ NormalItemGDKColor := nil;
+ ActiveItemGDKColor := nil;
+ InactiveItemGDKColor := nil;
+ SelectedItemGDKColor := nil;
+ DotFileItemGDKColor := nil;
+ LinkItemGDKColor := nil;
+ NormalItemGDKBackground := nil;
+ ActiveItemGDKBackground := nil;
+ InactiveItemGDKBackground := nil;
+
+ if not ConfNormalItemDefaultColors then begin
+ NormalItemGDKColor := StringToGDKRGBA(ConfNormalItemFGColor);
+ NormalItemGDKBackground := StringToGDKRGBA(ConfNormalItemBGColor);
+ end;
+ if not ConfCursorDefaultColors then begin
+ ActiveItemGDKColor := StringToGDKRGBA(ConfActiveItemFGColor);
+ ActiveItemGDKBackground := StringToGDKRGBA(ConfActiveItemBGColor);
+ end;
+ if not ConfInactiveItemDefaultColors then begin
+ InactiveItemGDKColor := StringToGDKRGBA(ConfInactiveItemFGColor);
+ InactiveItemGDKBackground := StringToGDKRGBA(ConfInactiveItemBGColor);
+ end;
+ SelectedItemGDKColor := StringToGDKRGBA(ConfSelectedItemFGColor);
+ DotFileItemGDKColor := StringToGDKRGBA(ConfDotFileItemFGColor);
+ LinkItemGDKColor := StringToGDKRGBA(ConfLinkItemFGColor);
end;
(********************************************************************************************************************************)
@@ -1849,12 +1825,12 @@ end;
function CLAMP(x, MinX, MaxX: integer): integer;
begin
- if x<MinX then
- Result:=MinX
- else if x>MaxX then
- Result:=MaxX
+ if x < MinX then
+ Result := MinX
+ else if x > MaxX then
+ Result := MaxX
else
- Result:=x;
+ Result := x;
end;
@@ -1868,9 +1844,15 @@ initialization
InternalLockInit(True);
SetupSignals;
- // Parse tuxcmd rc file
- // TODO
-// gtk_rc_parse_string(tuxcmd_rc_file);
+ NormalItemGDKColor := nil;
+ ActiveItemGDKColor := nil;
+ InactiveItemGDKColor := nil;
+ SelectedItemGDKColor := nil;
+ DotFileItemGDKColor := nil;
+ LinkItemGDKColor := nil;
+ NormalItemGDKBackground := nil;
+ ActiveItemGDKBackground := nil;
+ InactiveItemGDKBackground := nil;
AppPath := IncludeTrailingPathDelimiter(GetHomePath);
IconPath := IncludeTrailingPathDelimiter(GetHomePath);