mirror of
https://github.com/everoddandeven/monerod-gui.git
synced 2025-03-25 00:29:01 +00:00
Minor fixes
This commit is contained in:
parent
de782eea51
commit
d99f74f390
4 changed files with 49 additions and 35 deletions
64
app/main.ts
64
app/main.ts
|
@ -80,22 +80,28 @@ let monerodProcess: ChildProcessWithoutNullStreams | null = null;
|
||||||
const iconRelPath: string = 'assets/icons/monero-symbol-on-white-480.png';
|
const iconRelPath: string = 'assets/icons/monero-symbol-on-white-480.png';
|
||||||
const wdwIcon = `${dirname}/${iconRelPath}`;
|
const wdwIcon = `${dirname}/${iconRelPath}`;
|
||||||
|
|
||||||
|
let tray: Tray;
|
||||||
|
let trayMenu: Menu;
|
||||||
|
|
||||||
const args = process.argv.slice(1),
|
const args = process.argv.slice(1),
|
||||||
serve = args.some(val => val === '--serve');
|
serve = args.some(val => val === '--serve');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// #region Window
|
// #region Window
|
||||||
|
|
||||||
function createWindow(): BrowserWindow {
|
const onStartStopDaemon: () => void = () => {
|
||||||
|
console.log("onStartStopDaemon()");
|
||||||
|
|
||||||
const size = screen.getPrimaryDisplay().workAreaSize;
|
};
|
||||||
const trayMenuTemplate: MenuItemConstructorOptions[] = [
|
|
||||||
|
function createTrayMenuTemplate(): MenuItemConstructorOptions[] {
|
||||||
|
return [
|
||||||
{
|
{
|
||||||
id: "stopDaemon",
|
id: "startStopDaemon",
|
||||||
label: "Stop",
|
label: "Start",
|
||||||
toolTip: "Stop monero daemon",
|
toolTip: "Start monero daemon",
|
||||||
click: () => {
|
click: onStartStopDaemon
|
||||||
console.log("Clicked stop daemon tray icon menu");
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
id: "quitDaemon",
|
id: "quitDaemon",
|
||||||
|
@ -107,16 +113,36 @@ function createWindow(): BrowserWindow {
|
||||||
console.log("Quit monero daemon");
|
console.log("Quit monero daemon");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
];
|
]
|
||||||
|
}
|
||||||
|
|
||||||
|
function createTray(): Tray {
|
||||||
|
const trayMenuTemplate = createTrayMenuTemplate();
|
||||||
const tray = new Tray(wdwIcon);
|
const tray = new Tray(wdwIcon);
|
||||||
const trayMenu = Menu.buildFromTemplate(trayMenuTemplate);
|
trayMenu = Menu.buildFromTemplate(trayMenuTemplate);
|
||||||
|
|
||||||
tray.setToolTip('Monero Daemon');
|
tray.setToolTip('Monero Daemon');
|
||||||
tray.setContextMenu(trayMenu);
|
tray.setContextMenu(trayMenu);
|
||||||
|
|
||||||
console.log(`createWindow(): icon = ${wdwIcon}`);
|
tray.on('click', (event) => {
|
||||||
console.log(`app.isPackaged: ${app.isPackaged}`);
|
if (isHidden) {
|
||||||
|
win?.show();
|
||||||
|
isHidden = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
win?.hide();
|
||||||
|
isHidden = true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
return tray;
|
||||||
|
}
|
||||||
|
|
||||||
|
function createWindow(): BrowserWindow {
|
||||||
|
const size = screen.getPrimaryDisplay().workAreaSize;
|
||||||
|
|
||||||
|
tray = createTray();
|
||||||
|
|
||||||
// Create the browser window.
|
// Create the browser window.
|
||||||
win = new BrowserWindow({
|
win = new BrowserWindow({
|
||||||
|
@ -161,18 +187,6 @@ function createWindow(): BrowserWindow {
|
||||||
win.loadURL(url.href);
|
win.loadURL(url.href);
|
||||||
}
|
}
|
||||||
|
|
||||||
tray.on('click', (event) => {
|
|
||||||
if (isHidden) {
|
|
||||||
win?.show();
|
|
||||||
isHidden = false;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
win?.hide();
|
|
||||||
isHidden = true;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
win.on('close', (event) => {
|
win.on('close', (event) => {
|
||||||
if (!isQuitting) {
|
if (!isQuitting) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
|
|
|
@ -492,7 +492,7 @@ export class DaemonDataService {
|
||||||
this._transactionPool = undefined;
|
this._transactionPool = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this._daemonInfo.synchronized) {
|
if (this._daemonInfo.synchronized && this._daemonInfo.txPoolSize > 0) {
|
||||||
this._gettingTxPoolStats = true;
|
this._gettingTxPoolStats = true;
|
||||||
this._txPoolStats = await this.daemonService.getTransactionPoolStats();
|
this._txPoolStats = await this.daemonService.getTransactionPoolStats();
|
||||||
this._gettingTxPoolStats = false;
|
this._gettingTxPoolStats = false;
|
||||||
|
|
|
@ -152,7 +152,7 @@ export class DetailComponent extends BasePageComponent implements AfterViewInit
|
||||||
}
|
}
|
||||||
|
|
||||||
private get _bootstrapDaemonAddress(): string {
|
private get _bootstrapDaemonAddress(): string {
|
||||||
return this.daemonData.info ? this.daemonData.info.bootstrapDaemonAddress : 'Not set';
|
return this.daemonData.info && this.daemonData.info.bootstrapDaemonAddress != '' ? this.daemonData.info.bootstrapDaemonAddress : 'Not set';
|
||||||
}
|
}
|
||||||
|
|
||||||
private get heightWithoutBootstrap(): number {
|
private get heightWithoutBootstrap(): number {
|
||||||
|
|
|
@ -37,7 +37,7 @@
|
||||||
<label for="general-monerod-path-control" class="form-label">Monerod path</label>
|
<label for="general-monerod-path-control" class="form-label">Monerod path</label>
|
||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<input id="general-monerod-path-control" type="text" class="form-control form-control-sm" placeholder="" aria-label="Monerod path" aria-describedby="basic-addon2" [value]="currentSettings.monerodPath" readonly>
|
<input id="general-monerod-path-control" type="text" class="form-control form-control-sm" placeholder="" aria-label="Monerod path" aria-describedby="basic-addon2" [value]="currentSettings.monerodPath" readonly>
|
||||||
<span class="input-group-text" id="basic-addon2"><button type="button" class="btn btn-secondary btn-sm" (click)="chooseMonerodFile()">Choose file</button></span>
|
<span class="input-group-text" id="basic-addon2"><button type="button" class="btn btn-secondary btn-sm" (click)="chooseMonerodFile()"><i class="bi bi-filetype-exe"></i> Choose executable</button></span>
|
||||||
</div>
|
</div>
|
||||||
<small class="text-body-secondary">Path to monerod executable</small>
|
<small class="text-body-secondary">Path to monerod executable</small>
|
||||||
</div>
|
</div>
|
||||||
|
@ -50,7 +50,7 @@
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label for="import-config-file" class="form-label">Import config file</label>
|
<label for="import-config-file" class="form-label">Import config file</label>
|
||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<button type="button" class="btn btn-secondary btn-sm" (click)="importMonerodConfigFile()">Import</button>
|
<button type="button" class="btn btn-secondary btn-sm" (click)="importMonerodConfigFile()"><i class="bi bi-box-arrow-in-down"></i> Import</button>
|
||||||
</div>
|
</div>
|
||||||
<small class="text-body-secondary">Import custom monerod config file</small>
|
<small class="text-body-secondary">Import custom monerod config file</small>
|
||||||
</div>
|
</div>
|
||||||
|
@ -58,7 +58,7 @@
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<label for="export-config-file" class="form-label">Export config file</label>
|
<label for="export-config-file" class="form-label">Export config file</label>
|
||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<button type="button" class="btn btn-secondary btn-sm" (click)="exportMonerodConfigFile()">Export</button>
|
<button type="button" class="btn btn-secondary btn-sm" (click)="exportMonerodConfigFile()"><i class="bi bi-box-arrow-up-right"></i> Export</button>
|
||||||
</div>
|
</div>
|
||||||
<small class="text-body-secondary">Export current saved settings to config file</small>
|
<small class="text-body-secondary">Export current saved settings to config file</small>
|
||||||
</div>
|
</div>
|
||||||
|
@ -112,7 +112,7 @@
|
||||||
<label for="data-dir" class="form-label">Data dir</label>
|
<label for="data-dir" class="form-label">Data dir</label>
|
||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<input id="data-dir" type="text" class="form-control form-control-sm" placeholder="" aria-label="Data dir" aria-describedby="basic-addon2" [value]="currentSettings.dataDir" readonly>
|
<input id="data-dir" type="text" class="form-control form-control-sm" placeholder="" aria-label="Data dir" aria-describedby="basic-addon2" [value]="currentSettings.dataDir" readonly>
|
||||||
<span class="input-group-text" id="basic-addon2"><button type="button" class="btn btn-secondary btn-sm" (click)="chooseDataDir()">Choose folder</button></span>
|
<span class="input-group-text" id="basic-addon2"><button type="button" class="btn btn-secondary btn-sm" (click)="chooseDataDir()"><i class="bi bi-folder"></i> Choose folder</button></span>
|
||||||
</div>
|
</div>
|
||||||
<small class="text-body-secondary">Specify data directory</small>
|
<small class="text-body-secondary">Specify data directory</small>
|
||||||
</div>
|
</div>
|
||||||
|
@ -216,7 +216,7 @@
|
||||||
<label for="upgrade-download-path" class="form-label">Download path</label>
|
<label for="upgrade-download-path" class="form-label">Download path</label>
|
||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<input id="upgrade-download-path=" type="text" class="form-control form-control-sm" placeholder="" aria-label="Monerod path" aria-describedby="basic-addon2" [value]="currentSettings.downloadUpgradePath" readonly>
|
<input id="upgrade-download-path=" type="text" class="form-control form-control-sm" placeholder="" aria-label="Monerod path" aria-describedby="basic-addon2" [value]="currentSettings.downloadUpgradePath" readonly>
|
||||||
<span class="input-group-text" id="basic-addon2"><button type="button" class="btn btn-secondary btn-sm" (click)="chooseMoneroDownloadPath()">Choose folder</button></span>
|
<span class="input-group-text" id="basic-addon2"><button type="button" class="btn btn-secondary btn-sm" (click)="chooseMoneroDownloadPath()"><i class="bi bi-folder"></i> Choose folder</button></span>
|
||||||
</div>
|
</div>
|
||||||
<small class="text-body-secondary">Folder where to save updates</small>
|
<small class="text-body-secondary">Folder where to save updates</small>
|
||||||
</div>
|
</div>
|
||||||
|
@ -430,7 +430,7 @@
|
||||||
<label for="rpc-ssl-private-key" class="form-label">Private key</label>
|
<label for="rpc-ssl-private-key" class="form-label">Private key</label>
|
||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<input id="rpc-ssl-private-key" type="text" class="form-control form-control-sm" placeholder="" aria-label="Monerod path" aria-describedby="basic-addon2" [value]="currentSettings.rpcSslPrivateKey" readonly>
|
<input id="rpc-ssl-private-key" type="text" class="form-control form-control-sm" placeholder="" aria-label="Monerod path" aria-describedby="basic-addon2" [value]="currentSettings.rpcSslPrivateKey" readonly>
|
||||||
<span class="input-group-text" id="basic-addon2"><button type="button" class="btn btn-secondary btn-sm" (click)="selectSslPrivateKey()">Choose file</button></span>
|
<span class="input-group-text" id="basic-addon2"><button type="button" class="btn btn-secondary btn-sm" (click)="selectSslPrivateKey()"><i class="bi bi-filetype-key"></i> Choose file</button></span>
|
||||||
</div>
|
</div>
|
||||||
<small class="text-body-secondary">Path to a PEM format private key</small>
|
<small class="text-body-secondary">Path to a PEM format private key</small>
|
||||||
</div>
|
</div>
|
||||||
|
@ -440,7 +440,7 @@
|
||||||
<label for="rpc-ssl-certificate" class="form-label">Certificate</label>
|
<label for="rpc-ssl-certificate" class="form-label">Certificate</label>
|
||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<input id="rpc-ssl-certificate" type="text" class="form-control form-control-sm" placeholder="" aria-label="RPC SSL Certificate" aria-describedby="basic-addon2" [value]="currentSettings.rpcSslCertificate" readonly>
|
<input id="rpc-ssl-certificate" type="text" class="form-control form-control-sm" placeholder="" aria-label="RPC SSL Certificate" aria-describedby="basic-addon2" [value]="currentSettings.rpcSslCertificate" readonly>
|
||||||
<span class="input-group-text" id="basic-addon2"><button type="button" class="btn btn-secondary btn-sm" (click)="selectSslCertificate()">Choose file</button></span>
|
<span class="input-group-text" id="basic-addon2"><button type="button" class="btn btn-secondary btn-sm" (click)="selectSslCertificate()"><i class="bi bi-postcard"></i> Choose file</button></span>
|
||||||
</div>
|
</div>
|
||||||
<small class="text-body-secondary">Path to a PEM format certificate</small>
|
<small class="text-body-secondary">Path to a PEM format certificate</small>
|
||||||
</div>
|
</div>
|
||||||
|
@ -450,7 +450,7 @@
|
||||||
<label for="rpc-ssl-ca-certificates" class="form-label">CA Certificates</label>
|
<label for="rpc-ssl-ca-certificates" class="form-label">CA Certificates</label>
|
||||||
<div class="input-group mb-3">
|
<div class="input-group mb-3">
|
||||||
<input id="rpc-ssl-ca-certificates" type="text" class="form-control form-control-sm" placeholder="" aria-label="RPC SSL CA Certificates" aria-describedby="basic-addon2" [value]="currentSettings.rpcSslCACertificates" readonly>
|
<input id="rpc-ssl-ca-certificates" type="text" class="form-control form-control-sm" placeholder="" aria-label="RPC SSL CA Certificates" aria-describedby="basic-addon2" [value]="currentSettings.rpcSslCACertificates" readonly>
|
||||||
<span class="input-group-text" id="basic-addon2"><button type="button" class="btn btn-secondary btn-sm" (click)="selectSslCACertificates()">Choose file</button></span>
|
<span class="input-group-text" id="basic-addon2"><button type="button" class="btn btn-secondary btn-sm" (click)="selectSslCACertificates()"><i class="bi bi-postcard"></i> Choose file</button></span>
|
||||||
</div>
|
</div>
|
||||||
<small class="text-body-secondary">Path to file containing concatenated PEM format certificate(s) to replace system CA(s)</small>
|
<small class="text-body-secondary">Path to file containing concatenated PEM format certificate(s) to replace system CA(s)</small>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue