diff --git a/client/components/Reader/SettingsPage/SettingsPage.vue b/client/components/Reader/SettingsPage/SettingsPage.vue index ab9bf85c..f6882b5e 100644 --- a/client/components/Reader/SettingsPage/SettingsPage.vue +++ b/client/components/Reader/SettingsPage/SettingsPage.vue @@ -148,7 +148,7 @@ export default @Component({ }) class SettingsPage extends Vue { selectedTab = 'profiles'; - selectedViewTab = 'color'; + selectedViewTab = 'mode'; selectedKeysTab = 'mouse'; form = {}; fontBold = false; diff --git a/client/components/Reader/SettingsPage/include/ViewTab.inc b/client/components/Reader/SettingsPage/include/ViewTab.inc index 2e868935..08a76b68 100644 --- a/client/components/Reader/SettingsPage/include/ViewTab.inc +++ b/client/components/Reader/SettingsPage/include/ViewTab.inc @@ -7,6 +7,7 @@ no-caps class="no-mp bg-grey-4 text-grey-7" > + @@ -16,6 +17,10 @@
+
+ @@include('./ViewTab/Mode.inc'); +
+
@@include('./ViewTab/Color.inc');
diff --git a/client/components/Reader/SettingsPage/include/ViewTab/Mode.inc b/client/components/Reader/SettingsPage/include/ViewTab/Mode.inc new file mode 100644 index 00000000..453e77c3 --- /dev/null +++ b/client/components/Reader/SettingsPage/include/ViewTab/Mode.inc @@ -0,0 +1,20 @@ + + + +
+
+
+ +
+
+ +
+
Отступ
+
+ + + Слева/справа внутри страницы + + +
+
\ No newline at end of file diff --git a/client/components/Reader/TextPage/TextPage.vue b/client/components/Reader/TextPage/TextPage.vue index 7247439b..3b4dc8bf 100644 --- a/client/components/Reader/TextPage/TextPage.vue +++ b/client/components/Reader/TextPage/TextPage.vue @@ -165,7 +165,8 @@ class TextPage extends Vue { this.scrollHeight = this.realHeight - (this.showStatusBar ? this.statusBarHeight : 0); this.h = this.scrollHeight - 2*this.indentTB; this.lineHeight = this.fontSize + this.lineInterval; - this.pageLineCount = 1 + Math.floor((this.h - this.lineHeight + this.lineInterval/2)/this.lineHeight); + const pageRowsCount = 1 + Math.floor((this.h - this.lineHeight + this.lineInterval/2)/this.lineHeight); + this.pageLineCount = (this.dualPageMode ? pageRowsCount*2 : pageRowsCount) this.$refs.scrollingPage1.style.width = this.w + 'px'; this.$refs.scrollingPage2.style.width = this.w + 'px'; @@ -189,6 +190,7 @@ class TextPage extends Vue { this.drawHelper.book = this.book; this.drawHelper.parsed = this.parsed; this.drawHelper.pageLineCount = this.pageLineCount; + this.drawHelper.dualPageMode = this.dualPageMode; this.drawHelper.backgroundColor = this.backgroundColor; this.drawHelper.statusBarColor = this.statusBarColor; @@ -203,6 +205,7 @@ class TextPage extends Vue { this.drawHelper.w = this.w; this.drawHelper.h = this.h; this.drawHelper.indentLR = this.indentLR; + this.drawHelper.dualIndentLR = this.dualIndentLR; this.drawHelper.textAlignJustify = this.textAlignJustify; this.drawHelper.lineHeight = this.lineHeight; this.drawHelper.context = this.context; @@ -254,7 +257,7 @@ class TextPage extends Vue { } //scrolling page - const pageSpace = this.scrollHeight - this.pageLineCount*this.lineHeight; + const pageSpace = this.scrollHeight - pageRowsCount*this.lineHeight; let top = pageSpace/2; if (this.showStatusBar) top += this.statusBarHeight*(this.statusBarTop ? 1 : 0); diff --git a/client/store/modules/reader.js b/client/store/modules/reader.js index 484969bb..dafa04ec 100644 --- a/client/store/modules/reader.js +++ b/client/store/modules/reader.js @@ -225,6 +225,8 @@ const settingDefaults = { indentTB: 0,// px, отступ всего текста сверху и снизу wordWrap: true,//перенос по слогам keepLastToFirst: false,// перенос последней строки в первую при листании + dualPageMode: false, + dualIndentLR: 10,// px, отступ слева и справа внутри страницы в двухстраничном режиме showStatusBar: true, statusBarTop: false,// top, bottom