Commit Graph

915 Commits

Author SHA1 Message Date
BDisp
dd298d0e2e Fix more issue in the layout. 2023-04-09 08:13:22 -06:00
Thomas Nind
c1a578891b Fixes #2150. Revamping FileDialog (#2259)
* 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>
2023-04-09 03:28:56 -06:00
Tig
574ed8fec7 Fixes #2469 - Revamp file structure and namespace (#2471)
* initial commit

* All tests pass

* Updated readme

* Revert "All tests pass"

This reverts commit 94ac462350.

* Revert "initial commit"

This reverts commit 36d92cc4e5.

* Moved Terminal.Gui files around

* Nuked .Graphs namespace

* Nuked .Graphs namespace

* Nuked .Trees namespace

* Nuked .Configuration namespace

* Nuked .Configuration namespace

* All tests pass

* tweaked tests

* removed unneeded usings

* re-enabled scrollview tests

* move scrollview test to ScrollViewTests

* Moved view navigation related tests to separate cs file

* Moved view scrollbarview related tests ScrollBarTestse

* Refactored View tests into smaller files

* Refactored driver tests

* Fixed a ton of BUGBUGs
2023-04-06 10:09:21 -06:00
Tigger Kindel
a5a7f84c39 fixed all nullable issues 2023-04-04 15:36:36 -06:00
Tig
9ff83a71d6 Merge branch 'v2_develop' into caption 2023-04-03 22:26:53 -06:00
Thomas
6209632de3 Make SpinnerView show/hide instead of stopping 2023-04-03 22:18:30 -06:00
tznind
82e41a928a Add SpinnerView 2023-04-03 22:18:30 -06:00
Tigger Kindel
d00b11ae5d Added and fixed ScrollBarView and ScrollView tests 2023-04-03 20:38:52 -06:00
Thomas Nind
3a64cfbdb8 Merge branch 'v2_develop' into caption 2023-04-03 17:02:04 +01:00
Thomas
30f830e22d Make SpinnerView show/hide instead of stopping 2023-04-03 07:42:05 -06:00
tznind
91b74a462e Add SpinnerView 2023-04-03 07:42:05 -06:00
Thomas Nind
4bc5a3b23a Merge branch 'v2_develop' into caption 2023-04-01 13:02:12 +01:00
Thomas
38b890ea88 Add caption to CharacterMap scenario 2023-04-01 11:13:47 +01:00
Tigger Kindel
3b7f4af566 Fixed layout test 2023-03-31 07:02:30 -06:00
tznind
f8ff486102 Fill space in append scenario 2023-03-30 02:48:33 +01:00
tznind
5a0725df35 Change append autocomplete to use tab completion 2023-03-30 02:47:14 +01:00
tznind
cfb2058bc0 Fix tests 2023-03-30 02:36:53 +01:00
tznind
b30dd8e065 Added Suggestion class 2023-03-30 02:27:02 +01:00
Tigger Kindel
8e88682bb0 Adding absolute layout tests 2023-03-29 11:39:21 -06:00
Tigger Kindel
44e371afe4 Disabled graphview tests 2023-03-29 09:48:27 -06:00
tznind
f7cad2a987 Add scaffold for append autocomplete 2023-03-28 19:36:22 +01:00
Tigger Kindel
43d5efcd6c Fixed Window tests; fixed XML doc errors 2023-03-27 14:15:26 -06:00
Tigger Kindel
49561439e0 Fixed and simplified dialog tests 2023-03-27 14:00:57 -06:00
Tigger Kindel
f81862bec4 Fixed dialog & messagebox 2023-03-27 10:51:17 -06:00
Tigger Kindel
561579584f Fixed textformatter tests 2023-03-27 10:11:53 -06:00
Tigger Kindel
f7604ed09a Fixed issue with border being drawn with focus color vs just title 2023-03-27 09:53:01 -06:00
Tigger Kindel
4de48b6237 Fixed many tests 2023-03-26 22:30:17 -06:00
Tigger Kindel
108c0e6cfe Simplifiede 2023-03-24 23:10:14 -06:00
Tigger Kindel
38fd0a61ae merged 2023-03-22 12:53:31 -06:00
BDisp
925433008d Resolving merge conflicts. 2023-03-21 22:19:34 +00:00
Tigger Kindel
791976428e merged !!! woot. 2023-03-20 17:22:11 -06:00
Tigger Kindel
10971ec824 adusted more tests 2023-03-20 12:27:40 -06:00
Thomas Nind
057cea44d2 Merge branch 'v2_develop' into events 2023-03-20 17:07:24 +00:00
Tigger Kindel
292d24ce93 Updated spec 2023-03-20 09:27:21 -06:00
Tigger Kindel
54fc9fce61 More progress 2023-03-19 23:30:15 -06:00
Tigger Kindel
45c3d08ac6 Got FramesEditor scenario working 2023-03-19 21:43:00 -06:00
Tigger Kindel
5d3b7f306f Updated BordersComparison partially 2023-03-19 18:40:22 -06:00
Tig Kindel
280d2f9d94 Fixed progressbar 2023-03-19 17:51:03 -06:00
Tig Kindel
2aca32cd3d removed commented code 2023-03-19 16:44:36 -07:00
Tig Kindel
42832cafa2 Fixes bug in MessageBox scenario that is latent in v1 2023-03-19 16:44:36 -07:00
Tig Kindel
2e69bd1687 Fixed charmap 2023-03-19 17:36:02 -06:00
Tig Kindel
ca7720f7dd post merge tweaks 2023-03-19 14:36:51 -06:00
Tig Kindel
2ea0bcb4f3 Merge branch 'v2_toposort_view_ref_subview' into v2_view2_experiment 2023-03-19 13:14:00 -06:00
Tig Kindel
60eb54388e removed commented code 2023-03-19 12:51:13 -06:00
Tig Kindel
3896276069 Fixes bug in MessageBox scenario that is latent in v1 2023-03-19 12:46:28 -06:00
Tig Kindel
7f1471283f mergeed 2023-03-18 16:09:08 -07:00
Tig Kindel
8bd9ac7bce More cleanup 2023-03-18 09:57:16 -06:00
Thomas Nind
1be2fddb07 Merge branch 'v2_develop' into events 2023-03-17 19:26:46 +00:00
Tig Kindel
27ca37eed0 merged v2_develop 2023-03-17 13:14:50 -06:00
BDisp
efae9abc41 Doing the fix in the MessageBox instead on the scenario. 2023-03-17 13:13:22 -06:00