Commit Graph

493 Commits

Author SHA1 Message Date
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