Skip to content

Enhance date/time filtering and improve UI styling and behavior - #17

Merged
nikryden merged 4 commits into
masterfrom
newTest-2
Apr 18, 2026
Merged

nikryden merged 4 commits into
masterfrom
newTest-2

Conversation

@nikryden

Copy link
Copy Markdown
Owner

This pull request introduces a new reusable TimePicker control and refactors the filter window to use it for time selection, improving usability and code maintainability. It also adds comprehensive unit tests for log filtering, ensures correct handling of internal visibility for testing, and improves window maximize behavior for multi-monitor setups.

UI/UX Improvements and Refactoring:

  • Introduced a new TimePicker user control (TimePicker.xaml and TimePicker.xaml.cs) for selecting hours and minutes, replacing plain text boxes in the filter window for more robust and user-friendly time input. ([[1]](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-9124b5decf9f457cf5057268aa3a28a19677ce7c7c3ace19dee7049e3ab61873R1-R15), [[2]](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-b3a1806753218307444ecec57ce4c3e0ce5f548203008bc9126c5d927457336aR1-R71))
  • Refactored FilterWindow.xaml and its code-behind to use the new TimePicker control for start and end time selection, synchronizing with the view model and handling initialization and clearing of time values. ([[1]](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-67d41ac2d7e916b04d299440b775333b2c14add52af2082977d86c24afe0807bR7), [[2]](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-67d41ac2d7e916b04d299440b775333b2c14add52af2082977d86c24afe0807bL65-R71), [[3]](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-67d41ac2d7e916b04d299440b775333b2c14add52af2082977d86c24afe0807bL92-R98), [[4]](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-83cb0763b35df579efa2fafe114390c4e8e4fa43c6b6c3f5e8c6b4aa1fe67a8cR10-L74), [[5]](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-83cb0763b35df579efa2fafe114390c4e8e4fa43c6b6c3f5e8c6b4aa1fe67a8cL104-R117), [[6]](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-83cb0763b35df579efa2fafe114390c4e8e4fa43c6b6c3f5e8c6b4aa1fe67a8cL113-R126))

Testing and Internal Visibility:

  • Added [assembly: InternalsVisibleTo("LogViewer2026.UI.Tests")] to AssemblyInfo.cs to allow internal members to be tested, and included the necessary using directive. ([[1]](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-acb8a0d43d553d6ac1fe31725caaeb0ad42e9a49e8d8b2291ef60fa9e5dec6d9R1), [[2]](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-acb8a0d43d553d6ac1fe31725caaeb0ad42e9a49e8d8b2291ef60fa9e5dec6d9R12-R13))
  • Implemented comprehensive unit tests for the FilterLogText method, covering scenarios such as date filtering, log level filtering, continuation lines, and combined filters. ([LogViewer2026.UI.Tests/ViewModels/MainViewModelTests.csR354-R505](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-9b753046e8f61ce52ea29c02cc5333390819d7c2b3ca598f190fc66519e02459R354-R505))

Window Behavior Enhancement:

  • Improved window maximize behavior in MainWindow.xaml.cs to ensure the window maximizes correctly within the working area of the current monitor, especially in multi-monitor setups. ([LogViewer2026.UI/MainWindow.xaml.csR1065-R1118](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-f02b0078c0b0fedb0471c9cec186c38dc79e0234fc471517d3e3d0f6d03b538cR1065-R1118))

Other UI Adjustments:

  • Minor update to the status bar in MainWindow.xaml to ensure proper alignment and appearance. ([LogViewer2026.UI/MainWindow.xamlR576](https://github.com/nikryden/LogViewer2026/pull/17/files#diff-6735e05d5a2bb9bfa14fc57f3ef2f41b26a20de9c4fd2943b111fceb76d0c709R576))

@nikryden
nikryden merged commit b57d522 into master Apr 18, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant