Commit Graph

544 Commits

Author SHA1 Message Date
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
Dmitry Mikheev
75e574cb9f parameters to specify a desired title and size
Let's give authors of add-ons the ability to specify a desired title and minimum width and height of the message window.
2016-04-30 10:44:41 +05:00
Damien Elmes
80e45fee85 Revert "Deal with Internationalized Domain Name in URI"
This reverts commit a68af5f199.

Patch does not fix the issue on my machine, so reverting for now.
2016-04-27 20:43:11 +10:00
Roman Franchuk
a68af5f199 Deal with Internationalized Domain Name in URI
This fixes https://anki.tenderapp.com/discussions/ankidesktop/17132-anki-reports-an-error-when-pasting-an-image-from-non-ascii-url

The problem is that urllib2 can't work with IDN. However, it's perfectly valid
to have such URIs in HTML, and Firefox, when copying image, generates exactly
this kind of HTML.
2016-04-17 15:49:28 +03:00
Glutanimate
df4b74f7bb Preserve identical fields when switching note types 2016-04-10 13:11:25 +02:00
Damien Elmes
864a9135dc allow language changing in prefs
avoided adding this in the past as on a multi user system it allows
one profile user to annoys others by changing the interface language,
but it comes at the expense of easily changing the language for users
who choose the wrong one on first startup
2016-04-05 11:02:01 +10:00
Damien Elmes
9baccec002 update credits 2016-03-23 09:07:33 +10:00
Damien Elmes
781e592339 don't set current dir in file selector if it doesn't exist
some users were reporting hangs
2016-03-21 09:57:45 +10:00
Glutanimate
ec401a6c23 Add keyboard shortcut for 'Add Note' action in Browser (Ctrl+E) 2016-03-04 20:21:58 +01:00
Damien Elmes
3bbd0bca7e zip64 support, and import/export improvements
- we now allow exports over 2gb/64k files - AnkiMobile and AnkiDroid
will need to be updated to support this
- avoid compressing media files in export, as in the common case of
jpg/mp3 it's much faster with no increase in size
- exports and imports now show # of files processed
- mw.progress.update() now limits # of updates per sec
2016-02-26 10:01:46 +10:00
Damien Elmes
216a68f656 add missing comma in received patch 2016-02-22 10:42:27 +10:00
Damien Elmes
97311e33d9 suspend note -> suspend card 2016-02-22 09:31:00 +10:00
Damien Elmes
d15aafa940 Merge pull request #118 from Glutanimate/master
Add keyboard shortcut for 'Suspend Note' in Browser
2016-02-22 09:30:20 +10:00
Glutanimate
4c9d176272 Add keyboard shortcut for 'Suspend Note' in Browser 2016-02-21 12:10:02 +01:00
Damien Elmes
ed04b4ce3d BadZipFile -> BadZipfile 2016-02-18 18:49:44 +10:00
bogdanteleaga
1f1220cf7c Limit tags in custom study dialog to those in the selected deck 2015-11-21 14:38:21 +02:00
Damien Elmes
52f8a4a75e missed deck browser arrow 2015-09-29 13:32:26 +10:00
Damien Elmes
6f95527758 use the larger arrow only on windows, and in other screens 2015-09-28 23:09:30 +10:00
Sindre Wetjen
69a0110422 [Addons] Make it possible to distribute addons in a directory.
with addons that are large and e.g. use git, it is very inconvenient to
have any files that is outside the addon directory. This patch makes it
possible to create an executable dir that is loaded as an addon.
2015-09-27 01:14:57 +02:00
Damien Elmes
96a18d2872 use a different unicode arrow
the smaller arrow doesn't appear to be supported on English W10 installs
2015-09-26 13:02:27 +10:00
Damien Elmes
147c9a02e1 fix star to top right 2015-08-11 19:02:59 +10:00
Damien Elmes
70b7dd88ca Merge pull request #106 from hssm/fav-tree-rebuild
Rebuild browser tree without reconnecting signals
2015-07-03 18:48:00 +10:00
Houssam Salem
98d98ad363 Rebuild browser tree without reconnecting signals
Fixes a bug where adding or removing a saved search triggers
multiple click events on tree items.
2015-06-30 21:41:16 +10:00
Christian Krause
a65c20b3ad Avoid exception on exit
Closing anki when the preferences dialog
is open will cause an exception since
self.mw.col in Preferences is not available
anymore.

Avoid the exception by checking self.mw.col
again on accept().
2015-04-26 12:31:54 +02:00
Jonathan Hall
6f77eed9bf Recognize a couple new media formats.
Adding 'webp' was necessary for Anki to recognize WebP images
(https://developers.google.com/speed/webp/?csw=1) as images rather than
audio.  The addition of the audio formats was incidental, as it appears Anki
assumes audio files if a file is not an image file.
2015-03-15 17:33:48 -05:00
Damien Elmes
cdb1cb06a0 prevent sync error being shown twice when aborting 2015-03-13 16:03:52 +11:00
Damien Elmes
7024fed002 fix cont=False handling in sync 2015-03-02 21:09:12 +11:00
Damien Elmes
0262da2700 catch corrupt add-on downloads 2015-01-05 11:49:29 +10:00
Thomas TEMPÉ
3d81ef2c68 Avoid calling checkValid on an empty note
Fix error message when editFocusLost is called after editor destruction

https://anki.tenderapp.com/discussions/ankidesktop/11175-bug-in-browser-revealed-by-add-on?unresolve=true
To reproduce:
1. Install the attached add-on. (All it does is register a function on the editFocusLost hook, and set the flag to 1 to signify that a field has been updated).
2. Run Anki. Enter the Browse window. Press Enter to display your deck.
3. Select one card.
4. Click inside one of the fields for that card. Now, when you leave that field, the editFocusLost hook will be called.
5. Now, select 2 notes from the browser, with your mouse, without clicking anywhere else before.

You will observe this error message:

Traceback (most recent call last):
File "aqt/progress.pyc", line 69, in handler 
File "aqt/editor.pyc", line 467, in onUpdate 
File "aqt/editor.pyc", line 572, in checkValid AttributeError: 'NoneType' object has no attribute 'fields'
2014-12-31 22:36:12 +08:00
Houssam Salem
6e20bf7013 Load saved searches list in sorted order 2014-11-11 10:13:29 +11:00
Damien Elmes
6e7e08ebd0 be explicit about modSchema()'s check flag
- remove gui code that adds exceptions for syncing
- use check=False for all syncing and upgrade code
2014-11-03 16:28:12 +09:00
Soren I. Bjornstad
44425ab9d5 Merge branch 'master' of https://github.com/dae/anki 2014-10-23 14:23:14 -05:00
Damien Elmes
1f178b869f remove backspace to delete shortcut on macs
too many people activating it accidentally
2014-10-10 17:59:18 +09:00
Houssam Salem
9eaacf8977 Bump mod time when editing saved searches
Fixes saved searches not getting synced when modified.
2014-10-05 20:37:09 +11:00
Soren I. Bjornstad
9ec91724bf catch more invalid zip file errors 2014-09-27 10:19:43 -05:00
Damien Elmes
6b65cfc08f disable embedded fonts on osx 2014-09-27 10:26:14 +09:00
Damien Elmes
ece78a7d11 allow all ankiwebview instances to take focus
the canFocus/canCopy separate variables was silly, as we ended up
with text that could be copied from the context menu but not with
a shortcut key. also we default to allowing focus now, since that's
the more sensible default. fixes copy issues with card info dialog and
some addons
2014-09-15 15:04:14 +09:00
Damien Elmes
70db1035b1 catch another ssl error 2014-09-01 21:06:41 +09:00
Damien Elmes
8420fa02d1 Merge branch 'master' of https://github.com/sobjornstad/anki 2014-09-01 15:03:00 +09:00
Soren I. Bjornstad
a0e736ef39 accept Ctrl-Enter to close the edit current dialog
Esc already works, but since the Add dialog accepts it it's nice to have
as well.
2014-08-31 14:41:08 -05:00
Damien Elmes
3ce77fd25e Merge branch 'master' of github.com:dae/anki 2014-08-28 09:40:14 +09:00
Derbeth
8dedcdf6ac allow better translations of '1 note deleted' browser tooltip 2014-08-26 09:31:32 +02:00
Damien Elmes
346dfe1c7f start new instance if existing instance hung 2014-08-26 15:25:22 +09:00
Damien Elmes
591015417b Merge branch 'master' of https://github.com/sobjornstad/anki 2014-08-22 22:06:13 +09:00
Soren I. Bjornstad
f9f007e5c4 add C. van Rooyen to contributors 2014-08-17 13:46:08 -05:00
Soren I. Bjornstad
b19a1707fb put selection in a sensible place after deleting several cards
If the last selection was at the top, the new selection will be right
above the last-selected item; otherwise, it will be right below it.
2014-08-11 14:32:59 -05:00
Soren I. Bjornstad
a479bc7c48 change "discard field" to "ignore" in text importer
A user pointed out that once selected it said "ignore" and that
"discard" threatened that the information might be deleted.
2014-08-11 10:31:48 -05:00
Soren I. Bjornstad
9bb217f198 reduce tab width in template editor
The previous one was ridiculously wide; reduced to 30 pixels.
2014-08-10 14:36:13 -05:00
Damien Elmes
1d6eff36b1 make sure we write addon .py files as they've been uploaded 2014-08-09 13:28:48 +09:00
Damien Elmes
1d2afd1ab3 make sure .db is initialized at start of profiles init
fixes
File "aqt/profiles.pyc", line 253, in _loadMeta
  File "aqt/profiles.pyc", line 234, in recover
AttributeError: 'ProfileManager' object has no attribute 'db'
2014-08-09 12:50:32 +09:00
Soren I. Bjornstad
2c05c874d7 fall back to homedir on collection package export if no desktop 2014-08-05 11:25:24 -05:00
Soren I. Bjornstad
96818a07c7 don't allow pasting rich text into template editor 2014-08-05 10:42:36 -05:00
Soren I. Bjornstad
4ebb26fe6b say "notes exported", not "cards", if appropriate 2014-08-05 09:50:29 -05:00
Soren I. Bjornstad
0914c01706 Merge branch 'master' of https://github.com/dae/anki 2014-08-04 10:44:43 -05:00
Damien Elmes
d53346d783 limit url unquoting to image tags
this prevents random text like %20 in a field from being converted
when note is saved
2014-08-01 09:42:28 +09:00
Damien Elmes
f8bf8afe4a Revert "remove urllib.unquote() step in editor"
This reverts commit 23cec2d5e9.

without other changes, this causes double escaping when editing
2014-08-01 09:37:23 +09:00
Damien Elmes
cf801e4fb4 display more feedback when syncing media
deletes in particular take some time for the server to process, but
don't require much bandwidth, leading to the progress appearing to
have pause when content is actually being processed

this also gives the user an idea of how long the process will take to
complete
2014-07-28 17:00:26 +09:00
Damien Elmes
908c514e58 Merge branch 'master' of https://github.com/sobjornstad/anki 2014-07-23 20:15:29 +09:00
Soren I. Bjornstad
04966d42b6 additions to contributors list
- Volker Jansen
- myself
2014-07-22 14:37:56 -05:00
Soren I. Bjornstad
9e69da6c9a use Documents/Anki (in English) if no DocumentsLocation
Otherwise it gets created directly in the home folder, which is
confusing when you would expect that only to happen on older installs
which previously used it.
2014-07-22 11:22:06 -05:00
Soren I. Bjornstad
23cec2d5e9 remove urllib.unquote() step in editor
Fixes bug #950. We need to keep an eye out for media filename problems,
as this line is probably not necessary anymore with changes to the way
Anki handles encoding but could potentially introduce issues.
2014-07-22 10:36:08 -05:00
Damien Elmes
d43d9fd87a disable more useful msg in disk i/o error case 2014-07-22 08:01:19 +09:00
Julien Baley
ee55d3e96c Do not ignore the state of a window when opening it 2014-07-13 18:42:18 +01:00
Damien Elmes
1099b743b7 yet another file locking bug: must close prefs.db before moving 2014-07-07 13:18:00 +09:00
Damien Elmes
bbefeb0cfd make sure we don't rename to existing prefs.db.broken 2014-07-07 10:47:57 +09:00
Damien Elmes
760e16dfbf catch more startup errors 2014-07-07 10:41:56 +09:00
Damien Elmes
efbb77c078 add jussi to about 2014-07-07 09:03:58 +09:00
Damien Elmes
a5d9131445 force media resync on deauth 2014-07-04 19:44:15 +09:00
Damien Elmes
03f9c76b9e Merge branch 'master' of https://github.com/sobjornstad/anki 2014-07-04 06:41:44 +09:00
Soren I. Bjornstad
8e2b653bd0 make path to documents folder translatable 2014-07-03 14:46:34 -05:00
Soren I. Bjornstad
45a6e8cdba fix automatic 'deck:current' missing trailing space
3aeb5d8 accidentally added some duplicate code that made the search
parser run twice and strip the space from the search that had just been
automatically placed in the box.
2014-07-03 14:03:04 -05:00
Damien Elmes
e5a2a9c3f8 make sure users can unload corrupt collection to create new profile 2014-07-02 06:29:53 +09:00
Damien Elmes
0abcc7412f initial zip check should display same zip error message 2014-06-29 05:55:01 +09:00
Damien Elmes
1e34696c5b Merge branch 'master' of git://github.com/sobjornstad/anki into sobjornstad-master
Conflicts:
	anki/exporting.py
2014-06-29 04:07:00 +09:00
Soren I. Bjornstad
0c937074eb prevent profiles from getting out of sync when rename fails
If there is an error in renaming the folder, don't write the new profile
name to the database.
2014-06-28 11:31:02 -05:00
Soren I. Bjornstad
186641ad8c add css id to the star used for marking
Can't automatically prevent the star from being affected by image resize
and other CSS properties, as even weirder things happen to it when we
try. However, this will give users the ability to fix it themselves.
2014-06-28 09:17:36 -05:00