diff --git a/icons/other/bricks.png b/icons/other/bricks.png new file mode 100644 index 00000000..c7d1ee03 Binary files /dev/null and b/icons/other/bricks.png differ diff --git a/src/ce_icons.inc b/src/ce_icons.inc index 451c123d..3aa873d3 100644 --- a/src/ce_icons.inc +++ b/src/ce_icons.inc @@ -973,6 +973,47 @@ LazarusResources.Add('folder_star','PNG',[ +#250'U'''#200'ur'#141#220'o'#253'V'#228#131#127#4#24#0'E'''#18'h'#153#158#23 +#220#0#0#0#0'IEND'#174'B`'#130 ]); +LazarusResources.Add('bricks','PNG',[ + #137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#16#0#0#0#16#8#6#0#0#0#31#243#255'a' + +#0#0#0#25'tEXtSoftware'#0'Adobe ImageReadyq'#201'e<'#0#0#3'aIDATx'#218'|'#147 + +']L'#155'U'#28#198#127#239#219#183#31'o[Z'#198#232#24#131#193'6SR'#135#211'1' + +#152#134#204#144#248'u!'#201'63L'#220'LL'#188#243#210#196#143'LM'#204#166'#' + +#238#210#24'/'#156'7'#186#24#227'w'#156'a'#26#135#154'eQ'#162#201#22#8'cP;(B' + +'W'#10#148'B)'#244#139#182#239'9'#245#176#197#248'q'#225'?'#249'_'#156#228'<' + +#231#249'?'#255#243''#9 + +#169#17't'#5#210#3#173'T'#132#201'J8'#174't'#187#233#220'q'#20#135'abhR'#160 + +#137#202'qc#'#253#254#185#222#8'O'#185#174#146#249#241'u'#165'o'#1#255'v'#19 + +#202#243'd'#23'r'#164#163#19#172'I'#139#155#161#237','#132#154'1'#166'> [X' + +#198#176#132#172#222#191'w'#15'Ov'#183#16'M'#195#229#204#163'$z'#14'q|['#156 + +#228#224'k'#248'>z'#143'rs'#15#159'6~'#200#182#189'/'#224#176#185#240#25':N' + +#151#159#244#252'<'#134#207'm'#227#225#187'='#204#198'f'#25#141'k'#4#27#235#8 + +#5'k'#8#23#219'0'#142'|'#206#254'&A'#182#228'`'#254'R'#134#246'Z'''#134#221 + +'K1_fyqI'#153'N'#195'X/X|9R '#224#209'yd'#159#143#252'Z'#10#153'K'#211'Uog|' + +#217#195'O'#19#234'wdQ-'#184'La='#203'b|'#133#242#134'('#197'"'#249'7'#207 + +#159#157#31'4t]'#163'Nm>W*'#243#213'h'#145'@'#141#159#167';'#183'0'#16#209 + +#149'M'#139'8'#237'`'#186'L'#236#182#28#209#177'dx'#248#138#236#255#225#179 + +'TDy('#246#214#23#193#180#161#171'1'#18#137'8;'#155'['#241'z'#188#228'K'#21 + +#226'k'#18#143'S'#226'v'#154#164'29&'#254#152'"'#154#200'q'#233#229'd'#159#2 + +#222':'#243'I'#168#160#235'r'#211#190#216'"'#131#231#191'u5'#236#142#173'n' + +#136#7'-'#171'b'#212#215'm'#165#174#198'A$'#150'dh'#248#6#145#153#217#210#244 + +#200'/'#167#174#156'=v'#178#255#227#166#27#15#245'5U6C'#176#25':'#197#141'q' + +#236#157#159#135#191'~'#190'gF='#247'}'#251#225#231'B'#11#221'GN'#15#155#222 + +#182'J1?'#25#251'm'#224#244#196#197's'#183#199'='#252#246'XZ'#211#30#255'+' + +#132#127#167#247'?g'#149'S'#148#213'P'#6'P'#11#128'Y'#213#5#254#167#254#20'`' + +#0'D,pH'#240#197#231#211#0#0#0#0'IEND'#174'B`'#130 +]); LazarusResources.Add('cut','PNG',[ #137'PNG'#13#10#26#10#0#0#0#13'IHDR'#0#0#0#16#0#0#0#16#8#6#0#0#0#31#243#255'a' +#0#0#0#4'gAMA'#0#0#175#200'7'#5#138#233#0#0#0#25'tEXtSoftware'#0'Adobe Image' diff --git a/src/ce_libman.pas b/src/ce_libman.pas index 80c8c52c..ca9d8d12 100644 --- a/src/ce_libman.pas +++ b/src/ce_libman.pas @@ -121,6 +121,7 @@ var itm: TLibraryItem; lst: TStringList; i, j: NativeInt; + dir: string; begin for i := 0 to fCol.Count-1 do begin @@ -142,7 +143,10 @@ begin begin lst := TStringList.Create; try - listFiles(lst, itm.libFile); + dir := itm.libFile; + if itm.libFile[length(dir)] = DirectorySeparator then + dir := dir[1..length(dir)-1]; + listFiles(lst, dir); for j:= 0 to lst.Count-1 do begin if extractFileExt(lst.Strings[j]) = libExt then diff --git a/src/ce_libmaneditor.lfm b/src/ce_libmaneditor.lfm index ca233d10..ed271b2a 100644 --- a/src/ce_libmaneditor.lfm +++ b/src/ce_libmaneditor.lfm @@ -1,7 +1,7 @@ inherited CELibManEditorWidget: TCELibManEditorWidget - Left = 1355 + Left = 699 Height = 349 - Top = 210 + Top = 362 Width = 466 Caption = 'Library manager' ClientHeight = 349 @@ -50,7 +50,7 @@ inherited CELibManEditorWidget: TCELibManEditorWidget TabOrder = 1 end object btnSelFile: TBitBtn - Left = 402 + Left = 374 Height = 24 Hint = 'select the library file' Top = 0 @@ -72,7 +72,7 @@ inherited CELibManEditorWidget: TCELibManEditorWidget TabOrder = 3 end object btnEditAlias: TBitBtn - Left = 374 + Left = 346 Height = 24 Hint = 'edit the library alias' Top = 0 @@ -102,6 +102,17 @@ inherited CELibManEditorWidget: TCELibManEditorWidget Spacing = 0 TabOrder = 6 end + object btnSelfoldOfFiles: TBitBtn + Left = 402 + Height = 24 + Hint = 'select a folder of library files' + Top = 0 + Width = 28 + Align = alRight + OnClick = btnSelfoldOfFilesClick + Spacing = 0 + TabOrder = 7 + end end object List: TListView[1] Left = 4 diff --git a/src/ce_libmaneditor.pas b/src/ce_libmaneditor.pas index eeebb650..38febf3b 100644 --- a/src/ce_libmaneditor.pas +++ b/src/ce_libmaneditor.pas @@ -19,6 +19,7 @@ type btnAddLib: TBitBtn; btnRemLib: TBitBtn; btnEditAlias: TBitBtn; + btnSelfoldOfFiles: TBitBtn; btnSelRoot: TBitBtn; List: TListView; Panel1: TPanel; @@ -26,6 +27,7 @@ type procedure btnEditAliasClick(Sender: TObject); procedure btnRemLibClick(Sender: TObject); procedure btnSelFileClick(Sender: TObject); + procedure btnSelfoldOfFilesClick(Sender: TObject); procedure btnSelRootClick(Sender: TObject); procedure btnMoveUpClick(Sender: TObject); procedure btnMoveDownClick(Sender: TObject); @@ -67,6 +69,8 @@ begin btnEditAlias.Glyph.Assign(png); png.LoadFromLazarusResource('folder_brick'); btnSelFile.Glyph.Assign(png); + png.LoadFromLazarusResource('bricks'); + btnSelfoldOfFiles.Glyph.Assign(png); png.LoadFromLazarusResource('folder_add'); btnSelRoot.Glyph.Assign(png); finally @@ -88,6 +92,8 @@ begin itm.Caption := notav; itm.SubItems.Add(notav); itm.SubItems.Add(notav); + SetFocus; + itm.Selected := true; end; procedure TCELibManEditorWidget.btnEditAliasClick(Sender: TObject); @@ -139,6 +145,23 @@ begin gridToData; end; +procedure TCELibManEditorWidget.btnSelfoldOfFilesClick(Sender: TObject); +var + dir, outdir: string; +begin + if List.Selected = nil then exit; + if List.Selected.SubItems.Count > 0 then + dir := List.Selected.SubItems[0] + else + begin + dir := ''; + List.Selected.SubItems.Add(dir); + end; + if selectDirectory('folder of static libraries', dir, outdir, true, 0) then + List.Selected.SubItems[0] := outdir; + gridToData; +end; + procedure TCELibManEditorWidget.btnSelRootClick(Sender: TObject); var dir, outdir: string;