Repository :
https://github.com/FarGroup/FarManager
On branch : master
Link :
https://github.com/FarGroup/FarManager/commit/561fbd1f61793b4188bf565365d7c0d7b29a6c57
>---------------------------------------------------------------
commit 561fbd1f61793b4188bf565365d7c0d7b29a6c57
Author: Alex Alabuzhev <
alab...@gmail.com>
Date: Mon Apr 13 21:38:51 2026 +0100
Continue 6673.2
>---------------------------------------------------------------
561fbd1f61793b4188bf565365d7c0d7b29a6c57
far/filefilterparams.cpp | 44 +++++++++++++++++++++++---------------------
1 file changed, 23 insertions(+), 21 deletions(-)
diff --git a/far/filefilterparams.cpp b/far/filefilterparams.cpp
index 6c3499ed2..f5a7ae6aa 100644
--- a/far/filefilterparams.cpp
+++ b/far/filefilterparams.cpp
@@ -598,31 +598,33 @@ static void FilterDlgRelativeDateItemsUpdate(Dialog* Dlg, bool bClear)
{
SCOPED_ACTION(Dialog::suppress_redraw)(Dlg);
- if (Dlg->SendMessage(DM_GETCHECK, ID_FF_DATERELATIVE, nullptr))
+ const auto switch_items = [&](bool const ToRelative)
{
- Dlg->SendMessage(DM_SHOWITEM, ID_FF_DATEBEFOREEDIT, nullptr);
- Dlg->SendMessage(DM_SHOWITEM, ID_FF_DATEAFTEREDIT, nullptr);
- Dlg->SendMessage(DM_SHOWITEM, ID_FF_CURRENT, nullptr);
- Dlg->SendMessage(DM_SHOWITEM,ID_FF_DAYSBEFOREEDIT,ToPtr(1));
- Dlg->SendMessage(DM_SHOWITEM,ID_FF_DAYSAFTEREDIT,ToPtr(1));
- }
- else
- {
- Dlg->SendMessage(DM_SHOWITEM, ID_FF_DAYSBEFOREEDIT, nullptr);
- Dlg->SendMessage(DM_SHOWITEM, ID_FF_DAYSAFTEREDIT, nullptr);
- Dlg->SendMessage(DM_SHOWITEM,ID_FF_DATEBEFOREEDIT,ToPtr(1));
- Dlg->SendMessage(DM_SHOWITEM,ID_FF_DATEAFTEREDIT,ToPtr(1));
- Dlg->SendMessage(DM_SHOWITEM,ID_FF_CURRENT,ToPtr(1));
- }
+ Dlg->SendMessage(DM_SHOWITEM, ID_FF_DATEBEFOREEDIT, ToPtr(!ToRelative));
+ Dlg->SendMessage(DM_SHOWITEM, ID_FF_DAYSBEFOREEDIT, ToPtr(ToRelative));
+ Dlg->SendMessage(DM_SHOWITEM, ID_FF_DATEAFTEREDIT, ToPtr(!ToRelative));
+ Dlg->SendMessage(DM_SHOWITEM, ID_FF_DAYSAFTEREDIT, ToPtr(ToRelative));
+ Dlg->SendMessage(DM_SHOWITEM, ID_FF_CURRENT, ToPtr(!ToRelative));
+ Dlg->SendMessage(DM_SHOWITEM, ID_FF_UTC, ToPtr(!ToRelative));
+ };
+
+ switch_items(Dlg->SendMessage(DM_GETCHECK, ID_FF_DATERELATIVE, {}) == BSTATE_CHECKED);
if (bClear)
{
- Dlg->SendMessage(DM_SETTEXTPTR,ID_FF_DATEAFTEREDIT,nullptr);
- Dlg->SendMessage(DM_SETTEXTPTR,ID_FF_DAYSAFTEREDIT,nullptr);
- Dlg->SendMessage(DM_SETTEXTPTR,ID_FF_TIMEAFTEREDIT,nullptr);
- Dlg->SendMessage(DM_SETTEXTPTR,ID_FF_DATEBEFOREEDIT,nullptr);
- Dlg->SendMessage(DM_SETTEXTPTR,ID_FF_TIMEBEFOREEDIT,nullptr);
- Dlg->SendMessage(DM_SETTEXTPTR,ID_FF_DAYSBEFOREEDIT,nullptr);
+ static constexpr enumFileFilterConfig ItemsToClear[]
+ {
+ ID_FF_DATEBEFOREEDIT,
+ ID_FF_DAYSBEFOREEDIT,
+ ID_FF_TIMEBEFOREEDIT,
+ ID_FF_DATEAFTERSIGN,
+ ID_FF_DATEAFTEREDIT,
+ ID_FF_DAYSAFTEREDIT,
+ ID_FF_TIMEAFTEREDIT,
+ };
+
+ for (const auto& i: ItemsToClear)
+ Dlg->SendMessage(DM_SETTEXTPTR, i, {});
}
}