Commit Graph

519 Commits

Author SHA1 Message Date
Damien Elmes
8e71554ac4 saveNow() now requires a callback
the current code was freezing when clicking on 'cards' in the
browser - it looks like like the javascript callback was never
being called despite calling processEvents(). so we need to
refactor the code to call saveNow() with a callback that does the
subsequent processing.

a lot of the browser code was implicitly calling saveNow() via
beginReset(), so we've had to change all that code to save
immediately before it begins any processing. found a probable bug in
the process - it doesn't look like onRowChange() was saving before
overwriting the note, so theoretically edits could be lost if the
user switched to another card very quickly after typing something.

onSearch() has been split into a GUI-activated onSearchActivated()
that takes care of saving, and a lower level search() that refreshes
the current search. it keeps track of the last search via an instance
variable so that it refreshes properly if a user accidentally adds
some characters to their search without activating the search, then
does something like reverse the sort order.
2016-07-14 20:23:44 +10:00
Damien Elmes
37bac3979c select all shortcut in fields 2016-07-14 11:56:18 +10:00
Damien Elmes
8fdda2bb9c tweak win button size 2016-07-12 16:40:13 +10:00
Damien Elmes
74de1face7 specify font size again on osx
we lose the native button appearance, but the text is too small to
read on OSX otherwise
2016-07-12 16:28:14 +10:00
Damien Elmes
85215018a5 another approach to fixing modSchema bug
start the progress dialog immediately so that askUser()
becomes part of the progress dialog's modality

the problem with the previous approach was that beginReset() attempts
to save the note again, leading to schema mismatches
2016-07-12 13:53:59 +10:00
Damien Elmes
166c6f4b3c remove debug statement 2016-07-12 13:43:21 +10:00
Damien Elmes
3fa597ed1a wait until saveNow() is done
fixes content missing if typed right before save, and add window
complaining that fields aren't empty when they appear so
2016-07-12 13:30:10 +10:00
Damien Elmes
44457e78d2 fix import of media 2016-07-11 14:56:58 +10:00
Damien Elmes
5b10d7c45b fix change note type getting stuck
thanks to stvad for the report
2016-07-11 11:34:12 +10:00
Damien Elmes
46dae2507b tweaks to UI font on win/lin 2016-07-08 16:17:06 +10:00
Damien Elmes
53f7457d4c swallow http server errors 2016-07-08 13:22:36 +10:00
Damien Elmes
00111e4182 re-enable add-on downloading 2016-07-08 13:17:33 +10:00
Damien Elmes
3afef3edb0 fix edit & delete bugs in add-ons section 2016-07-08 13:10:19 +10:00
Damien Elmes
807b7382cb add missing runHook to deck options 2016-07-08 12:59:10 +10:00
Damien Elmes
d0fcf6a2ff debug webengine dll problems 2016-07-08 12:34:30 +10:00
Damien Elmes
a8e2f992c8 image support 2016-07-07 23:39:48 +10:00
Damien Elmes
7d0eb6dd39 ignore copy/paste shortcuts except on mac 2016-07-07 23:34:19 +10:00
Damien Elmes
eddef71f75 prevent field from collapsing 2016-07-07 17:41:47 +10:00
Damien Elmes
9c569ac35c fix onHeight error by not reloading toolbar each note 2016-07-07 17:29:53 +10:00
Damien Elmes
258a10edc7 add titles to various webviews to make them easy to locate 2016-07-07 17:23:13 +10:00
Damien Elmes
d94c011c88 fix clayout preview, js errors
.exec_() and webengineview don't seem to play nicely together
2016-07-07 12:32:27 +10:00
Damien Elmes
39a2ddac51 fix 'loading' message by removing old type answer code 2016-07-07 11:08:32 +10:00
Damien Elmes
d831bbee5f fix exporting & one bug in stats image export 2016-07-05 19:52:26 +10:00
Damien Elmes
06169de6cd fix type answer 2016-07-05 13:14:45 +10:00
Damien Elmes
2d5affd3f2 Revert "hack around broken qwebchannel behaviour"
This reverts commit 447718c605.
2016-07-05 12:26:08 +10:00
Damien Elmes
44bf02d872 quieten beautifulsoup warning 2016-07-04 18:06:08 +10:00
Damien Elmes
d025fddfb4 Merge pull request #109 from subfusc/master
[Addons] Make it possible to distribute addons in a directory.
2016-07-04 16:35:49 +10:00
Damien Elmes
058fc373bd Merge branch 'master' of github.com:dae/anki 2016-07-04 16:33:03 +10:00
Damien Elmes
dfa479607c hook for showDeckOptions 2016-07-04 16:32:30 +10:00
Damien Elmes
d824f178cc Merge pull request #133 from hssm/browser-recenter
Fix automatic horizontal scrolling in browser
2016-07-04 16:29:45 +10:00
Damien Elmes
447718c605 hack around broken qwebchannel behaviour
https://bugreports.qt.io/browse/QTBUG-53411
2016-07-04 16:25:24 +10:00
Damien Elmes
704610ef8f remove button styling
qt5.7 loses system styling when zoom applied
2016-07-04 16:24:43 +10:00
Damien Elmes
94463991bc basic sync support
currently no progress shown on large uploads/downloads
2016-07-04 15:45:53 +10:00
Damien Elmes
a1caa93054 fix mem leaks in dialogs
- ensure we're cleaning them up after they're rejected
- run the garbage collector afterwards so the qwebengineprocess
  instances get cleaned up
2016-07-04 13:22:35 +10:00
Damien Elmes
eb3208e1e7 QKeySequence.Cancel is not in 5.5 2016-06-28 15:52:13 +10:00
Damien Elmes
a4cab1d8f2 remove setupFonts(), disable syncing 2016-06-23 12:06:16 +10:00
Damien Elmes
a001553f66 move the editor buttons into the webview
use new icons, which scale with dpi changes
2016-06-22 14:52:17 +10:00
Damien Elmes
8a7107ad8e tweak button appearance on osx 2016-06-22 14:43:59 +10:00
Damien Elmes
34b95514b5 import anki earlier so we can catch invalid python version 2016-06-22 14:42:41 +10:00
Houssam Salem
7a60482269 Fix automatic horizontal scrolling in browser 2016-06-07 16:32:19 +10:00
Damien Elmes
4e2bd3f739 resize toolbars to fit content 2016-06-07 14:27:33 +10:00
Damien Elmes
d7339d9a27 update editor, key handling in webview
keyPressEvent/etc no longer work with qwebengineview, so we need to
install an event filter to catch things like ctrl+c. drag & drop
doesn't seem to be supported until 5.7
2016-06-06 17:54:39 +10:00
Damien Elmes
9abc9fde9f use a channel for bridge
acceptNavRequest was not being called for rapid updates, so it's not
usable
2016-06-06 15:50:03 +10:00
Damien Elmes
de7e40537d port majority of code to qt5.5+
- a few issues to work out still, and editor changes not done yet
- for communication between webengine and python code, we set window
.location to 'http://anki/<something>' - the leading http is
necessary for qt to call the link handler, which was introduced
in qt5.5
- the designer files now use a promoted qobject to create instances
of AnkiWebView
- we use the css zoom property to alter webengine font size based on
system dpi
- prefs and addons folder stored in new location (at least for now)
2016-05-31 18:51:40 +10:00
Damien Elmes
15b349e3a8 start port to python 3
unit tests pass and main screens of GUI load
2016-05-12 14:45:35 +10:00
Damien Elmes
1dce3eaaff drop anki1 upgrade code 2016-05-12 14:20:59 +10:00
Damien Elmes
89a5777585 store profiles as blobs
the cPickle data may not be valid utf8, and even with
text_factory=str this seems to cause problems sometimes
2016-05-12 14:19:16 +10:00
Dmitry Mikheev
74e28058f7 sorry, a typo crept in 2016-05-05 03:26:13 +05:00
Dmitry Mikheev
692dcfd4e7 2 tooltips in Preview window and support Enter
Let's give the users tips over the arrow buttons
and provide passing Back Side / Next Card 
by pressing Enter key.
2016-05-05 03:21:04 +05:00
Damien Elmes
640d906230 fix bug in contributed patch 2016-05-01 13:32:17 +10:00