From 092f830c3c454900f2dd9502033031023330eaef Mon Sep 17 00:00:00 2001 From: Aditya Toshniwal Date: Thu, 26 Aug 2021 11:19:15 +0530 Subject: [PATCH] =?UTF-8?q?Fixed=C2=A0blank=20screen=20issue=20on=20window?= =?UTF-8?q?s=20and=20also=20made=20changes=20to=20use=C2=A0NWjs=20manifest?= =?UTF-8?q?=C2=A0for=20remembering=20window=20size.=20Fixes=20#6419?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/en_US/release_notes_5_7.rst | 1 + runtime/package.json | 2 +- runtime/src/js/misc.js | 25 --------------- runtime/src/js/pgadmin.js | 53 ++++++++++---------------------- runtime/yarn.lock | 8 ++--- 5 files changed, 23 insertions(+), 66 deletions(-) diff --git a/docs/en_US/release_notes_5_7.rst b/docs/en_US/release_notes_5_7.rst index d8121a742..53022fb40 100644 --- a/docs/en_US/release_notes_5_7.rst +++ b/docs/en_US/release_notes_5_7.rst @@ -22,6 +22,7 @@ Bug fixes ********* | `Issue #5849 `_ - Ensure that trigger function SQL should have 'create or replace function' instead of 'create function' only. +| `Issue #6419 `_ - Fixed blank screen issue on windows and also made changes to use NWjs manifest for remembering window size. | `Issue #6531 `_ - Fixed the export image issue where relation lines are over the nodes. | `Issue #6544 `_ - Fixed width limitation issue in PSQL tool window. | `Issue #6564 `_ - Fixed an issue where columns with sequences get altered unnecessarily with a schema diff tool. diff --git a/runtime/package.json b/runtime/package.json index 82628732d..e57a87445 100644 --- a/runtime/package.json +++ b/runtime/package.json @@ -24,7 +24,7 @@ }, "devDependencies": { "eslint": "^6.3.0", - "nw": "^0.50.2" + "nw": "^0.55.0" }, "scripts": { "linter": "yarn eslint --no-eslintrc -c .eslintrc.js --ext .js ." diff --git a/runtime/src/js/misc.js b/runtime/src/js/misc.js index b412662e7..aa59f08c1 100644 --- a/runtime/src/js/misc.js +++ b/runtime/src/js/misc.js @@ -365,34 +365,9 @@ let ConfigureStore = { jsonData: {}, init: function() { - // Initialize the Screen. - let screen_obj = nw.Screen.Init(); - // Minimum resolution support - let screen_height = 480; - let screen_width = 640; - - // if screen_obj is not null and have at least one element then get the - // height and width of the work area. - if (screen_obj !== null && screen_obj !== undefined && - screen_obj.screens.length > 0) { - screen_height = screen_obj.screens[0]['work_area']['height'] - 100; - screen_width = screen_obj.screens[0]['work_area']['width'] - 100; - } - if (!this.readConfig()){ this.jsonData = DEFAULT_CONFIG_DATA; - this.jsonData['windowHeight'] = screen_height; - this.jsonData['windowWidth'] = screen_width; this.saveConfig(); - } else { - // Check if stored window height and width is greater then the - // actual screen height and width, set the screen height and width. - if (ConfigureStore.get('windowHeight') > screen_height || - ConfigureStore.get('windowWidth') > screen_width) { - this.set('windowHeight', screen_height); - this.set('windowWidth', screen_width); - this.saveConfig(); - } } }, diff --git a/runtime/src/js/pgadmin.js b/runtime/src/js/pgadmin.js index 8ff0a4476..cf923f634 100644 --- a/runtime/src/js/pgadmin.js +++ b/runtime/src/js/pgadmin.js @@ -201,18 +201,14 @@ function startDesktopMode() { function launchPgAdminWindow() { // Create and launch new window and open pgAdmin url misc.writeServerLog('Application Server URL: ' + startPageUrl); - let winWidth = misc.ConfigureStore.get('windowWidth'); - let winHeight = misc.ConfigureStore.get('windowHeight'); - nw.Window.open(startPageUrl, { + 'id': 'pgadmin-main', 'icon': '../../assets/pgAdmin4.png', 'frame': true, - 'width': winWidth, - 'height': winHeight, 'position': 'center', 'resizable': true, - 'min_width': 400, - 'min_height': 200, + 'min_width': 640, + 'min_height': 480, 'focus': true, 'show': false, }, (pgadminWindow)=> { @@ -232,19 +228,21 @@ function launchPgAdminWindow() { // set up handler for new-win-policy event. // Set the width and height for the new window. pgadminWindow.on('new-win-policy', function(frame, url, policy) { - policy.setNewWindowManifest({ - 'icon': '../../assets/pgAdmin4.png', - 'frame': true, - 'width': winWidth, - 'height': winHeight, - 'position': 'center', - }); + if(!frame) { + policy.setNewWindowManifest({ + 'id': 'pgadmin-tools', + 'icon': '../../assets/pgAdmin4.png', + 'frame': true, + 'position': 'center', + 'min_width': 640, + 'min_height': 480, + 'width': pgadminWindow.width, + 'height': pgadminWindow.height, + }); + } }); pgadminWindow.on('loaded', function() { - // Hide the splash screen - splashWindow.hide(); - /* Make the new window opener to null as it is * nothing but a splash screen. We will have to make it null, * so that open in new browser tab will work. @@ -254,26 +252,9 @@ function launchPgAdminWindow() { // Show new window pgadminWindow.show(); pgadminWindow.focus(); - }); - pgadminWindow.on('resize', function(width, height) { - // Set the width and height for the new window on resize. - pgadminWindow.on('new-win-policy', function(frame, url, policy) { - policy.setNewWindowManifest({ - 'icon': '../../assets/pgAdmin4.png', - 'frame': true, - 'width': width, - 'height': height, - 'position': 'center', - }); - }); - - // No need to write setting in case of full screen - if (!pgadminWindow.isFullscreen) { - misc.ConfigureStore.set('windowWidth', width); - misc.ConfigureStore.set('windowHeight', height); - misc.ConfigureStore.saveConfig(); - } + // Hide the splash screen + splashWindow.hide(); }); pgadminWindow.on('blur', function() { diff --git a/runtime/yarn.lock b/runtime/yarn.lock index 9d48cf43b..abf49fb02 100644 --- a/runtime/yarn.lock +++ b/runtime/yarn.lock @@ -1008,10 +1008,10 @@ number-is-nan@^1.0.0: resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0= -nw@^0.50.2: - version "0.50.2" - resolved "https://registry.yarnpkg.com/nw/-/nw-0.50.2.tgz#9947e7aa0d8f7fa6e4bca2c262ea7605db1ab507" - integrity sha512-5Y3VDaRooA7C/aSm6Bm4lOM4cg+rceS7OTlrfiQFNiop2/b6ip7OIpRVKPmeOzQ2/M+pKJqzEZLnVdeLl/wWFg== +nw@^0.55.0: + version "0.55.0" + resolved "https://registry.yarnpkg.com/nw/-/nw-0.55.0.tgz#fd5785c40fde1391ea558a73c2efff0c9e8cde3c" + integrity sha512-/EYsT55LJraJCZeSCpJoXnftsLtR+8lbhEXABlhye/n+0//F+v9kYsGLbnC+SS3JN7NQksnv/WcnoLVjL1WXcg== dependencies: chalk "~1.1.3" decompress "^4.2.0"