mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-27 09:06:00 +00:00
Make maximize button reflect window state
This commit is contained in:
@@ -166,8 +166,10 @@ ipcMain.on('window-action', async (event, arg) => {
|
|||||||
case 'maximize':
|
case 'maximize':
|
||||||
if (mainWindow.isMaximized()) {
|
if (mainWindow.isMaximized()) {
|
||||||
mainWindow.unmaximize();
|
mainWindow.unmaximize();
|
||||||
|
mainWindow.webContents.send('maximize', false);
|
||||||
} else {
|
} else {
|
||||||
mainWindow.maximize();
|
mainWindow.maximize();
|
||||||
|
mainWindow.webContents.send('maximize', true);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 'close':
|
case 'close':
|
||||||
|
|||||||
@@ -32,6 +32,7 @@
|
|||||||
'icon add-folder': 'mdi mdi-folder-plus-outline',
|
'icon add-folder': 'mdi mdi-folder-plus-outline',
|
||||||
|
|
||||||
'icon window-restore': 'mdi mdi-window-restore',
|
'icon window-restore': 'mdi mdi-window-restore',
|
||||||
|
'icon window-maximize': 'mdi mdi-window-maximize',
|
||||||
'icon window-close': 'mdi mdi-window-close',
|
'icon window-close': 'mdi mdi-window-close',
|
||||||
'icon window-minimize': 'mdi mdi-window-minimize',
|
'icon window-minimize': 'mdi mdi-window-minimize',
|
||||||
'img dbgate': 'mdi mdi-database color-icon-gold',
|
'img dbgate': 'mdi mdi-database color-icon-gold',
|
||||||
|
|||||||
@@ -7,9 +7,18 @@
|
|||||||
import { activeTab, currentDatabase } from '../stores';
|
import { activeTab, currentDatabase } from '../stores';
|
||||||
import { isMac } from '../utility/common';
|
import { isMac } from '../utility/common';
|
||||||
import getElectron from '../utility/getElectron';
|
import getElectron from '../utility/getElectron';
|
||||||
|
import { apiOn } from '../utility/api';
|
||||||
|
|
||||||
$: title = _.compact([$activeTab?.title, $currentDatabase?.name, 'DbGate']).join(' - ');
|
$: title = _.compact([$activeTab?.title, $currentDatabase?.name, 'DbGate']).join(' - ');
|
||||||
const electron = getElectron();
|
const electron = getElectron();
|
||||||
|
|
||||||
|
let isMaximized = false;
|
||||||
|
|
||||||
|
if (electron) {
|
||||||
|
apiOn('maximize', (maximized: boolean) => {
|
||||||
|
isMaximized = maximized;
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<div class="container" on:dblclick|stopPropagation|preventDefault={() => electron.send('window-action', 'maximize')}>
|
<div class="container" on:dblclick|stopPropagation|preventDefault={() => electron.send('window-action', 'maximize')}>
|
||||||
@@ -27,7 +36,7 @@
|
|||||||
<FontIcon icon="icon window-minimize" />
|
<FontIcon icon="icon window-minimize" />
|
||||||
</div>
|
</div>
|
||||||
<div class="button">
|
<div class="button">
|
||||||
<FontIcon icon="icon window-restore" on:click={() => electron.send('window-action', 'maximize')} />
|
<FontIcon icon={`icon ${isMaximized ? 'window-restore' : 'window-maximize'}`} on:click={() => electron.send('window-action', 'maximize')} />
|
||||||
</div>
|
</div>
|
||||||
<div class="button close-button" on:click={() => electron.send('window-action', 'close')}>
|
<div class="button close-button" on:click={() => electron.send('window-action', 'close')}>
|
||||||
<FontIcon icon="icon window-close" />
|
<FontIcon icon="icon window-close" />
|
||||||
|
|||||||
Reference in New Issue
Block a user