Commit Graph

33 Commits

Author SHA1 Message Date
adroslice
18a2d7154f Improved Drag+Drop & Dark Mode testing
- Drag+Drop now shows a black line where the item is going to be dropped as an additional visual cue to make it more intuitive
- Avalonia's dark default style is lacking two things:
-- Highlights on ListBoxItem are too bright (easy fix)
-- The window decoration remains white (could be disabled and replaced with custom title bar)
2019-12-03 20:12:00 +01:00
adroslice
e107be13c4 Fixed #12 2019-12-01 20:16:46 +01:00
adroslice
4119cb9eac Added pre-sorting
- Pre-sorting uses ascending natural sorting
- Previously, the files would initially be displayed in the order the operating system returned
2019-12-01 20:10:47 +01:00
adroslice
10153a9bd2 Attempt to fix File Path handling
- Now uses unix standard frontslashes for directories internally
- Converts the backslashes windows returns to frontslashes
- Changed default paths
2019-12-01 17:05:00 +01:00
adroslice
3545afad51 UI Overhaul
- You can now Drag-Drop re-order operations
- The delete buttons are now on the operations themselves
- These two together mean that you now dont have to (and cant) select operations anymore
- Added ability to view the path on a filename in the before- and after-lists
- Also updated Avalonia to preview8
2019-12-01 14:08:01 +01:00
adroslice
00b4f26a3d Fixed Natural Sorting causing an infinite loop 2019-11-24 02:45:09 +01:00
adroslice
0d56d66809 Added Tooltips, minor improvements/fixes 2019-11-24 01:16:34 +01:00
adroslice
b7f6158300 Improved Performance
- Removed redundant calls by disabling event handling when an operation is created or moved, as well as before the end of construction
- Also removed unused and ordered namespaces
2019-11-23 18:40:55 +01:00
adroslice
4b50f44985 Added Sort-Operation + UI 2019-11-23 18:32:10 +01:00
adroslice
a1d76d1920 Added Add-Operation + UI 2019-11-22 19:34:21 +01:00
adroslice
04b18f8140 Made Replace fail conditions depend on the correct modes 2019-11-22 19:18:28 +01:00
adroslice
ab604877be Added controlled fail conditions for for Number 2019-11-22 19:18:07 +01:00
adroslice
c6477cb342 Renamed Prefix/Suffix modes to Prepend/Append 2019-11-22 19:12:28 +01:00
adroslice
6a17c0a81c Added further filename validation
- Now checks for forbidden characters
2019-11-21 20:02:29 +01:00
adroslice
52ddcdddc3 Added Number-Operation + UI 2019-11-21 19:46:33 +01:00
adroslice
ccd9a0efe2 Merged DisplayName and Description attributes into OperationModeAttribute 2019-11-21 19:23:25 +01:00
adroslice
ae7c3a3fff OperationMode overhaul, improved event handling, fixed properties
- OperationMode now designed and implemented in a way that allows serialization
- Modes are now defined using an enumeration with with attributes decorated values
- MainWindow.xaml.cs's event handlers now only listen for changes to certain properties
- Property naming conventions fixed
- AvaloniaProperties are now public + static + readonly
2019-11-21 19:07:46 +01:00
adroslice
5633cd2afe Added Remove-Operation
- TODO: Find a way to re-use Replace-Operation-UI by omitting the replacement-option
2019-11-17 16:27:40 +01:00
adroslice
c519147302 Added Replace-Operation, structuring and reworked event bindings
- Added Replace-Operation + UI
- Added OperationMode to make it easier to give operations different modes
- Replaced all specific-control-event-handlers with one general PropertyChanged-event-handler for each preview and filter
- TODO: Add Remove-Operation as a subclass of Replace
2019-11-17 16:22:19 +01:00
adroslice
2aa1fa6529 Fixed Error databinding
- I don't understand why this works now, but it does and I'm glad.
2019-11-17 04:47:17 +01:00
adroslice
e0fe30b380 Added commit and undo + Bugfix
- Bugfix: The Name-filter was based on Name and FullName, instead of how it is now, OldName and OldFullName. This would previously cause the filter to apply to the already previewed changes.
2019-11-17 02:41:05 +01:00
adroslice
5d8327f071 Fully implemented Operations UI with one example
- You can now add, remove, modify and move operations
- FilterChangedAny was renamed to FilterChanged, the new event for the preview follows the same naming scheme with PreviewChanged
- Operations now actually verify that they're enabled (This was originally supposed to be done in the loop in Preview(), but this way seems nicer since it also removes the error label when the operation is disabled)
- The foundation has been laid to make it very easy to add more operations
2019-11-17 02:22:13 +01:00
adroslice
c51f848a31 Removed Operation.OperationType
- Since OperationType instanciates two new operation this results in a stack overflow.
2019-11-16 03:50:55 +01:00
adroslice
0eb940012d Implemented preview TODO, modified exception handling
- Better handles unexpected exceptions
- Expected exceptions should be OperationException
- Leaves files unchanged even if the exception occurs at *any* point of the operation
- TODO: Probably have to optimize this.
- Operations now operate on IList<T> instead of List<T> to maintain compatibility with AvaloniaList<T>
- Slightly better comments
2019-11-16 02:47:07 +01:00
adroslice
704b7ea1a9 Added internal Operation Infrastructure + Example
- Overwrite might be a bad example, because it has no fail conditions. The intended behaviour for those is to throw an exception for invalid parameters, with an error text describing to the user what went wrong.
- Fail condition check may be moved to a seperate abstract method, forcing implementers to at least give fail conditions a thought.
- Minor refactor
- TODO: Better folder structure to group operations (Looking for suggestions)
2019-11-16 02:00:17 +01:00
adroslice
e671fd4185 Implemented filtering
- Also an additional extension method for later
2019-11-14 20:42:25 +01:00
adroslice
0bc82dc6b5 Structuring, added file lists
- You can now open a directory
- The current filenames and previews are now displayed in the listboxes
- Added method pipeline for updating the lists (OpenDirectory -> Filter -> Preview)
2019-11-14 19:08:21 +01:00
adroslice
90f8f86e81 Added filter options to UI
- Filter options only visible when expanded
- Expander seperate from the filter options grid to keep the directory controls in place
- Added and fixed some styling
2019-11-14 17:21:25 +01:00
adroslice
472650a5e5 Renamed DataModels to Models 2019-11-14 15:19:52 +01:00
adroslice
d8263ec22c Basic Styling + Add MainWindowUIProperties.cs
- Layout with consistent spacing
- Visual grouping using borders
- New file for properties to be bound from MainWindow.xaml
2019-11-13 23:01:08 +01:00
adroslice
4fd003cfdd Create Basic Layout 2019-11-13 21:22:36 +01:00
adroslice
0c0617df24 Update Avalonia to preview, Minor Refactor
- 0.9.0-preview7
- Set MainWindow's DataContext to itself
2019-11-13 20:40:30 +01:00
adroslice
664acd3249 Project Setup
- Created Solution
- Created .gitignore
- Created Main Project
2019-11-13 20:26:04 +01:00