diff --git a/app/appearance/langs/ar_SA.json b/app/appearance/langs/ar_SA.json index a3c07d53d..50ddb6dc6 100644 --- a/app/appearance/langs/ar_SA.json +++ b/app/appearance/langs/ar_SA.json @@ -568,6 +568,7 @@ "newDocBelow": "إنشاء مستند أدناه", "newDocAbove": "إنشاء مستند أعلاه", "fullWidth": "عرض تكيفي", + "switchAdjust": "تبديل العرض التكيفي", "fullWidthTip": "بعد التمكين، سيتم عرض منطقة التحرير على أوسع نطاق ممكن", "tabLimit": "حد علامة التبويب", "tabLimit1": "الترتيب حسب وقت الفتح، وإغلاق أول علامة تبويب مفتوحة.", diff --git a/app/appearance/langs/de_DE.json b/app/appearance/langs/de_DE.json index 988d4764e..3b060228d 100644 --- a/app/appearance/langs/de_DE.json +++ b/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.", diff --git a/app/appearance/langs/en_US.json b/app/appearance/langs/en_US.json index b23c764e0..891d9c726 100644 --- a/app/appearance/langs/en_US.json +++ b/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", diff --git a/app/appearance/langs/es_ES.json b/app/appearance/langs/es_ES.json index b4b2d44cd..3da7ce6e2 100644 --- a/app/appearance/langs/es_ES.json +++ b/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", diff --git a/app/appearance/langs/fr_FR.json b/app/appearance/langs/fr_FR.json index 47df2084e..452cb8b07 100644 --- a/app/appearance/langs/fr_FR.json +++ b/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", diff --git a/app/appearance/langs/he_IL.json b/app/appearance/langs/he_IL.json index 03dbcba1c..1b9dde164 100644 --- a/app/appearance/langs/he_IL.json +++ b/app/appearance/langs/he_IL.json @@ -568,6 +568,7 @@ "newDocBelow": "צור מסמך מתחת", "newDocAbove": "צור מסמך מעל", "fullWidth": "רוחב אדפטיבי", + "switchAdjust": "החלפת רוחב אדפטיבית", "fullWidthTip": "לאחר ההפעלה, אזור העריכה יוצג ככל האפשר ברוחב מקסימלי", "tabLimit": "מגבלת כרטיסיות", "tabLimit1": "מיון לפי זמן פתיחה, סגור את הכרטיסיה שהיפתחה בראשונה", diff --git a/app/appearance/langs/it_IT.json b/app/appearance/langs/it_IT.json index 50c11a5fd..67fb9e2c0 100644 --- a/app/appearance/langs/it_IT.json +++ b/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", diff --git a/app/appearance/langs/ja_JP.json b/app/appearance/langs/ja_JP.json index 4e69a5537..d28aeb5de 100644 --- a/app/appearance/langs/ja_JP.json +++ b/app/appearance/langs/ja_JP.json @@ -568,6 +568,7 @@ "newDocBelow": "下にドキュメントを作成", "newDocAbove": "上にドキュメントを作成", "fullWidth": "幅に合わせる", + "switchAdjust": "自動調整幅切り替え", "fullWidthTip": "編集領域を可能な限り広く表示します", "tabLimit": "タブの制限", "tabLimit1": "この制限を超えると先に開いたタブから順に閉じられます", diff --git a/app/appearance/langs/pl_PL.json b/app/appearance/langs/pl_PL.json index 7bcfad280..a4d3b2a3a 100644 --- a/app/appearance/langs/pl_PL.json +++ b/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ę", diff --git a/app/appearance/langs/ru_RU.json b/app/appearance/langs/ru_RU.json index 067652bcb..0a74859de 100644 --- a/app/appearance/langs/ru_RU.json +++ b/app/appearance/langs/ru_RU.json @@ -568,6 +568,7 @@ "newDocBelow": "Создать документ ниже", "newDocAbove": "Создать документ выше", "fullWidth": "Адаптивная ширина", + "switchAdjust": "Переключение адаптивной ширины", "fullWidthTip": "После включения область редактирования будет отображаться так широко, как это возможно", "tabLimit": "Лимит вкладок", "tabLimit1": "Сортировать по времени открытия, закрыть ранее открывшуюся вкладку", diff --git a/app/appearance/langs/zh_CHT.json b/app/appearance/langs/zh_CHT.json index d17ad7479..76f98f90a 100644 --- a/app/appearance/langs/zh_CHT.json +++ b/app/appearance/langs/zh_CHT.json @@ -568,6 +568,7 @@ "newDocBelow": "在下方新建文檔", "newDocAbove": "在上方新建文檔", "fullWidth": "自適應寬度", + "switchAdjust": "自適應寬度切換", "fullWidthTip": "啟用後將盡可能寬地顯示編輯區", "tabLimit": "分頁打開最大數量", "tabLimit1": "按照打開時間排序,關閉最早打開的分頁", diff --git a/app/appearance/langs/zh_CN.json b/app/appearance/langs/zh_CN.json index 62319efc6..3e6223ccd 100644 --- a/app/appearance/langs/zh_CN.json +++ b/app/appearance/langs/zh_CN.json @@ -568,6 +568,7 @@ "newDocBelow": "在下方新建文档", "newDocAbove": "在上方新建文档", "fullWidth": "自适应宽度", + "switchAdjust": "自适应宽度切换", "fullWidthTip": "启用后将尽可能宽地显示编辑区", "tabLimit": "页签打开最大数量", "tabLimit1": "按照打开时间排序,关闭最早打开的页签", diff --git a/app/src/boot/globalEvent/keydown.ts b/app/src/boot/globalEvent/keydown.ts index b4ea66207..e1769a188 100644 --- a/app/src/boot/globalEvent/keydown.ts +++ b/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) { diff --git a/app/src/constants.ts b/app/src/constants.ts index 2005fc163..99864690c 100644 --- a/app/src/constants.ts +++ b/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"}, diff --git a/app/src/types/config.d.ts b/app/src/types/config.d.ts index aa871a058..22750f37d 100644 --- a/app/src/types/config.d.ts +++ b/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;