mirror of
https://github.com/zulip/zulip-desktop.git
synced 2025-11-02 13:03:22 +00:00
refactoring code for badge/taskbar icon [WIP]
This commit is contained in:
@@ -9,7 +9,6 @@ const { appUpdater } = require('./autoupdater');
|
||||
const { app, ipcMain } = electron;
|
||||
|
||||
const BadgeSettings = require('./../renderer/js/pages/preference/badge-settings.js');
|
||||
const ConfigUtil = require('./../renderer/js/utils/config-util.js');
|
||||
|
||||
// Adds debug features like hotkeys for triggering dev tools and reload
|
||||
require('electron-debug')();
|
||||
@@ -196,27 +195,18 @@ app.on('ready', () => {
|
||||
}
|
||||
});
|
||||
|
||||
ipcMain.on('dock-unread-option', (event, showdock) => {
|
||||
if (showdock || ConfigUtil.getConfigItem('dockOption')) {
|
||||
BadgeSettings.showBadgeCount(badgeCount, mainWindow);
|
||||
} else {
|
||||
BadgeSettings.hideBadgeCount(mainWindow);
|
||||
}
|
||||
ipcMain.on('dock-unread-option', () => {
|
||||
BadgeSettings.updateBadge(badgeCount, mainWindow);
|
||||
});
|
||||
|
||||
ipcMain.on('update-badge', (event, messageCount) => {
|
||||
badgeCount = messageCount;
|
||||
if (ConfigUtil.getConfigItem('dockOption')) {
|
||||
BadgeSettings.showBadgeCount(badgeCount, mainWindow);
|
||||
} else {
|
||||
BadgeSettings.hideBadgeCount(mainWindow);
|
||||
}
|
||||
BadgeSettings.updateBadge(badgeCount, mainWindow);
|
||||
page.send('tray', messageCount);
|
||||
});
|
||||
|
||||
ipcMain.on('update-taskbar-icon', (event, data, text) => {
|
||||
const img = electron.nativeImage.createFromDataURL(data);
|
||||
mainWindow.setOverlayIcon(img, text);
|
||||
BadgeSettings.updateTaskbarIcon(data, text, mainWindow);
|
||||
});
|
||||
|
||||
ipcMain.on('forward-message', (event, listener, ...params) => {
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
'use strict';
|
||||
const electron = require('electron');
|
||||
const { app } = require('electron');
|
||||
|
||||
const ConfigUtil = require(__dirname + '/../../utils/config-util.js');
|
||||
|
||||
class BadgeSettings {
|
||||
constructor(messageCount, mainWindow) {
|
||||
this.messageCount = messageCount;
|
||||
@@ -18,7 +21,7 @@ class BadgeSettings {
|
||||
if (messageCount === 0) {
|
||||
mainWindow.setOverlayIcon(null, '');
|
||||
} else {
|
||||
mainWindow.webContentssend('render-taskbar-icon', messageCount);
|
||||
mainWindow.webContents.send('render-taskbar-icon', messageCount);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -31,6 +34,19 @@ class BadgeSettings {
|
||||
mainWindow.setOverlayIcon(null, '');
|
||||
}
|
||||
}
|
||||
|
||||
updateBadge(badgeCount, mainWindow) {
|
||||
if (ConfigUtil.getConfigItem('dockOption')) {
|
||||
this.showBadgeCount(badgeCount, mainWindow);
|
||||
} else {
|
||||
this.hideBadgeCount(mainWindow);
|
||||
}
|
||||
}
|
||||
|
||||
updateTaskbarIcon(data, text, mainWindow) {
|
||||
const img = electron.nativeImage.createFromDataURL(data);
|
||||
mainWindow.setOverlayIcon(img, text);
|
||||
}
|
||||
}
|
||||
|
||||
module.exports = new BadgeSettings();
|
||||
|
||||
Reference in New Issue
Block a user