sergey-su / logjoint

LogJoint log viewer core. Viewer plugins for publicly-available domains.
MIT License
55 stars 13 forks source link

Taskbar progress bar and Run All Postprocessing option in command line and protocol uri handler #5

Closed pnelson786 closed 6 years ago

pnelson786 commented 6 years ago

Two requests

a) On windows it is good to have Progress bar shown in taskbar icon, during long processing tasks. https://msdn.microsoft.com/en-us/library/system.windows.shell.taskbariteminfo.progressstate%28v=vs.110%29.aspx?f=255&MSPPError=-2147217396

b) It will great to have a automatic "run all postprocessing" option exposed in command line and protocol uri handler. I want to reduce the time dev spent go back and forth to logjoint to see if log processing is finished. Single click on file and protocol link should trigger all processing and he can continue other work until it is finished.

sergey-su commented 6 years ago

a) Taskbar icon progress has been implemented long ago. It's done via raw COM interfaces instead of TaskbarItemInfo wrapper because the latter is not available in WinForms. Here is how it looks on win10 when you run long postprocessing: progress Let me know if progress does not work on your machine.

b) Would it suffice if auto postprocessing is configured individually by each user? It can be another checkbox in the options dialog: options

pnelson786 commented 6 years ago

a) Taskbar works for me for post processing but not pre-processing. Think preprocessing time requirement is high if we are downloading a huge file and/or decoding the logs first. I think I can live with it, if it works for post processing. But if the code to add it to preprocessing stage is not too high then it would be great to have it. Devs can continue their work and simply monitor taskbar for progress.

b) Great Idea! Yes user controlled option in a dialog would be a better choice actually, giving users the control.

sergey-su commented 6 years ago

Progress indication is implemented for some pre-processings such as unzipping or downloading. Custom decoding pre-processor can implement that too. In a plugin you can get LogJoint.Extensibility.IModel.ProgressAggregator and use it to report progress.

Pushed (b) implementation to master. Please give it test.

pnelson786 commented 6 years ago

Thanks! for b). I will look into it, today.

pnelson786 commented 6 years ago

I verified auto post processing facility. It looks good.

pnelson786 commented 6 years ago

Also could implement ProgressAggregator for some custom preprocessing in extensions. Thanks! Closing this issue.