mirror of
https://github.com/zulip/zulip-desktop.git
synced 2025-10-28 18:43:50 +00:00
code refactor
This commit is contained in:
@@ -4,10 +4,17 @@ const { app } = require('electron');
|
|||||||
|
|
||||||
const ConfigUtil = require(__dirname + '/../../utils/config-util.js');
|
const ConfigUtil = require(__dirname + '/../../utils/config-util.js');
|
||||||
|
|
||||||
|
let instance = null;
|
||||||
|
|
||||||
class BadgeSettings {
|
class BadgeSettings {
|
||||||
constructor(messageCount, mainWindow) {
|
constructor() {
|
||||||
this.messageCount = messageCount;
|
if (instance) {
|
||||||
this.mainWindow = mainWindow;
|
return instance;
|
||||||
|
} else {
|
||||||
|
instance = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
showBadgeCount(messageCount, mainWindow) {
|
showBadgeCount(messageCount, mainWindow) {
|
||||||
@@ -15,14 +22,7 @@ class BadgeSettings {
|
|||||||
app.setBadgeCount(messageCount);
|
app.setBadgeCount(messageCount);
|
||||||
}
|
}
|
||||||
if (process.platform === 'win32') {
|
if (process.platform === 'win32') {
|
||||||
if (!mainWindow.isFocused()) {
|
this.updateOverlayIcon(messageCount, mainWindow);
|
||||||
mainWindow.flashFrame(true);
|
|
||||||
}
|
|
||||||
if (messageCount === 0) {
|
|
||||||
mainWindow.setOverlayIcon(null, '');
|
|
||||||
} else {
|
|
||||||
mainWindow.webContents.send('render-taskbar-icon', messageCount);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -43,6 +43,17 @@ class BadgeSettings {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
updateOverlayIcon(messageCount, mainWindow) {
|
||||||
|
if (!mainWindow.isFocused()) {
|
||||||
|
mainWindow.flashFrame(true);
|
||||||
|
}
|
||||||
|
if (messageCount === 0) {
|
||||||
|
mainWindow.setOverlayIcon(null, '');
|
||||||
|
} else {
|
||||||
|
mainWindow.webContents.send('render-taskbar-icon', messageCount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
updateTaskbarIcon(data, text, mainWindow) {
|
updateTaskbarIcon(data, text, mainWindow) {
|
||||||
const img = electron.nativeImage.createFromDataURL(data);
|
const img = electron.nativeImage.createFromDataURL(data);
|
||||||
mainWindow.setOverlayIcon(img, text);
|
mainWindow.setOverlayIcon(img, text);
|
||||||
|
|||||||
Reference in New Issue
Block a user