Commit Graph

180 Commits (3a5464b278721b089d9e4758564813ab22d5c70a)

Author SHA1 Message Date
Maxim Zakharov 54b1a79cb6 Sporadically crashes on Windows when exit. Fixes #3177
1) Shutdown the python server properly.
  2) Disabled "Shutdown server" menu till server is not successfully started.

Initial patch sent by Maxim, modified by Akshay Joshi.
2018-03-15 13:26:24 +05:30
Dave Page 8a56eb9cd0 Fix stupid thinko 2018-02-19 17:06:01 +00:00
Dave Page df667bff53 Python 3 fix for the runtime. 2018-02-19 16:30:43 +00:00
Dave Page 2706d9cd8e Bump the version to 3.0, per discussion on the mailing lists 2018-02-05 15:38:20 +00:00
Dave Page 7192a2b675 Rewrite the runtime as a tray-based server which can launch a web browser. Fixes #3086 2018-02-05 15:32:14 +00:00
Dave Page 89821c0d19 Update copyright notices for 2018. 2018-01-05 10:42:50 +00:00
Neel Patel 90f5af8902 Avoid a potential crash when downloading. Fixes #2964 2017-12-19 12:20:01 +00:00
Dave Page 005abab7c4 Runtime version update 2017-12-18 11:13:28 +00:00
Neel Patel 8cc1a007b5 Ensure we can download large files and keep the user informed about progress. Fixes #2829. Fixes #2491. Fixes #2715 2017-11-20 14:43:34 +00:00
Neel Patel 96df3147d6 Check and attempt to fir the registry on Windows, if the text/css type is misconfigured. Fixes #2716 2017-11-15 16:33:24 +00:00
Neel Patel 8a4b2ea953 Confirm with the user before exiting the runtime. Fixes #2443 2017-11-07 20:10:55 -05:00
Dave Page f195b18f2d Ship with pre-configured paths that can work in both Server and Desktop modes out of the box. Fixes #2662
Ship the web code using server mode with appropriate paths by default and enable the runtime to override the mode, and force into desktop changing the appropriate paths to user-specific ones.

Note that this change will likely cause more advanced users to have to tweak configs.

RPMs will also need changes to create /var/lib/pgadmin and /var/log/pgadmin, owned by the webserver account.
2017-08-25 10:54:28 +01:00
Dave Page fb9eee47bd Bump the version number for 2.0. Let's get testing started ASAP! 2017-08-25 10:18:42 +01:00
Neel Patel deb5475b98 On certain linux operating systems, Qt application exits with an error
message such as 'X Error: BadDrawable'.

In order to resolve the issue, we need to let the Qt know not to load
the MIT-SHM extension.

Reference:
https://iwf1.com/quick-fix-one-kdes-common-xorg-errors-x-error-baddrawable/
2017-08-09 16:52:43 +05:30
Dave Page d04ac7656a Remove change made for debugging and committed in error. 2017-07-17 15:19:30 +01:00
Khushboo Vashi c546182789 Modify the runtime to use time-based timeouts rather than retry based. Fixes #2556
This allows for slow vs. fast connection failures (e.g. an active rejection vs. no response).
2017-07-17 15:17:58 +01:00
Neel Patel dc6a1936f5 Tidy up tab styling. Fixes #2557 2017-07-17 10:58:17 +01:00
Neel Patel dcc74af87b Stop tool buttons from changing their styling unexpectedly. Fixes #2559 2017-07-17 10:45:16 +01:00
Neel Patel 1fe0d51925 Prevent the tab bar being hidden when detached tabs are being closed. Fixes #2558 2017-07-17 10:14:40 +01:00
Mammoth Power de06e63334 Fix a compiler error with older compilers. 2017-07-11 17:22:20 +01:00
Dave Page 374bf79911 Fix proxy support with Qt 5.9+ 2017-07-11 11:48:13 +01:00
Neel Patel c93aa3810d Fix a compiler error with older compilers. 2017-07-11 09:14:53 +01:00
Dave Page ea5dfe23a0 Bump version numbers prior to release. 2017-07-10 14:56:20 +01:00
Neel Patel a21dad4c45 Fix runtime support under Qt4 2017-06-16 11:26:31 +01:00
Neel Patel 0056a94115 Add support for detachable tabs to the runtime.
This allows the Query Tool, Debugger and web browser tabs to be moved to different monitors as desired.

Fixes #1344
2017-06-16 09:57:19 +01:00
Khushboo Vashi 3a5fda44e4 Add a shortcut (Ctrl/Cmd + 0 (zero)) to the runtime to allow the zoom level to be reset. Fixes #2485 2017-06-13 10:21:51 +01:00
Dave Page dea850b503 Tune startup retry loop - try 50 times, with a 100ms pause between each attempt. 2017-06-11 14:38:22 +01:00
Dave Page ef4b8e8c1c Another minor perf tweak for the runtime. 2017-06-11 14:34:49 +01:00
Dave Page f0d287588a Couple of minor performance tweaks. Tests on my Windows VM show a consistent 30% startup time reduction. 2017-06-11 13:56:49 +01:00
Neel Patel 6e24cb038a Ensure the runtime works correctly if a Windows user has a proxy server enabled. 2017-05-30 13:17:07 +01:00
Dave Page f0e78309cb Bump version in preparation for release. 2017-05-15 12:25:28 +01:00
Neel Patel 07b06348ab While building runtime with QtWebEngine, we found 2 compilation errors which were introduced in a previous commit in runtime:
We set "setNetworkAccessManager" in WebEnginePage which was only required for Webkit so removed that statement.
"triggerAction" on WebPage is only required for Qt > 5 with WebKit only. Not required for WebEngine so added that condition.
2017-05-15 11:29:14 +01:00
Neel Patel 3ed00d3be7 1) Fixed compilation issue with QT4.
2) Make trigger action 'RequestClose' backword compatible with annulen webkit.
2017-05-10 13:34:39 +05:30
Neel Patel d0e9c82fea Fixes #2328
1) Fixed issue of opening Query Tool and Debugger in new Tab with QT 5.8 and annulen webkit
 2) Moved unload event of window from javascript files to html.
 3) Change alertify messages for debugger.
 4) Closed all connections created by debugger. Previously only one connection has been closed.
2017-05-09 13:03:44 +05:30
Dave Page 0c435154ac Adjust windows resources so they work consistently. 2017-04-10 15:15:15 +01:00
Dave Page 665ec46052 Fix application icon in mingw builds. 2017-04-10 14:29:53 +01:00
Dave Page fdf292964b Bump version numbers for release. 2017-04-10 14:24:46 +01:00
Dave Page ee17c77093 Ignore some MinGW related build files. 2017-04-03 20:59:42 +01:00
Dave Page e7cee870a7 Mingw32 compatibility fixes 2017-04-03 12:58:08 +01:00
Maxim Zakharov 4e16345257 Add support for proxies in the runtime. Fixes #2301 2017-03-29 12:17:16 -04:00
Dave Page 87bbb5ef2c Revert to the old, arguably broken code for QT4 port selection, as QT4 doesn't support TCP socket binding as QT5 does. 2017-03-29 11:33:55 -04:00
Dave Page 44ce8985e0 Fix typo in variable name. 2017-03-28 08:55:38 -04:00
Dave Page 688c810300 Add header that seems to be needed with Python 3. 2017-03-28 08:41:38 -04:00
Maxim Zakharov 72548a99e1 Fix usage of QString::toUtf8(). Fixes #2299
Desktop runtime has a couple bugs using already freed memory supplied to embedded python leading to occasional crashes and failures to start maintenance processes (VACUUM, ANALYZE, REINDEX, CLUSTER).

This is caused by incorrect usage of QString::toUtf8() which returns newly created QByteArray which is automatically destroyed once closing context; e.g.
Py_SetPythonHome(pythonHome.toUtf8().data());
2017-03-28 08:26:16 -04:00
Dave Page ea6d97c49d Add a couple of headers that Qt 5.8 seems to be more picky about, and fix the free port check to use TCP not UDP 2017-03-26 21:02:15 -04:00
Ashesh Vashi 7767c085c3 Resolved an issue finding the python interpreter on *nix systems, and
Windows 2008 R2 (32 bit), while running the pgAdmin 4 as runtime for
the PostgreSQL one click installers.

- Found a typo in runtime code, we were appending the path using ';' on
  *nix systems too. We should have used ':', and that did not allow the
  os.environ['PATH'] to identify the correct path of the python
  interpreter under the 'venv' directory.

- On Windows 2008, it was not honouring the environment variables, set
  under the Qt application (e.g. pgAdmin4.exe runtime), in the python
  application. (e.g. pgAdmin4.py). We will need to assume that - the
  python interpreter resides under the 'venv' directory outside the
  'bin' directory.

- Also, on windows 2008, it was setting PYTHONHOME environment variable
  to the full path of the pgAdmin4.exe, we need to reset it to 'venv'
  directory, if we find the python interpreter under it.

Thanks Murtuza Zabuawala for tips, and help.
2017-03-10 21:19:06 +05:30
Dave Page 063177155e Bump version prior to release. 2017-03-06 15:35:08 +00:00
Dave Page 6696b3c316 Authenticate the runtime to the server. Fixes #2228 2017-03-06 14:53:49 +00:00
Dave Page 5a7a82b4e9 Simplify runtime startup polling, and increase retries to 30.
Ensure the splash screen is hidden before showing errors.
2017-02-27 10:49:47 +00:00
Dave Page 2ebd256307 Fix startup complete tests to ensure we properly poll the server for completed startup. Fixes #2192 2017-02-26 11:52:42 +00:00
Dave Page d9ddd64a8b Qt 5.8 seems to generate an additional header we should ignore. 2017-02-16 11:27:14 +00:00
Dave Page 40f2520fa6 Add comment to note command line qmake usage. 2017-02-13 12:08:36 +00:00
Dave Page 88aac7a4c9 Update the runtime build to allow users to force building with QtWebKit in Qt5, instead of QtWebEngine. 2017-02-13 11:44:53 +00:00
Dave Page d3232b2449 Fix runtime version number. 2017-02-10 12:02:42 +00:00
Dave Page e95dc5f895 Fix indentation 2017-02-08 11:40:43 +00:00
Jonas Thelemann 2db705ad80 Add runtime/pgAdmin4 to .gitignore, and re-order entries for ease of maintenance. 2017-01-16 14:46:44 +00:00
Dave Page f221194bcc Update copyright notices for 2017. 2017-01-04 13:33:32 +00:00
Dave Page f80f271e0c Only include the triggerWebViewWindowEvents declaration where appropriate. 2016-12-12 09:40:46 +00:00
Dave Page c4c3d2b6b8 Change the org name and product name to ensure the the runtime config file is sensibly named.
This changes the default orgname to 'pgadmin' and product name to 'pgadmin4' in the runtime.
2016-12-02 11:24:32 +09:00
Dave Page 58910c4b62 Allow the ApplicationPath to be absolute. 2016-12-02 11:10:08 +09:00
Neel Patel 4bde18685b Pass copy/cut/paste events from the runtime to the webview on Mac under QtWebEngine. 2016-11-29 14:18:39 +09:00
Dave Page d5351ad657 Add file resources to the windows runtime. Fixes #1874 2016-11-18 15:46:39 +00:00
Dave Page 297733634b Use a more reasonable dynamic default for the window size (90% x 90%). Fixes #1939 2016-11-08 11:37:57 +00:00
Neel Patel 6e5683064e Use QtWebEngine with Qt5.5+ instead of QtWebKit. Fixes #1375, fixes #1641,
fixes #1916, fixes #1815, fixes #1332
2016-11-08 10:57:42 +00:00
Dave Page 5be9d5f054 Fixes #1909 Handle startup errors more gracefully in the runtime 2016-11-02 13:42:08 +05:30
Dave Page 517a85866b Update version number for release. 2016-10-24 16:30:37 +01:00
Dave Page 821f70663e Fix default zoom setting. 2016-09-22 14:43:32 +01:00
Dave Page 8c913f5773 Allow zooming in the runtime with Ctrl/Cmd+Plus and Ctrl/Cmd+Minus. Fixes #1726 2016-09-22 12:37:38 +01:00
Dave Page cd3b938179 Tweak splash screen image 2016-09-05 16:55:34 +01:00
Dave Page 1ce74fb8b1 Add a simple splash screen 2016-09-05 16:45:01 +01:00
Neel Patel a3e8ba93ae Ensure that argc/argv are set for the runtime interpretor, and that
PYTHONHOME is properly configured.
2016-08-16 11:29:42 +01:00
Neel Patel dcf5bfc495 Runtime fixes:
- Compilation error with Qt4 as "QUrlQuery" class was introduced since Qt5.
- Client side download code has been removed as now we support server side download.
- We should not delete sender object inside slot. If we do so it may crash the application. To avoid this, we used Qt's "deleteLater" which will delete the objects once the processing of all the events have been done.
2016-07-25 12:39:57 +01:00
Neel Patel a6024fc49a Support server side download in runtime application. 2016-07-18 15:28:20 +01:00
Neel Patel d22ea8bf61 Properly support file downloads in the desktop runtime. Fixes #1405. Fixes #1342 2016-07-13 12:26:24 +01:00
Dave Page b8c9ccc939 Use Alt+Shift for runtime shortcuts to avoid collisions with app shortcuts. 2016-06-29 20:31:40 +01:00
Ashesh Vashi fc34f85aa3 Set the sys path from the runtime as we were doing it earlier along with the
PYTHONPATH environment variable settings.
2016-06-21 18:24:07 +05:30
Ashesh Vashi 980ab4735e Revert "Adding proper virtual environment path on windows."
As per Dave, we are not using 'pgAdmin 4' from the community installer,
hence - we should not bother about it.

This reverts commit 3484998775.
2016-06-21 17:44:46 +05:30
Ashesh Vashi 3484998775 Adding proper virtual environment path on windows. 2016-06-21 16:54:34 +05:30
Ashesh Vashi 061a9d9322 Using the preprocessor macor Q_OS_WIN differently, it was failing to
compile the runtime on windows with C1017 error.
2016-06-21 15:45:26 +05:30
Ashesh Vashi 4a7607445f Setting the PYTHONPATH variable before initializing the python
environment using Py_Initialize() function.

Also, add virtual environment binary path to the PATH environment
variable.
2016-06-21 15:02:35 +05:30
Ashesh Vashi 8b8e6fe59b Passing the arguments to the function appending the path by reference. 2016-06-20 23:04:00 +05:30
Ashesh Vashi 691f01b623 [Runtime] Setting few of the environment variables (i.e. PATH and
PYTHONPATH) to run the runtime with the virtual environment properly.
And, also allow to use the python interpreter to be used with the
background process modules.

- Add binary directory of the virtual environment to PATH environment
  variable.
- Add lib, dynamic libraries (python specific), and site-package
  directories of the virtual environment in the PYTHONPATH environment
  variable.
2016-06-20 21:31:19 +05:30
Dave Page c16df45f2c Allow QMAKE_[C|CXX|L]FLAGS to be set externally from PGADMIN_[C|CXX|LD]FLAGS environment variables respectively. 2016-06-20 12:54:49 +01:00
Dave Page 2c06ab4ac3 Allow the python-config executable to be specified in the environment. 2016-06-20 11:19:57 +01:00
Asser Schrøder Femø fc955537a8 Fix runtime compatibility with newer Python versions
Initial patch by Asser. Change restricted to Python 3.3 and above by me as PyUnicode_DecodeFSDefault was added in 3.3.
2016-06-20 10:51:46 +01:00
Dave Page 7e27c6280f Replace runtime menu with shortcuts for a cleaner UI (and
because 99% of users don't need those options anyway).
2016-06-17 11:32:39 +01:00
Dave Page e9dc1496e2 Favour Python 2 as it's more widely tested. 2016-06-17 11:32:39 +01:00
Dave Page 4dc563d71c Fix python detection on Linux/Mac. 2016-06-17 09:40:06 +01:00
Dave Page 73988bcece Do a more sensible venv search on Windows, and don't update the
registry upon installation.
2016-06-16 16:22:45 +01:00
Dave Page cef0dc7c88 Hunt for the runtime on Windows in the same way we do on Mac. 2016-06-16 13:07:35 +01:00
Dave Page fa917a0828 Prevent the runtime from compiling bytecode to avoid permissions issues. 2016-06-16 11:30:23 +01:00
Leonard Hecker 702609517f This quite trivial patch adds support for HiDPI (i.e. "retina") displays on OS X.
The reason for this issue is that you guys use a heavily trimmed down Info.plist
file, which among others doesn't contain the NSPrincipalClass key.
Without that key an OS X application is treated as a legacy one and thus won't
support many "new" features including HiDPI displays.
By adding the key back, you a) follow the recommended Info.plist style and
b) get HiDPI support for free!

Apart from that I _really_ recommend adding the following keys too (mostly
keys added by default by Xcode - I've guessed the values):

<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>pgAdmin 4</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
<key>LSMinimumSystemVersion</key>
<string>10.9</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2016 The pgAdmin Development Team. All rights reserved.</string>
2016-06-11 18:14:47 +01:00
Neel Patel d1a0a9bab2 Icon for the Windows runtime executable. Fixes #1310 2016-06-08 10:54:28 +01:00
Dave Page 4380c6714e Fix venv search path on Mac. 2016-06-07 12:12:39 +01:00
Sandeep Thakkar 3074af101b Add Mac Appbundle generation support. 2016-06-02 13:56:56 +01:00
Neel Patel b64868079a QWebView does not render checkbox, and radio button propoerly on
MacOSX.

In order to fix it, we need to set 'style' to 'funsion' on MacOSX.

Reference:
https://bugreports.qt.io/browse/QTBUG-43366
2016-06-02 15:15:56 +05:30
Ashesh Vashi fddc30c99f [Runtime] Adding python libs in the LIBS build environment. 2016-06-02 13:12:45 +05:30
Neel Patel 7b2e4fb467 Add Inspection support to the runtime when built in debug mode. 2016-05-19 09:33:00 -04:00
Dave Page a5bb65c468 Search path for the runtime when running in a Mac dev env. 2016-05-10 16:39:02 +01:00
Sandeep Thakkar c8406a5994 Fix the runtime search path when running in a Mac App Bundle 2016-05-06 15:53:00 +01:00