Commit Graph

731 Commits

Author SHA1 Message Date
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
Damien Elmes
4c7a1a2af7 Merge branch 'master' of https://github.com/hssm/anki 2014-06-28 05:06:57 +09:00
Houssam Salem
68d8275ce1 Reduce margin of search box so that text isn't covered by fav button 2014-06-28 01:38:34 +10:00
Damien Elmes
61b0072dcc fix handling of corrupt collections on windows
- advise user to create new profile, which prevents restores from
  backup overwriting old backups
- don't rename the collection file, as it's no longer necessary,
  and it fixes a windows bug where the main window would be left
  open due to a failure to rename the locked collection file
2014-06-27 04:25:40 +09:00
Soren I. Bjornstad
4619933e7e change default Anki folder location on Linux to Documents/Anki
(leave in ~/Anki for existing installs)
2014-06-26 10:55:45 -05:00
dae
2aa7714f87 new media syncing protocol
- media syncing no longer locks the account, so it can be done
  in the background in the future, and multiple clients can safely
  sync media at the same time
- all operations are now idempotent, so they can be repeatedly safely
  in the event of a connection error
- whether it's a normal incremental sync, an initial sync,
  or the media database has been deleted, no files will be uploaded
  or downloaded if they already exist on the other side
- file removals are now chunked like additions & updates, preventing
  timeouts due to large requests
- if the server can't process a chunk in time, it will return a count
  of what it did process, so the client can retry the rest

Notes for AnkiDroid:

- when porting this, recommend you pick a different name for the
.media.db2 file, so users don't accidentally copy the AD version to
the desktop or vice versa
- please make sure filenames are added to the zip in NFC form
2014-06-26 09:00:38 +09:00
dae
1933779fa6 Merge branch 'master' of github.com:dae/anki 2014-06-26 08:58:22 +09:00
dae
48dbc48b65 provide debug info when collection corrupt 2014-06-26 07:37:16 +09:00
Soren I. Bjornstad
083d9e8aa5 remove search text when ctrl-clicking a left panel item 2014-06-25 13:46:21 -05:00
Soren I. Bjornstad
9ac6ac4d2b Merge branch 'windows-case-fix' 2014-06-24 15:30:32 -05:00
Soren I. Bjornstad
a2eb5a09c3 allow changing case of profile name on Windows 2014-06-24 15:28:32 -05:00
Soren I. Bjornstad
88c36af987 don't try to log in if user cancels login dialog 2014-06-24 15:04:23 -05:00
Soren I. Bjornstad
d659d9cff7 add 'replay audio' button to previewer 2014-06-21 15:35:45 -05:00
Soren I. Bjornstad
5b61db7d0a make sure unused media exist before deleting them 2014-06-20 19:41:56 -05:00
Soren I. Bjornstad
5f94d92f78 Merge branch 'geom_saverestore' 2014-06-20 10:36:31 -05:00
Soren I. Bjornstad
436f257e36 dialog box size and position improvements
- keep track of size and position for a number of dialogs
- make sure addons dialog opens at an appropriate size for the system
  font size
- add optional argument to showText to restore geom on creation and save
  on reject (other buttons, if used, need to be programmed to save
  individually)
2014-06-20 10:31:52 -05:00
Soren I. Bjornstad
50e0d0b811 better message when Anki can't create a profile folder 2014-06-20 10:00:44 -05:00
Soren I. Bjornstad
b4784b7437 add "export" button to deck menus 2014-06-19 19:13:12 -05:00
Soren I. Bjornstad
ebcab2122d more helpful error message for corrupt collection package 2014-06-17 16:55:55 -05:00
Soren I. Bjornstad
4de023ecba check that save to desktop was successful before showing message 2014-06-17 08:44:26 -05:00
Soren I. Bjornstad
6771af40b1 fix error handling for selecting invalid file type
(The error was never appearing because the test was missing quotation
marks.)
2014-06-17 08:31:38 -05:00
dae
fc4f24ce59 don't default to a button in prefs dialog 2014-06-03 16:26:46 +09:00
black silence
4529fa4513 fix tooltip for inverted color schemes 2014-06-02 20:02:26 +02:00
dae
c89199aee9 Merge branch 'master' of https://github.com/hssm/anki 2014-05-28 17:42:27 +09:00
Houssam Salem
7fa346c2a2 Re-check favourites status on any text change
Updates the favourites button when the search text is updated programmatically as well as user input. Fixes a bug where using the recent search drop-down doesn't update the favourites button state correctly.
2014-05-27 07:04:10 +10:00
dae
2a26b8684e Merge branch 'master' of https://github.com/hssm/anki 2014-05-26 14:19:06 +09:00
dae
8dd88c5f30 add m4a to usable formats 2014-05-25 20:02:24 +09:00
Houssam Salem
96a294039e Don't manually specify tab order.
The default order is more logical:
Text input -> Search -> Preview -> Results table
2014-05-25 11:06:30 +10:00
Houssam Salem
07426a883c Replace search lineEdit before we connect signals.
Avoids overriding the setup work we do on it.
2014-05-22 21:53:35 +10:00
Damien Elmes
7134da4cd6 enable houssam's fav code 2014-05-12 15:45:21 +09:00
Damien Elmes
380080416f Merge branch 'master' of https://github.com/hssm/anki 2014-05-12 15:34:12 +09:00
Damien Elmes
b4c5215013 allow app modal again now that qt's been fixed 2014-04-23 08:20:00 +09:00
Adam Mesha
5629533b38 Add hooks before and after a state change.
Useful for plugin authors.
2014-04-22 01:20:48 +03:00
Damien Elmes
28b2f8fe03 allow main webview to focus, which may fix shortcut issues
some users reported plugins that define reviewer shortcuts broke
2014-04-16 01:43:33 +09:00
Damien Elmes
966aca0f20 disable window modal progress dialog which is causing crashes 2014-04-16 00:46:26 +09:00
Damien Elmes
b99e349695 fix copy not appearing when reviewing 2014-04-14 15:32:30 +09:00
Damien Elmes
468c4f0c4b add julien 2014-04-13 01:16:31 +09:00
Damien Elmes
2802d074bb disable previous osx workaround that may be causing crash on file dialog 2014-04-10 14:01:24 +09:00
Houssam Salem
3aeb5d86da Added search saving feature to card browser. 2014-04-09 04:35:00 +10:00
Houssam Salem
8f61dd3bf2 Merge branch 'master' of https://github.com/dae/anki 2014-04-06 16:38:32 +10:00
Damien Elmes
7dc26ed31d only collapse cloze in type answer if single unique phrase 2014-03-28 07:25:27 +09:00
Damien Elmes
9f6b073def allow copy context item in info view 2014-03-27 16:48:26 +09:00
Damien Elmes
5044089d42 Revert "tweak heights and font sizes"
This reverts commit 9beed20dc0.

beta testers all seem to prefer the original smaller size
2014-03-27 14:02:55 +09:00
Damien Elmes
b562b8c6dc Revert "fix some memory leaks"
This reverts commit b9ba2375a1.

testing assumption that this is causing the windows crashes
2014-03-27 13:58:30 +09:00
Damien Elmes
c4c031d680 Merge branch 'master' of github.com:dae/anki 2014-03-20 08:00:48 +09:00
Damien Elmes
5cc8e9b7d3 show main window on startup on mac
this causes a visible resize, but seems to fix the intermittent
beachball on startup issue
2014-03-20 08:00:02 +09:00
Houssam Salem
b4057152f7 Merge branch 'master' of https://github.com/dae/anki 2014-03-16 22:23:29 +11:00
Damien Elmes
29026b08e2 fix crashes and corruption in column headers
set all columns to interactive at once to work around qt5 issues
2014-03-14 15:41:00 +09:00
Damien Elmes
f9d93fa888 Revert "use a new header key on qt5 to fix drawing bug"
This reverts commit e063123218.
2014-03-14 15:29:48 +09:00
Damien Elmes
44031b065c update add-on forum link 2014-03-14 15:28:34 +09:00
Damien Elmes
e13fcad8a2 Merge pull request #67 from julienbaley/cloze_clone
Fixes creation of Cloze when having a chained modifier
2014-03-14 13:50:15 +09:00
Damien Elmes
b9ba2375a1 fix some memory leaks 2014-03-14 12:51:38 +09:00
Julien Baley
69a19b58c2 Fixes creation of Cloze when having a chained modifier on the left of cloze 2014-03-09 18:12:39 +00:00
Damien Elmes
fe2c94b819 use different way of scrolling to answer to fix qt5 bug 2014-03-07 10:21:38 +09:00
Damien Elmes
9beed20dc0 tweak heights and font sizes 2014-03-07 10:16:38 +09:00
Damien Elmes
66908a172a add houssam to about 2014-03-07 06:47:12 +09:00
Damien Elmes
e063123218 use a new header key on qt5 to fix drawing bug 2014-03-06 09:07:03 +09:00
Damien Elmes
93414007b8 stop providing pyqtconfig, as it's no longer available on newer plats 2014-03-06 09:04:28 +09:00
Damien Elmes
8fecf53c3b use qdesktopservices on qt5+pyqt4 2014-03-06 09:03:52 +09:00
Houssam Salem
068a63270d Changed location of import button (#1018).
Also updated help link in same window to point to a valid anchor.
2014-02-22 21:30:32 +11:00
Damien Elmes
96cc486528 editor needs to accept focus; rename cardViewer to canFocus 2014-02-18 15:13:59 +09:00
Houssam Salem
81d88908a5 Remember scroll position in deck browser (#977). 2014-02-17 13:08:32 +11:00
Damien Elmes
776168b2ea Merge pull request #62 from hssm/998
Issue #998: Allow copy/paste and context menu in all card windows.
2014-02-15 23:43:15 +09:00
Damien Elmes
23c557af6e Merge pull request #61 from hssm/browser-deck-collapse
Add expand/collapse support for decks in browser tree.
2014-02-15 23:43:00 +09:00
Houssam Salem
a12e6f6b65 Issue #998: Allow copy/paste and context menu in all card windows. 2014-02-15 17:26:03 +11:00
Houssam Salem
770c6e9c4a Add expand/collapse support for decks in browser tree.
The state is preserved in a new deck configuration key named 'browserCollapsed'.
2014-02-15 13:32:14 +11:00
Damien Elmes
2ec399a009 catch ssl error 2014-02-06 06:50:41 +09:00
Damien Elmes
640bcfa7d5 fix 1000 cap in overview screen 2014-02-06 05:33:58 +09:00
Damien Elmes
b97f913ba1 catch another invalidTempFolder msg 2014-02-03 01:51:51 +09:00
Damien Elmes
3b20de173f preserve order in multi cloze type answer; bump version 2014-01-30 00:34:42 +09:00
Damien Elmes
1e1e1f6f95 catch broken pipe error 2014-01-24 03:10:04 +09:00
Damien Elmes
92eb4e71d4 ignore duplicates in cloze+type answer 2014-01-17 14:30:40 +09:00
Damien Elmes
14a2321408 increase custom study size limit as well 2014-01-14 15:45:12 +09:00
Damien Elmes
227c5cbc94 rename corrupt collection (#999)
if we don't do this, the user can never get back into the profile
in order to overwrite it with a backup
2014-01-14 15:24:42 +09:00
Damien Elmes
513b0ca8d7 ignore filtered cards when determining new card pos boundaries 2014-01-14 15:06:22 +09:00
Damien Elmes
76ed611bc0 workaround for google images+safari 2014-01-14 14:59:16 +09:00
Damien Elmes
4b217664aa confirm interface language selection on first startup 2014-01-14 14:40:45 +09:00
Damien Elmes
8769a6daf0 catch err 10054 2014-01-14 14:12:49 +09:00
Damien Elmes
c5df294a28 fix "local variable 'txt' referenced before assignment" 2014-01-13 19:07:34 +09:00
Damien Elmes
cc98ef3763 tweak imports to work around tooling incorrectly finding module unused
fixes 'quit' from the profile menu, etc
2013-12-19 07:41:29 +09:00
Damien Elmes
f057242da1 typo in clock off msg 2013-12-09 15:45:39 +09:00
Damien Elmes
647ca8bffa option to disable backup compression 2013-12-06 13:35:31 +09:00
Damien Elmes
46a771def3 fix clock off message 2013-12-06 13:27:13 +09:00
Damien Elmes
5bc25e494c add fixme 2013-12-02 10:26:18 +09:00
Damien Elmes
9b02f71abf friendly msg for 10053 error 2013-11-27 23:02:03 +09:00
Damien Elmes
0372f30220 adjust media regexp to not trigger on mce_src
otherwise pasting the following will cause an error:

<img src="..." mce_src="/foo.png">
2013-11-27 19:24:41 +09:00
Damien Elmes
1f05392113 change default import mode to ignore updates 2013-11-26 18:19:54 +09:00
Damien Elmes
dc2fd097d8 if unrecognized url pasted in, paste as text
this fixes pasting a url copied from the location bar in chrome
2013-11-26 17:57:14 +09:00
Damien Elmes
dd1899bcc6 cascading column resize must be set after resize 2013-11-26 04:57:39 +09:00
Damien Elmes
6ed971cb6b we need to retry when we get BadStatusLine
this is caused by the http keep alive being closed by the server
2013-11-26 02:43:59 +09:00
Damien Elmes
fb8cb34532 fix clayout switching back to original tab when flipping 2013-11-18 10:29:40 +09:00
Damien Elmes
ae8074ec01 make sure we reset odue when rescheduling as new
if we fail to do this for a relearning card, it sticks around
until it causes problems later
2013-11-17 16:03:58 +09:00
Damien Elmes
0389eebc43 ask people to check media when media sanity occurs 2013-11-14 12:12:37 +09:00
Damien Elmes
8812472b53 catch "no such file or directory" error when connecting with no net
soren reports it happening on his computer; can't repro it here

also make sure exception is always converted to string in reliable way
2013-11-14 11:14:21 +09:00
Damien Elmes
f6b9dadf13 catch invalid file encodings in media check & sync 2013-11-13 17:19:25 +09:00
Damien Elmes
ef9157a8ee don't open log for export or upgrade, only regular+sync 2013-11-13 16:48:22 +09:00
Damien Elmes
9f548ad85a recover from a corrupt prefs.db that fails to load at all 2013-11-13 15:29:50 +09:00
Damien Elmes
9c678c32ad further simplify augmented httplib2 conn_request 2013-11-13 15:15:03 +09:00
Damien Elmes
927e618f53 disable plastique theme on osx as possible crash fix 2013-11-13 14:56:37 +09:00
Damien Elmes
3dbc6fa0dd strip out buggy retry code
it assumed there'd be at least one retry, and was trying to return
response that was initialized
2013-11-08 01:14:49 +09:00
Damien Elmes
be81d282ac catch temp folder issue when importing 2013-11-07 21:57:23 +09:00
Damien Elmes
5dfe95aa67 move debug logging into libanki
we want to be able to log the initial automatic sync, which
happens before the debug logging was set up in ankiqt

also skip the flush, as it should eventually get written
2013-11-04 23:04:27 +09:00
Damien Elmes
2e22b6218b don't close log on profile close
we want the log to stick around for syncs, and if the user
changes to another profile the log will be closed then
2013-11-04 06:35:30 +09:00
Damien Elmes
1d2ef1dbfb seeking on win32 is slow, so keep file handle around 2013-11-03 18:39:03 +09:00
Damien Elmes
3348b091d0 tweak logging
- log only sched getCard(), not all getCard calls
- don't log sched.today unless it's changed
2013-10-30 22:42:32 +09:00
Damien Elmes
41a5f4eb4e work around a font issue on osx10.9 2013-10-26 10:53:27 +09:00
Damien Elmes
1fe04a29b2 change env var name 2013-10-23 16:04:44 +09:00
Damien Elmes
82a54c780f catch invalid temp folder and other tweaks
- tweak sync code so that a failure in loading the collection
  won't leave the app with an unopen collection
- don't show corrupt collection message when the error is not
  a db error
- catch the temp folder issue when loading the collection. i suspect
  this was the issue that was causing some people to end up with
  an open anki instance with no collection loaded
2013-10-22 15:30:53 +09:00
Damien Elmes
553a908839 skip startup sync when restoring from backup 2013-10-22 14:57:56 +09:00
Damien Elmes
a9c9452271 bury card option 2013-10-22 14:28:45 +09:00
Damien Elmes
004998c8ec env var to skip expensive closing during dev 2013-10-22 14:28:17 +09:00
Piotr Kubowicz
b0a24a14ff Fixed the translation in the warning about system clock 2013-10-21 09:52:54 +02:00
Damien Elmes
184ea3503a use file system encoding for cmdline args
thanks to to wlhunag for the initial patch!
2013-10-21 09:22:14 +09:00
Damien Elmes
4a9c08014e return of the evil bytestring windows exceptions 2013-10-20 11:01:57 +09:00
Damien Elmes
4841858f14 update about 2013-10-20 10:42:08 +09:00
Damien Elmes
58f13f1e9a display time difference & more info in clock off msg; i18n it 2013-10-20 10:26:11 +09:00
Damien Elmes
bab63de768 silly me, we were overriding retries in the aqt monkeypatch 2013-10-20 10:25:25 +09:00
Damien Elmes
d6f9fb4ab0 fix invalid translation 2013-10-20 10:02:29 +09:00
Damien Elmes
0ac8789ad5 encode to utf8 before writing log 2013-10-18 15:21:54 +09:00
Damien Elmes
0fbc94c186 more logging tweaks
- disable in browser, note.cards()
- in getCard() we want the calling frame, not us
- log current day
- show card/note id in card info stat
2013-10-18 14:20:20 +09:00
Damien Elmes
b99533a5ad add logging to some scheduling and syncing code 2013-10-18 11:52:21 +09:00
Damien Elmes
9baa3e197a add option to disable burying of reviews 2013-10-18 10:38:29 +09:00
Damien Elmes
9cb1d19dc2 try to work around the qbytearray issue
https://anki.tenderapp.com/discussions/ankidesktop/3369-bug-report-for-restoring-from-backup
2013-10-18 07:53:53 +09:00
Damien Elmes
5bf0a31c51 catch 413 error and don't trigger on file line numbers
fixes spurious proxy auth required msg
2013-10-14 11:18:52 +09:00
Damien Elmes
2f3f285528 clarify 409 msg 2013-10-10 11:48:38 +09:00
Damien Elmes
d503b62cd1 fix display of non-latin tags 2013-10-08 07:42:06 +09:00
Damien Elmes
3ed2861115 include platform in cv 2013-10-06 04:37:39 +09:00
Damien Elmes
9524dbed96 give note types unique name when adding/importing (#325) 2013-10-04 09:00:08 +09:00
Damien Elmes
174914b7dc scroll to newly added column in browser (#978) 2013-10-04 08:43:46 +09:00
Damien Elmes
0f7000db83 refactor second instance detection
- get rid of shared memory check as it was causing problems when an existing
  session was forcefully closed; instead we rely on the socket
- include a hash of the user's name in the key so that multiple users can run
  anki at the same time
2013-10-04 07:37:19 +09:00
Damien Elmes
f64c07ca40 show sync username in prefs screen 2013-10-04 06:09:36 +09:00
Damien Elmes
f29a04ae29 bump sync ver to 7 and change meta return value
- /sync/meta now returns a dictionary
- it includes the following extra fields
- msg: if non-empty, show this message at the end of the sync
- cont: if false, show above message and abort sync
- uname: the user's email address, so it can be stored by the local client to
  show users who have forgotten which email address they used. in the future
  this will be saved only when logging in, so do a conditional access on it
2013-10-04 06:09:28 +09:00
Damien Elmes
b55761190f option to tag notes in find dupes function 2013-10-04 00:07:11 +09:00
Damien Elmes
3d33436a86 move version number into libanki 2013-10-02 03:50:19 +09:00
Damien Elmes
e7be6fd4be make sure we decode full traceback on addon err (#954) 2013-09-20 15:02:46 +09:00
Damien Elmes
fe3ce87020 make sure we escape html chars after type ans comp. (#960) 2013-09-20 14:57:05 +09:00
Damien Elmes
7eabc36468 remember window size for deck&model selection (#931) 2013-09-20 14:51:12 +09:00
Damien Elmes
2fff30db2f prioritize urls over text; fixes linux fm drop (#945) 2013-09-20 14:41:56 +09:00
Damien Elmes
bd8707f54c support import of renamed .apkg files 2013-09-11 15:56:59 +09:00
Damien Elmes
c1827e0561 unbury from overview shouldn't unbury all decks 2013-09-11 15:33:27 +09:00
Damien Elmes
b49d52393e add tags column in browser 2013-09-04 03:21:19 +09:00
Damien Elmes
463fec1158 setdestroyonexit (#907) 2013-09-04 03:15:35 +09:00
Damien Elmes
31c42a4f75 fix import when dyn deck selected (#959) 2013-09-04 03:13:02 +09:00
Damien Elmes
4fe76257f1 about about and available languages 2013-08-22 15:54:33 +09:00
Damien Elmes
afde11671e rework sibling handling and change bury semantics
First, burying changes:

- unburying now happens on day rollover, or when manually unburying from
  overview screen

- burying is not performed when returning to deck list, or when closing
  collection, so burying now must mark cards as modified to ensure sync
  consistent

- because they're no longer temporary to a session, make sure we exclude them
  in filtered decks in -is:suspended

Sibling spacing changes:

- core behaviour now based on automatically burying related cards when we
  answer a card

- applies to reviews, optionally to new cards, and never to cards in the
  learning queue (partly because we can't suspend/bury cards in that queue at
  the moment)

- this means spacing works consistently in filtered decks now, works on
  reviews even when user is late to review, and provides better separation of
  new cards

- if burying new cards disabled, we just discard them from the current queue.
  an option to set due=ord*space+due would be nicer, but would require
  changing a lot of code and is more appropriate for a future major version
  change. discarding from queue suffers from the same issue as the new card
  cycling in that queue rebuilds may cause cards to be shown close together,
  so the default burying behaviour is preferable

- refer to them as 'related cards' rather than 'siblings'

These changes don't require any changes to the database format, so they
should hopefully coexist with older clients without issue.
2013-08-10 15:56:26 +09:00
Damien Elmes
8a4fbcc430 unbury in deckbrowser, not deckduelist() (#946) 2013-08-08 15:19:57 +09:00
Damien Elmes
f6c19ca0b4 don't die if autojunk unavailable (#952) 2013-08-08 10:56:44 +09:00
Damien Elmes
ed5df2b251 bump version 2013-07-24 01:05:06 +09:00
Damien Elmes
0254a25c23 unused media tooltip patch from julien baley (removed redundant .finish()) 2013-07-24 01:04:37 +09:00
Damien Elmes
36e877fe12 work around crash on close when card layout opened on windows (#940) 2013-07-23 22:35:00 +09:00
Damien Elmes
402ec3a0b8 don't try to download local image urls 2013-07-18 20:44:33 +09:00
Damien Elmes
9ccb21fe09 fix incorrect code that was not restoring clipboard 2013-07-18 19:56:47 +09:00
Damien Elmes
70008a8f40 remove filtered deck restriction on stats 2013-07-18 19:01:39 +09:00
Damien Elmes
99c90b929b warn when prefs.db corrupt and catch another case 2013-07-18 18:59:14 +09:00
Damien Elmes
6f66f11572 Merge pull request #40 from steveaw/add-hooks3
Add hooks for context menus
2013-07-16 19:08:59 -07:00
Damien Elmes
4c671b3676 work around linux crash on paste
https://anki.tenderapp.com/discussions/ankidesktop/2019-inaccessible-firewall-blocked-media-url-paste-hangs-anki-for-a-minute-until-a-network-is-unreachable-like-message-appears
2013-07-17 10:19:09 +09:00
steveaw
e5bc1650f9 Add hooks for context menus 2013-07-16 17:42:50 +10:00
Damien Elmes
ffff271362 make sure we strip <!--anki--> 2013-07-11 21:22:51 +09:00
Damien Elmes
f7c841fba2 Revert "when target add deck changed, switch review deck too (#695)"
This reverts commit db262031c3.

This addresses issue #929
2013-07-11 18:17:26 +09:00
Damien Elmes
3007d884b8 if there's no html and we have an image, use that (#915) 2013-07-11 17:43:18 +09:00
Damien Elmes
e2d2b759a4 refactor media downloading on paste/drop
- use html as the first choice for incoming drops/pastes
- when filtering incoming html, automatically localize any remote image
  references
- add a special case for pasting/dropping from google images when html
  stripping is on
- move filtering code into editor
2013-07-11 17:21:16 +09:00
Damien Elmes
a1ca03ee17 allow urllib2 to be passed unicode data to send (#923) 2013-07-03 04:48:52 +09:00
Damien Elmes
2754ead0a4 don't bug out if cloze:text is invalid (#925) 2013-07-03 04:27:46 +09:00
Damien Elmes
2047e5c93c don't send old backups to the trash (#912) 2013-07-03 03:41:41 +09:00
Hans Engel
c916fa533f Handle invalid import file argument in both launch cases (single-profile and multi-profile launch) (#924) 2013-06-29 15:08:37 -07:00
Soren Bjornstad
b5521af059 fix incorrect instructions to "maintenance" menu
(on finding an empty card, tells user to go to old location of the empty
cards tool)
2013-06-25 10:59:00 -05:00
Damien Elmes
1a9ef3734e bump version 2013-06-14 13:15:18 +09:00
Damien Elmes
077d6b8187 Revert "force webkit to output <br> when enter pressed, instead of div"
This reverts commit e63c8e5619.
2013-06-14 13:11:48 +09:00
Damien Elmes
24995de437 Revert "need to strip trailing <br /> when saving fields"
This reverts commit f10b336fb9.
2013-06-14 13:11:26 +09:00
Damien Elmes
49ea66bca9 Revert "add a hack to prevent double newlines when deleting formatting"
This reverts commit ecf9776f90.
2013-06-14 13:11:04 +09:00
Damien Elmes
e7ec4edf92 fix sync error message bug 2013-06-14 13:06:56 +09:00
Damien Elmes
b71282ea0b bump version 2013-06-12 11:22:27 +09:00
Damien Elmes
c0e061a9f4 make sure we show correct version when nothing typed in 2013-06-12 11:22:13 +09:00
Damien Elmes
5ec30e6858 allow apostrophe when renaming deck 2013-06-12 11:12:03 +09:00
Damien Elmes
f80d01dc4f update about 2013-06-12 10:50:57 +09:00
Damien Elmes
426eff4cff prioritize images over html for now
when a user copies an image from the browser to the clipboard, we need to do
this so the image pastes, as we currently don't support images derived from
html pastes (issue 92)
2013-06-10 16:04:58 +09:00
Damien Elmes
51121f6e86 escape image links in clayout and preview as well (#903) 2013-06-10 15:28:34 +09:00
Damien Elmes
c7b31d28e4 fix unicode error on export (#904) 2013-06-10 15:19:44 +09:00
Damien Elmes
9d173f4c83 default to allowing HTML on import 2013-06-10 15:03:26 +09:00
Damien Elmes
8fd4ae7a89 include pyqtconfig until add-ons have a chance to update 2013-06-10 15:03:19 +09:00
Damien Elmes
dbd60dba4b fix error when opening card layout 2013-06-07 09:51:26 +09:00
Damien Elmes
daca1af693 compare typed answer in nfc form 2013-06-05 18:39:42 +09:00
Damien Elmes
55ca4b42bb bump version 2013-06-03 17:53:01 +09:00
Damien Elmes
161f8bcb31 Merge branch 'master' of github.com:dae/anki 2013-06-02 10:26:22 +09:00
Soren Bjornstad
222b90e640 fix "save image" creating a folder instead of an image 2013-06-01 13:48:24 -05:00
Damien Elmes
9101867224 only show browser close menu item on mac 2013-05-31 14:16:37 +09:00
Damien Elmes
122c5c8f4c ensure we have access to col when removing notes while syncing 2013-05-31 10:42:24 +09:00
Damien Elmes
19a48fec6a Revert "remember tags when add cards window opened (#632)"
This reverts commit ddc85b3a39.
2013-05-30 10:55:39 +09:00
Damien Elmes
be78c3f9e3 better msg when media sanity fails 2013-05-30 10:54:55 +09:00
Damien Elmes
ff8b58de21 include full traceback on sync error 2013-05-29 09:32:49 +09:00
Damien Elmes
1a06402f53 merge 'limit to tags' and 'cram' custom study optionts (#584) 2013-05-27 13:50:01 +09:00
Damien Elmes
ddc85b3a39 remember tags when add cards window opened (#632) 2013-05-27 12:52:24 +09:00
Damien Elmes
78155afb09 we shouldn't be quoting sound tags 2013-05-27 12:15:21 +09:00
Damien Elmes
444f99b7ba pass enter back to qwidget so add tags dialog can close on enter 2013-05-27 11:37:35 +09:00
Damien Elmes
9c24c41b90 we do need to quote when adding media
contrary to commit 3576475, we do need to quote when adding media on windows
as well, as it seems webkit can not handle all representations variants when
passed unicode

as we're stripping # and % when adding characters, hopefully that's the last
of it!
2013-05-27 11:26:02 +09:00
Damien Elmes
4f738fd8cf don't die if appdata not defined 2013-05-24 13:56:50 +09:00
Damien Elmes
8b0fc36b29 turn timebox into confirmation dialog (#883) 2013-05-24 12:53:41 +09:00
Damien Elmes
4d2ed10c94 fix toolbar alignment issues (#191) 2013-05-24 12:40:41 +09:00
Damien Elmes
48f40c4884 ignore sticky fields when checking if blank (#843) 2013-05-24 12:04:28 +09:00
Damien Elmes
e6ecbfd086 allow multiple spaces in type answer 2013-05-24 11:01:24 +09:00
Damien Elmes
952f0cf6bd mention agpl3 in about 2013-05-24 10:54:33 +09:00
Damien Elmes
cc73a3bb42 work around broken images when pasting/attaching on linux 2013-05-24 10:50:15 +09:00
Damien Elmes
97a92e5ea9 translation issues 2013-05-24 10:46:44 +09:00
Damien Elmes
b253a1736d tweak unused media msg 2013-05-24 10:35:18 +09:00
Damien Elmes
b151b049f5 fix unicode error on export 2013-05-24 10:32:21 +09:00
Andreas Klauer
4b0f31676c repeating timers would randomly start firing every 100ms indefinitely 2013-05-24 02:08:36 +02:00
Damien Elmes
7787427a50 make sure we use correct extension when exporting 2013-05-23 15:32:47 +09:00
Damien Elmes
46fea20985 shortcut key for history button 2013-05-23 14:44:00 +09:00
Damien Elmes
19f62e8d41 require consecutive match when filtering (#786) 2013-05-23 14:38:47 +09:00
Damien Elmes
d74338b6e9 allow font sizes > 20 in browser (#492) 2013-05-23 14:12:04 +09:00
Damien Elmes
eb1793ba38 send old backups to trash as well 2013-05-23 14:04:40 +09:00
Damien Elmes
aa0cac1ed3 send to trash when deleting profile 2013-05-23 14:03:21 +09:00
Damien Elmes
2655dcf649 move unused media to trash too 2013-05-23 13:42:31 +09:00
Damien Elmes
ecf9776f90 add a hack to prevent double newlines when deleting formatting
prior to this change, if you entered an empty field, turned on bold,
typed some text, and then backspaced over the text, it would expand
to two lines and the formatting would not go away
2013-05-23 12:31:49 +09:00