Browse Source

:art: https://github.com/siyuan-note/siyuan/issues/13567

Vanessa 7 tháng trước cách đây
mục cha
commit
135c80fcb2

+ 1 - 0
app/appearance/langs/ar_SA.json

@@ -568,6 +568,7 @@
   "newDocBelow": "إنشاء مستند أدناه",
   "newDocAbove": "إنشاء مستند أعلاه",
   "fullWidth": "عرض تكيفي",
+  "switchAdjust": "تبديل العرض التكيفي",
   "fullWidthTip": "بعد التمكين، سيتم عرض منطقة التحرير على أوسع نطاق ممكن",
   "tabLimit": "حد علامة التبويب",
   "tabLimit1": "الترتيب حسب وقت الفتح، وإغلاق أول علامة تبويب مفتوحة.",

+ 1 - 0
app/appearance/langs/de_DE.json

@@ -568,6 +568,7 @@
   "newDocBelow": "Dokument darunter erstellen",
   "newDocAbove": "Dokument darüber erstellen",
   "fullWidth": "Adaptive Breite",
+  "switchAdjust": "Adaptive Breitenumschaltung",
   "fullWidthTip": "Nach der Aktivierung wird der Bearbeitungsbereich so breit wie möglich angezeigt.",
   "tabLimit": "Tab-Limit",
   "tabLimit1": "Nach Eröffnungszeit sortieren, schließen Sie das frühest eröffnete Tab.",

+ 1 - 0
app/appearance/langs/en_US.json

@@ -568,6 +568,7 @@
   "newDocBelow": "Create doc below",
   "newDocAbove": "Create doc above",
   "fullWidth": "Adaptive Width",
+  "switchAdjust": "Adaptive width switch",
   "fullWidthTip": "After enabling, the editing area will be displayed as wide as possible",
   "tabLimit": "Tab Limit",
   "tabLimit1": "Sort by opening time, close the earliest opened tab",

+ 1 - 0
app/appearance/langs/es_ES.json

@@ -568,6 +568,7 @@
   "newDocBelow": "Crear documento a continuación",
   "newDocAbove": "Crear documento arriba",
   "fullWidth": "Ancho adaptable",
+  "switchAdjust": "Cambio de ancho adaptativo",
   "fullWidthTip": "Después de habilitarlo, el área de edición se mostrará lo más amplia posible",
   "tabLimit": "Límite de la pestaña",
   "tabLimit1": "Ordenar por hora de apertura, cerrar la primera pestaña abierta",

+ 1 - 0
app/appearance/langs/fr_FR.json

@@ -568,6 +568,7 @@
   "newDocBelow": "Créer un document ci-dessous",
   "newDocAbove": "Créer un document ci-dessus",
   "fullWidth": "Largeur adaptative",
+  "switchAdjust": "Commutation de la largeur adaptative",
   "fullWidthTip": "Lorsqu'il est activé, la zone d'édition sera affichée aussi large que possible",
   "tabLimit": "Nombre maximum d'onglets ouverts",
   "tabLimit1": "Trier par heure d'ouverture, fermer le premier onglet ouvert",

+ 1 - 0
app/appearance/langs/he_IL.json

@@ -568,6 +568,7 @@
   "newDocBelow": "צור מסמך מתחת",
   "newDocAbove": "צור מסמך מעל",
   "fullWidth": "רוחב אדפטיבי",
+  "switchAdjust": "החלפת רוחב אדפטיבית",
   "fullWidthTip": "לאחר ההפעלה, אזור העריכה יוצג ככל האפשר ברוחב מקסימלי",
   "tabLimit": "מגבלת כרטיסיות",
   "tabLimit1": "מיון לפי זמן פתיחה, סגור את הכרטיסיה שהיפתחה בראשונה",

+ 1 - 0
app/appearance/langs/it_IT.json

@@ -568,6 +568,7 @@
   "newDocBelow": "Crea documento sotto",
   "newDocAbove": "Crea documento sopra",
   "fullWidth": "Larghezza adattiva",
+  "switchAdjust": "Commutazione larghezza adattiva",
   "fullWidthTip": "Dopo l'abilitazione, l'area di modifica verrà visualizzata nel modo più ampio possibile",
   "tabLimit": "Limite schede",
   "tabLimit1": "Ordina per ora di apertura, chiudi la scheda aperta per prima",

+ 1 - 0
app/appearance/langs/ja_JP.json

@@ -568,6 +568,7 @@
   "newDocBelow": "下にドキュメントを作成",
   "newDocAbove": "上にドキュメントを作成",
   "fullWidth": "幅に合わせる",
+  "switchAdjust": "自動調整幅切り替え",
   "fullWidthTip": "編集領域を可能な限り広く表示します",
   "tabLimit": "タブの制限",
   "tabLimit1": "この制限を超えると先に開いたタブから順に閉じられます",

+ 1 - 0
app/appearance/langs/pl_PL.json

@@ -568,6 +568,7 @@
   "newDocBelow": "Utwórz dokument poniżej",
   "newDocAbove": "Utwórz dokument powyżej",
   "fullWidth": "Szerokość adaptacyjna",
+  "switchAdjust": "Przełączanie szerokości adaptacyjnej",
   "fullWidthTip": "Po włączeniu, obszar edycji będzie wyświetlany tak szeroko, jak to możliwe",
   "tabLimit": "Limit zakładki",
   "tabLimit1": "Sortuj według czasu otwarcia, zamknij najwcześniej otwartą zakładkę",

+ 1 - 0
app/appearance/langs/ru_RU.json

@@ -568,6 +568,7 @@
   "newDocBelow": "Создать документ ниже",
   "newDocAbove": "Создать документ выше",
   "fullWidth": "Адаптивная ширина",
+  "switchAdjust": "Переключение адаптивной ширины",
   "fullWidthTip": "После включения область редактирования будет отображаться так широко, как это возможно",
   "tabLimit": "Лимит вкладок",
   "tabLimit1": "Сортировать по времени открытия, закрыть ранее открывшуюся вкладку",

+ 1 - 0
app/appearance/langs/zh_CHT.json

@@ -568,6 +568,7 @@
   "newDocBelow": "在下方新建文檔",
   "newDocAbove": "在上方新建文檔",
   "fullWidth": "自適應寬度",
+  "switchAdjust": "自適應寬度切換",
   "fullWidthTip": "啟用後將盡可能寬地顯示編輯區",
   "tabLimit": "分頁打開最大數量",
   "tabLimit1": "按照打開時間排序,關閉最早打開的分頁",

+ 1 - 0
app/appearance/langs/zh_CN.json

@@ -568,6 +568,7 @@
   "newDocBelow": "在下方新建文档",
   "newDocAbove": "在上方新建文档",
   "fullWidth": "自适应宽度",
+  "switchAdjust": "自适应宽度切换",
   "fullWidthTip": "启用后将尽可能宽地显示编辑区",
   "tabLimit": "页签打开最大数量",
   "tabLimit1": "按照打开时间排序,关闭最早打开的页签",

+ 16 - 0
app/src/boot/globalEvent/keydown.ts

@@ -380,6 +380,22 @@ const editKeydown = (app: App, event: KeyboardEvent) => {
         updateReadonly(protyle.breadcrumb.element.parentElement.querySelector('.block__icon[data-type="readonly"]'), protyle);
         return true;
     }
+    if (matchHotKey(window.siyuan.config.keymap.editor.general.switchAdjust.custom, event)) {
+        event.preventDefault();
+        let fullWidth;
+        const adjustWidth = protyle.wysiwyg.element.getAttribute(Constants.CUSTOM_SY_FULLWIDTH)
+        if (!adjustWidth) {
+            fullWidth = window.siyuan.config.editor.fullWidth ? "false" : "true";
+        } else {
+            fullWidth = adjustWidth === "true" ? "false" : "true";
+        }
+        fetchPost("/api/attr/setBlockAttrs", {
+            id: protyle.block.rootID,
+            attrs: {[Constants.CUSTOM_SY_FULLWIDTH]: fullWidth}
+        });
+        return true;
+    }
+
     if (matchHotKey(window.siyuan.config.keymap.editor.general.backlinks.custom, event)) {
         event.preventDefault();
         if (range) {

+ 1 - 0
app/src/constants.ts

@@ -459,6 +459,7 @@ export abstract class Constants {
                 exitFocus: {default: "", custom: ""},
                 ai: {default: "", custom: ""},
                 switchReadonly: {default: "", custom: ""},
+                switchAdjust: {default: "", custom: ""},
             },
             insert: {
                 appearance: {default: "⌥⌘X", custom: "⌥⌘X"},

+ 1 - 0
app/src/types/config.d.ts

@@ -885,6 +885,7 @@ declare namespace Config {
         showInFolder: IKey;
         spaceRepetition: IKey;
         switchReadonly: IKey;
+        switchAdjust: IKey;
         undo: IKey;
         vLayout: IKey;
         wysiwyg: IKey;