Commit graph

78 commits

Author SHA1 Message Date
gambas
423b02fcd6 Don't use 'qApp->sync()', it calls the event loop.
[GB.QT5.X11]
* BUG: Don't use 'qApp->sync()', it calls the event loop.
2021-09-01 21:16:51 +02:00
gambas
ddc985ce08 Use 'qApp->sync()' instead of 'X11_flush()' to synchronize with the X11 server.
[GB.QT5.X11]
* NEW: Use 'qApp->sync()' instead of 'X11_flush()' to synchronize with the X11 server.
2021-08-30 13:24:48 +02:00
gambas
f7cd9542c8 'Desktop.Type' property is now implemented in 'gb.gui.base'.
[GB.GTK]
* NEW: 'Desktop.Type' property is now implemented in 'gb.gui.base'.

[GB.GTK3]
* NEW: 'Desktop.Type' property is now implemented in 'gb.gui.base'.

[GB.QT4]
* NEW: 'Desktop.Type' property is now implemented in 'gb.gui.base'.

[GB.QT5]
* NEW: 'Desktop.Type' property is now implemented in 'gb.gui.base'.
2021-08-18 21:53:06 +02:00
gambas
08a24c7927 Delete global QThreadPool object on fork only if QT version is at least 5.15.0.
[GB.QT5]
* BUG: Delete global QThreadPool object on fork only if QT version is at least 5.15.0.
2021-06-13 22:53:27 +02:00
gambas
b4a13cb831 Reset the internal Qt5 thread pool before forking.
[GB.QT5]
* BUG: Reset the internal Qt5 thread pool before forking.
2021-06-05 03:13:39 +02:00
gambas
0c837ba9f1 Fix new gcc compiler warning.
[GB.QT4]
* BUG: Fix new gcc compiler warning.

[GB.QT5]
* BUG: Fix new gcc compiler warning.
2021-06-04 20:16:02 +02:00
gambas
866b512e0e Try to make Qt5 and GTK+3 webview raise their events the same way when loading pages.
[GB.GTK3.WEBVIEW]
* BUG: Try to make Qt5 and GTK+3 webview raise their events the same way when loading pages.

[GB.QT5.WEBVIEW]
* BUG: Try to make Qt5 and GTK+3 webview raise their events the same way when loading pages.
2021-05-24 21:33:57 +02:00
gambas
151da73415 WebView: Clear the internal 'cancel' flag if the 'Finish' event is raised before the 'acceptationRequest' method is called.
[GB.QT5.WEBVIEW]
* BUG: WebView: Clear the internal 'cancel' flag if the 'Finish' event is raised before the 'acceptationRequest' method is called.
2021-05-23 23:50:54 +02:00
gambas
b01f603a4c Display the warning about calling the event loop during a keyboard event once.
[GB.GTK]
* NEW: Display the warning about calling the event loop during a keyboard event once.

[GB.GTK3]
* NEW: Display the warning about calling the event loop during a keyboard event once.

[GB.QT4]
* NEW: Display the warning about calling the event loop during a keyboard event once.

[GB.QT5]
* NEW: Display the warning about calling the event loop during a keyboard event once.
2021-05-14 01:19:29 +02:00
gambas
1dd3ff609d Really don't leak a control if we quit between a MouseDown and a MouseUp event.
[GB.QT5]
* BUG: Really don't leak a control if we quit between a MouseDown and a MouseUp event.
2021-03-15 20:59:42 +01:00
gambas
aefee813e2 Add CheckBox and RadioButton Invert property. Fix resize against arrangement and GTK painting on DrawingArea and UserControl.
[GB.GTK]
* BUG: Fix DrawingArea and UserControl painting.
* NEW: CheckBox.Invert is a new property that put the check mark on the other side.
* NEW: RadioButton.Invert is a new property that put the radio button on the other side.
* NEW: Font.TextSize() is a new method that returns the text width and height as a rectangle.
* NEW: Font.RichTextSize() is a new method that returns the rich text width and height as a rectangle.
* BUG: Font.RichTextWidth() now takes a width optional argument like RichTextHeight().
* OPT: Control resize now ignores new width or height if its container constraints it.

[GB.GTK3]
* NEW: CheckBox.Invert is a new property that put the check mark on the other side.
* NEW: RadioButton.Invert is a new property that put the radio button on the other side.
* NEW: Font.TextSize() is a new method that returns the text width and height as a rectangle.
* NEW: Font.RichTextSize() is a new method that returns the rich text width and height as a rectangle.
* BUG: Font.RichTextWidth() now takes a width optional argument like RichTextHeight().
* OPT: Control resize now ignores new width or height if its container constraints it.

[GB.QT4]
* NEW: CheckBox.Invert is a new property that put the check mark on the other side.
* NEW: RadioButton.Invert is a new property that put the radio button on the other side.
* NEW: Font.TextSize() is a new method that returns the text width and height as a rectangle.
* NEW: Font.RichTextSize() is a new method that returns the rich text width and height as a rectangle.
* BUG: Font.RichTextWidth() now takes a width optional argument like RichTextHeight().
* OPT: Control resize now ignores new width or height if its container constraints it.

[GB.QT5]
* NEW: CheckBox.Invert is a new property that put the check mark on the other side.
* NEW: RadioButton.Invert is a new property that put the radio button on the other side.
* NEW: Font.TextSize() is a new method that returns the text width and height as a rectangle.
* NEW: Font.RichTextSize() is a new method that returns the rich text width and height as a rectangle.
* BUG: Font.RichTextWidth() now takes a width optional argument like RichTextHeight().
* OPT: Control resize now ignores new width or height if its container constraints it.
2021-03-06 13:17:35 +01:00
gambas
d65bd209d3 Remove Label and TextLabel controls. Support for UserControl_Font() handler. Some text size computation fixes.
[GB.GTK]
* NEW: Remove Label and TextLabel controls.
* NEW: Call UserControl_Font() handler when the UserControl font changes.
* BUG: Font size computation takes into account Pango ink rectangle.

[GB.GTK3]
* NEW: Remove Label and TextLabel controls.
* NEW: Call UserControl_Font() handler when the UserControl font changes.
* BUG: Font size computation takes into account Pango ink rectangle.

[GB.QT4]
* NEW: Remove Label and TextLabel controls.
* NEW: Call UserControl_Font() handler when the UserControl font changes.
* BUG: Border drawing routine now preserves paint color.
* BUG: All Paint text routines now workaround the font assignment bug.

[GB.QT5]
* NEW: Remove Label and TextLabel controls.
* NEW: Call UserControl_Font() handler when the UserControl font changes.
* BUG: Border drawing routine now preserves paint color.
* BUG: All Paint text routines now workaround the font assignment bug.
2021-03-06 13:17:35 +01:00
gambas
b87c249aba Forgot to commit some TextArea changes.
[GB.QT5]
* BUG: Forgot to commit some TextArea changes.
2021-03-06 13:17:35 +01:00
gambas
d900937949 Add an Orientation property to ScrollBar and Sldider that allows to define the orientation explicitly.
[GB.FORM]
* NEW: SliderBox: Use the new Slider.Orientation property.

[GB.GUI.BASE]
* NEW: ScrollArea: Use the new ScrollBar.Orientation property.

[GB.GTK]
* NEW: ScrollBar: Add orientation constants.
* NEW: ScrollBar: Orientation is a new property that allows to define the orientation explicitly.
* NEW: Slider: Orientation is a new property that allows to define the orientation explicitly.

[GB.GTK3]
* NEW: ScrollBar: Add orientation constants.
* NEW: ScrollBar: Orientation is a new property that allows to define the orientation explicitly.
* NEW: Slider: Orientation is a new property that allows to define the orientation explicitly.

[GB.QT4]
* NEW: ScrollBar: Add orientation constants.
* NEW: ScrollBar: Orientation is a new property that allows to define the orientation explicitly.
* NEW: Slider: Orientation is a new property that allows to define the orientation explicitly.

[GB.QT5]
* NEW: ScrollBar: Add orientation constants.
* NEW: ScrollBar: Orientation is a new property that allows to define the orientation explicitly.
* NEW: Slider: Orientation is a new property that allows to define the orientation explicitly.
2021-02-22 14:54:52 +01:00
gambas
f200e4c0a2 Do not use a deprecated API to grab the screen.
[GB.QT5.X11]
* BUG: Do not use a deprecated API to grab the screen.
2021-02-22 00:38:49 +01:00
gambas
29689f0251 Fix a function declaration.
[GB.QT5.WEBVIEW]
* BUG: Fix a function declaration.
2021-02-20 17:37:41 +01:00
gambas
618baf9dea WebView.Clear() does not accumulate QtWebEngine processes anymore.
[GB.QT5.WEBVIEW]
* BUG: WebView.Clear() does not accumulate QtWebEngine processes anymore.
2021-02-17 20:51:33 +01:00
gambas
16f7a0cb8b Centered is a new container property that centered its contents. Many GTK fixes.
[GB.GTK]
* NEW: Centered is a new container property that centered its contents. It works for horizontal, vertical and fill arrangement only.
* BUG: Setting Application.Font to NULL now resets the default font.
* BUG: Resizable utility windows now have a minimum size like QT components.

[GB.GTK3]
* NEW: Centered is a new container property that centered its contents. It works for horizontal, vertical and fill arrangement only.
* BUG: Setting Application.Font to NULL now resets the default font.
* OPT: Setting Application.Font now is almost instantaneous.
* BUG: Editable combo-boxes having a small width now behave correctly.
* BUG: Resizable utility windows now have a minimum size like QT components.
* BUG: Read-only combo-boxes do not have inner vertical padding anymore.

[GB.QT4]
* NEW: Centered is a new container property that centered its contents. It works for horizontal, vertical and fill arrangement only.

[GB.QT5]
* NEW: Centered is a new container property that centered its contents. It works for horizontal, vertical and fill arrangement only.
* BUG: Fix TextArea background.
2021-01-28 02:46:00 +01:00
gambas
f94a927e9c WebView: Implementing the Menu event automatically disables the default popup menu.
[GB.GTK3.WEBVIEW]
* NEW: WebView: Implementing the Menu event automatically disables the default popup menu.

[GB.QT4.WEBVIEW]
* NEW: WebView: Implementing the Menu event automatically disables the default popup menu.

[GB.QT5.WEBVIEW]
* NEW: WebView: Implementing the Menu event automatically disables the default popup menu.
2021-01-26 16:28:47 +01:00
gambas
b39e26a059 WebView: ExecJavascript() is a new method to run some javascript code in the browser and get the result.
[GB.GTK3.WEBVIEW]
* NEW: WebView: ExecJavascript() is a new method to run some javascript code in the browser and get the result.

[GB.QT4.WEBVIEW]
* NEW: WebView: ExecJavascript() is a new method to run some javascript code in the browser and get the result.

[GB.QT5]
* BUG: Forgot to implement the QT.GetDesktopScale() API.

[GB.QT5.WEBVIEW]
* NEW: WebView: ExecJavascript() is a new method to run some javascript code in the browser and get the result.
2021-01-25 08:05:25 +01:00
gambas
f588c83fda PictureBox now uses the new UserControl Draw pseudo-event and Frame container in now implemented in Gambas.
[GB.DRAW]
* NEW: Add PaintExtents W and H properties as synonymous of Width and Height.

[GB.GUI.BASE]
* NEW: PictureBox now uses the new UserControl Draw pseudo-event.
* NEW: Frame container in now implemented in Gambas.

[GB.GTK]
* NEW: Frame container in now implemented in Gambas.
* BUG: Style drawing routines now work correctly on UserControl.

[GB.GTK3]
* NEW: Frame container in now implemented in Gambas.

[GB.QT4]
* NEW: Frame container in now implemented in Gambas.

[GB.QT5]
* NEW: Frame container in now implemented in Gambas.
* BUG: Do not activate windows on Wayland, this is not supported.
2021-01-23 23:30:36 +01:00
gambas
b4ab1027d8 Separator is now a Gambas-made control.
[GB.GTK]
* NEW: Remove Separator control.
* BUG: Fix minimum size computation.

[GB.GTK3]
* NEW: Remove Separator control.
* BUG: Fix minimum size computation.

[GB.GUI.BASE]
* NEW: Separator is now a Gambas-made control.

[GB.QT4]
* NEW: Remove Separator control.

[GB.QT5]
* NEW: Remove Separator control.
2021-01-22 23:53:27 +01:00
gambas
01a666387f WebView: Finish event is correctly raised when the loaded URI is in the current page.
[GB.GTK3.WEBVIEW]
* BUG: WebView: Finish event is correctly raised when the loaded URI is in the current page.

[GB.QT4.WEBVIEW]
* BUG: WebView: Finish event is correctly raised when the loaded URI is in the current page.
* BUG: WebView: Start event is correctly raised.
* BUG: WebView: Cancelling the Start event now should cancel the load.

[GB.QT5.WEBVIEW]
* BUG: WebView: Finish event is correctly raised when the loaded URI is in the current page.
2021-01-22 21:04:56 +01:00
gambas
4113f6f7df Fix compilation on Qt < 5.7.
[GB.QT5]
* BUG: Fix compilation on Qt < 5.7.
2021-01-20 21:59:52 +01:00
gambas
2539929e4e Fix modal dialogs and default resolution on Wayland.
[GB.QT4]
* BUG: Don't set the QDialog flag on modal dialogs. It makes Qt dizzy, and can even freeze Gnome on Wayland.

[GB.QT5]
* BUG: Don't set the QDialog flag on modal dialogs. It makes Qt dizzy, and can even freeze Gnome on Wayland.
* BUG: The default resolution on Wayland is 96 DPI instead of 72 DPI.
2021-01-20 21:51:25 +01:00
gambas
8327e7f9bf Set application desktop file name and fix window properties on Wayland.
[GB.QT4]
* NEW: Set application desktop file name to the application name.

[GB.QT5]
* NEW: Set application desktop file name to the application name.
* BUG: Window properties are correctly set on Wayland now.
2021-01-19 16:13:41 +01:00
gambas
c369ca1c62 Do not crash when quitting if the GUI has not been initialized.
[GB.QT5]
* BUG: Do not crash when quitting if the GUI has not been initialized.
2021-01-17 20:36:28 +01:00
gambas
15bba0dfe2 Avoid a possible crash when raising the Link event.
[GB.QT4]
* BUG: Avoid a possible crash when raising the Link event.

[GB.QT5]
* BUG: Avoid a possible crash when raising the Link event.
2021-01-11 03:36:28 +01:00
gambas
a0a2d0379c MovieBox is now implemented in Gambas, through a new Animation class.
[DEVELOPMENT ENVIRONMENT]
* NEW: Support for the MovieBox Animation property.

[GB.GTK]
* NEW: Animation is a new class that represents an animated image.
* NEW: MovieBox has been removed.

[GB.GTK3]
* NEW: Animation is a new class that represents an animated image.
* NEW: MovieBox has been removed.

[GB.GUI.BASE]
* NEW: MovieBox is now implemented in Gambas.

[GB.QT4]
* NEW: Animation is a new class that represents an animated image.
* NEW: MovieBox has been removed.

[GB.QT5]
* NEW: Animation is a new class that represents an animated image.
* NEW: MovieBox has been removed.
2021-01-09 10:24:56 +01:00
gambas
c6b20765fa Support for the Window Stacking and Border properties in wayland.
[GB.QT5]
* NEW: Support for some window properties in wayland.

[GB.QT5.WAYLAND]
* NEW: Support for the Window Stacking and Border properties.
2021-01-06 03:04:25 +01:00
gambas
2a26a5d8b0 The 'GB_GUI_PLATFORM' environment variable allows to override the default platform.
[GB.GTK3]
* NEW: The 'GB_GUI_PLATFORM' environment variable allows to override the default platform.

[GB.QT5]
* NEW: The 'GB_GUI_PLATFORM' environment variable allows to override the default platform.
2020-12-22 01:36:13 +01:00
Benoît Minisini
eefb03c5ba Merge branch 'wayland' of https://gitlab.com/gambas/gambas into wayland 2020-12-21 05:19:07 +01:00
Benoît Minisini
a6311c6b63 Continue working on Wayland support.
[GB.GTK3]
* NEW: Support for specific platforms: X11 & Wayland.

[GB.GTK3.X11]
* NEW: This is the GTK+3 X11 platform component.

[GB.GTK3.WAYLAND]
* NEW: This is the GTK+3 Wayland platform component.
2020-12-21 04:54:14 +01:00
gambas
60249d57ee Merge branch 'master' into wayland 2020-12-21 01:23:08 +01:00
gambas
c63e711684 WebView.Clear() should not make the view crash anymore.
[GB.QT5.WEBVIEW]
* BUG: WebView.Clear() should not make the view crash anymore.
2020-11-18 23:10:36 +01:00
gambas
4e1b6921d9 WebView.Clear() is a new method that resets the view.
[GB.QT5.WEBVIEW]
* NEW: WebView: Clear() is a new method that resets the view.
* BUG: WebView: The Link property is now available during Finish and Error events.
* NEW: WebView: Cancelling the NewView event has the same effect as setting the NewView property to NULL.
2020-11-14 03:46:03 +01:00
gambas
6e6f4053e9 Work continues on the new WebView.
[GB.QT5.WEBVIEW]
* NEW: WebSettings: All WebView share the same settings.
* NEW: WebSettings: Font size properties are in points now.
* NEW: WebView: The NewView event is raised when a new WebView is requested for a new page.
* NEW: WebView: The NewView property must be set to the new WebView as the answer to the NewView event.
* NEW: WebView: The Link property returns the last hovered link.
* NEW: WebView: The Link event does not take any argument anymore.
* BUG: WebView: Fix the History property.
* NEW: WebView: Cancelling the Start event cancels the page load (same beahviour in gb.gtk3).
2020-10-21 00:45:28 +02:00
gambas
5ae68582e6 Add 'gb.qt4.webview' component.
[GB.GUI.WEBVIEW]
* NEW: Handle 'gb.qt4.webview'.

[GB.QT4.WEBVIEW]
* NEW: New component based on QtWebKit like 'gb.qt4.webkit'.
2020-09-30 17:43:26 +02:00
gambas
df30233faa WebView: Implement events, and the Icon and Progress properties.
[GB.GTK3.WEBVIEW]
* NEW: WebView: Implement events.
* NEW: WebView: Implement the Icon and the Progress properties.

[GB.QT5.WEBVIEW]
* NEW: WebView: Implement events.
* NEW: WebView: Implement the Icon and the Progress properties.
2020-09-29 00:36:23 +02:00
gambas
8e37076a8f WebView: Fix settings implementation and add font settings.
[GB.GTK3.WEBVIEW]
* BUG: Forgot to add settings implementation source files.
* NEW: Implement fonts settings.
* BUG: Fix implementation of default settings.

[GB.QT5.WEBVIEW]
* BUG: Forgot to add settings implementation source files.
* NEW: Implement fonts settings.
* BUG: Fix implementation of default settings.
2020-09-25 02:55:29 +02:00
gambas
3e0b760dc6 Work on web browser components continue. New QT/GTK+ web browser switcher component.
[GB.GTK3.WEBVIEW]
* NEW: WebView: Add Title and Zoom properties.
* NEW: WebView: Add History property and history support.

[GB.GUI]
* NEW: Enhance debugging messages.

[GB.GUI.OPENGL]
* NEW: Fix debugging messages.

[GB.GUI.QT]
* NEW: Enhance debugging messages.

[GB.GUI.WEBVIEW]
* NEW: New QT/GTK+ web browser switcher component.

[GB.QT5.WEBVIEW]
* NEW: WebView: Add Title and Zoom properties.
* NEW: WebView: Add History property and history support.
2020-09-23 01:06:18 +02:00
gambas
6c713bbb6b Work on new web browser components in progress.
[GB.GTK3.WEBVIEW]
* NEW: Add SetHtml() method.
* NEW: Add Back(), Forward(), Stop() and Reload() methods.

[GB.QT5.WEBVIEW]
* NEW: Add SetHtml() method.
* NEW: Add Back(), Forward(), Stop() and Reload() methods.
2020-09-22 15:08:51 +02:00
gambas
b770395a3b Start development of new GTK+ and QT web browser components.
[DEVELOPMENT ENVIRONMENT]
* NEW: Add description of gb.gtk3.webview and gb.qt5.webview

[GB.GTK]
* NEW: Enhance gb.gtk API for child components like gb.gtk3.webview.

[GB.GTK3.WEBVIEW]
* NEW: Beginning of a new web browser component based on WebKitGTK.

[GB.QT5.WEBVIEW]
* NEW: Beginning of a new web browser component based on QWebEngineView.
2020-09-21 01:09:47 +02:00
gambas
88749c43da Work on wayland support continues.
[GB.QT5]
* BUG: 'x11' platform component now works as before.
* BUG: Void 'wayland' platform component is working, the IDE run on Wayland, but a lot of Qt Wayland problems remain.
2020-07-14 23:54:26 +02:00
gambas
3111155cd8 Add void wayland platform component and Desktop.Platform property.
[GB.QT4]
* BUG: Fix compilation of gb.qt4.
* NEW: Desktop.Platform is a new property that returns the current platform (always "x11").

[GB.QT5]
* NEW: Add void wayland platform component.
* NEW: Desktop.Platform is a new property that returns the current platform ("x11" or "wayland").
2020-07-14 17:58:15 +02:00
gambas
f522227695 Working on Wayland support...
[GB.QT5]
* NEW: Remove direct X11 dependencies.
* NEW: Support for platform components.

[GB.QT5.X11]
* NEW: New platform component implementing all the specific x11 stuff.
2020-07-14 16:17:10 +02:00
Laurent Carlier
53a8b5bde8 [GB.QT5]
* BUG: Fix build with Qt 5.13.

[GB.QT5.EXT]
* BUG: Fix build with Qt 5.13.

[GB.QT5.OPENGL]
* BUG: Fix build with Qt 5.13.

[GB.QT5.WEBKIT]
* BUG: Fix build with Qt 5.13.
2019-07-03 10:27:12 +02:00
gambas
dd121d669f Replace the message box native implementation by a Gambas implementation.
[GB.FORM.STOCK]
* NEW: Add a 128 pixel version of the 'delete' stock icon.

[GB.GTK]
* NEW: Message: Remove the message box native implementation.

[GB.GTK3]
* NEW: Message: Remove the message box native implementation.

[GB.GUI.BASE]
* NEW: Message: Implement the message boxes entirely in Gambas.

[GB.QT4]
* NEW: Message: Remove the message box native implementation.

[GB.QT5]
* NEW: Message: Remove the message box native implementation.
2019-06-05 03:08:22 +02:00
gambas
1bf70e1e75 PictureBox is now implemented in Gambas.
[GB.GTK]
* NEW: Remove PictureBox control.

[GB.GTK3]
* NEW: Remove PictureBox control.

[GB.GUI.BASE]
* NEW: PictureBox is now implemented in Gambas.
* NEW: PictureBox: Image is a new property that allows to display an Image instead of a Picture.
* NEW: PictureBox: Mode is a new property that defines how the image fills the control.

[GB.QT4]
* NEW: Remove PictureBox control.

[GB.QT5]
* NEW: Remove PictureBox control.
2018-10-03 16:06:54 +02:00
gambas
46f21a7f7b Strip png files with ImageMagick convert command. 2018-09-19 20:53:00 +02:00