Skip to content

Commit 4a7faab

Browse files
authored
Merge pull request #2691 from akruphi/highlighting
Files highlighting tuning after #2690
2 parents b485805 + 6158450 commit 4a7faab

10 files changed

+156
-39
lines changed

far2l/bootstrap/scripts/FarEng.hlf.m4

+2
Original file line numberDiff line numberDiff line change
@@ -4049,6 +4049,8 @@ To ~highlight~@Highlight@ all archives except "*.rar" #<arc>|*.rar# should be us
40494049

40504050
#Enter#/#F4# - ^<wrap>edit the current group
40514051

4052+
#F3# - view the current group with wrap long line of masks
4053+
40524054
#F7# - ^<wrap>find all groups containing the specified mask
40534055

40544056
Also see ~Options menu~@OptMenu@.

far2l/bootstrap/scripts/FarHun.hlf.m4

+2
Original file line numberDiff line numberDiff line change
@@ -3645,6 +3645,8 @@ To ~highlight~@Highlight@ all archives except "*.rar" #<arc>|*.rar# should be us
36453645

36463646
#Enter#/#F4# - ^<wrap>edit the current group
36473647

3648+
#F3# - view the current group with wrap long line of masks
3649+
36483650
#F7# - ^<wrap>find all groups containing the specified mask
36493651

36503652
Also see ~Options menu~@OptMenu@.

far2l/bootstrap/scripts/FarRus.hlf.m4

+2
Original file line numberDiff line numberDiff line change
@@ -4145,6 +4145,8 @@ $ #Группы масок файлов#
41454145

41464146
#Enter#/#F4# - изменить параметры группы
41474147

4148+
#F3# - просмотр группы с переносом длинных строк масок
4149+
41484150
#F7# - найти группы, содержащие маску
41494151

41504152
См. также: ~Меню параметров~@OptMenu@.

far2l/bootstrap/scripts/FarUkr.hlf.m4

+2
Original file line numberDiff line numberDiff line change
@@ -3976,6 +3976,8 @@ $ #Групи масок файлів#
39763976

39773977
#Enter#/#F4# - ^<wrap>редагувати поточну групу
39783978

3979+
#F3# - view the current group with wrap long line of masks
3980+
39793981
#F7# - ^<wrap>знайти всі групи, що містять вказану маску
39803982

39813983
Дивіться також: ~Меню параметрів~@OptMenu@.

far2l/bootstrap/scripts/farlang.templ.m4

+94-17
Original file line numberDiff line numberDiff line change
@@ -693,7 +693,7 @@ AltF9
693693
"Video"
694694
"Tryb"
695695
"Video"
696-
"Відео""
696+
"Відео"
697697
"Відэа"
698698

699699
AltF10
@@ -1544,15 +1544,15 @@ upd:"Groups of file masks"
15441544
"Суполкі масак файлаў"
15451545

15461546
MaskGroupBottomTitle
1547-
"Ins Del F4 F7 Ctrl+Вверх/Вниз Ctrl+R"
1548-
"Ins Del F4 F7 Ctrl+Up/Down Ctrl+R"
1549-
"Ins Del F4 F7 Ctrl+Nahoru/Dolů Ctrl+R"
1550-
"Ins Del F4 F7 Ctrl+Hoch/Runter Ctrl+R"
1551-
"Ins Del F4 F7 Ctrl+Felfelé/Lefelé Ctrl+R"
1552-
"Ins Del F4 F7 Ctrl+Wgórę/Wdół Ctrl+R"
1553-
"Ins Del F4 F7 Ctrl+Arriba/Abajo Ctrl+R"
1554-
"Ins Del F4 F7 Ctrl+Вгору/Вниз Ctrl+R"
1555-
"Ins Del F4 F7 Ctrl+Уверх/Уніз Ctrl+R""
1547+
"Ins Del Enter/F4 F3 F7 Ctrl+Вверх/Вниз Ctrl+R"
1548+
"Ins Del Enter/F4 F3 F7 Ctrl+Up/Down Ctrl+R"
1549+
"Ins Del Enter/F4 F3 F7 Ctrl+Nahoru/Dolů Ctrl+R"
1550+
"Ins Del Enter/F4 F3 F7 Strg+Hoch/Runter Ctrl+R"
1551+
"Ins Del Enter/F4 F3 F7 Ctrl+Felfelé/Lefelé Ctrl+R"
1552+
"Ins Del Enter/F4 F3 F7 Ctrl+Wgórę/Wdół Ctrl+R"
1553+
"Ins Del Enter/F4 F3 F7 Ctrl+Arriba/Abajo Ctrl+R"
1554+
"Ins Del Enter/F4 F3 F7 Ctrl+Вгору/Вниз Ctrl+R"
1555+
"Ins Del Enter/F4 F3 F7 Ctrl+Уверх/Уніз Ctrl+R"
15561556

15571557
MaskGroupName
15581558
"&Имя:"
@@ -12971,15 +12971,15 @@ l:
1297112971
"Афарбоўка файлаў"
1297212972

1297312973
HighlightBottom
12974-
"+ - Пробел Ins Del Enter/F4 F3 F5 Ctrl+Up/Down Ctrl+R Ctrl+M"
12975-
"+ - Space Ins Del Enter/F4 F3 F5 Ctrl+Up/Down Ctrl+R Ctrl+M"
12974+
"+ - Пробел Ins Del Enter/F4 F3 F5 Ctrl+Вверх/Вниз Ctrl+R Ctrl+M"
12975+
"+ - Space Ins Del Enter/F4 F3 F5 Ctrl+Up/Down Ctrl+R Ctrl+M"
1297612976
"+ - Mezera Ins Del Enter/F4 F3 F5 Ctrl+Nahoru/Dolů Ctrl+M"
12977-
"+ - Leer Einf Entf Enter/F4 F3 F5 Strg+Up/Down Strg+R Strg+M"
12977+
"+ - Leer Einf Entf Enter/F4 F3 F5 Strg+Hoch/Runter Strg+R Strg+M"
1297812978
"+ - Szóköz Ins Del Enter/F4 F3 F5 Ctrl+Fel/Le Ctrl+R Ctrl+M"
12979-
"+ - Spacja Ins Del Enter/F4 F3 F5 Ctrl+Up/Down Ctrl+R Ctrl+M"
12980-
"+ - Space Ins Del Enter/F4 F3 F5 Ctrl+Up/Down Ctrl+R Ctrl+M"
12981-
"+ - Пробіл Ins Del Enter/F4 F3 F5 Ctrl+Up/Down Ctrl+R Ctrl+M"
12982-
"+ - Прабел Ins Del Enter/F4 F3 F5 Ctrl+Up/Down Ctrl+R Ctrl+M"
12979+
"+ - Spacja Ins Del Enter/F4 F3 F5 Ctrl+Wgórę/Wdół Ctrl+R Ctrl+M"
12980+
"+ - Space Ins Del Enter/F4 F3 F5 Ctrl+Arriba/Abajo Ctrl+R Ctrl+M"
12981+
"+ - Пробіл Ins Del Enter/F4 F3 F5 Ctrl+Вгору/Вниз Ctrl+R Ctrl+M"
12982+
"+ - Прабел Ins Del Enter/F4 F3 F5 Ctrl+Уверх/Уніз Ctrl+R Ctrl+M"
1298312983

1298412984
HighlightUpperSortGroup
1298512985
"Верхняя группа сортировки"
@@ -13047,6 +13047,83 @@ HighlightAskRestore
1304713047
"Ви хочете відновити забарвлення файлів за замовчуванням?"
1304813048
"Вы жадаеце узнавіць прадвызначаную афарбоўку файлаў?"
1304913049

13050+
HighlightViewTitle
13051+
"Раскраска файлов - раскрытие групп масок"
13052+
"Files highlighting expand Mask Groups"
13053+
upd:"Files highlighting expand Mask Groups"
13054+
upd:"Files highlighting expand Mask Groups"
13055+
upd:"Files highlighting expand Mask Groups"
13056+
upd:"Files highlighting expand Mask Groups"
13057+
upd:"Files highlighting expand Mask Groups"
13058+
upd:"Files highlighting expand Mask Groups"
13059+
upd:"Files highlighting expand Mask Groups"
13060+
13061+
HighlightViewName
13062+
"== Раскраска файлов - Имя:"
13063+
"== Highlighting Name:"
13064+
upd:"== Highlighting Name:"
13065+
upd:"== Highlighting Name:"
13066+
upd:"== Highlighting Name:"
13067+
upd:"== Highlighting Name:"
13068+
upd:"== Highlighting Name:"
13069+
upd:"== Highlighting Name:"
13070+
upd:"== Highlighting Name:"
13071+
13072+
HighlightViewMarker
13073+
"== Раскраска файлов - Маркер:"
13074+
"== Highlighting Marker:"
13075+
upd:"== Highlighting Marker:"
13076+
upd:"== Highlighting Marker:"
13077+
upd:"== Highlighting Marker:"
13078+
upd:"== Highlighting Marker:"
13079+
upd:"== Highlighting Marker:"
13080+
upd:"== Highlighting Marker:"
13081+
upd:"== Highlighting Marker:"
13082+
13083+
HighlightViewMasksEmpty
13084+
"== Раскраска файлов - строка масок пуста"
13085+
"== Highlighting has empty masks"
13086+
upd:"== Highlighting has empty masks"
13087+
upd:"== Highlighting has empty masks"
13088+
upd:"== Highlighting has empty masks"
13089+
upd:"== Highlighting has empty masks"
13090+
upd:"== Highlighting has empty masks"
13091+
upd:"== Highlighting has empty masks"
13092+
upd:"== Highlighting has empty masks"
13093+
13094+
HighlightViewMasksBeforeExpand
13095+
"== Раскраска файлов - маски до раскрытия групп масок:"
13096+
"== Highlighting masks before expand:"
13097+
upd:"== Highlighting masks before expand:"
13098+
upd:"== Highlighting masks before expand:"
13099+
upd:"== Highlighting masks before expand:"
13100+
upd:"== Highlighting masks before expand:"
13101+
upd:"== Highlighting masks before expand:"
13102+
upd:"== Highlighting masks before expand:"
13103+
upd:"== Highlighting masks before expand:"
13104+
13105+
HighlightViewMasksCountExpandedGroups
13106+
"== Число корректно раскрытых групп внутри масок:"
13107+
"== Correctly expanded Groups inside Highlighting masks:"
13108+
upd:"== Correctly expanded Groups inside Highlighting masks:"
13109+
upd:"== Correctly expanded Groups inside Highlighting masks:"
13110+
upd:"== Correctly expanded Groups inside Highlighting masks:"
13111+
upd:"== Correctly expanded Groups inside Highlighting masks:"
13112+
upd:"== Correctly expanded Groups inside Highlighting masks:"
13113+
upd:"== Correctly expanded Groups inside Highlighting masks:"
13114+
upd:"== Correctly expanded Groups inside Highlighting masks:"
13115+
13116+
HighlightViewMasksAfterExpand
13117+
"== Раскраска файлов - маски после раскрытия всех групп масок:"
13118+
"== Highlighting masks after expand all groups:"
13119+
upd:"== Highlighting masks after expand all groups:"
13120+
upd:"== Highlighting masks after expand all groups:"
13121+
upd:"== Highlighting masks after expand all groups:"
13122+
upd:"== Highlighting masks after expand all groups:"
13123+
upd:"== Highlighting masks after expand all groups:"
13124+
upd:"== Highlighting masks after expand all groups:"
13125+
upd:"== Highlighting masks after expand all groups:"
13126+
1305013127
HighlightEditTitle
1305113128
l:
1305213129
"Редактирование раскраски файлов"

far2l/src/cfg/MaskGroups.cpp

+17-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ static void ApplyDefaultMaskGroups()
5858
L"read.me,readme*,*.txt,*.chm,*.hlp,*.doc,*.md,NEWS" },
5959
{ L"src", L"*.c,*.cpp,*.c++,*.h,*.hpp,*.h++,*.asm,*.inc,*.src,*.css,*.glsl,*.lua,*.java,*.php,*.go,*.perl,*.r,*.bas,*.pas,*.jsm,*.qml,"
6060
L"*.js,*.kt,*.sample,*.vs,*.fs,*.fx,*.hlsl,*.fsh,*.vsh,*.pixel,*.vertex,*.fragmentshader,*.fragment,*.vertexshader,"
61-
L"*.ml,*.frag,*.geom,*.vert,*.rs,*.ts,*.jam,*.tcl, *.swift" },
61+
L"*.ml,*.frag,*.geom,*.vert,*.rs,*.ts,*.jam,*.tcl,*.swift" },
6262
{ L"3d", L"*.ma,*.mb,*.opengex,*.ply,*.pov-ray,*.prc,*.step,*.skp,*.stl,*.u3d,*.vrml,*.xaml,*.xgl,*.xvl,*.xvrml,*.x3d,*.3d,*.3df,*.3dm,*.3ds,"
6363
L"*.3dxml,*.x3d,*.dds,*.sdkmesh,*.x,*.hdr,*.ktx,*.amf,*.asymptote,*.blend,*.collada,*.dgn,*.dwf,*.dwg,*.dxf,*.drawings,*.flt,*.fvrml,"
6464
L"*.gltf,*.hsf,*.iges,*.imml,*.ipa,*.jt"},
@@ -261,6 +261,22 @@ void MaskGroupsSettings()
261261
MenuModified = EditMaskRecord(MenuPos < 0 ? 0 : MenuPos, true);
262262
break;
263263

264+
case KEY_F3:
265+
if (MenuPos != -1) { // view the current group with wrap long line of masks
266+
ConfigReader cfg_reader;
267+
cfg_reader.SelectSectionFmt(FMS.TypeFmt, MenuPos);
268+
269+
FARString strTitle;
270+
strTitle = Msg::MaskGroupTitle;
271+
strTitle.AppendFormat(L" \"%ls\"", cfg_reader.GetString(FMS.MaskName).CPtr());
272+
273+
ExMessager em(strTitle);
274+
em.AddDupWrap(cfg_reader.GetString(FMS.MaskValue));
275+
em.AddDup(Msg::Ok);
276+
em.Show(MSG_LEFTALIGN, 1);
277+
}
278+
break;
279+
264280
case KEY_NUMENTER:
265281
case KEY_ENTER:
266282
case KEY_F4:

far2l/src/cfg/config.cpp

+11-6
Original file line numberDiff line numberDiff line change
@@ -217,19 +217,24 @@ void PanelSettings_HighlightMarks()
217217
{
218218
DialogBuilder Builder(Msg::ConfigPanelHighlightMarksTitle, L"PanelSettings");
219219

220-
Builder.AddCheckbox(Msg::ConfigFilenameMarksStatusLine, &Opt.FilenameMarksInStatusBar);
221-
DialogItemEx *tShowFilenameMarksInStatusLineHint = Builder.AddText(Msg::ConfigFilenameMarksStatusLineHint);
222-
tShowFilenameMarksInStatusLineHint->Flags = DIF_CENTERGROUP | DIF_DISABLE;
223-
224-
Builder.AddSeparator();
225-
226220
DialogItemEx *CbShowFilenameMarks = Builder.AddCheckbox(Msg::ConfigFilenameMarks, &Opt.ShowFilenameMarks);
227221
DialogItemEx *CbFilenameMarksAlign = Builder.AddCheckbox(Msg::ConfigFilenameMarksAlign, &Opt.FilenameMarksAlign);
228222
CbFilenameMarksAlign->Indent(1);
229223
Builder.LinkFlags(CbShowFilenameMarks, CbFilenameMarksAlign, DIF_DISABLE);
230224
DialogItemEx *tShowFilenameMarksHint = Builder.AddText(Msg::ConfigFilenameMarksHint);
231225
tShowFilenameMarksHint->Flags = DIF_CENTERGROUP | DIF_DISABLE;
232226

227+
Builder.AddSeparator();
228+
229+
DialogItemEx *CbShowFilenameMarksStatusLine
230+
= Builder.AddCheckbox(Msg::ConfigFilenameMarksStatusLine, &Opt.FilenameMarksInStatusBar);
231+
CbShowFilenameMarksStatusLine->Indent(1);
232+
Builder.LinkFlags(CbShowFilenameMarks, CbShowFilenameMarksStatusLine, DIF_DISABLE);
233+
DialogItemEx *tShowFilenameMarksInStatusLineHint = Builder.AddText(Msg::ConfigFilenameMarksStatusLineHint);
234+
tShowFilenameMarksInStatusLineHint->Flags = DIF_CENTERGROUP | DIF_DISABLE;
235+
236+
Builder.AddSeparator();
237+
233238
DialogItemEx *IndentationMinEdit = Builder.AddIntEditField((int *)&Opt.MinFilenameIndentation, 2);
234239
Builder.AddTextAfter(IndentationMinEdit, Msg::ConfigFilenameMinIndentation);
235240
IndentationMinEdit->Indent(1);

far2l/src/hilight.cpp

+15-13
Original file line numberDiff line numberDiff line change
@@ -769,7 +769,8 @@ void HighlightFiles::HiEdit(int MenuPos)
769769
const wchar_t *Mask;
770770
HiData.getItem(RealSelectPos)->GetMask(&Mask);
771771

772-
if (Message(MSG_WARNING, 2, Msg::HighlightTitle, Msg::HighlightAskDel, Mask,
772+
if (Message(MSG_WARNING, 2, Msg::HighlightTitle, Msg::HighlightAskDel,
773+
HiData.getItem(RealSelectPos)->GetTitle(), Mask,
773774
Msg::Delete, Msg::Cancel))
774775
break;
775776

@@ -789,35 +790,35 @@ void HighlightFiles::HiEdit(int MenuPos)
789790
FileFilterParams *ffp = HiData.getItem(RealSelectPos);
790791
FARString fs;
791792

792-
ExMessager em(L"Files highlighting expand Mask Groups");
793-
fs.Format(L"== Highlighting Name: \"%ls\"", ffp->GetTitle());
793+
ExMessager em(Msg::HighlightViewTitle);
794+
fs = Msg::HighlightViewName;
795+
fs.AppendFormat(L" \"%ls\"", ffp->GetTitle());
794796
em.AddDup(fs);
795797
{
796798
HighlightDataColor hl;
797799
ffp->GetColors(&hl);
798-
fs.Format(L"== Highlighting Marker: \"%ls\"", hl.Mark);
800+
fs = Msg::HighlightViewMarker;
801+
fs.AppendFormat(L" \"%ls\"", hl.Mark);
799802
em.AddDup(fs);
800803
}
801804
if (!ffp->GetMask(&fmask) )
802-
em.AddDup(L"== Highlighting has empty masks");
805+
em.AddDup(Msg::HighlightViewMasksEmpty);
803806
else {
804807
fs = L"== " + Msg::FileFilterMatchMaskCase;
805808
fs.AppendFormat(L": %s", ffp->GetMaskIgnoreCase() ? "OFF" : "ON");
806809
em.AddDup(fs);
807810
em.AddDup(L"");
808-
em.AddDup(L"== Highlighting masks before expand:");
811+
em.AddDup(Msg::HighlightViewMasksBeforeExpand);
809812
em.AddDupWrap(fmask);
810813

811814
// expand all groups
812-
bool b_first = true;
813815
int ngroups = 0;
814-
size_t pos_open, pos_close;
816+
size_t pos_open, pos_close = 0;
815817
FARString fs_group_name, fs_masks_from_group;
816818
fs = fmask;
817819
for( ;; ) {
818-
if( !fs.Pos(pos_open, '<', b_first ? 0 : pos_close+1) )
820+
if( !fs.Pos(pos_open, '<', pos_close) )
819821
break;
820-
b_first = false;
821822
if( !fs.Pos(pos_close, '>', pos_open+1) )
822823
break;
823824
if( pos_close-pos_open < 2 )
@@ -826,14 +827,15 @@ void HighlightFiles::HiEdit(int MenuPos)
826827
if( !GetMaskGroup(fs_group_name, fs_masks_from_group) )
827828
continue;
828829
fs.Replace(pos_open, pos_close-pos_open+1, fs_masks_from_group);
829-
pos_close = pos_open-1; // may be need recursive expand
830+
pos_close = pos_open; // may be need recursive expand
830831
ngroups++;
831832
}
832833
em.AddDup(L"");
833-
fs_group_name.Format(L"== Correctly expanded Groups inside Highlighting masks: %d", ngroups);
834+
fs_group_name = Msg::HighlightViewMasksCountExpandedGroups;
835+
fs_group_name.AppendFormat(L" %d", ngroups);
834836
em.AddDup(fs_group_name);
835837
em.AddDup(L"");
836-
em.AddDup(L"== Highlighting masks after expand all groups:");
838+
em.AddDup(Msg::HighlightViewMasksAfterExpand);
837839
em.AddDupWrap(fs);
838840
}
839841
em.AddDup(Msg::Ok);

far2l/src/message.cpp

+7-2
Original file line numberDiff line numberDiff line change
@@ -574,8 +574,13 @@ Messager &FN_NOINLINE ExMessager::AddDupWrap(const wchar_t *v)
574574
return AddDup(v);
575575

576576
FARString fs = v;
577-
for(size_t pos = 0; pos < maxlen; pos+=MAX_WIDTH_MESSAGE)
578-
AddDup( fs.SubStr(pos, pos+MAX_WIDTH_MESSAGE).CPtr() );
577+
for(size_t chars_pos = 0, chars_len, cells_n; chars_pos < maxlen; chars_pos += chars_len) {
578+
cells_n = MAX_WIDTH_MESSAGE;
579+
chars_len = StrSizeOfCells(&v[chars_pos], maxlen - chars_pos, cells_n, false);
580+
if (cells_n <= 0)
581+
break;
582+
AddDup( fs.SubStr(chars_pos, chars_len).CPtr() );
583+
}
579584
return *this;
580585
}
581586

far2l/src/message.hpp

+4
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,11 @@ struct ExMessager : Messager
8989
Messager &AddFormat(FarLangMsg fmt, ...);
9090
Messager &AddFormat(const wchar_t *fmt, ...);
9191
Messager &AddDup(const wchar_t *v);
92+
inline Messager &AddDup(FarLangMsg v)
93+
{ return AddDup(v.CPtr()); };
9294
Messager &AddDupWrap(const wchar_t *v);
95+
inline Messager &AddDupWrap(FarLangMsg v)
96+
{ return AddDupWrap(v.CPtr()); };
9397
Messager &AddMultiline(const wchar_t *v, const wchar_t *divs = L"\n");
9498
inline Messager &AddMultiline(FarLangMsg v, const wchar_t *divs = L"\n")
9599
{ return AddMultiline(v.CPtr(), divs); };

0 commit comments

Comments
 (0)