diff --git a/public/i18n/en.yml b/public/i18n/en.yml index 6ffbf52..2d50bf9 100644 --- a/public/i18n/en.yml +++ b/public/i18n/en.yml @@ -172,6 +172,7 @@ SETTINGS_ADVANCED_RENAME: Advanced Rename SETTINGS_ADVANCED_RENAME_ENABLE: Enable Advanced Rename SETTINGS_ADVANCED_RENAME_FORMAT: Advanced Rename Format SETTINGS_OPEN_UPLOAD_TIPS: Open Upload Tips +SETTINGS_OPEN_UPLOAD_RESULT_TIPS: Open Upload Result Tips SETTINGS_MINI_WINDOW_ON_TOP: Mini Window On Top SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD: Auto Copy URL After Upload SETTINGS_TIPS_PLACEHOLDER_URL: Use $url to represent url position diff --git a/public/i18n/zh-CN.yml b/public/i18n/zh-CN.yml index d32fe65..535255e 100644 --- a/public/i18n/zh-CN.yml +++ b/public/i18n/zh-CN.yml @@ -173,7 +173,8 @@ SETTINGS_TIMESTAMP_RENAME: 时间戳重命名 SETTINGS_ADVANCED_RENAME: 高级重命名 SETTINGS_ADVANCED_RENAME_ENABLE: 开启高级重命名 SETTINGS_ADVANCED_RENAME_FORMAT: 重命名格式 -SETTINGS_OPEN_UPLOAD_TIPS: 开启上传提示 +SETTINGS_OPEN_UPLOAD_TIPS: 开启上传进度提示 +SETTINGS_OPEN_UPLOAD_RESULT_TIPS: 开启上传结果提示 SETTINGS_MINI_WINDOW_ON_TOP: Mini窗口置顶 SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD: 上传后自动复制URL SETTINGS_TIPS_PLACEHOLDER_URL: 用占位符 $url 来表示url的位置 diff --git a/public/i18n/zh-TW.yml b/public/i18n/zh-TW.yml index 046a63e..b259bab 100644 --- a/public/i18n/zh-TW.yml +++ b/public/i18n/zh-TW.yml @@ -172,6 +172,7 @@ SETTINGS_ADVANCED_RENAME: 高級命名 SETTINGS_ADVANCED_RENAME_ENABLE: 啟用高級命名 SETTINGS_ADVANCED_RENAME_FORMAT: 高級命名格式 SETTINGS_OPEN_UPLOAD_TIPS: 開啟上傳提示 +SETTINGS_OPEN_UPLOAD_RESULT_TIPS: 開啟上傳結果提示 SETTINGS_MINI_WINDOW_ON_TOP: Mini視窗置頂 SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD: 上傳後自動複製URL SETTINGS_TIPS_PLACEHOLDER_URL: 用佔位符 $url 來表示URL的位置 diff --git a/src/main/apis/app/system/index.ts b/src/main/apis/app/system/index.ts index 85d5709..a44e38c 100644 --- a/src/main/apis/app/system/index.ts +++ b/src/main/apis/app/system/index.ts @@ -392,14 +392,17 @@ export function createTray () { await fs.remove(rawInput[i]) } pasteText.push(await (pasteTemplate(pasteStyle, imgs[i], db.get('settings.customLink')))) - const notification = new Notification({ - title: T('UPLOAD_SUCCEED'), - body: imgs[i].imgUrl! - // icon: files[i] - }) - setTimeout(() => { - notification.show() - }, i * 100) + const isShowResultNotification = db.get('settings.uploadResultNotification') === undefined ? true : !!db.get('settings.uploadResultNotification') + if (isShowResultNotification) { + const notification = new Notification({ + title: T('UPLOAD_SUCCEED'), + body: imgs[i].imgUrl! + // icon: files[i] + }) + setTimeout(() => { + notification.show() + }, i * 100) + } await GalleryDB.getInstance().insert(imgs[i]) } handleCopyUrl(pasteText.join('\n')) diff --git a/src/main/apis/app/uploader/apis.ts b/src/main/apis/app/uploader/apis.ts index 6494456..e8a600e 100644 --- a/src/main/apis/app/uploader/apis.ts +++ b/src/main/apis/app/uploader/apis.ts @@ -32,14 +32,17 @@ export const uploadClipboardFiles = async (): Promise => { const trayWindow = windowManager.get(IWindowList.TRAY_WINDOW) const pasteStyle = db.get('settings.pasteStyle') || 'markdown' handleCopyUrl(await (pasteTemplate(pasteStyle, img[0], db.get('settings.customLink')))) - const notification = new Notification({ - title: T('UPLOAD_SUCCEED'), - body: img[0].imgUrl! - // icon: img[0].imgUrl - }) - setTimeout(() => { - notification.show() - }, 100) + const isShowResultNotification = db.get('settings.uploadResultNotification') === undefined ? true : !!db.get('settings.uploadResultNotification') + if (isShowResultNotification) { + const notification = new Notification({ + title: T('UPLOAD_SUCCEED'), + body: img[0].imgUrl! + // icon: img[0].imgUrl + }) + setTimeout(() => { + notification.show() + }, 100) + } await GalleryDB.getInstance().insert(img[0]) // trayWindow just be created in mac/windows, not in linux trayWindow?.webContents?.send('clipboardFiles', []) @@ -88,14 +91,17 @@ export const uploadChoosedFiles = async (webContents: WebContents, files: IFileW }) } pasteText.push(await (pasteTemplate(pasteStyle, imgs[i], db.get('settings.customLink')))) - const notification = new Notification({ - title: T('UPLOAD_SUCCEED'), - body: imgs[i].imgUrl! - // icon: files[i].path - }) - setTimeout(() => { - notification.show() - }, i * 100) + const isShowResultNotification = db.get('settings.uploadResultNotification') === undefined ? true : !!db.get('settings.uploadResultNotification') + if (isShowResultNotification) { + const notification = new Notification({ + title: T('UPLOAD_SUCCEED'), + body: imgs[i].imgUrl! + // icon: files[i].path + }) + setTimeout(() => { + notification.show() + }, i * 100) + } await GalleryDB.getInstance().insert(imgs[i]) result.push({ url: handleUrlEncodeWithSetting(imgs[i].imgUrl!), diff --git a/src/main/apis/gui/index.ts b/src/main/apis/gui/index.ts index b3aad3e..2ae2c47 100644 --- a/src/main/apis/gui/index.ts +++ b/src/main/apis/gui/index.ts @@ -89,14 +89,17 @@ class GuiApi implements IGuiApi { await fs.remove(rawInput[i]) } pasteText.push(await (pasteTemplate(pasteStyle, imgs[i], db.get('settings.customLink')))) - const notification = new Notification({ - title: T('UPLOAD_SUCCEED'), - body: imgs[i].imgUrl as string - // icon: imgs[i].imgUrl - }) - setTimeout(() => { - notification.show() - }, i * 100) + const isShowResultNotification = db.get('settings.uploadResultNotification') === undefined ? true : !!db.get('settings.uploadResultNotification') + if (isShowResultNotification) { + const notification = new Notification({ + title: T('UPLOAD_SUCCEED'), + body: imgs[i].imgUrl as string + // icon: imgs[i].imgUrl + }) + setTimeout(() => { + notification.show() + }, i * 100) + } await GalleryDB.getInstance().insert(imgs[i]) } handleCopyUrl(pasteText.join('\n')) diff --git a/src/main/events/ipcList.ts b/src/main/events/ipcList.ts index 3cf1b7d..590b790 100644 --- a/src/main/events/ipcList.ts +++ b/src/main/events/ipcList.ts @@ -58,13 +58,16 @@ export default { if (img !== false) { const pasteStyle = db.get('settings.pasteStyle') || 'markdown' handleCopyUrl(await (pasteTemplate(pasteStyle, img[0], db.get('settings.customLink')))) - const notification = new Notification({ - title: T('UPLOAD_SUCCEED'), - body: img[0].imgUrl! - // icon: file[0] - // icon: img[0].imgUrl - }) - notification.show() + const isShowResultNotification = db.get('settings.uploadResultNotification') === undefined ? true : !!db.get('settings.uploadResultNotification') + if (isShowResultNotification) { + const notification = new Notification({ + title: T('UPLOAD_SUCCEED'), + body: img[0].imgUrl! + // icon: file[0] + // icon: img[0].imgUrl + }) + notification.show() + } await GalleryDB.getInstance().insert(img[0]) trayWindow.webContents.send('clipboardFiles', []) if (windowManager.has(IWindowList.SETTING_WINDOW)) { diff --git a/src/renderer/pages/PicGoSetting.vue b/src/renderer/pages/PicGoSetting.vue index 2e56357..b4a0079 100644 --- a/src/renderer/pages/PicGoSetting.vue +++ b/src/renderer/pages/PicGoSetting.vue @@ -287,6 +287,16 @@ @change="handleUploadNotification" /> + + + @@ -1527,6 +1537,7 @@ const form = reactive({ rename: false, autoRename: false, uploadNotification: false, + uploadResultNotification: true, miniWindowOntop: false, logLevel: ['all'], autoCopyUrl: true, @@ -1680,6 +1691,7 @@ async function initData () { form.rename = settings.rename || false form.autoRename = settings.autoRename || false form.uploadNotification = settings.uploadNotification || false + form.uploadResultNotification = settings.uploadResultNotification === undefined ? true : settings.uploadResultNotification form.miniWindowOntop = settings.miniWindowOntop || false form.logLevel = initLogLevel(settings.logLevel || []) form.autoCopyUrl = settings.autoCopy === undefined ? true : settings.autoCopy @@ -1952,6 +1964,12 @@ function handleUploadNotification (val: ICheckBoxValueType) { }) } +function handleUploadResultNotification (val: ICheckBoxValueType) { + saveConfig({ + 'settings.uploadResultNotification': val + }) +} + async function cancelWindowSize () { mainWindowSizeVisible.value = false mainWindowWidth.value = await getConfig('settings.mainWindowWidth') || 1200 diff --git a/src/universal/types/i18n.d.ts b/src/universal/types/i18n.d.ts index 78f3ad7..2ec48b9 100644 --- a/src/universal/types/i18n.d.ts +++ b/src/universal/types/i18n.d.ts @@ -167,6 +167,7 @@ interface ILocales { SETTINGS_ADVANCED_RENAME_ENABLE: string SETTINGS_ADVANCED_RENAME_FORMAT: string SETTINGS_OPEN_UPLOAD_TIPS: string + SETTINGS_OPEN_UPLOAD_RESULT_TIPS: string SETTINGS_MINI_WINDOW_ON_TOP: string SETTINGS_AUTO_COPY_URL_AFTER_UPLOAD: string SETTINGS_TIPS_PLACEHOLDER_URL: string diff --git a/src/universal/types/view.d.ts b/src/universal/types/view.d.ts index 987bed6..ffe2515 100644 --- a/src/universal/types/view.d.ts +++ b/src/universal/types/view.d.ts @@ -5,6 +5,7 @@ interface ISettingForm { rename: boolean autoRename: boolean uploadNotification: boolean + uploadResultNotification: boolean miniWindowOntop: boolean logLevel: string[] autoCopyUrl: boolean