* Adds basic MainLoop unit tests
* Remove WinChange action from Curses
* Remove WinChange action from Curses
* Remove ProcessInput action from Windows MainLoop
* Simplified MainLoop/ConsoleDriver by making MainLoop internal and moving impt fns to Application
* Modernized Terminal resize events
* Modernized Terminal resize events
* Removed un used property
* for _isWindowsTerminal devenv->wininit; not sure what changed
* Modernized mouse/keyboard events (Action->EventHandler)
* Updated OnMouseEvent API docs
* Using WT_SESSION to detect WT
* removes hacky GetParentProcess
* Updates to fix#2634 (clear last line)
* removes hacky GetParentProcess2
* Addressed mac resize issue
* Addressed mac resize issue
* Removes ConsoleDriver.PrepareToRun, has Init return MainLoop
* Removes unneeded Attribute methods
* Removed GetProcesssName
* Removed GetProcesssName
* Refactored KeyEvent and KeyEventEventArgs into a single class
* Revert "Refactored KeyEvent and KeyEventEventArgs into a single class"
This reverts commit 88a00658db.
* Fixed key repeat issue; reverted stupidity on 1049/1047 confusion
* Updated CSI API Docs
* merge
* Rearranged Event.cs to Keyboard.cs and Mouse.cs
* Renamed KeyEventEventArgs KeyEventArgs
* temp renamed KeyEvent OldKeyEvent
* Merged KeyEvent into KeyEventArgs
* Renamed Application.ProcessKey members
* Renamed Application.ProcessKey members
* Renamed Application.ProcessKey members
* Added Responder.KeyPressed
* Removed unused references
* Fixed arg naming
* InvokeKeybindings->InvokeKeyBindings
* InvokeKeybindings->InvokeKeyBindings
* Fixed unit tests fail
* More progress on refactoring key input; still broken and probably wrong
* Moved OnKeyPressed out of Responder and made ProcessKeyPrssed non-virtual
* Updated API docs
* Moved key handling from Responder to View
* Updated API docs
* Updated HotKey API docs
* Updated shortcut API docs
* Fixed responder unit tests
* Removed Shortcut from View as it is not used
* Removed unneeded OnHotKey override from Button
* Fixed BackTab logic
* Button now uses Key Bindings exclusively
* Button now uses Key Bindings exclusively
* Updated keyboard.md docs
* Fixed unit tests to account for Toplevel handling default button
* Added View.InvokeCommand API
* Modernized RadioGroup
* Removed ColdKey
* Modernized (partially) StatusBar
* Worked around FileDialog issue with Ctrl-F
* Fixed driver unit test; view must be focused to reciev key pressed
* Application code cleanup
* Start on updaing menu
* Menu now mostly works
* Menu Select refinement
* Fixed known menu bugs!
* Enabled HotKey to cause focus- experimental
* Fixes#3022 & adds unit test to prove it
* Actually Fixes#3022 & adds unit test to prove it
* Working through hotkey issues
* Misc fixes
* removed hot/cold key stuff from Keys scenario
* Fixed scenarios
* Simplified shortcut string handling
* Modernized Checkbox
* Modernized TileView
* Updated API docs
* Updated API docs
* attempting to publish v2 docs
* Revert "attempting to publish v2 docs"
This reverts commit 59dcec111b.
* Playing with api docs
* Removed Key.BackTab
* Removed Caps/Scroll/Numlock
* Partial removal of keymodifiers - unit tests pass
* Partial removal of keymodifiers - broke netdriver somewhere
* WindowsDriver & added KeyEventArgsTests
* Fixing menu shortcut/hotkeys - broke Menu.cs into separate files
* Fixed MenuBar!
* Finished modernizing Menu/MenuBar
* Removed Key.a-z. Broke lots of stuff
* checkout@v4
* progress on key mapping and formatting
* VK tests are still failing
* Fixed some unit tests
* Added Hotkey and Keybinding unit tests
* fixed unit test
* All unit tests pass again...
* Fixed broken unit tests
* KeyEventArgs.KeyValue -> AsRune
* Fixed bugs. Still some broken
* Added KeyEventArgs.IsAlpha. Added KeyEventArgs.cast ops. Fixed bugs. Unit tests pass
* Fixed WindowsDriver
* Oops.
* Refactoring based on bdisp's help. Not complete!
* removed calling into subviews from OnKeyBindings
* removed calling into subviews from OnKeyBindings
* Improved View KeyEvent unit tests
* More hotkey unit tests
* BIg change - Got rid of KeyPress w/in Application/Drivers
* Unit tests now pass again
* Refreshed API docs
* Better HotKey logic. More progress. Getting close.
* Fixed handling of shifted chars like ö
* Minor code cleanup
* Minor code cleanup2
* Why is build Action failing?
* Why is build Action failing??
* upgraded to .net8 to try to fix weird CI/CD build errors
* upgraded to .net8 to try to fix weird CI/CD build errors2
* Disabling TextViewTests to diagnose build errors
* reenable TextViewTests to diagnose build errors
* Arrrrrrg
* Merged v2_develop
* Fixed uppercase accented keys in WindowsDriver
* Fixed key binding api docs
* Experimental impl of CommandScope.SubViews for MenuBar
* Removed dead code from application.cs
* Removed dead code from application.cs
* Removed dead code from ConsoleDriver.cs
* Cleaned up some key binding stuff
* Disabled Alt to activate menu for now
* Updated label commands
* Fixed menu bugs. Upgraded menu unit tests
* Fixed unit tests
* Working on NetDriver
* fixed netdriver
* Fixed issues called out by @bdisp CR
* fixed CursesDriver
* added todo to netdriver
* Cherry picked treeview test fix 1b415e5
* Fix NetDriver.
* CommandScope->KeyBindingScope
* Address some tznind feedback
* Refactored KeyBindings big time!
* Added key consts to KeyEventArgs and renamed Key to ConsoleDriverKey
* Fixed some API docs
* Moved ConsoleDriverKey to ConsoleDriver.cs
* Renamed Key->ConsoleDriverKey
* Renamed Key->ConsoleDriverKey
* Renamed Key->ConsoleDriverKey
* renamed file I forgot to rename before
* Updated name and API docs of KeyEventArgs.isAlpha
* Fixed issues with OnKeyUp not doing the right thing.
* Fixed MainLoop.Running never being used
* Fixed MainLoop.Running never being used - unit tests
* Claned up BUGBUG comments
* Disabled a unit test to see why ci/cd tests are failing
* Removed defunct commented code
* Removed more defunct commented code
* Re-eanbled unit test; jsut removing one test case...
* Disabled more...
* Renambed Global->Applicaton and updated scope API docs
* Disabled more unit tests...
* Removed dead code
* Disabled more unit tests...2
* Disabled more unit tests...3
* Renambed Global->Applicaton and updated scope API docs 2
* Added more KeyBinding scope tests
* Added more KeyBinding scope tests2
* ConsoleDriverKey too long. Key too ambiguous. Settled on KeyCode. (Partialy because eventually I want to intro a class named Key).
* KeyEventArgs improvements. cast to Rune must be explicit as it's lossy
* Fixed warnings
* Renamed KeyEventArgs to Key... progress on fixing broken stuff that resulted
* Fix ConsoleKeyMapping bugs.
* Fix NetDriver issue from converting a lower case to a upper case.
* Started migration to Key from KeyCode - e.g. made HotKeys all consistent.
* Fixed build warnings
* Added key defns to Key
* KeyBindings now uses Key vs. KeyCode
* Verified by tweaking UICatalog
* Fixed treeview test ... again
* Renamed ProcessKeyDown/Up to NewKeyDown/Up and OnKeyPressed to OnProcessKeyDown to make things more clear
* Added test AllViews_KeyDown_All_EventsFire unit tests and fixed a few Views that were wrong
* fixed stupid KeyUp event bug
* If key not handled, return false for datefield
* dotnet test --no-restore --verbosity diag
* dotnet test --blame
* run tests on windows
* Fix TestVKPacket unit test and move it to ConsoleKeyMappingTests.cs file.
* Remove unnecessary commented code.
* Tweaked unit tests and removed Key.BareKey
* Fixed little details and updated api docs
* updated api docs
* AddKeyBindingsForHotKey: KeyCode->Key
* Cleaned up more old KeyCode usages. Added TODOs
---------
Co-authored-by: BDisp <bd.bdisp@gmail.com>
* Move all public nested classes out into own files
* Move more nested classes out
* Tidy up and treat CA1034 as an error. Fix remaining nested classes.
* Remove partial keyword from ThemeManager as it is no longer needed
* Rename Bar to BarSeriesBar to more clearly indicate it is part of GraphView subsystem
* Fix xmldoc references
* Revert nesting changes to ConsoleDrivers
* Change to file scoped namespaces and revert renames
- LineCanvasCell back to just Cell
- ApplicationRunState back to just RunState
* Switch to file scoped namespaces
* Added View.BorderStyle and renamed BorderStyle enum to LineStyle
* Fixed a lot of things and broke everything else
* Fixed things
* Updated DialogTests
* Updates including Rect unit tests
* Fixed Dialog & MessagBox tests
* Fixed AllviewsTester bug
* Fixed AllviewsTester bug
* Removed Border class
* Renamed View privates with _
* Removed comments in MessageBox.cs
* Investigating new file dialog
* Column sorting
* Add navigationStack
* Append autocomplete half working
* Change autocomplete append to use draw effect instead of selection effect
* WIP on FileDialog2
* Refactor sort order and add more 'ls' colors
* Refactor history to its own class
* FileDialog2 navigation fixes/improvements
* Added centered Title
* Add tree view and split container
* Add FileDialogState
* Add AllowsMultipleSelection
* Add result fields and Scenario
* Added FileDialo2 test file
* Fix FileDialog2 Redraw padding to respect max/min view bounds
* Fix unit tests and warnings
* Started on better keyboard navigation in FileDialog2
* Update to match new SplitContainer API
* Quality of Life improvements
* Fix recommending parent folder
* Remove border from SplitContainer in FileDialog2 and fixed tests
* Bugfixes and improvements to FileDialog2
* usability improvements to FileDialog2
* Add multi select and OpenMode
* Enforce OpenMode when making a multi selection
* Prevent typing illegal characters
* Added AllowedTypes to FileDialog2
* Added combo box filter AllowedType
* Improve code readability by reordering members
* Do not update FileDialog2 text box when selecting ".." in TableView
* Fix history navigation in FileDialog2
* Restore selection after navigating backwards in history
* Add FileDialog2 tests
* Make FileDialog2 Title user configurable
* Fix DirectTyping_Allowed unit test when running on linux
* Change Home/End to go to first/last cell in table in FileDialog2
* Remove overloaded Title property
* Switch to `ustring.IsNullOrEmpty`
* Update to latest TileView API
* Add TableView navigation by letter using CollectionNavigator
* Fix recreating search navigator too often
* Add tests for proper disposing
* Make Ctrl+F10 toggle split line focusability
* Fix layout bug in first tile when orientation is horizontal
* Switch to GenerateImage
* Fix not calling base constructor
* Revert "Merges latest LineCanvas into TileView"
* Fix keyboard tab navigation problems
* Workaround for changing CanFocus throwing Exceptions sometimes
* Update to latest splitcontainer API
* Adjust suggestions to be gray and properly update on keystrokes
* Move ok and cancel to bottom
* Add MustExist and fix multi selection of 1 result
* bugfixes and quality of life
* Navigating to .. clears path up to current dir
* Better arrow key navigation
* Make title pretty and informative
* Fix test
* Fix test
* Trim default Titles to be more compact and readable
* Fix bad merge changes
* Remove EscSeqReq files that are not in v2... came from develop?!
* Fix nullable and enable toggle select on table view
* Fix multi select return value
* Add icon and monochrome support
* Add search elements
* Add search for current directory
* WIP: Async search
* Thread safety and disposal
* Improve UX
* Fix for rapid search results
* Fix warnings and whitespace
* Don't add more than 10000 search results
* Add support for adjusting search matching
* Added ISearchMatcher example to FileDialog2Example
* Remove double spaces after periods
* Make MaxSearchResults a config setting
* Localization for FileDialog2
* Fix build error
* Support for custom open button Text
* Improve file dialog scenario UX
* Change feedback to a drawing effect in center of screen
* Explore MenuBar instead of ComboBox for AllowedTypes
* Fix prompt and move file open into try/catch for errors reading files
* Open menu when tabbed to
* FileDialog2 improvements
- Expose table/tree style properties
- Rename Monochrome to UseColors and default to false
- IconGetter no longer forces space
- On Windows in Scenario just use a backslash for folder icon (i.e. not unicode)
-
* Add style settings in scenario and make autocomplete case insensitive on Windows
* Move ok button text to Style
* xmldoc
* Remove old FileDialog and re-wire OpenDialog and SaveDialog to use FileDialog2 base
* localization
* Move open/save dialog to their own files
* Rename FileDialog2 to FileDialog
* Fix repetition in string
* Add IAllowedType
* Get rid of AllowedTypesIsStrict
User now adds the `IAllowedType` implementation `AllowedTypeAny`
* Add max length to AllowedType ToString
* Pressing Enter in find restarts search instead of confirm selection
* Add TreeRootGetter for customizing the quick access items in FileDialog
* Add FilesSelected event
Allows user to do things like confirm dialogs on selecting existing file(s)
* Update to new sender, event args signature
* Fix naming on MouseEventArgs
* Fix mouse events naming
* Revert "Fix naming on MouseEventArgs"
This reverts commit 2f557f52d9.
* Add deletion support
* Move delete keybinding to tableview
* Scaffold for rename and new operations
* Prevent delete dialog popping up again on cancel
* Add rename and new folder implementations
* Add rename,delete,new to context menu
* On rename or new, reselect the file in its new location in tree
* Support searching on multiple terms
* Localization support for new/rename/delete
* Refactor internal classes and add class diagram
* Move some visual properties to FileDialogStyle
* Ensure MultiSelected is never null and always contains Path if relevant
* Fix spacing/indentation
* WIP: Add new namespace Terminal.Gui.FileServices
* Improve appearance of back/forward/up
* Move SpinnerLabel to Views
* Add SpinnerView
* Code formatting
* Add AutoSpin test
* Avoid ever removing spinner timeout twice
* Make SpinnerView show/hide instead of stopping
* WIP: Refactor to use 3 sub PRs
- SpinnerView
- Suggest Append Autocomplete
- Caption TextField
* Add FilepathSuggestionGenerator
* WIP: FileDialog autocomplete append mostly working again
* Improve file autocomplete
* Move IconGetter to Style and provide default implementation
- Depends on `UseUnicodeCharacters`
- Also updated up/back/collapse/expand tree to use spicier icons
* Fix failing unit test
* Improved colors and layout
* Adjust use of unicode
* Fix UseUnicodeCharacters
* Update table style to include scroll indicators and lines
* Fix cycle suggestion with down cursor
* Adjust sort indicators
* Add default sort order on isDir then name
* Always use left/right unicode arrows
* Fix autocomplete suggesting in empty textbox
* Press escape to cancel ongoing search (when search box is focused)
* When entering a TreeView if there is no selection then select first object
* Move CursorIsAtEnd to TextField
* Improve layout
* Change UseColors to be a cell color fill
* Fxied tests for new apis
* Remove manual title drawing code
* Fix MoveEnd name conflicting with base class
* Fix merge conflicts
* Switched to IFileSystem for unit testing
* Add unit test
* Revert "Fix MoveEnd name conflicting with base class"
This reverts commit a5f9c07022.
* Fix MoveEnd name collision with 'new' keyword
* Fixed tree not toggling
* DateTime fixes and mocking
* Fix TestDirectoryContents_Windows
* Expose UseColors and UseUnicodeCharacters as config settings
* Fix linter settings having removed curly brackets
* Fix namespace on test
* Move tests to file services folder
* Remove the FileServices namespace
* Updated class diagram
* Clear title from tests for futureproofing
* Localization support for FileDialog title
* Remove trailing whitespace in "open existing"
* Fix listing suggestions immediately after folder path entered
---------
Co-authored-by: Tig <tig@users.noreply.github.com>
* started working on tab view
* Ability to switch tabs
* Added interactive tab
* Added ShowBorder
* Fixed not being able to focus tabs
* Made tab row into private class and implemented PositionCursor
* Added support for TabsOnBottom
* Fixed layout flipping repeatedly between top and bottom tabs
* support for scrolling to infinite tabs
* Added scroll indicators
* Made Tabs readonly and added Notepad Scenario
* Fleshed out Notepad app
* Added SelectedTabChanged event
* Improved visiblity of where focus is and made example Absolute layout
* Added unicode tab to example
* Prototype mouse support
* Refactored tab rendering logic into sub view TabRowView
* Fixed bugs in Notepad scenario and xml doc
* Fixed position of cursor when TabsOnBottom and ShowHeaderOverline are both true
* Fixed PositionCursor when TabsOnBottom (properly this time)
* Fixed bugs when a Tab had a null View
* Fixed RemoveTab when SelectedTab is null and docs
* Fixed whitespace to match guidelines
* Fixed tabsBar position bug TabView.Y is not 0
* Added MaxTabTextWidth property
* Fixed issues based on feedback
* Support for clicking on scroll indicators
* Added tests for TabView
* Fixed horizontal line in empty tab view
* Fixed whitespace to match coding guidelines
* Added more tests, fixed AddTab allowing duplicates
* Fixed TabView not responding to double/triple click on arrows
* Refactored clicking scroll indicators to use SwitchTabBy
* Changed FileDialog to OpenDialog in Notepad Scenario
Includes support for opening multiple at once