* Add crate snafu
* Replace all inline structs in AnkiError
* Derive Snafu on AnkiError
* Use snafu for card type errors
* Use snafu whatever error for InvalidInput
* Use snafu for NotFoundError and improve message
* Use snafu for FileIoError to attach context
Remove IoError.
Add some context-attaching helpers to replace code returning bare
io::Errors.
* Add more context-attaching io helpers
* Add message, context and backtrace to new snafus
* Utilize error context and backtrace on frontend
* Rename LocalizedError -> BackendError.
* Remove DocumentedError.
* Have all backend exceptions inherit BackendError.
* Rename localized(_description) -> message
* Remove accidentally committed experimental trait
* invalid_input_context -> ok_or_invalid
* ensure_valid_input! -> require!
* Always return `Err` from `invalid_input!`
Instead of a Result to unwrap, the macro accepts a source error now.
* new_tempfile_in_parent -> new_tempfile_in_parent_of
* ok_or_not_found -> or_not_found
* ok_or_invalid -> or_invalid
* Add crate convert_case
* Use unqualified lowercase type name
* Remove uses of snafu::ensure
* Allow public construction of InvalidInputErrors (dae)
Needed to port the AnkiDroid changes.
* Make into_protobuf() public (dae)
Also required for AnkiDroid. Not sure why it worked previously - possible
bug in older Rust version?
* Give QMenu cursor: pointer
* Darken border colors in dark theme
* Refactor cursor: pointer event filter
* Add QMenu stylesheet
* Remove min-width for QMenu item
* Add QMenuBar styles
with increased height for touchscreen users and more visible highlight color.
* Fix type
* Revert "Add QMenuBar styles"
This reverts commit 6ae405a073b15389b7926ef8aa91c3b228a7889e.
* Remove strong border from QMenu checkbox style
* Keep highlight color consistent
* Adjust highlight-bg
* Increase horizontal padding and adjust checkbox margin
* Introduce border-faint var and make default border brighter in dark mode
* Fix 1px move on hover and make highlight color more subtle
* Remove win10 styles
because the properties are set in the other stylesheets anyway.
* Fix bottom border of QMenuBar not showing underneath entries
* Remove unused import
* Make border-faint one shade darker in light theme
* Use showText to show add-on import errors
Long error messages can be completely unreadable as QMessageBox doesn't
show a scrollbar and the text can't be selected and copied by default (on Windows at least).
* HTML-escape error
* Make tags editor resizable using Henrik's components
All credit for the components goes to Henrik. I just tweaked the design a bit and implemented them in NoteEditor.
Co-Authored-By: Henrik Giesel <hengiesel@gmail.com>
* Remove PaneContent padding
Co-Authored-By: Henrik Giesel <hengiesel@gmail.com>
* Add responsive box-shadows on scroll/resize
only shown when content overflows in the respective direction.
* Remove comment
* Fix overflow calculations and shadow mix-up
This happened when I switched from using scrolledToX to overflowX booleans.
* Simplify overflow calculations
* Make drag handles 0 height/width
The remaining height requirement comes from a margin set on NoteEditor.
* Run eslint on components
* Split editor into three panes: Toolbar, Fields, Tags
* Remove upper split for now
to unblock 2.1.55 beta
* Move panes.scss to sass folder
* Use single type for resizable panes
* Implement collapsed state toggled with click on resizer
* Add button to uncollapse tags pane and focus input
* Add indicator for # of tags
* Use dbclick to prevent interference with resize state
* Add utility functions for expand/collapse
* Meddle around with types and formatting
* Fix collapsed state being forgotten on second browser open (dae)
* Fix typecheck (dae)
Our tooling generates .d.ts files from the Svelte files, but it doesn't
expect variables to be exported. By changing them into functions, they
get included in .bazel/bin/ts/components/Pane.svelte.d.ts
* Remove an unnecessary bridgeCommand (dae)
* Fix the bottom of tags getting cut off (dae)
Not sure why offsetHeight is inaccurate in this case.
* Add missing header (dae)
Co-authored-by: Henrik Giesel <hengiesel@gmail.com>
* Create _input-mixins.scss
* Use button-mixins on more elements
* Replace <select> tag with custom Select component
* Fix RevertButton causing cursor: pointer when hidden
* Increase SaveButton chevron width
* Hide floating component box-shadow when inactive
* Rework SpinBox and move it into components
* Run eslint and prettier
* Remove leftover options prop
* Pass disabled array to EnumSelector again
* Update MapperRow.svelte
* Darken QHeaderView border color
Slipping this in without an extra PR.
* Adjust disabled color, border and cursor
* Remove redundant icon definition from stylesheets
* Fix deck options initial config
* Fix z-index issues in change notetype screen
It might be best to handle z-index locally in each user component instead of hard-coded component values.
* Give web SpinBox a horizontal design
* Give QRadioButton the same treatment as QCheckBox in #2079
* Fix unused CSS selector warning with base button-mixin
* Remove redundant import
* Fix deck options save button
* Delete input-mixins and remove unused down-arrow
* Run eslint on change-notetype
* Run eslint on components
The workaround is only needed for the option key, and seems to trip
some people up, perhaps due to the order they're pressing/releasing the
keys.
Closes#2090
* Fix custom scrollbar not showing
* Move body selector out of scrollbar mixin
* Apply custom scrollbar to child elements too
* Remove some duplicate definitions
* Run prettier