Feature: add a new config item to close upload result notification

ISSUES CLOSED: #74
This commit is contained in:
萌萌哒赫萝 2023-07-17 23:54:50 -07:00
parent 58486a3997
commit c1698e8661
10 changed files with 78 additions and 40 deletions

View File

@ -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

View File

@ -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的位置

View File

@ -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的位置

View File

@ -392,6 +392,8 @@ export function createTray () {
await fs.remove(rawInput[i])
}
pasteText.push(await (pasteTemplate(pasteStyle, imgs[i], db.get('settings.customLink'))))
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!
@ -400,6 +402,7 @@ export function createTray () {
setTimeout(() => {
notification.show()
}, i * 100)
}
await GalleryDB.getInstance().insert(imgs[i])
}
handleCopyUrl(pasteText.join('\n'))

View File

@ -32,6 +32,8 @@ export const uploadClipboardFiles = async (): Promise<IStringKeyMap> => {
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 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!
@ -40,6 +42,7 @@ export const uploadClipboardFiles = async (): Promise<IStringKeyMap> => {
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,6 +91,8 @@ export const uploadChoosedFiles = async (webContents: WebContents, files: IFileW
})
}
pasteText.push(await (pasteTemplate(pasteStyle, imgs[i], db.get('settings.customLink'))))
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!
@ -96,6 +101,7 @@ export const uploadChoosedFiles = async (webContents: WebContents, files: IFileW
setTimeout(() => {
notification.show()
}, i * 100)
}
await GalleryDB.getInstance().insert(imgs[i])
result.push({
url: handleUrlEncodeWithSetting(imgs[i].imgUrl!),

View File

@ -89,6 +89,8 @@ class GuiApi implements IGuiApi {
await fs.remove(rawInput[i])
}
pasteText.push(await (pasteTemplate(pasteStyle, imgs[i], db.get('settings.customLink'))))
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
@ -97,6 +99,7 @@ class GuiApi implements IGuiApi {
setTimeout(() => {
notification.show()
}, i * 100)
}
await GalleryDB.getInstance().insert(imgs[i])
}
handleCopyUrl(pasteText.join('\n'))

View File

@ -58,6 +58,8 @@ export default {
if (img !== false) {
const pasteStyle = db.get('settings.pasteStyle') || 'markdown'
handleCopyUrl(await (pasteTemplate(pasteStyle, img[0], db.get('settings.customLink'))))
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!
@ -65,6 +67,7 @@ export default {
// icon: img[0].imgUrl
})
notification.show()
}
await GalleryDB.getInstance().insert(img[0])
trayWindow.webContents.send('clipboardFiles', [])
if (windowManager.has(IWindowList.SETTING_WINDOW)) {

View File

@ -287,6 +287,16 @@
@change="handleUploadNotification"
/>
</el-form-item>
<el-form-item
:label="$T('SETTINGS_OPEN_UPLOAD_RESULT_TIPS')"
>
<el-switch
v-model="form.uploadResultNotification"
:active-text="$T('SETTINGS_OPEN')"
:inactive-text="$T('SETTINGS_CLOSE')"
@change="handleUploadResultNotification"
/>
</el-form-item>
<el-form-item
:label="$T('SETTINGS_COMPRESS_AND_WATERMARK')"
>
@ -1527,6 +1537,7 @@ const form = reactive<ISettingForm>({
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<number>('settings.mainWindowWidth') || 1200

View File

@ -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

View File

@ -5,6 +5,7 @@ interface ISettingForm {
rename: boolean
autoRename: boolean
uploadNotification: boolean
uploadResultNotification: boolean
miniWindowOntop: boolean
logLevel: string[]
autoCopyUrl: boolean