mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-30 17:24:00 +00:00
reset settings command
This commit is contained in:
@@ -22,6 +22,7 @@ let disableAutoUpgrade = false;
|
|||||||
// require('@electron/remote/main').initialize();
|
// require('@electron/remote/main').initialize();
|
||||||
|
|
||||||
const configRootPath = path.join(app.getPath('userData'), 'config-root.json');
|
const configRootPath = path.join(app.getPath('userData'), 'config-root.json');
|
||||||
|
let saveConfigOnExit = true;
|
||||||
let initialConfig = {};
|
let initialConfig = {};
|
||||||
let apiLoaded = false;
|
let apiLoaded = false;
|
||||||
let mainModule;
|
let mainModule;
|
||||||
@@ -173,6 +174,21 @@ ipcMain.on('quit-app', async (event, arg) => {
|
|||||||
mainWindow.close();
|
mainWindow.close();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
ipcMain.on('reset-settings', async (event, arg) => {
|
||||||
|
try {
|
||||||
|
saveConfigOnExit = false;
|
||||||
|
fs.unlinkSync(configRootPath);
|
||||||
|
console.log('Deleted file:', configRootPath);
|
||||||
|
} catch (err) {
|
||||||
|
console.log('Error deleting config-root:', err.message);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (isMac()) {
|
||||||
|
app.quit();
|
||||||
|
} else {
|
||||||
|
mainWindow.close();
|
||||||
|
}
|
||||||
|
});
|
||||||
ipcMain.on('set-title', async (event, arg) => {
|
ipcMain.on('set-title', async (event, arg) => {
|
||||||
mainWindow.setTitle(arg);
|
mainWindow.setTitle(arg);
|
||||||
});
|
});
|
||||||
@@ -364,6 +380,7 @@ function createWindow() {
|
|||||||
});
|
});
|
||||||
mainWindow.on('close', () => {
|
mainWindow.on('close', () => {
|
||||||
try {
|
try {
|
||||||
|
if (saveConfigOnExit) {
|
||||||
fs.writeFileSync(
|
fs.writeFileSync(
|
||||||
configRootPath,
|
configRootPath,
|
||||||
JSON.stringify({
|
JSON.stringify({
|
||||||
@@ -373,6 +390,7 @@ function createWindow() {
|
|||||||
}),
|
}),
|
||||||
'utf-8'
|
'utf-8'
|
||||||
);
|
);
|
||||||
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.log('Error saving config-root:', err.message);
|
console.log('Error saving config-root:', err.message);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -91,6 +91,7 @@ module.exports = ({ editMenu }) => [
|
|||||||
{ command: 'folder.showLogs', hideDisabled: true },
|
{ command: 'folder.showLogs', hideDisabled: true },
|
||||||
{ command: 'folder.showData', hideDisabled: true },
|
{ command: 'folder.showData', hideDisabled: true },
|
||||||
{ command: 'new.gist', hideDisabled: true },
|
{ command: 'new.gist', hideDisabled: true },
|
||||||
|
{ command: 'app.resetSettings', hideDisabled: true },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -102,6 +102,12 @@ module.exports = {
|
|||||||
return res;
|
return res;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
deleteSettings_meta: true,
|
||||||
|
async deleteSettings() {
|
||||||
|
await fs.unlink(path.join(datadir(), 'settings.json'));
|
||||||
|
return true;
|
||||||
|
},
|
||||||
|
|
||||||
fillMissingSettings(value) {
|
fillMissingSettings(value) {
|
||||||
const res = {
|
const res = {
|
||||||
...value,
|
...value,
|
||||||
|
|||||||
@@ -41,6 +41,8 @@ import { disconnectServerConnection } from '../appobj/ConnectionAppObject.svelte
|
|||||||
import UploadErrorModal from '../modals/UploadErrorModal.svelte';
|
import UploadErrorModal from '../modals/UploadErrorModal.svelte';
|
||||||
import ErrorMessageModal from '../modals/ErrorMessageModal.svelte';
|
import ErrorMessageModal from '../modals/ErrorMessageModal.svelte';
|
||||||
import NewCollectionModal from '../modals/NewCollectionModal.svelte';
|
import NewCollectionModal from '../modals/NewCollectionModal.svelte';
|
||||||
|
import ConfirmModal from '../modals/ConfirmModal.svelte';
|
||||||
|
import localforage from 'localforage';
|
||||||
|
|
||||||
// function themeCommand(theme: ThemeDefinition) {
|
// function themeCommand(theme: ThemeDefinition) {
|
||||||
// return {
|
// return {
|
||||||
@@ -451,6 +453,28 @@ registerCommand({
|
|||||||
onClick: () => electron.showItemInFolder(getCurrentConfig().connectionsFilePath),
|
onClick: () => electron.showItemInFolder(getCurrentConfig().connectionsFilePath),
|
||||||
});
|
});
|
||||||
|
|
||||||
|
registerCommand({
|
||||||
|
id: 'app.resetSettings',
|
||||||
|
category: 'File',
|
||||||
|
name: 'Reset layout data & settings',
|
||||||
|
testEnabled: () => true,
|
||||||
|
onClick: () => {
|
||||||
|
showModal(ConfirmModal, {
|
||||||
|
message: `Really reset layout data? All opened tabs, settings and layout data will be lost. Connections and saved files will be preserved. After this, restart DbGate for applying changes.`,
|
||||||
|
onConfirm: async () => {
|
||||||
|
await apiCall('config/delete-settings');
|
||||||
|
localStorage.clear();
|
||||||
|
await localforage.clear();
|
||||||
|
if (getElectron()) {
|
||||||
|
getElectron().send('reset-settings');
|
||||||
|
} else {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
},
|
||||||
|
});
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
registerCommand({
|
registerCommand({
|
||||||
id: 'file.import',
|
id: 'file.import',
|
||||||
category: 'File',
|
category: 'File',
|
||||||
|
|||||||
Reference in New Issue
Block a user