From 83327ccfb852b675ab404824f4500c12117160ca Mon Sep 17 00:00:00 2001 From: Basile Burg Date: Fri, 14 Nov 2014 23:09:10 +0100 Subject: [PATCH] added fast clean msg btn --- src/ce_messages.lfm | 72 ++++++++++++++++++++++++++++++++++++++------- src/ce_messages.pas | 25 +++++++++------- 2 files changed, 76 insertions(+), 21 deletions(-) diff --git a/src/ce_messages.lfm b/src/ce_messages.lfm index bcb05792..113ca591 100644 --- a/src/ce_messages.lfm +++ b/src/ce_messages.lfm @@ -56,73 +56,123 @@ inherited CEMessagesWidget: TCEMessagesWidget TabOrder = 1 Wrapable = False object btnSelAll: TToolButton - Left = 1 + Left = 33 Hint = 'unfiltered messages' Top = 2 Caption = 'All' Down = True end object ToolButton2: TToolButton - Left = 101 + Left = 133 Top = 2 Width = 5 Caption = 'ToolButton2' Style = tbsDivider end object btnSelEdit: TToolButton - Left = 106 + Left = 138 Hint = 'messages related to the current document' Top = 2 Caption = 'Editor' end object ToolButton4: TToolButton - Left = 206 + Left = 238 Top = 2 Width = 5 Caption = 'ToolButton4' Style = tbsDivider end object btnSelProj: TToolButton - Left = 211 + Left = 243 Hint = 'message related to the current project' Top = 2 Caption = 'Project' end object ToolButton8: TToolButton - Left = 311 + Left = 343 Top = 2 Width = 5 Caption = 'ToolButton8' Style = tbsDivider end object btnSelApp: TToolButton - Left = 316 + Left = 348 Hint = 'messages related to Coedit' Top = 2 Caption = 'Application' end object ToolButton10: TToolButton - Left = 416 + Left = 448 Top = 2 Width = 5 Caption = 'ToolButton10' Style = tbsDivider end object btnSelMisc: TToolButton - Left = 421 + Left = 453 Hint = 'miscellaneous messages, custom tools output, etc' Top = 2 Caption = 'Misc.' end + object btnClearCat: TBitBtn + Left = 1 + Height = 24 + Top = 2 + Width = 27 + Glyph.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00015F9000002B + 550001568600002B5500014C7B00002B550000315C47002D57CC002C56CC002B + 5548002C570000335E00003C680001010100014B7900014B7A00015F9000002B + 550001568600002B5500014C7B00002B5548002B55CC5494B7FF34679AFF0030 + 5ACA002D584800335E00003C680001010100014B7900014B7A00015F9000002B + 550001568600002B5500014D7C41014B79BB3A719FFF386F9DFF5F9FC0FF4578 + ABFF003763C600356046003C680001010100014B7900014B7A00015F9000002B + 550001568600002B5548002B55CC4F8DB3FF68ACC8FF4880ACFF5087B3FF6AAA + C8FF5588BBFF00416EC1003E6A4401010100014B7900014B7A00015F9000002B + 55000157873F015585B65FA1C0FF3F79A3FF4278A7FF66A6C5FF619DC2FF5E95 + C1FF74B4D1FF6598CBFF010101AB0101013C014B7900014B7A00015F9000002B + 5548002B55CC336898FF508CB3FF69ABC8FF67A7C6FF4D80B3FF71B1CEFF6EA9 + CDFF6CA3CEFF6D6D6DFFAA9999FF010101A5014C7A42014B7A000160913E015E + 8FB16AAEC9FF66A8C5FF5692B8FF4B80AFFF5D97BFFF77B9D2FF669DC8FF7BBA + D5FF7E7E7EFFCEC0C0FF797979FF5588BBFF014F7EA6014E7D0001629383126D + 9BB82078A2C33385ABD058A2C0E774B9D1FB6EACCCFF669DC8FF83C7DAFF8888 + 88FFD3CACAFF838383FF60A4C6FF63A7C9FF015382A501528100016395050163 + 9414016293280161924101619277106C9AAB4B9BBADB79B9D5FC919191FFD9D4 + D4FF8D8D8DFF68ACCEFF74B8D4FF015887B40156864001558400016395000163 + 9400016293000161920001629300016293100162936D00000069DDDCDCFF9494 + 94FF70B4D6FF80C4DBFF015C8DB2001A63CC0013584800226E00016395000163 + 94000162930001619200016293000162930001639400000000240000006788CC + DDFF87CBDDFF016091AF003080CC3F72B6FF002774CC00247048016395000163 + 940001629300016192000162930001629300016394000000000001334C390165 + 969C0164959C0163943E00398B48003688CC5285C9FF002E7ECC016395000163 + 940001629300016192000162930001629300016394000000000001334C000165 + 97000164960001639400003A8C00003E9248003C8FCC00378A48FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFF + FF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00FFFFFF00 + } + TabOrder = 0 + end + object ToolButton1: TToolButton + Left = 28 + Top = 2 + Width = 5 + Caption = 'ToolButton1' + Style = tbsDivider + end end end end inherited contextMenu: TPopupMenu - left = 16 + left = 32 top = 40 end object imgList: TImageList[2] - left = 56 + left = 72 top = 40 Bitmap = { 4C69050000001000000010000000CF986200D1996200D1996234D0965DBCCF94 diff --git a/src/ce_messages.pas b/src/ce_messages.pas index 5666793c..ceb81907 100644 --- a/src/ce_messages.pas +++ b/src/ce_messages.pas @@ -6,8 +6,9 @@ interface uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, ExtCtrls, ComCtrls, - lcltype, ce_widget, ActnList, Menus, clipbrd, AnchorDocking, process, asyncprocess, - ce_common, ce_project, ce_synmemo, ce_dlangutils, ce_interfaces, ce_observer; + lcltype, ce_widget, ActnList, Menus, clipbrd, AnchorDocking, process, + asyncprocess, Buttons, ce_common, ce_project, ce_synmemo, ce_dlangutils, + ce_interfaces, ce_observer; type @@ -22,10 +23,12 @@ type { TCEMessagesWidget } TCEMessagesWidget = class(TCEWidget, ICEMultiDocObserver, ICEProjectObserver, ICELogMessageObserver) + btnClearCat: TBitBtn; imgList: TImageList; List: TTreeView; selCtxt: TToolBar; btnSelAll: TToolButton; + ToolButton1: TToolButton; ToolButton10: TToolButton; btnSelMisc: TToolButton; ToolButton2: TToolButton; @@ -38,7 +41,7 @@ type procedure ListKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); private fActClearAll: TAction; - fActClearEdi: TAction; + fActClearCurCat: TAction; fActSaveMsg: TAction; fActCopyMsg: TAction; fActSelAll: TAction; @@ -48,7 +51,7 @@ type fCtxt: TCEAppMessageCtxt; procedure filterMessages(aCtxt: TCEAppMessageCtxt); procedure clearOutOfRangeMessg; - procedure actClearEdiExecute(Sender: TObject); + procedure actClearCurCatExecute(Sender: TObject); procedure actClearAllExecute(Sender: TObject); procedure actSaveMsgExecute(Sender: TObject); procedure actCopyMsgExecute(Sender: TObject); @@ -108,9 +111,9 @@ begin fActClearAll := TAction.Create(self); fActClearAll.OnExecute := @actClearAllExecute; fActClearAll.caption := 'Clear all messages'; - fActClearEdi := TAction.Create(self); - fActClearEdi.OnExecute := @actClearEdiExecute; - fActClearEdi.caption := 'Clear editor messages'; + fActClearCurCat := TAction.Create(self); + fActClearCurCat.OnExecute := @actClearCurCatExecute; + fActClearCurCat.caption := 'Clear filtered messages'; fActCopyMsg := TAction.Create(self); fActCopyMsg.OnExecute := @actCopyMsgExecute; fActCopyMsg.Caption := 'Copy message(s)'; @@ -132,6 +135,8 @@ begin btnSelApp.OnClick := @selCtxtClick; btnSelAll.OnClick := @selCtxtClick; // + btnClearCat.OnClick := @actClearCurCatExecute; + // EntitiesConnector.addObserver(self); EntitiesConnector.endUpdate; end; @@ -237,7 +242,7 @@ function TCEMessagesWidget.contextAction(index: integer): TAction; begin case index of 0: result := fActClearAll; - 1: result := fActClearEdi; + 1: result := fActClearCurCat; 2: result := fActCopyMsg; 3: result := fActSelAll; 4: result := fActSaveMsg; @@ -250,9 +255,9 @@ begin lmClearbyContext(amcAll); end; -procedure TCEMessagesWidget.actClearEdiExecute(Sender: TObject); +procedure TCEMessagesWidget.actClearCurCatExecute(Sender: TObject); begin - lmClearbyData(@fDoc); + lmClearbyContext(fCtxt); end; procedure TCEMessagesWidget.actCopyMsgExecute(Sender: TObject);