Commit Graph

1686 Commits

Author SHA1 Message Date
Matthias Metelka
03fe2385ef
Fix HTML editor not showing content initially (#2181)
* Fix HTML editor not showing initially

* Remove line numbers from PlainTextInput
2022-11-05 10:58:04 +10:00
Matthias Metelka
c60a1c8ebd
Remove inset shorthand property for Qt5 support (#2180) 2022-11-05 10:55:17 +10:00
kelciour
3973f27ee4
Maybe preload images (#2165) 2022-11-04 10:07:51 +10:00
Matthias Metelka
fd2212a6cb
Prevent deck options switches from toggling on label click (#2166)
* Prevent deck options switches from toggling on label click

because the label click is reserved to open the help modal.

* Add option to prevent mouseclick event to Label.svelte
2022-11-04 10:06:57 +10:00
Damien Elmes
84935bee34 Fix wrong deck options being selected by default
We were sorting in getConfigList() without updating selectedIdx. For some
reason, this worked in the past, but something about #2084 stopped it
from working correctly. Resolved by sorting+updating selectedIdx after
adds/renames, instead of in getConfigList(). This required changes to
the unit tests, as the indexes are different now.

Fixes https://forums.ankiweb.net/t/anki-2-1-55-beta-3/24295/58
2022-11-03 12:50:16 +10:00
Damien Elmes
c9a9f38ea9 Remove untranslated 'see old deck options' notice
It was intended to be a temporary message, and it's been about 15 months.

https://forums.ankiweb.net/t/anki-2-1-55-beta-3/24295/42
2022-11-03 12:05:19 +10:00
Damien Elmes
23ef52a297 Avoid sticky containers in importing screen for now
Section content is being obscured under the headings, causing settings
not to be seen, and text to appear in unusual places like under the
importing bar at the bottom. Until a better solution can be found, this
should allow things to be shown properly.

https://forums.ankiweb.net/t/anki-2-1-55-beta-3/24295/27
2022-11-03 11:59:08 +10:00
Damien Elmes
ef933f9975 Fix MathJax pop-up appearing at bottom of screen
Closes #2174
2022-11-03 11:47:31 +10:00
Damien Elmes
a0e403c3dd Allow passing startup props to setupCardInfo()
Add-ons that use it and don't want the revlog can pass in includeRevlog:false

Issue noticed while addressing https://forums.ankiweb.net/t/card-info-during-review/86/12
in c86da082b4
2022-11-03 11:37:47 +10:00
Matthias Metelka
27eff12235
Fix various RTL issues (#2172)
* Fix RTL issues in deck browser

* Fix RTL issues in deck options

* Fix QMenu indicator being cutoff in RTL mode
2022-11-02 21:47:07 +10:00
Matthias Metelka
2a510fe230
Set same font size for all platforms and make editor UI a bit smaller (#2171)
* Use single base font size for all platforms

* Change 1.6em values to 1.5em in editor
2022-11-02 21:33:35 +10:00
Matthias Metelka
d3309658d3
Fix fields not showing with reduce motion active (#2170)
* Fix fields not showing with reduce motion active

* Fix CSS selector
2022-11-02 20:44:53 +10:00
Matthias Metelka
262134c05f
Fix short deck options help texts appearing next to the title (#2169) 2022-11-02 20:43:55 +10:00
Matthias Metelka
a580b9d20d
Increasingly increment/decrement SpinBox value on long press (#2163)
* Increasingly increment/decrement SpinBox value on long press

* Make increment/decrement speedup a bit more programmatic
2022-11-02 20:41:15 +10:00
Matthias Metelka
0a3ac591e6
Flatten buttons to match macOS style (#2159)
* Use button gradient only on hover

* Apply hover effect to main window buttons

* Apply arbitrary change to force recreation of colors.py

* Undo arbitrary change to fix props not being created

* Remember that the comments are used for regex matching

* Yet another try

* Revert "Yet another try"

This reverts commit eaef4805c1618cf93ac2f93bc14ada900dc6d155.

* Update _root-vars.scss
2022-11-02 20:39:30 +10:00
Matthias Metelka
0770290765
Make fg-subtle subtle (#2164)
Meant to do this for a while (since I removed fg-faint), but didn't get around to it.
2022-11-02 18:30:13 +10:00
Matthias Metelka
8025936480
Add margin to buttons in reviewer (#2161) 2022-11-02 18:27:37 +10:00
Matthias Metelka
b384417955
Add back thick field focus border (#2160)
* Add back thick field focus border

* Fix duplicate border color
2022-11-02 18:26:26 +10:00
Matthias Metelka
ee9af871b7
Use custom scrollbar in stats screen, use grid layout and tweak CSS (#2154)
* Include base styles in graphs-base.scss

This includes the custom scrollbar styles, which were missing on the stats page.

* Set responsive grid layout on GraphsPage, use TitledContainer component

+ use global button style, tweak input appearance and other small changes

* Improve margins on GraphsPage
2022-11-02 18:23:08 +10:00
Matthias Metelka
bf34ac7767
Flip popover placement automatically to prevent overflow (#2156) 2022-11-01 11:39:55 +10:00
Matthias Metelka
0c340c4f74
Add comments to Sass variables and tweak main window (#2137)
* Prevent multiple inclusion of variables in CSS files

* Use dict instead of tuple for variables

* Add comments to variables

* Improve appearance of main window

* Tweak main window styles

* Use json.dumps over pprint.format

* Make study button primary

* Improve header margin

* Make bottom toolbar slimmer

* Make congrats page more balanced

* Fix type issue

* Replace day/night with light/dark

* Exclude top-level-drag-row from hover effect

* Create dataclass for variables

* Run formatter

* Apply CSS variables from Python side

Why go full-circle with the Sass variables? This way we only need one interface for add-on authors to interact with. It also makes it easier for us to apply additional themes in the future.

* Fix typing

* Fix rgba values in Qt

* Darken button background

* Fix palette not being applied in light theme

For some odd reason this problem arose much later than #2016.

* Tweak default button look

* Reformat

* Apply CSS vars to ts pages

* Include elevation in button_mixins_lib

* Cast opacity to int

* Add some margin to studiedToday info

* Tweak light theme button gradient

* Tweak highlight-bg for light theme

* Add back default button color

as it made the browser sidebar tool icons dark in light theme.

* Reformat

* Tweak light theme buttons once more

Sorry for the back-and-forth. Sass only compiles when there are changes in user files, not when I only change the vars.

* Fix bottom toolbar button indicators

* Make buttons more clicky

* Fix button padding

* Handle macOS separately again

* Decrease elevation effect for main window buttons to 1

* Imitate box-shadow for Qt elements

* Adjust shadow vars

* Adjust primary border color

because the save button in the deck options had a lighter color than its background gradient.

* Boost box-shadow color of primary buttons

* Format

* Adjust Qt box-shadow imitation and shadow colors

* Use more subtle default shadow color

* Add some more padding to top toolbar

* Revert "Apply CSS vars to ts pages"

This reverts commit 5d8e7f6b7ffc8894b6517ecbb8cfba35407fc69a.

* Revert "Apply CSS variables from Python side"

This reverts commit 87db774412fd2bfd75e2630d2c5e782daef96b5f.

* Better match the standard macOS buttons

In the dark theme the standard color is a lighter grey, but at least
the size/shape is similar again.

This doesn't work for the editor buttons.

* Reduce the top margin of the congrats screen

* Fix illegible buttons when changing theme on macOS; match dark button style
2022-10-29 10:48:53 +10:00
Matthias Metelka
68fa661b53
Finish #2070: Single overlay instead of per field (#2144)
* Move up MathjaxOverlay to be initialized only once

* Move ImageOverlay to NoteEditor root

* Move Symbols Overlay to NoteEditor root

* Refactor image overlay to not require second mutation observer

* Use elevation + overflow:hidden  in Editorfield

* Make it possible to show input next to each other again

* Set handle background color to code bg

* Make Collapsible unmount the component

* Simplify how decorated elements are mounted

* Set RichTextInput background to frame-bg again

* Strip out FocusTrap code

* Revert "Make Collapsible unmount the component"

This reverts commit 52722065ea199fa57ae750fa34bf47ee1c5aab3c.

* Allow clicking on label container to unfocus field

* Fix mathjax overlay resetting too its api too soon

* Allow scrolling on overlays

* Set focus-border border-color in focused field

* Fix background color of fields

* Add back grid-gap

removed it during merge to see if margin-top would behave any differently - which is not the case.

* Fix double border issue within Collapsible.svelte

* Format

* Edit appearance of focused fields a bit

* Remove unused properties

* Include elevation in button_mixins_lib

* Give label-container a background color

Co-authored-by: Henrik Giesel <hengiesel@gmail.com>
2022-10-27 09:11:36 +10:00
Damien Elmes
ab6877c714 Fix indent/outdent shortcuts not working
https://forums.ankiweb.net/t/keyboard-shortcut-for-indent-not-working/24114/6
2022-10-26 12:38:13 +10:00
Matthias Metelka
cce936c190
Use badge to link manual chapter (#2143) 2022-10-26 11:32:18 +10:00
Matthias Metelka
264561cd0d
Redesign deck options screen, swap tooltips for help modals (#2139)
* Redesign deck config, swap tooltips for help modals, link to manual

* Replace canvas-inset with canvas-code for custom scheduling

* Make section header link to manual too

* Include elevation Sass library

* Remove two unused exports

* Fix tabbed spinboxes

* Update ftl/core/deck-config.ftl

* Update ftl/core/deck-config.ftl

* Fix format

* Make border-radius and box-shadow more subtle

* Fix margin for vertical aspect ratio

* Make direct hover on info badge apply effect instantly

* Add redirect line to manual underneath chapter
2022-10-25 16:18:50 +10:00
Matthias Metelka
2971eb9660
Center add-on icons and allow text buttons to expand in width (#2138)
* Fix text buttons not expanding in width

* Adjust icon and font size of add-on buttons
2022-10-24 13:51:04 +10:00
Damien Elmes
8b53b2210d With the new duplicate appearance, excluding the bg color becomes viable
https://forums.ankiweb.net/t/incorrect-text-formatting-copied/24060
2022-10-24 09:26:02 +10:00
Matthias Metelka
f5abd3c6af
Make resizer snap to closest end and improve toggle (#2129)
* Make resizer snap to closest end and improve toggle

* Snap on window resize

* Remove event parameter

* Remove nested ternary expression
2022-10-13 10:13:19 +10:00
Matthias Metelka
0a3d38125d
Add background to tag editor and improve autocomplete items (#2130) 2022-10-13 10:08:30 +10:00
Damien Elmes
e14f87ba99 Switch back to clearing MathJax preview on blur
This means two clicks are required again, but that's the lesser of two
evils:

https://forums.ankiweb.net/t/anki-2-1-55-beta-mathjax-preview/23529/8

Better fixes welcome :-)
2022-10-12 14:56:38 +10:00
Matthias Metelka
d7deb5fafc
Move MathJax toggle to OptionsButton and fix two bugs (#2126)
* Rename MathJax toggle and move it to OptionsButton

* Apply MathJax setting to newly added blocks

* Actually remove MathJax element on delete
2022-10-12 14:34:25 +10:00
Matthias Metelka
5c240e8561
Fix SpinBox initially neglecting passed value (#2125) 2022-10-12 14:31:54 +10:00
Matthias Metelka
3c230d2396
Set floating shift value to fit area occupied by box-shadow (#2116)
* Set floating shift value to fit area occupied by box-shadow

* Disable shift on Select dropdown
2022-10-10 13:53:13 +10:00
BlueGreenMagick
b4293573dd
fix --frame-bg renamed to --canvas-elevated (#2107) 2022-10-10 13:15:07 +10:00
Matthias Metelka
d7b982ec9a
Fix selected tags not being highlighted (#2104)
* Give selected AutocompleteItem primary button style

* Fix formatting
2022-10-03 13:25:55 +10:00
Matthias Metelka
62266aece4
Fix duplicate highlight and improve aesthetic (#2102) 2022-10-03 13:16:54 +10:00
Matthias Metelka
9b878a2229
Make auto-closing of HTML tags default but optional (#2101) 2022-10-03 13:14:57 +10:00
Hikaru Y
76065e843b
Fix scrolling with keys / keyboard event listeners not working on answer side (#2099)
* Revert "Fix reviewer shortcuts being inaccessible due to IME"

This reverts commit 5bf031f1e3.

* Work around WebEngine/IME bug in Qt6
2022-10-03 12:53:09 +10:00
Damien Elmes
ccb18ec709 Update d3 deps for CWE 2022-09-30 14:22:23 +10:00
Damien Elmes
ea3b40e400 Fix font size not being removed when pasting between fields 2022-09-30 14:05:03 +10:00
Matthias Metelka
de4d69454a
Set line-height = 1 on inline floating-reference (#2096) 2022-09-30 11:43:08 +10:00
Matthias Metelka
f72570c604
Make tags editor resizable using Henrik's components (#2046)
* 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>
2022-09-28 14:02:32 +10:00
Damien Elmes
eb5600019a Revert "Fix/autofix empty div (#2066)"
This reverts commit 892c9f6da8.

Reverting until #2093 can be addressed
2022-09-28 11:47:59 +10:00
Matthias Metelka
23e6b2123e
Redesign deck options inputs (#2082)
* 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
2022-09-27 12:16:45 +10:00
Damien Elmes
6a7f2d8a79 Restrict cloze shortcut workaround to non-increment case
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
2022-09-26 11:22:00 +10:00
Damien Elmes
dd939beafe Simplify asReference 2022-09-26 10:04:08 +10:00
Damien Elmes
4089e76800
Add option to shrink editor images by default (#2071)
+ Don't persist shrinking toggle

Closes #1894
2022-09-26 09:47:50 +10:00
Matthias Metelka
c1176a2e6c
Fix custom webview scrollbar not showing (#2085)
* 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
2022-09-26 09:13:06 +10:00
Matthias Metelka
e109c62aa9
Improve hover feedback on various widgets (#2079)
* Use cursor: pointer on QCheckBoxes too and exclude disabled widgets

* Left-align all QCheckBoxes to make hover-area and clickable area the same

Altough the clickable area has always been restricted to the label, the widget itself stretched all the way. This became a problem with the new cursor-pointer for checkboxes.

* Remove Switch duplicate from deck-options

* Add cursor: pointer to Switch and RevertButton

* Add cursor: pointer to bottom toolbar buttons

* Add cursor: pointer to gears

* Add cursor: pointer to radio and checkbox inputs of graphs page

* Improve button appearance in stats screen

* Add cursor: pointer to QTabBar and QToolButton

* Add cursor: pointer to non-editable QComboBox

* Center settings-will-take-effect-after notice in preferences screen

* Use public without_qt5_compat_wrapper() function

* Run prettier
2022-09-20 16:34:15 +10:00
Damien Elmes
6b894a076b Allow users to set a low answer time cap
https://forums.ankiweb.net/t/options-maximum-answer-seconds-lower-minimum-value-please/23190
2022-09-19 13:40:30 +10:00