Compare commits

...

11 Commits

Author SHA1 Message Date
Book Pauk
29d49046a0 Merge branch 'release/0.7.1e' 2019-09-21 11:29:46 +07:00
Book Pauk
717af9ffaf Изменил местоположение кнопки "Автономный режим" 2019-09-21 11:28:31 +07:00
Book Pauk
00060c9f43 Merge tag '0.7.1d' into develop
0.7.1d
2019-09-21 00:25:17 +07:00
Book Pauk
759ff46c92 Merge branch 'release/0.7.1d' 2019-09-21 00:25:08 +07:00
Book Pauk
41957cdceb Актуализирована справка, доделки 2019-09-21 00:24:27 +07:00
Book Pauk
d418e3a1c9 Merge tag '0.7.1c' into develop
0.7.1c
2019-09-20 23:54:50 +07:00
Book Pauk
f650124428 Merge branch 'release/0.7.1c' 2019-09-20 23:54:38 +07:00
Book Pauk
795d109c76 Поправил описание 2019-09-20 23:54:02 +07:00
Book Pauk
6868b3effc Добавлена кнопка offlineMode 2019-09-20 23:52:45 +07:00
Book Pauk
26747b7013 Небольшие поправки 2019-09-20 22:44:36 +07:00
Book Pauk
5198f8aa60 Merge tag '0.7.1b' into develop
0.7.1b
2019-09-20 22:18:09 +07:00
9 changed files with 86 additions and 65 deletions

View File

@@ -3,6 +3,7 @@
<h4>Возможности читалки:</h4> <h4>Возможности читалки:</h4>
<ul> <ul>
<li>загрузка любой страницы интернета</li> <li>загрузка любой страницы интернета</li>
<li>работа в автономном режиме (без связи)</li>
<li>изменение цвета фона, текста, размер и тип шрифта и прочее</li> <li>изменение цвета фона, текста, размер и тип шрифта и прочее</li>
<li>установка и запоминание текущей позиции и настроек в браузере и на сервере</li> <li>установка и запоминание текущей позиции и настроек в браузере и на сервере</li>
<li>синхронизация данных (настроек и читаемых книг) между различными устройствами</li> <li>синхронизация данных (настроек и читаемых книг) между различными устройствами</li>
@@ -13,7 +14,6 @@
<li>поиск по тексту и копирование фрагмента</li> <li>поиск по тексту и копирование фрагмента</li>
<li>запоминание недавних книг, скачивание книги из читалки в формате fb2</li> <li>запоминание недавних книг, скачивание книги из читалки в формате fb2</li>
<li>управление кликом и с клавиатуры</li> <li>управление кликом и с клавиатуры</li>
<li>подключение к интернету не обязательно для чтения книги после ее загрузки</li>
<li>регистрация не требуется</li> <li>регистрация не требуется</li>
<li>поддерживаемые браузеры: Google Chrome, Mozilla Firefox последних версий</li> <li>поддерживаемые браузеры: Google Chrome, Mozilla Firefox последних версий</li>
</ul> </ul>
@@ -22,18 +22,13 @@
на файл из онлайн-библиотеки (например, скопировав адрес ссылки или кнопки "скачать fb2").</p> на файл из онлайн-библиотеки (например, скопировав адрес ссылки или кнопки "скачать fb2").</p>
<p>Поддерживаемые форматы: <b>fb2, fb2.zip, html, txt</b> и другие.</p> <p>Поддерживаемые форматы: <b>fb2, fb2.zip, html, txt</b> и другие.</p>
<p>Для автономной загрузки читалки (без интернета):<br>
В Google Chrome можно установить флаг <span class="clickable" @click="copyText('chrome://flags/#show-saved-copy', 'Ссылка на флаг успешно скопирована в буфер обмена. Можно открыть ее в новой вкладке.')">chrome://flags/#show-saved-copy</span>
в значение "Primary". В этом случае на стандартной странице "нет соединения" появится кнопка для автономной загрузки сайта из кэша.<br>
В Mozilla Firefox в автономном режиме сайт загружается из кэша автоматически. Если этого не происходит, можно установить опцию
"Веб-разработка" -> "Работать автономно".</p>
<div v-show="mode == 'omnireader'"> <div v-show="mode == 'omnireader'">
<p>Вы также можете добавить в свой браузер закладку, указав в ее свойствах вместо адреса следующий код: <p>Вы можете добавить в свой браузер закладку, указав в ее свойствах вместо адреса следующий код:
<br><span class="clickable" @click="copyText('javascript:location.href=\'https://omnireader.ru/?url=\'+location.href;', 'Код для адреса закладки успешно скопирован в буфер обмена')"> <br><span class="clickable" @click="copyText('javascript:location.href=\'https://omnireader.ru/?url=\'+location.href;', 'Код для адреса закладки успешно скопирован в буфер обмена')">
<strong>javascript:location.href='https://omnireader.ru/?url='+location.href;</strong> <strong>javascript:location.href='https://omnireader.ru/?url='+location.href;</strong>
</span> </span>
<br>Тогда, нажав на получившуюся кнопку на любой странице интернета, вы автоматически откроете ее в Omni Reader. <br>Тогда, активировав получившуюся закладку на любой странице интернета, вы автоматически откроете ее в Omni Reader.
<br>В Chrome для Android можно вызывать такую закладку по имени прямо в адресной строке браузера (имя стоит сделать попроще).
</p> </p>
</div> </div>
<p>Связаться с разработчиком: <a href="mailto:bookpauk@gmail.com">bookpauk@gmail.com</a></p> <p>Связаться с разработчиком: <a href="mailto:bookpauk@gmail.com">bookpauk@gmail.com</a></p>

View File

@@ -20,6 +20,7 @@
<li><b>Ctrl+C</b> - скопировать текст со страницы</li> <li><b>Ctrl+C</b> - скопировать текст со страницы</li>
<li><b>R</b> - принудительно обновить книгу в обход кэша</li> <li><b>R</b> - принудительно обновить книгу в обход кэша</li>
<li><b>X</b> - открыть недавние</li> <li><b>X</b> - открыть недавние</li>
<li><b>O</b> - автономный режим</li>
<li><b>S</b> - открыть окно настроек</li> <li><b>S</b> - открыть окно настроек</li>
</ul> </ul>
</div> </div>

View File

@@ -35,6 +35,9 @@
</el-button> </el-button>
</el-tooltip> </el-tooltip>
<div class="space"></div> <div class="space"></div>
<el-tooltip v-show="showToolButton['offlineMode']" content="Автономный режим (без интернета)" :open-delay="1000" effect="light">
<el-button ref="offlineMode" class="tool-button" :class="buttonActiveClass('offlineMode')" @click="buttonClick('offlineMode')"><i class="el-icon-connection"></i></el-button>
</el-tooltip>
<el-tooltip v-show="showToolButton['recentBooks']" content="Открыть недавние" :open-delay="1000" effect="light"> <el-tooltip v-show="showToolButton['recentBooks']" content="Открыть недавние" :open-delay="1000" effect="light">
<el-button ref="recentBooks" class="tool-button" :class="buttonActiveClass('recentBooks')" @click="buttonClick('recentBooks')"><i class="el-icon-document"></i></el-button> <el-button ref="recentBooks" class="tool-button" :class="buttonActiveClass('recentBooks')" @click="buttonClick('recentBooks')"><i class="el-icon-document"></i></el-button>
</el-tooltip> </el-tooltip>
@@ -257,6 +260,7 @@ class Reader extends Vue {
searchActive = false; searchActive = false;
copyTextActive = false; copyTextActive = false;
recentBooksActive = false; recentBooksActive = false;
offlineModeActive = false;
settingsActive = false; settingsActive = false;
helpActive = false; helpActive = false;
clickMapActive = false; clickMapActive = false;
@@ -696,6 +700,11 @@ class Reader extends Vue {
} }
} }
offlineModeToggle() {
this.offlineModeActive = !this.offlineModeActive;
this.$refs.serverStorage.offlineModeActive = this.offlineModeActive;
}
settingsToggle() { settingsToggle() {
this.settingsActive = !this.settingsActive; this.settingsActive = !this.settingsActive;
if (this.settingsActive) { if (this.settingsActive) {
@@ -781,11 +790,14 @@ class Reader extends Vue {
case 'copyText': case 'copyText':
this.copyTextToggle(); this.copyTextToggle();
break; break;
case 'refresh':
this.refreshBook();
break;
case 'recentBooks': case 'recentBooks':
this.recentBooksToggle(); this.recentBooksToggle();
break; break;
case 'refresh': case 'offlineMode':
this.refreshBook(); this.offlineModeToggle();
break; break;
case 'settings': case 'settings':
this.settingsToggle(); this.settingsToggle();
@@ -806,6 +818,7 @@ class Reader extends Vue {
case 'search': case 'search':
case 'copyText': case 'copyText':
case 'recentBooks': case 'recentBooks':
case 'offlineMode':
case 'settings': case 'settings':
if (this[`${button}Active`]) if (this[`${button}Active`])
classResult = classActive; classResult = classActive;
@@ -1130,6 +1143,9 @@ class Reader extends Vue {
event.preventDefault(); event.preventDefault();
event.stopPropagation(); event.stopPropagation();
break; break;
case 'KeyO':
this.offlineModeToggle();
break;
case 'KeyS': case 'KeyS':
this.settingsToggle(); this.settingsToggle();
break; break;

View File

@@ -77,6 +77,7 @@ class ServerStorage extends Vue {
if (eventName == 'recent-changed') { if (eventName == 'recent-changed') {
if (itemKey) { if (itemKey) {
if (!this.recentDeltaInited) { if (!this.recentDeltaInited) {
await this.loadRecent();
this.warning('Функции сохранения на сервер пока недоступны'); this.warning('Функции сохранения на сервер пока недоступны');
return; return;
} }
@@ -175,12 +176,12 @@ class ServerStorage extends Vue {
} }
warning(message) { warning(message) {
if (this.showServerStorageMessages) if (this.showServerStorageMessages && !this.offlineModeActive)
this.$notify.warning({message}); this.$notify.warning({message});
} }
error(message) { error(message) {
if (this.showServerStorageMessages) if (this.showServerStorageMessages && !this.offlineModeActive)
this.$notify.error({message}); this.$notify.error({message});
} }
@@ -362,9 +363,11 @@ class ServerStorage extends Vue {
} }
async loadRecent(skipRevCheck = false, doNotifySuccess = true) { async loadRecent(skipRevCheck = false, doNotifySuccess = true) {
if (!this.keyInited || !this.serverSyncEnabled) if (!this.keyInited || !this.serverSyncEnabled || this.loadingRecent)
return; return;
this.loadingRecent = true;
try {
const oldRecentRev = bookManager.recentRev; const oldRecentRev = bookManager.recentRev;
const oldRecentDeltaRev = bookManager.recentDeltaRev; const oldRecentDeltaRev = bookManager.recentDeltaRev;
//проверим ревизию на сервере //проверим ревизию на сервере
@@ -430,6 +433,9 @@ class ServerStorage extends Vue {
if (doNotifySuccess) if (doNotifySuccess)
this.debouncedNotifySuccess(); this.debouncedNotifySuccess();
} finally {
this.loadingRecent = false;
}
} }
async saveRecent(itemKey, recurse) { async saveRecent(itemKey, recurse) {

View File

@@ -6,6 +6,8 @@ export const versionHistory = [
` `
<ul> <ul>
<li>исправления багов</li> <li>исправления багов</li>
<li>на панель управления добавлена кнопка "Автономный режим"</li>
<li>актуализирована справка</li>
</ul> </ul>
` `
}, },

View File

@@ -8,6 +8,7 @@ const toolButtons = [
{name: 'search', show: true, text: 'Найти в тексте'}, {name: 'search', show: true, text: 'Найти в тексте'},
{name: 'copyText', show: false, text: 'Скопировать текст со страницы'}, {name: 'copyText', show: false, text: 'Скопировать текст со страницы'},
{name: 'refresh', show: true, text: 'Принудительно обновить книгу'}, {name: 'refresh', show: true, text: 'Принудительно обновить книгу'},
{name: 'offlineMode', show: false, text: 'Автономный режим (без интернета)'},
{name: 'recentBooks', show: true, text: 'Открыть недавние'}, {name: 'recentBooks', show: true, text: 'Открыть недавние'},
]; ];

Binary file not shown.

File diff suppressed because one or more lines are too long