Merge branch 'main' into editor-3830

This commit is contained in:
Abdo 2025-05-24 03:28:49 +03:00
commit 0ace032dc6
10 changed files with 15 additions and 10 deletions

@ -1 +1 @@
Subproject commit d2e9201d62b906b029570931e9567fe8cf1889b6 Subproject commit ca04132a8f82296f3e0ea22b74bb4221e1d11d3f

View file

@ -85,10 +85,10 @@ preferences-third-party-description = Third-party services are unaffiliated with
## URL scheme related ## URL scheme related
preferences-url-schemes = URL Schemes preferences-url-schemes = URL Schemes
preferences-url-scheme-prompt = Allowed { preferences-url-schemes } (space-separated): preferences-url-scheme-prompt = Allowed URL Schemes (space-separated):
preferences-url-scheme-warning = Blocked attempt to open `{ $link }`, which may be a security issue. preferences-url-scheme-warning = Blocked attempt to open `{ $link }`, which may be a security issue.
If you trust the deck author and wish to proceed, you can add `{ $scheme }` to your allowed { preferences-url-schemes }. If you trust the deck author and wish to proceed, you can add `{ $scheme }` to your allowed URL Schemes.
preferences-url-scheme-allow-once = Allow Once preferences-url-scheme-allow-once = Allow Once
preferences-url-scheme-always-allow = Always Allow preferences-url-scheme-always-allow = Always Allow

@ -1 +1 @@
Subproject commit 5b855702dfe191e06cc3fbef4b684acc094500ec Subproject commit f35acabb46dc9197a62c47eb7f2ca062628b1d94

View file

@ -87,7 +87,7 @@ except AttributeError:
appVersion = _version appVersion = _version
appWebsite = "https://apps.ankiweb.net/" appWebsite = "https://apps.ankiweb.net/"
appWebsiteDownloadSection = "https://apps.ankiweb.net/#download" appWebsiteDownloadSection = "https://apps.ankiweb.net/#download"
appDonate = "https://apps.ankiweb.net/support/" appDonate = "https://docs.ankiweb.net/contrib.html"
appShared = "https://ankiweb.net/shared/" appShared = "https://ankiweb.net/shared/"
appUpdate = "https://ankiweb.net/update/desktop" appUpdate = "https://ankiweb.net/update/desktop"
appHelpSite = HELP_SITE appHelpSite = HELP_SITE

View file

@ -222,9 +222,11 @@ def show(mw: aqt.AnkiQt) -> QDialog:
"🦙 (siid)", "🦙 (siid)",
"Mukunda Madhav Dey", "Mukunda Madhav Dey",
"Adnane Taghi", "Adnane Taghi",
"Anon_0000",
) )
) )
allusers = [user.replace(" ", " ") for user in allusers]
abouttext += "<p>" + tr.about_written_by_damien_elmes_with_patches( abouttext += "<p>" + tr.about_written_by_damien_elmes_with_patches(
cont=", ".join(allusers) + f", {tr.about_and_others()}" cont=", ".join(allusers) + f", {tr.about_and_others()}"
) )

View file

@ -339,8 +339,11 @@ export function renderForgettingCurve(
1, 1,
); );
let text = tooltipText(d); let text = tooltipText(d);
const desiredRetentionPercent = desiredRetention * 100;
if (y2 >= lineY - 10 && y2 <= lineY + 10) { if (y2 >= lineY - 10 && y2 <= lineY + 10) {
text += `<br>${tr.cardStatsFsrsForgettingCurveDesiredRetention()}: ${desiredRetention.toFixed(2)}`; text += `<br>${tr.cardStatsFsrsForgettingCurveDesiredRetention()}: ${
desiredRetentionPercent.toFixed(0)
}%`;
} }
showTooltip(text, x1, y1); showTooltip(text, x1, y1);
}) })

View file

@ -303,7 +303,7 @@ License: GNU AGPL, version 3 or later; http://www.gnu.org/licenses/agpl.html
/> />
<HandleLabel> <HandleLabel>
{#if isSizeConstrained} {#if isSizeConstrained && !shrinkingDisabled}
<span>{`(${tr.editingDoubleClickToExpand()})`}</span> <span>{`(${tr.editingDoubleClickToExpand()})`}</span>
{:else} {:else}
<span>{actualWidth}&times;{actualHeight}</span> <span>{actualWidth}&times;{actualHeight}</span>

View file

@ -116,7 +116,6 @@ function initCanvas(): fabric.Canvas {
modifiedPolygon(canvas, evt.target); modifiedPolygon(canvas, evt.target);
undoStack.onObjectModified(); undoStack.onObjectModified();
} }
saveNeededStore.set(true);
}); });
canvas.on("text:editing:entered", function() { canvas.on("text:editing:entered", function() {
textEditingState.set(true); textEditingState.set(true);

View file

@ -4,7 +4,7 @@
import { fabric } from "fabric"; import { fabric } from "fabric";
import { get } from "svelte/store"; import { get } from "svelte/store";
import { opacityStateStore } from "../store"; import { opacityStateStore, saveNeededStore } from "../store";
import type { Size } from "../types"; import type { Size } from "../types";
export const SHAPE_MASK_COLOR = "#ffeba2"; export const SHAPE_MASK_COLOR = "#ffeba2";
@ -244,6 +244,7 @@ const setShapePosition = (
} }
object.setCoords(); object.setCoords();
saveNeededStore.set(true);
}; };
export function enableUniformScaling(canvas: fabric.Canvas, obj: fabric.Object): void { export function enableUniformScaling(canvas: fabric.Canvas, obj: fabric.Object): void {

View file

@ -117,7 +117,7 @@ class UndoStack {
private push(): void { private push(): void {
const entry = JSON.stringify(this.canvas?.toJSON(["id"])); const entry = JSON.stringify(this.canvas?.toJSON(["id"]));
if (entry === this.stack[this.stack.length - 1]) { if (entry === this.stack[this.index]) {
return; return;
} }
this.stack.length = this.index + 1; this.stack.length = this.index + 1;