work on reviewer
10
aqt/about.py
|
|
@ -19,7 +19,7 @@ system. It's free and open source.")
|
||||||
abouttext += '<p>' + _("Written by Damien Elmes, with patches, translation,\
|
abouttext += '<p>' + _("Written by Damien Elmes, with patches, translation,\
|
||||||
testing and design from:<p>%(cont)s") % {'cont': u"""
|
testing and design from:<p>%(cont)s") % {'cont': u"""
|
||||||
|
|
||||||
Andreas Klauer, Andrew Wright, Bernhard Ibertsberger, Charlene
|
Alex Fraser, Andreas Klauer, Andrew Wright, Bernhard Ibertsberger, Charlene
|
||||||
Barina, Christian Rusche, David Smith, Dave Druelinger, Dotan Cohen, Emilio
|
Barina, Christian Rusche, David Smith, Dave Druelinger, Dotan Cohen, Emilio
|
||||||
Wuerges, Emmanuel Jarri, Frank Harper, H. Mijail, Ian Lewis, Iroiro, Jin
|
Wuerges, Emmanuel Jarri, Frank Harper, H. Mijail, Ian Lewis, Iroiro, Jin
|
||||||
Eun-Deok, Jarvik7, Jo Nakashima, Christian Krause, LaC, Laurent Steffan, Marco
|
Eun-Deok, Jarvik7, Jo Nakashima, Christian Krause, LaC, Laurent Steffan, Marco
|
||||||
|
|
@ -30,12 +30,8 @@ Petr Michalec, Piotr Kubowicz, Richard Colley, Samson Melamed, Stefaan
|
||||||
De Pooter, Susanna Björverud, Tacutu, Timm Preetz, Timo Paulssen, Ursus, Victor
|
De Pooter, Susanna Björverud, Tacutu, Timm Preetz, Timo Paulssen, Ursus, Victor
|
||||||
Suba, and Xtru.
|
Suba, and Xtru.
|
||||||
<p>
|
<p>
|
||||||
Anki icon by Alex Fraser (CC GNU GPL)<br>
|
The icons were obtained from various sources; please see the Anki source
|
||||||
Deck icon: Be Box Icons (free for non-commercial use)<br>
|
for credits.
|
||||||
Deck browser icons from:<br>
|
|
||||||
http://led24.de/iconset<br>
|
|
||||||
http://p.yusukekamiyamane.com/<br>
|
|
||||||
Other icons under LGPL or public domain.<br>
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1447,7 +1447,7 @@ class BrowserToolbar(Toolbar):
|
||||||
self.web.stdHtml(self._body % (
|
self.web.stdHtml(self._body % (
|
||||||
"<span style='display:inline-block; width: 100px;'></span>",
|
"<span style='display:inline-block; width: 100px;'></span>",
|
||||||
self._centerLinks(),
|
self._centerLinks(),
|
||||||
right), self._css, focus=False)
|
right), self._css)
|
||||||
|
|
||||||
# Link handling
|
# Link handling
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
|
||||||
|
|
@ -292,7 +292,7 @@ background: #f3f3f3;
|
||||||
margin: 2em;
|
margin: 2em;
|
||||||
}
|
}
|
||||||
h1 { margin-bottom: 0.2em; }
|
h1 { margin-bottom: 0.2em; }
|
||||||
hr { margin:5 0 5 0; border:0; height:1px; background-color:#ccc; }
|
hr { background-color:#ccc; margin: 1em; }
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def button(self, link, name, key=None, class_="", id=""):
|
def button(self, link, name, key=None, class_="", id=""):
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,6 @@ class Overview(object):
|
||||||
def _linkHandler(self, url):
|
def _linkHandler(self, url):
|
||||||
print "link", url
|
print "link", url
|
||||||
if url == "study":
|
if url == "study":
|
||||||
self.mw.col.reset()
|
|
||||||
self.mw.moveToState("review")
|
self.mw.moveToState("review")
|
||||||
elif url == "anki":
|
elif url == "anki":
|
||||||
print "anki menu"
|
print "anki menu"
|
||||||
|
|
|
||||||
173
aqt/reviewer.py
|
|
@ -33,7 +33,7 @@ class Reviewer(object):
|
||||||
else:
|
else:
|
||||||
self.nextCard()
|
self.nextCard()
|
||||||
self.keep = False
|
self.keep = False
|
||||||
self.bottom.web.setFixedHeight(60)
|
self.bottom.web.setFixedHeight(46)
|
||||||
self.bottom.web.setLinkHandler(self._linkHandler)
|
self.bottom.web.setLinkHandler(self._linkHandler)
|
||||||
|
|
||||||
def lastCard(self):
|
def lastCard(self):
|
||||||
|
|
@ -82,12 +82,17 @@ var ankiPlatform = "desktop";
|
||||||
var hideq;
|
var hideq;
|
||||||
var ans;
|
var ans;
|
||||||
var typeans;
|
var typeans;
|
||||||
function _updateQA (q) {
|
function _updateQA (q, answerMode) {
|
||||||
$("#qa").html(q);
|
$("#qa").html(q);
|
||||||
typeans = document.getElementById("typeans");
|
typeans = document.getElementById("typeans");
|
||||||
if (typeans) {
|
if (typeans) {
|
||||||
typeans.focus();
|
typeans.focus();
|
||||||
}
|
}
|
||||||
|
if (answerMode) {
|
||||||
|
window.location = "#answerStart";
|
||||||
|
} else {
|
||||||
|
window.location = "";
|
||||||
|
}
|
||||||
};
|
};
|
||||||
function _showans (a) {
|
function _showans (a) {
|
||||||
$("#qa").html(a);
|
$("#qa").html(a);
|
||||||
|
|
@ -117,15 +122,14 @@ function _typeAnsPress() {
|
||||||
_showans();
|
_showans();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$(document).ready(function () {
|
|
||||||
$(".ansbut").focus();
|
|
||||||
});
|
|
||||||
</script>
|
</script>
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def _initWeb(self):
|
def _initWeb(self):
|
||||||
|
base = getBase(self.mw.col)
|
||||||
self.web.stdHtml(self._revHtml, self._styles(),
|
self.web.stdHtml(self._revHtml, self._styles(),
|
||||||
bodyID="card", loadCB=lambda x: self._showQuestion())
|
bodyID="card", loadCB=lambda x: self._showQuestion(),
|
||||||
|
head=base)
|
||||||
|
|
||||||
# Showing the question
|
# Showing the question
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
@ -143,12 +147,12 @@ $(".ansbut").focus();
|
||||||
q = c.q()
|
q = c.q()
|
||||||
if self.mw.pm.profile['autoplay']:
|
if self.mw.pm.profile['autoplay']:
|
||||||
playFromText(q)
|
playFromText(q)
|
||||||
# render
|
# render & update bottom
|
||||||
q = self._mungeQA(q)
|
q = self._mungeQA(q)
|
||||||
self.web.eval("_updateQA(%s);" % simplejson.dumps(q))
|
self.web.eval("_updateQA(%s);" % simplejson.dumps(q))
|
||||||
runHook('showQuestion')
|
|
||||||
# and refresh bottom bar
|
|
||||||
self._showAnswerButton()
|
self._showAnswerButton()
|
||||||
|
# user hook
|
||||||
|
runHook('showQuestion')
|
||||||
|
|
||||||
# Showing the answer
|
# Showing the answer
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
@ -157,54 +161,16 @@ $(".ansbut").focus();
|
||||||
self.state = "answer"
|
self.state = "answer"
|
||||||
c = self.card
|
c = self.card
|
||||||
a = c.a()
|
a = c.a()
|
||||||
|
# play audio?
|
||||||
if self.mw.pm.profile['autoplay']:
|
if self.mw.pm.profile['autoplay']:
|
||||||
playFromText(a)
|
playFromText(a)
|
||||||
# render
|
# render and update bottom
|
||||||
|
a = self._mungeQA(a)
|
||||||
|
self.web.eval("_updateQA(%s, true);" % simplejson.dumps(a))
|
||||||
|
self._showEaseButtons()
|
||||||
|
# user hook
|
||||||
runHook('showAnswer')
|
runHook('showAnswer')
|
||||||
|
|
||||||
# Ease buttons
|
|
||||||
##########################################################################
|
|
||||||
|
|
||||||
def _defaultEase(self):
|
|
||||||
if self.mw.col.sched.answerButtons(self.card) == 4:
|
|
||||||
return 3
|
|
||||||
else:
|
|
||||||
return 2
|
|
||||||
|
|
||||||
def _answerButtons(self):
|
|
||||||
if self.mw.col.sched.answerButtons(self.card) == 4:
|
|
||||||
labels = (_("Again"), _("Hard"), _("Good"), _("Easy"))
|
|
||||||
else:
|
|
||||||
labels = (_("Again"), _("Good"), _("Easy"))
|
|
||||||
times = []
|
|
||||||
buttons = []
|
|
||||||
default = self._defaultEase()
|
|
||||||
def but(label, i):
|
|
||||||
if i == default:
|
|
||||||
extra=" id=defease"
|
|
||||||
else:
|
|
||||||
extra = ""
|
|
||||||
return '''
|
|
||||||
<a %s class="ansbut easebut" href=ease%d>%s</a>''' % (extra, i, label)
|
|
||||||
for i in range(0, len(labels)):
|
|
||||||
l = labels[i]
|
|
||||||
l += "<br><small>%s</small>" % self._buttonTime(i, default-1)
|
|
||||||
buttons.append(but(l, i+1))
|
|
||||||
buf = ("<table><tr><td>" +
|
|
||||||
"</td><td>".join(buttons) + "</td></tr></table>")
|
|
||||||
return "<center>" + buf + "</center>"
|
|
||||||
return buf
|
|
||||||
|
|
||||||
def _buttonTime(self, i, green):
|
|
||||||
if self.mw.pm.profile['showDueTimes']:
|
|
||||||
return ""
|
|
||||||
txt = self.mw.col.sched.nextIvlStr(self.card, i+1, True)
|
|
||||||
if i == 0:
|
|
||||||
txt = '<span style="color: #700">%s</span>' % txt
|
|
||||||
elif i == green:
|
|
||||||
txt = '<span style="color: #070">%s</span>' % txt
|
|
||||||
return txt
|
|
||||||
|
|
||||||
# Answering a card
|
# Answering a card
|
||||||
############################################################
|
############################################################
|
||||||
|
|
||||||
|
|
@ -445,39 +411,90 @@ from(#fff), to(#ddd));
|
||||||
border-bottom: 0;
|
border-bottom: 0;
|
||||||
border-top: 1px solid #aaa;
|
border-top: 1px solid #aaa;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
padding: 5px;
|
padding: 0px;
|
||||||
|
padding-left: 5px; padding-right: 5px;
|
||||||
}
|
}
|
||||||
td { font-weight: bold; font-size: 12px; }
|
td { font-weight: bold; font-size: 12px; }
|
||||||
.hitem { padding: 0; }
|
.hitem { margin-top: 2px; }
|
||||||
"""
|
.stat { padding-top: 5px; }
|
||||||
_bottomQuestion = """
|
.stattxt { padding-left: 5px; padding-right: 5px; }
|
||||||
<table width=100%% cellspacing=0 cellpadding=0>
|
.nobold { font-weight: normal; display: inline-block; padding-top: 3px; }
|
||||||
<tr>
|
.spacer { height: 18px; }
|
||||||
<td width=100>0 + 0 + 0</td>
|
.spacer2 { height: 16px; }
|
||||||
<td align=center>
|
button { font-weight: normal; }
|
||||||
<button onclick='py.link(\"ans\");'>%s</button>
|
|
||||||
</td>
|
|
||||||
<td width=100 align=right>0:00</td>
|
|
||||||
</tr>
|
|
||||||
</table>
|
|
||||||
<center>
|
|
||||||
<table width=100%% cellspacing=0 cellpadding=0>
|
|
||||||
<tr>
|
|
||||||
<td align=left>
|
|
||||||
<a class=hitem href="foo">Actions ▾</a>
|
|
||||||
</td>
|
|
||||||
<td align=right>
|
|
||||||
<a class=hitem><img src="qrc:/icons/star16.png"></a>
|
|
||||||
<a class=hitem><img src="qrc:/icons/star16.png"></a>
|
|
||||||
</td>
|
|
||||||
</tr></table>
|
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
def _bottomHTML(self, middle):
|
||||||
|
return """
|
||||||
|
<table width=100%% cellspacing=0 cellpadding=0>
|
||||||
|
<tr>
|
||||||
|
<td align=left width=50 valign=top class=stat><span class=stattxt>1 + 7 + 3</span><br>
|
||||||
|
<button>Edit Note</button></td>
|
||||||
|
<td align=center valign=top>
|
||||||
|
%(middle)s
|
||||||
|
</td>
|
||||||
|
<td width=50 align=right valign=top class=stat><span class=stattxt>0:53</span><br>
|
||||||
|
<button>More ▾</button>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<script>$(function () { $("#ansbut").focus(); });</script>
|
||||||
|
""" % dict(middle=middle)
|
||||||
|
|
||||||
def _showAnswerButton(self):
|
def _showAnswerButton(self):
|
||||||
|
self.bottom.web.setFocus()
|
||||||
|
middle = '''
|
||||||
|
<div class=spacer2></div>
|
||||||
|
<button id=ansbut onclick='py.link(\"ans\");'>%s</button>''' % _("Show Answer")
|
||||||
|
# wrap it in a table so it has the same top margin as the ease buttons
|
||||||
|
middle = "<table cellpadding=0><tr><td>%s</td></tr></table>" % middle
|
||||||
self.bottom.web.stdHtml(
|
self.bottom.web.stdHtml(
|
||||||
self._bottomQuestion % _("Show Answer"),
|
self._bottomHTML(middle),
|
||||||
self.bottom._css + self._bottomCSS)
|
self.bottom._css + self._bottomCSS)
|
||||||
|
|
||||||
|
def _showEaseButtons(self):
|
||||||
|
print self._answerButtons()
|
||||||
|
self.bottom.web.stdHtml(
|
||||||
|
self._bottomHTML(self._answerButtons()),
|
||||||
|
self.bottom._css + self._bottomCSS)
|
||||||
|
|
||||||
|
def _defaultEase(self):
|
||||||
|
if self.mw.col.sched.answerButtons(self.card) == 4:
|
||||||
|
return 3
|
||||||
|
else:
|
||||||
|
return 2
|
||||||
|
|
||||||
|
def _answerButtons(self):
|
||||||
|
if self.mw.col.sched.answerButtons(self.card) == 4:
|
||||||
|
labels = (_("Again"), _("Hard"), _("Good"), _("Easy"))
|
||||||
|
else:
|
||||||
|
labels = (_("Again"), _("Good"), _("Easy"))
|
||||||
|
times = []
|
||||||
|
buttons = []
|
||||||
|
default = self._defaultEase()
|
||||||
|
def but(label, i):
|
||||||
|
if i == default:
|
||||||
|
extra = "id=defease"
|
||||||
|
else:
|
||||||
|
extra = ""
|
||||||
|
due = self._buttonTime(i-1, default-1)
|
||||||
|
return '''
|
||||||
|
<td align=center>%s<button %s onclick='py.link("ease%d");'>\
|
||||||
|
%s</button></td>''' % (due, extra, i, label)
|
||||||
|
buf = "<center><table cellpading=0 cellspacing=0><tr>"
|
||||||
|
for i in range(0, len(labels)):
|
||||||
|
buf += but(labels[i], i+1)
|
||||||
|
buf += "</tr></table>"
|
||||||
|
script = """
|
||||||
|
<script>$(function () { $("#defease").focus(); });</script>"""
|
||||||
|
return buf + script
|
||||||
|
|
||||||
|
def _buttonTime(self, i, green):
|
||||||
|
if not self.mw.pm.profile['showDueTimes']:
|
||||||
|
return "<div class=spacer></div>"
|
||||||
|
txt = self.mw.col.sched.nextIvlStr(self.card, i+1, True)
|
||||||
|
return '<span class=nobold>%s</span><br>' % txt
|
||||||
|
|
||||||
# Status bar
|
# Status bar
|
||||||
##########################################################################
|
##########################################################################
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ class Toolbar(object):
|
||||||
' '*20,
|
' '*20,
|
||||||
self._centerLinks(),
|
self._centerLinks(),
|
||||||
self._rightIcons()),
|
self._rightIcons()),
|
||||||
self._css, focus=False)
|
self._css)
|
||||||
|
|
||||||
# Available links
|
# Available links
|
||||||
######################################################################
|
######################################################################
|
||||||
|
|
@ -62,7 +62,11 @@ class Toolbar(object):
|
||||||
elif l == "decks":
|
elif l == "decks":
|
||||||
self.mw.moveToState("deckBrowser")
|
self.mw.moveToState("deckBrowser")
|
||||||
elif l == "study":
|
elif l == "study":
|
||||||
self.mw.onOverview()
|
# if overview already shown, switch to review
|
||||||
|
if self.mw.state == "overview":
|
||||||
|
self.mw.moveToState("review")
|
||||||
|
else:
|
||||||
|
self.mw.onOverview()
|
||||||
elif l == "add":
|
elif l == "add":
|
||||||
self.mw.onAddCard()
|
self.mw.onAddCard()
|
||||||
elif l == "browse":
|
elif l == "browse":
|
||||||
|
|
|
||||||
|
|
@ -83,16 +83,14 @@ class AnkiWebView(QWebView):
|
||||||
if loadCB:
|
if loadCB:
|
||||||
self._loadFinishedCB = loadCB
|
self._loadFinishedCB = loadCB
|
||||||
QWebView.setHtml(self, html)
|
QWebView.setHtml(self, html)
|
||||||
def stdHtml(self, body, css="", bodyID="", loadCB=None, focus=True):
|
def stdHtml(self, body, css="", bodyID="", loadCB=None, head=""):
|
||||||
self.setHtml("""
|
self.setHtml("""
|
||||||
<html><head><style>%s</style>
|
<html><head><style>%s</style>
|
||||||
<script>%s</script>
|
<script>%s</script>
|
||||||
|
%s
|
||||||
</head>
|
</head>
|
||||||
<body id="%s">%s</body></html>""" % (
|
<body id="%s">%s</body></html>""" % (
|
||||||
css, anki.js.all, bodyID, body), loadCB)
|
css, anki.js.all, head, bodyID, body), loadCB)
|
||||||
# ensure we're focused
|
|
||||||
if focus:
|
|
||||||
self.setFocus()
|
|
||||||
def setBridge(self, bridge):
|
def setBridge(self, bridge):
|
||||||
self._bridge.setBridge(bridge)
|
self._bridge.setBridge(bridge)
|
||||||
def eval(self, js):
|
def eval(self, js):
|
||||||
|
|
|
||||||
|
|
@ -2,26 +2,21 @@
|
||||||
<qresource prefix="/">
|
<qresource prefix="/">
|
||||||
<file>icons/arrow-up.png</file>
|
<file>icons/arrow-up.png</file>
|
||||||
<file>icons/arrow-down.png</file>
|
<file>icons/arrow-down.png</file>
|
||||||
<file>icons/blue.png</file>
|
|
||||||
<file>icons/gears.png</file>
|
<file>icons/gears.png</file>
|
||||||
<file>icons/both.png</file>
|
|
||||||
<file>icons/green.png</file>
|
<file>icons/green.png</file>
|
||||||
<file>icons/clock-icon.png</file>
|
<file>icons/clock-icon.png</file>
|
||||||
<file>icons/plus-circle.png</file>
|
<file>icons/plus-circle.png</file>
|
||||||
<file>icons/none.png</file>
|
<file>icons/none.png</file>
|
||||||
<file>icons/edit-find 2.png</file>
|
<file>icons/edit-find 2.png</file>
|
||||||
<file>icons/edit-find-replace.png</file>
|
<file>icons/edit-find-replace.png</file>
|
||||||
<file>icons/graphite_smooth_folder_noncommercial.png</file>
|
|
||||||
<file>icons/user-identity.png</file>
|
<file>icons/user-identity.png</file>
|
||||||
<file>icons/layout.png</file>
|
<file>icons/layout.png</file>
|
||||||
<file>icons/generate_07.png</file>
|
|
||||||
<file>icons/view-sort-descending.png</file>
|
<file>icons/view-sort-descending.png</file>
|
||||||
<file>icons/view-refresh.png</file>
|
<file>icons/view-refresh.png</file>
|
||||||
<file>icons/emblem-important.png</file>
|
<file>icons/emblem-important.png</file>
|
||||||
<file>icons/view-sort-ascending.png</file>
|
<file>icons/view-sort-ascending.png</file>
|
||||||
<file>icons/media-playback-start2.png</file>
|
<file>icons/media-playback-start2.png</file>
|
||||||
<file>icons/anki-logo-thin.png</file>
|
<file>icons/anki-logo-thin.png</file>
|
||||||
<file>icons/anki-logo.png</file>
|
|
||||||
<file>icons/download.png</file>
|
<file>icons/download.png</file>
|
||||||
<file>icons/preferences-plugin.png</file>
|
<file>icons/preferences-plugin.png</file>
|
||||||
<file>icons/system-software-update.png</file>
|
<file>icons/system-software-update.png</file>
|
||||||
|
|
@ -43,34 +38,22 @@
|
||||||
<file>icons/anki-tag.png</file>
|
<file>icons/anki-tag.png</file>
|
||||||
<file>icons/edit-redo.png</file>
|
<file>icons/edit-redo.png</file>
|
||||||
<file>icons/text-xml.png</file>
|
<file>icons/text-xml.png</file>
|
||||||
<file>icons/document-preview.png</file>
|
|
||||||
<file>icons/media-record.png</file>
|
<file>icons/media-record.png</file>
|
||||||
<file>icons/edit-rename.png</file>
|
<file>icons/edit-rename.png</file>
|
||||||
<file>icons/kblogger.png</file>
|
<file>icons/kblogger.png</file>
|
||||||
<file>icons/chronometer.png</file>
|
|
||||||
<file>icons/Anki_Card.png</file>
|
|
||||||
<file>icons/document-open-remote.png</file>
|
|
||||||
<file>icons/document-open-recent.png</file>
|
|
||||||
<file>icons/khtml_kget.png</file>
|
<file>icons/khtml_kget.png</file>
|
||||||
<file>icons/edit-find.png</file>
|
<file>icons/edit-find.png</file>
|
||||||
<file>icons/colors.png</file>
|
<file>icons/colors.png</file>
|
||||||
<file>icons/anki.png</file>
|
<file>icons/anki.png</file>
|
||||||
<file>icons/Anki_Add_Tag.png</file>
|
<file>icons/Anki_Add_Tag.png</file>
|
||||||
<file>icons/Anki_Card.png</file>
|
|
||||||
<file>icons/Anki_Del_Tag.png</file>
|
<file>icons/Anki_Del_Tag.png</file>
|
||||||
<file>icons/Anki_Fact.png</file>
|
|
||||||
<file>icons/application-exit.png</file>
|
<file>icons/application-exit.png</file>
|
||||||
<file>icons/colorscm.png</file>
|
|
||||||
<file>icons/configure.png</file>
|
<file>icons/configure.png</file>
|
||||||
<file>icons/contents.png</file>
|
<file>icons/contents.png</file>
|
||||||
<file>icons/contents2.png</file>
|
<file>icons/contents2.png</file>
|
||||||
<file>icons/document-export.png</file>
|
<file>icons/document-export.png</file>
|
||||||
<file>icons/document-import.png</file>
|
<file>icons/document-import.png</file>
|
||||||
<file>icons/document-new.png</file>
|
<file>icons/document-new.png</file>
|
||||||
<file>icons/document-open-recent.png</file>
|
|
||||||
<file>icons/document-open.png</file>
|
|
||||||
<file>icons/document-save-as.png</file>
|
|
||||||
<file>icons/document-save.png</file>
|
|
||||||
<file>icons/edit-undo.png</file>
|
<file>icons/edit-undo.png</file>
|
||||||
<file>icons/edit.png</file>
|
<file>icons/edit.png</file>
|
||||||
<file>icons/editdelete.png</file>
|
<file>icons/editdelete.png</file>
|
||||||
|
|
@ -79,11 +62,9 @@
|
||||||
<file>icons/folder_sound.png</file>
|
<file>icons/folder_sound.png</file>
|
||||||
<file>icons/format-stroke-color.png</file>
|
<file>icons/format-stroke-color.png</file>
|
||||||
<file>icons/games-solve.png</file>
|
<file>icons/games-solve.png</file>
|
||||||
<file>icons/go-home.png</file>
|
|
||||||
<file>icons/help-contents.png</file>
|
<file>icons/help-contents.png</file>
|
||||||
<file>icons/help.png</file>
|
<file>icons/help.png</file>
|
||||||
<file>icons/image.png</file>
|
<file>icons/image.png</file>
|
||||||
<file>icons/kanji.png</file>
|
|
||||||
<file>icons/kbugbuster.png</file>
|
<file>icons/kbugbuster.png</file>
|
||||||
<file>icons/kexi.png</file>
|
<file>icons/kexi.png</file>
|
||||||
<file>icons/kpersonalizer.png</file>
|
<file>icons/kpersonalizer.png</file>
|
||||||
|
|
@ -93,7 +74,6 @@
|
||||||
<file>icons/media-playback-pause.png</file>
|
<file>icons/media-playback-pause.png</file>
|
||||||
<file>icons/media-playback-start.png</file>
|
<file>icons/media-playback-start.png</file>
|
||||||
<file>icons/media-playback-stop.png</file>
|
<file>icons/media-playback-stop.png</file>
|
||||||
<file>icons/multisynk.png</file>
|
|
||||||
<file>icons/package_games_card.png</file>
|
<file>icons/package_games_card.png</file>
|
||||||
<file>icons/preferences-desktop-font.png</file>
|
<file>icons/preferences-desktop-font.png</file>
|
||||||
<file>icons/rating.png</file>
|
<file>icons/rating.png</file>
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 609 B |
|
Before Width: | Height: | Size: 678 B |
|
Before Width: | Height: | Size: 7 KiB |
|
Before Width: | Height: | Size: 2.4 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.1 KiB |
|
Before Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2 KiB |
|
Before Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
9
designer/icons/sources.txt
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
-Anki icon by Alex Fraser (CC GNU GPL)
|
||||||
|
-Deck icon: Be Box Icons (non-commercial use)
|
||||||
|
-Deck due/new icons from:
|
||||||
|
http://led24.de/iconset
|
||||||
|
http://p.yusukekamiyamane.com/
|
||||||
|
-Other icons obtained from KDE themes (GPL/LGPL)
|
||||||
|
|
||||||
|
Note that some of the icons have been modified to fit in with Anki better
|
||||||
|
(grayscaled, cropped, etc).
|
||||||