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