瀏覽代碼

Добавлена возможность скачивать обои

Book Pauk 3 年之前
父節點
當前提交
b0de5adbf3

+ 23 - 0
client/components/Reader/SettingsPage/SettingsPage.vue

@@ -5,6 +5,8 @@
         </template>
 
         <div class="col row">
+            <a ref="download" style="display: none;" target="_blank"></a>
+
             <div class="full-height">
                 <q-tabs
                     ref="tabs"
@@ -674,6 +676,27 @@ class SettingsPage {
         }
     }
 
+    async downloadWallpaper() {
+        if (this.wallpaper.indexOf('user-paper') != 0)
+            return;
+
+        try {
+            const d = this.$refs.download;
+
+            const dataUrl = await wallpaperStorage.getData(this.wallpaper);
+
+            if (!dataUrl)
+                throw new Error('Файл обоев не найден');
+
+            d.href = dataUrl;
+            d.download = `wallpaper-#${this.wallpaper.replace('user-paper', '').substring(0, 4)}`;
+
+            d.click();
+        } catch (e) {
+            this.$root.stdDialog.alert(e.message, 'Ошибка', {color: 'negative'});
+        }
+    }
+
     keyHook(event) {
         if (!this.$root.stdDialog.active && event.type == 'keydown' && event.key == 'Escape') {
             this.close();

+ 5 - 0
client/components/Reader/SettingsPage/ViewTab/Color.inc

@@ -102,6 +102,11 @@
                                             Удалить выбранные обои
                                         </q-tooltip>
                                     </q-btn>
+                                    <q-btn v-show="wallpaper.indexOf('user-paper') === 0" class="q-ml-sm" round dense color="blue" icon="la la-file-download" @click.stop="downloadWallpaper">
+                                        <q-tooltip :delay="1500" anchor="bottom middle" content-style="font-size: 80%">
+                                            Скачать выбранные обои
+                                        </q-tooltip>
+                                    </q-btn>
                                 </div>
                             </div>