anki/qt/aqt
Matthias Metelka f169ee0933
Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289)
* Create widget gallery dialog

* Add WidgetGallery to debug dialog

* Use enum for its intended purpose

* Rename "reduced-motion" to "reduce-motion"

* Add another border-radius value

and make former large radius a bit smaller.

* Revamp preferences, add minimalist mode

Also:
- create additional and missing widget styles and tweak existing ones
- use single profile entry to set widget styles and reduce choices to Anki and Native

* Indent QTabBar style definitions

* Add missing styles for QPushButton states

* Fix QTableView background

* Remove unused layout from Preferences

* Fix QTabView focused tab style

* Highlight QCheckBox and QRadioButton when focused

* Fix toolbar styles

* Reorder preferences

* Add setting to hide bottom toolbar

* Move toolbar settings above minimalist modes

* Remove unused lines

* Implement proper full-screen mode

* Sort imports

* Tweak deck overview appearance in minimalist mode

* Undo TitledContainer changes

since nobody asked for that

* Remove dynamic toolbar background from minimalist mode

* Tweak buttons in minimalist mode

* Fix some issues

* Reduce theme check interval to 5s on Linux

* Increase hide timer interval to 2s

* Collapse toolbars with slight delay when moving to review state

This should ensure the bottom toolbar collapses too.

* Allow users to make hiding exclusive to full screen

* Rename full screen option

* Fix hide mode dropdown ignoring checkbox state on startup

* Fix typing issue

* Refine background image handling

Giving the toolbar body the main webview height ensures background-size: cover behaves exactly the same.

To prevent an override of other background properties, users are advised to only set background-images via the background-image property, not the background shorthand.

* Fix top toolbar getting huge when switching modes

The issue was caused by the min-height hack to align the background images. A call to web.adjustHeightToFit would set the toolbar to the same height as the main webview, as the function makes use of document.offsetHeight.

* Prevent scrollbar from appearing on bottom toolbar resize

* Cleanup

* Put review tab before editing; fix some tab orders

* Rename 'network' to 'syncing'

* Fix bottom toolbar disappearing on UI > 100

* Improve Preferences layout by adding vertical spacers to the bottom

also make the hiding of video_driver and its label more obvious in preferences.py.

* Fix bottom toolbar animating on startup

Also fix bottom toolbar not appearing when unchecking hide mode in reviewer.

* Hide/Show menubar in fullscreen mode along with toolbar

* Attempt to fix broken native theme on macOS

* Format

* Improve native theme on other systems by not forcing palette

with the caveat that theme switching can get weird.

* Fix theme switching in native style

* Remove redundant condition

* Add back check for Qt5 to prevent theme issues

* Add check for macOS before setting fusion theme

* Do not force scrollbar styles on macOS

* Remove all of that crazy theme logic

* Use canvas instead of button-bg for ColorRole.Button

* Make sure Anki style is always based on Fusion

otherwise we can't guarantee the same look on all systems.

* Explicitly apply default style when Anki style is not selected

This should fix the style not switching back after it was selected.

* Remove reduncant default_palette

* Revert 8af4c1cc2

On Mac with native theme, both Qt5 and Qt6 look correct already. On
the Anki theme, without this change, we get the fusion-style scrollbars
instead of the rounded ones.

* Rename AnkiStyles enum to WidgetStyle

* Fix theme switching shades on same theme

* Format

* Remove unused placeholderText

that caused an error when opening the widget gallery on Qt5.

* Check for full screen windowState using bitwise operator

to prevent error in Qt5.

Credit: https://stackoverflow.com/a/65425151

* Hide style option on Windows

also exclude native option from dropdown just in case.

* Format

* Minor naming tweak
2023-01-18 21:24:16 +10:00
..
browser Fix unreadable text when searching in sidebar 2023-01-04 18:16:19 +10:00
data Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289) 2023-01-18 21:24:16 +10:00
forms Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289) 2023-01-18 21:24:16 +10:00
import_export Fix ctrl+enter not working when importing screen first opened 2023-01-18 15:41:47 +10:00
operations Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
qt Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
__init__.py Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289) 2023-01-18 21:24:16 +10:00
_macos_helper.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
about.py Tweak focus highlight of some widgets (#2280) 2022-12-21 11:41:57 +10:00
addcards.py add shortcut to close addcards window (#2031) 2022-08-31 20:09:09 +10:00
addons.py Use a webview to show add-on's config help (#2281) 2022-12-21 16:55:31 +10:00
changenotetype.py Add default_size argument to restoreGeom(); fix missing dialogs 2022-12-08 22:02:12 +10:00
clayout.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
colors.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
customstudy.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
dbcheck.py Backup improvements (#1728) 2022-03-21 19:40:42 +10:00
deckbrowser.py Fix some more RTL issues (#2244) 2022-12-08 22:29:56 +10:00
deckchooser.py Make dialogs non-blocking (#1650) 2022-02-10 09:53:13 +10:00
deckconf.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
deckdescription.py Import submodules directly (#1662) 2022-02-13 13:40:47 +10:00
deckoptions.py Deck options: hide webview after showing dialog 2022-12-08 22:18:28 +10:00
editcurrent.py PEP8 editorMode 2022-01-12 15:01:43 +10:00
editor.py Increase delay for mutter 2023-01-11 19:59:34 +10:00
emptycards.py Import submodules directly (#1662) 2022-02-13 13:40:47 +10:00
errors.py Probable fix for "unknown error" 2022-11-23 18:51:56 +10:00
exporting.py Add deck/collection export hooks (#1971) 2022-07-22 12:45:47 +10:00
fields.py Introduce setting to collapse field by default (#1990) 2022-08-31 23:34:39 +10:00
filtered_deck.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
flags.py Introduce new color palette using Sass maps (#2016) 2022-09-16 14:11:18 +10:00
gui_hooks.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
importing.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
legacy.py Import submodules directly (#1662) 2022-02-13 13:40:47 +10:00
main.py Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289) 2023-01-18 21:24:16 +10:00
mediacheck.py Add the media_check_did_finish hook (#1889) 2022-05-27 16:25:34 +10:00
mediasrv.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
mediasync.py Rework syncing code, and replace local sync server (#2329) 2023-01-18 12:43:46 +10:00
modelchooser.py Add callback and non-blocking option to StudyDeck (#1643) 2022-02-07 22:05:59 +10:00
models.py Fix kwin hanging when adding new notetype 2022-06-03 11:23:41 +10:00
mpv.py Fix two mpv issues on Windows (#2294) 2023-01-03 11:59:39 +10:00
notetypechooser.py Make dialogs non-blocking (#1650) 2022-02-10 09:53:13 +10:00
overview.py Do not append description button for filtered deck (#2266) 2022-12-11 15:03:11 +10:00
package.py Another attempt at fixing missing cacert.pem 2022-12-30 15:30:53 +10:00
preferences.py Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289) 2023-01-18 21:24:16 +10:00
profiles.py Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289) 2023-01-18 21:24:16 +10:00
progress.py fix progress.update(value=0) to not increment progress (#1998) 2022-08-01 20:16:42 +10:00
props.py Move away from Bazel (#2202) 2022-11-27 15:24:20 +10:00
py.typed
reviewer.py Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289) 2023-01-18 21:24:16 +10:00
schema_change_tracker.py add a bunch of return types 2021-02-01 23:53:23 +10:00
sound.py Revert "Probable workaround for mpv failing after a few days on macOS" 2022-12-03 23:30:19 +10:00
stats.py Add default_size argument to restoreGeom(); fix missing dialogs 2022-12-08 22:02:12 +10:00
studydeck.py Fix new deck not being selected (#1681) 2022-02-22 21:51:23 +10:00
stylesheets.py Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289) 2023-01-18 21:24:16 +10:00
switch.py Auto-hide toolbar in Reviewer (#2262) 2023-01-09 14:39:31 +10:00
sync.py Rework syncing code, and replace local sync server (#2329) 2023-01-18 12:43:46 +10:00
tagedit.py switch to new-style PyQt scoped enums and Qt6 2021-10-15 12:57:19 +10:00
taglimit.py Move custom study tag and limit gathering+saving into the backend 2022-03-10 16:23:03 +10:00
taskman.py Add apkg import/export on backend (#1743) 2022-05-02 21:12:46 +10:00
theme.py Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289) 2023-01-18 21:24:16 +10:00
toolbar.py Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289) 2023-01-18 21:24:16 +10:00
tts.py Switch back to winrt to see if it fixes slow TTS 2022-12-06 20:30:54 +10:00
undo.py fix redo menu item showing undo text 2021-08-04 10:28:45 +10:00
update.py Update Python deps 2022-09-24 09:46:43 +10:00
utils.py Add default_size argument to restoreGeom(); fix missing dialogs 2022-12-08 22:02:12 +10:00
webview.py Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289) 2023-01-18 21:24:16 +10:00
widgetgallery.py Revamp Preferences, implement Minimalist Mode and Qt widget gallery to test GUI changes (#2289) 2023-01-18 21:24:16 +10:00
winpaths.py run pyupgrade over codebase [python upgrade required] 2021-10-04 15:05:48 +10:00