feat: add option to clear custom fonts in Font Panel (#2541)
This commit is contained in:
@@ -689,5 +689,6 @@
|
||||
"Convert Mode": "وضع التحويل",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "فشل في الحفظ التلقائي لغلاف الكتاب لشاشة القفل: {{error}}",
|
||||
"Download from Cloud": "تحميل من السحابة",
|
||||
"Upload to Cloud": "رفع إلى السحابة"
|
||||
"Upload to Cloud": "رفع إلى السحابة",
|
||||
"Clear Custom Fonts": "مسح الخطوط المخصصة"
|
||||
}
|
||||
|
||||
@@ -673,5 +673,6 @@
|
||||
"Convert Mode": "রূপান্তর মোড",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "লক স্ক্রিনের জন্য বইয়ের মলাট স্বয়ংক্রিয়ভাবে সংরক্ষণ করতে ব্যর্থ: {{error}}",
|
||||
"Download from Cloud": "ক্লাউড থেকে ডাউনলোড করুন",
|
||||
"Upload to Cloud": "ক্লাউডে আপলোড করুন"
|
||||
"Upload to Cloud": "ক্লাউডে আপলোড করুন",
|
||||
"Clear Custom Fonts": "কাস্টম ফন্টস মুছুন"
|
||||
}
|
||||
|
||||
@@ -669,5 +669,6 @@
|
||||
"Convert Mode": "བསྒྱུར་བའི་རྣམ་པ",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "སྒྲོམ་སྒོར་དེབ་གནས་བཅས་པའི་སྤྱོད་བྱས་མ་ཐུབ།: {{error}}",
|
||||
"Download from Cloud": "སྤྲིན་ནས་ཕབ་སྟེ་འབེབས་",
|
||||
"Upload to Cloud": "སྤྲིན་ལ་ཡར་སྤེལ་"
|
||||
"Upload to Cloud": "སྤྲིན་ལ་ཡར་སྤེལ་",
|
||||
"Clear Custom Fonts": "རང་བཞིན་ཡིག་གཟུགས་སུབ་པ།"
|
||||
}
|
||||
|
||||
@@ -673,5 +673,6 @@
|
||||
"Convert Mode": "Konvertierungsmodus",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Automatisches Speichern des Buchcovers für den Sperrbildschirm fehlgeschlagen: {{error}}",
|
||||
"Download from Cloud": "Aus der Cloud herunterladen",
|
||||
"Upload to Cloud": "In die Cloud hochladen"
|
||||
"Upload to Cloud": "In die Cloud hochladen",
|
||||
"Clear Custom Fonts": "Benutzerdefinierte Schriftarten löschen"
|
||||
}
|
||||
|
||||
@@ -673,5 +673,6 @@
|
||||
"Convert Mode": "Λειτουργία μετατροπής",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Αποτυχία αυτόματης αποθήκευσης εξωφύλλου βιβλίου για την οθόνη κλειδώματος: {{error}}",
|
||||
"Download from Cloud": "Λήψη από το Cloud",
|
||||
"Upload to Cloud": "Ανέβασμα στο Cloud"
|
||||
"Upload to Cloud": "Ανέβασμα στο Cloud",
|
||||
"Clear Custom Fonts": "Καθαρισμός προσαρμοσμένων γραμματοσειρών"
|
||||
}
|
||||
|
||||
@@ -677,5 +677,6 @@
|
||||
"Convert Mode": "Modo de conversión",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Error al guardar automáticamente la portada del libro para la pantalla de bloqueo: {{error}}",
|
||||
"Download from Cloud": "Descargar desde la nube",
|
||||
"Upload to Cloud": "Subir a la nube"
|
||||
"Upload to Cloud": "Subir a la nube",
|
||||
"Clear Custom Fonts": "Limpiar fuentes personalizadas"
|
||||
}
|
||||
|
||||
@@ -673,5 +673,6 @@
|
||||
"Convert Mode": "حالت تبدیل",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "ذخیرهی خودکار جلد کتاب برای صفحهی قفل ناموفق بود: {{error}}",
|
||||
"Download from Cloud": "دانلود از فضای ابری",
|
||||
"Upload to Cloud": "آپلود به فضای ابری"
|
||||
"Upload to Cloud": "آپلود به فضای ابری",
|
||||
"Clear Custom Fonts": "پاککردن فونتهای سفارشی"
|
||||
}
|
||||
|
||||
@@ -677,5 +677,6 @@
|
||||
"Convert Mode": "Mode de conversion",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Échec de l'enregistrement automatique de la couverture du livre pour l'écran de verrouillage : {{error}}",
|
||||
"Download from Cloud": "Télécharger depuis le Cloud",
|
||||
"Upload to Cloud": "Téléverser vers le Cloud"
|
||||
"Upload to Cloud": "Téléverser vers le Cloud",
|
||||
"Clear Custom Fonts": "Effacer les Polices Personnalisées"
|
||||
}
|
||||
|
||||
@@ -673,5 +673,6 @@
|
||||
"Convert Mode": "रूपांतरण मोड",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "लॉक स्क्रीन के लिए पुस्तक कवर स्वचालित रूप से सहेजने में विफल: {{error}}",
|
||||
"Download from Cloud": "क्लाउड से डाउनलोड करें",
|
||||
"Upload to Cloud": "क्लाउड पर अपलोड करें"
|
||||
"Upload to Cloud": "क्लाउड पर अपलोड करें",
|
||||
"Clear Custom Fonts": "कस्टम फ़ॉन्ट साफ़ करें"
|
||||
}
|
||||
|
||||
@@ -669,5 +669,6 @@
|
||||
"Convert Mode": "Mode Konversi",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Gagal menyimpan otomatis sampul buku untuk layar kunci: {{error}}",
|
||||
"Download from Cloud": "Unduh dari Cloud",
|
||||
"Upload to Cloud": "Unggah ke Cloud"
|
||||
"Upload to Cloud": "Unggah ke Cloud",
|
||||
"Clear Custom Fonts": "Bersihkan Font Kustom"
|
||||
}
|
||||
|
||||
@@ -677,5 +677,6 @@
|
||||
"Convert Mode": "Modalità conversione",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Impossibile salvare automaticamente la copertina del libro per la schermata di blocco: {{error}}",
|
||||
"Download from Cloud": "Scarica dal Cloud",
|
||||
"Upload to Cloud": "Carica sul Cloud"
|
||||
"Upload to Cloud": "Carica sul Cloud",
|
||||
"Clear Custom Fonts": "Pulisci Font Personalizzati"
|
||||
}
|
||||
|
||||
@@ -669,5 +669,6 @@
|
||||
"Convert Mode": "変換モード",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "ロック画面の本のカバーの自動保存に失敗しました:{{error}}",
|
||||
"Download from Cloud": "クラウドからダウンロード",
|
||||
"Upload to Cloud": "クラウドにアップロード"
|
||||
"Upload to Cloud": "クラウドにアップロード",
|
||||
"Clear Custom Fonts": "カスタムフォントをクリア"
|
||||
}
|
||||
|
||||
@@ -669,5 +669,6 @@
|
||||
"Convert Mode": "변환 모드",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "잠금 화면용 책 표지 자동 저장 실패: {{error}}",
|
||||
"Download from Cloud": "클라우드에서 다운로드",
|
||||
"Upload to Cloud": "클라우드에 업로드"
|
||||
"Upload to Cloud": "클라우드에 업로드",
|
||||
"Clear Custom Fonts": "사용자 정의 글꼴 지우기"
|
||||
}
|
||||
|
||||
@@ -673,5 +673,6 @@
|
||||
"Convert Mode": "Conversiemodus",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Automatisch opslaan van boekomslag voor vergrendelscherm mislukt: {{error}}",
|
||||
"Download from Cloud": "Downloaden van Cloud",
|
||||
"Upload to Cloud": "Uploaden naar Cloud"
|
||||
"Upload to Cloud": "Uploaden naar Cloud",
|
||||
"Clear Custom Fonts": "Aangepaste Lettertypen Wissen"
|
||||
}
|
||||
|
||||
@@ -681,5 +681,6 @@
|
||||
"Convert Mode": "Tryb konwersji",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Nie udało się automatycznie zapisać okładki książki dla ekranu blokady: {{error}}",
|
||||
"Download from Cloud": "Pobierz z chmury",
|
||||
"Upload to Cloud": "Prześlij do chmury"
|
||||
"Upload to Cloud": "Prześlij do chmury",
|
||||
"Clear Custom Fonts": "Wyczyść niestandardowe czcionki"
|
||||
}
|
||||
|
||||
@@ -677,5 +677,6 @@
|
||||
"Convert Mode": "Modo de conversão",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Falha ao salvar automaticamente a capa do livro para a tela de bloqueio: {{error}}",
|
||||
"Download from Cloud": "Baixar da Nuvem",
|
||||
"Upload to Cloud": "Enviar para a Nuvem"
|
||||
"Upload to Cloud": "Enviar para a Nuvem",
|
||||
"Clear Custom Fonts": "Limpar Fontes Personalizadas"
|
||||
}
|
||||
|
||||
@@ -681,5 +681,6 @@
|
||||
"Convert Mode": "Режим преобразования",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Не удалось автоматически сохранить обложку книги для экрана блокировки: {{error}}",
|
||||
"Download from Cloud": "Скачать из облака",
|
||||
"Upload to Cloud": "Загрузить в облако"
|
||||
"Upload to Cloud": "Загрузить в облако",
|
||||
"Clear Custom Fonts": "Очистить пользовательские шрифты"
|
||||
}
|
||||
|
||||
@@ -673,5 +673,6 @@
|
||||
"Convert Mode": "පරිවර්තන මෝඩියුලය",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "අගුළු තිරය සඳහා පොත් ආවරණය ස්වයංක්රීයව සුරකිීමට අසමත් විය: {{error}}",
|
||||
"Download from Cloud": "කලාඬයෙන් බාගත කරන්න",
|
||||
"Upload to Cloud": "කලාඬයට උඩුගත කරන්න"
|
||||
"Upload to Cloud": "කලාඬයට උඩුගත කරන්න",
|
||||
"Clear Custom Fonts": "අභිරුචි අකුරු පැහැදිලි කරන්න"
|
||||
}
|
||||
|
||||
@@ -673,5 +673,6 @@
|
||||
"Convert Mode": "Konverteringsläge",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Kunde inte autospara bokomslag för låsskärm: {{error}}",
|
||||
"Download from Cloud": "Ladda ner från molnet",
|
||||
"Upload to Cloud": "Ladda upp till molnet"
|
||||
"Upload to Cloud": "Ladda upp till molnet",
|
||||
"Clear Custom Fonts": "Rensa anpassade typsnitt"
|
||||
}
|
||||
|
||||
@@ -673,5 +673,6 @@
|
||||
"Convert Mode": "மாற்ற முறை",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "பூட்டு திரைக்கான புத்தகக் கோப்பை தானாகச் சேமிக்க முடியவில்லை: {{error}}",
|
||||
"Download from Cloud": "மேகத்திலிருந்து பதிவிறக்கு செய்யவும்",
|
||||
"Upload to Cloud": "மேகத்திற்கு பதிவேற்றவும்"
|
||||
"Upload to Cloud": "மேகத்திற்கு பதிவேற்றவும்",
|
||||
"Clear Custom Fonts": "தனிப்பயன் எழுத்துருக்களை அழிக்கவும்"
|
||||
}
|
||||
|
||||
@@ -669,5 +669,6 @@
|
||||
"Convert Mode": "โหมดแปลงค่า",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "ไม่สามารถบันทึกปกหนังสือสำหรับหน้าจอล็อกโดยอัตโนมัติ: {{error}}",
|
||||
"Download from Cloud": "ดาวน์โหลดจากคลาวด์",
|
||||
"Upload to Cloud": "อัปโหลดไปยังคลาวด์"
|
||||
"Upload to Cloud": "อัปโหลดไปยังคลาวด์",
|
||||
"Clear Custom Fonts": "ล้างฟอนต์กำหนดเอง"
|
||||
}
|
||||
|
||||
@@ -673,5 +673,6 @@
|
||||
"Convert Mode": "Dönüştürme Modu",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Kitap kapağı kilit ekranı için otomatik kaydedilemedi: {{error}}",
|
||||
"Download from Cloud": "Buluttan İndir",
|
||||
"Upload to Cloud": "Buluta Yükle"
|
||||
"Upload to Cloud": "Buluta Yükle",
|
||||
"Clear Custom Fonts": "Özel Yazı Tiplerini Temizle"
|
||||
}
|
||||
|
||||
@@ -681,5 +681,6 @@
|
||||
"Convert Mode": "Режим конвертації",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Не вдалося автоматично зберегти обкладинку книги для екрана блокування: {{error}}",
|
||||
"Download from Cloud": "Завантажити з хмари",
|
||||
"Upload to Cloud": "Завантажити в хмару"
|
||||
"Upload to Cloud": "Завантажити в хмару",
|
||||
"Clear Custom Fonts": "Очистити користувацькі шрифти"
|
||||
}
|
||||
|
||||
@@ -669,5 +669,6 @@
|
||||
"Convert Mode": "Chế độ chuyển đổi",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "Không thể tự động lưu bìa sách cho màn hình khóa: {{error}}",
|
||||
"Download from Cloud": "Tải xuống từ đám mây",
|
||||
"Upload to Cloud": "Tải lên đám mây"
|
||||
"Upload to Cloud": "Tải lên đám mây",
|
||||
"Clear Custom Fonts": "Xóa phông chữ tùy chỉnh"
|
||||
}
|
||||
|
||||
@@ -669,5 +669,6 @@
|
||||
"Convert Mode": "转换模式",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "自动保存锁屏书籍封面失败:{{error}}",
|
||||
"Download from Cloud": "从云端下载",
|
||||
"Upload to Cloud": "上传到云端"
|
||||
"Upload to Cloud": "上传到云端",
|
||||
"Clear Custom Fonts": "清除自定义字体"
|
||||
}
|
||||
|
||||
@@ -669,5 +669,6 @@
|
||||
"Convert Mode": "轉換模式",
|
||||
"Failed to auto-save book cover for lock screen: {{error}}": "自動保存鎖定螢幕書籍封面失敗:{{error}}",
|
||||
"Download from Cloud": "從雲端下載",
|
||||
"Upload to Cloud": "上傳到雲端"
|
||||
"Upload to Cloud": "上傳到雲端",
|
||||
"Clear Custom Fonts": "清除自訂字型"
|
||||
}
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
import clsx from 'clsx';
|
||||
import React from 'react';
|
||||
import { MdCheck } from 'react-icons/md';
|
||||
import { useEnv } from '@/context/EnvContext';
|
||||
import { useSettingsStore } from '@/store/settingsStore';
|
||||
import { useTranslation } from '@/hooks/useTranslation';
|
||||
import { useCustomFontStore } from '@/store/customFontStore';
|
||||
import { useResponsiveSize } from '@/hooks/useResponsiveSize';
|
||||
import { SettingsPanelType } from './SettingsDialog';
|
||||
import MenuItem from '@/components/MenuItem';
|
||||
@@ -21,8 +23,10 @@ const DialogMenu: React.FC<DialogMenuProps> = ({
|
||||
resetLabel,
|
||||
}) => {
|
||||
const _ = useTranslation();
|
||||
const { envConfig, appService } = useEnv();
|
||||
const iconSize = useResponsiveSize(16);
|
||||
const { setFontPanelView, isSettingsGlobal, setSettingsGlobal } = useSettingsStore();
|
||||
const { getAllFonts, removeFont, saveCustomFonts } = useCustomFontStore();
|
||||
|
||||
const handleToggleGlobal = () => {
|
||||
setSettingsGlobal(!isSettingsGlobal);
|
||||
@@ -39,6 +43,16 @@ const DialogMenu: React.FC<DialogMenuProps> = ({
|
||||
setIsDropdownOpen?.(false);
|
||||
};
|
||||
|
||||
const handleClearCustomFont = () => {
|
||||
getAllFonts().forEach((font) => {
|
||||
if (removeFont(font.id)) {
|
||||
appService!.deleteFont(font);
|
||||
}
|
||||
});
|
||||
saveCustomFonts(envConfig);
|
||||
setIsDropdownOpen?.(false);
|
||||
};
|
||||
|
||||
return (
|
||||
<div
|
||||
className={clsx(
|
||||
@@ -55,7 +69,10 @@ const DialogMenu: React.FC<DialogMenuProps> = ({
|
||||
/>
|
||||
<MenuItem label={resetLabel || _('Reset Settings')} onClick={handleResetToDefaults} />
|
||||
{activePanel === 'Font' && (
|
||||
<MenuItem label={_('Manage Custom Fonts')} onClick={handleManageCustomFont} />
|
||||
<>
|
||||
<MenuItem label={_('Clear Custom Fonts')} onClick={handleClearCustomFont} />
|
||||
<MenuItem label={_('Manage Custom Fonts')} onClick={handleManageCustomFont} />
|
||||
</>
|
||||
)}
|
||||
</div>
|
||||
);
|
||||
|
||||
@@ -91,13 +91,7 @@ const FontPanel: React.FC<SettingsPanelPanelProp> = ({ bookKey, onRegisterReset
|
||||
const { envConfig, appService } = useEnv();
|
||||
const { getView, getViewSettings } = useReaderStore();
|
||||
const { settings, fontPanelView, setFontPanelView } = useSettingsStore();
|
||||
const {
|
||||
fonts: allCustomFonts,
|
||||
getAllFonts,
|
||||
getFontFamilies,
|
||||
removeFont,
|
||||
saveCustomFonts,
|
||||
} = useCustomFontStore();
|
||||
const { fonts: allCustomFonts, getFontFamilies } = useCustomFontStore();
|
||||
const viewSettings = getViewSettings(bookKey) || settings.globalViewSettings;
|
||||
const view = getView(bookKey);
|
||||
const iconSize18 = useResponsiveSize(18);
|
||||
@@ -164,12 +158,6 @@ const FontPanel: React.FC<SettingsPanelPanelProp> = ({ bookKey, onRegisterReset
|
||||
monospaceFont: setMonospaceFont,
|
||||
fontWeight: setFontWeight,
|
||||
});
|
||||
getAllFonts().forEach((font) => {
|
||||
if (removeFont(font.id)) {
|
||||
appService!.deleteFont(font);
|
||||
}
|
||||
});
|
||||
saveCustomFonts(envConfig);
|
||||
};
|
||||
|
||||
const handleManageCustomFonts = () => {
|
||||
|
||||
Reference in New Issue
Block a user