refactoring code for badge/taskbar icon [WIP]

This commit is contained in:
akashnimare
2017-08-27 03:58:08 +05:30
parent bb68720ab7
commit 855e96e40e
2 changed files with 21 additions and 15 deletions

View File

@@ -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) => {

View File

@@ -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();