New functions EXPORTTEXT and EXPORTTEXT* for exporting an expresion to a text file.
Updated changelog
Start and end the break instances inside the export functions such that dialog windows appear after exiting the break instance.
Invalidate the break window timer after exiting the break instance.
Tagging release 1.2
BeeBase V1.2 for Windows, Mac, Linux, Amiga
Updated download links for V1.2
Updated Serbian catalog file.
Fixed typo.
Updated catalog translations.
Updated German catalog translation.
Update French translation of messages (v1.2)
Update PHPMailer dependency to v6.10.0 (website)
Fix a broken link
Website preparation for Swedish translation completed
Change EOL for UNIX style
Fixed the French translation of revision [r4520]
Fixed the French translation of revision [r4491]
Fixed the French translation of revision [r4469]
Fixed the French translation of revision [r4452]
Fixed the French translation of revision [r4457]
Fixed the French translation of revision [r4457]
Update French readme
Corectly update persistent model index.
Update linux install instructions to V1.2
V 1.2
Updated readme files.
Minor formatting change.
Updated changelog.
Updated Malay catalog file.
Change the icon for single button AskButton dialogs to an Info icon.
V 1.1.15
Fix memory leak in GtkPopWidget class: free the popup widget when destroying the object.
Simplify the API for PopCalendar for Gtk.
Simplify the PopCalendar API for Qt.
Minor change in how GuiFieldStoreEdits is triggered for a PopCalendar object for Amiga/MUI.
Simplify the PopCalendar API for Amiga/MUI.
Use a calendar popup for Date fields in the AskMulti dialog (MUI version).
Use a calendar popup for Date fields in the AskMulti dialog (Gtk version).
Activate the main project window after opening a project.
Simplified the API of the PopCalendar Qt widget.
Use a calendar popup for Date fields in the AskMulti dialog (Qt version).
Separate out the PopCalender Qt widget such that it can be re-used elsewhere.
V 1.1.14
Revert to using Textinput (instead of Betterstring) for MorphOS since Textinout has auto correction which is more important than the auto-select feature of Textinput.
When iconifying the main window, don't close and open windows in Qt as this creates a different stacking order when changing desktops.
V 1.1.13
Implement a layer on top of window open/close called "present" that is true when a window is opened or iconified (or on a different Linux desktop) and use that for deciding when to update windows and recompute virtual fields.
Change the API for updating register and window object to use DisplayIbjects instead of GuiObjects and the Project.
Revert r5556 to r5560. The change in how to compute virtual fields led to a timing regression and virtual fields were computed multiple times even though no wndow was opened yet.
V 1.1.12
Make sure the main window is always updated when opening the user GUI.
Make sure window is updated when showing an object to the user.
Bug fix introduced in previous commit.
V 1.1.11
Change updating virtual fields from the open/close window handler to a more controlled way where the state of the display object decides whether a virtual field needs to be updated. When iconifying windows (or changing desktops on Linux), the windows change their open/close state and updating virtual fields in that handler can lead to problems, e.g. when there is already a project program running.
Store user edits before a window is opened or closed but not inside the open/close callback.
When deleting a table, recursively delete all display objects in the table to make sure all references in the project program are also removed.
Fix syntax error in previous commit.
Re-use previous version of (de-)iconify on MacOSX.
Make Qt iconify and de-iconify similar to Gtk. When iconifying the main window, close all windows and re-open them when de-iconifying the main window.
Clean up previous commit.
In the GTK version, if there are open dialogs, do not attempt to (de-)iconify all windows since this can make modal (transient) dialogs disappear.
Always close the break window when returning to a lower break instance than when the window was created. This is important, e.g. when there was a modal dialog before the break window opened.
Add target to build BeeBase for Qt5 on Linux.
Updated changelog
Also use BetterString on MorphOS since TextInput lacks the auto-select feature when focus is set onto the object.
Check for NULL label (fixes a GTK assertion message).
Use the document interface for setting the plain text of QTextEdit.
Begin and end reset model only when we are actually changing the list in Qt.
Do not set header again if query data matched (Qt version).
Correct the row interface in qtSFWView such that it aligns with the display order.
Implement our own proxy sorting mechanismn. The goal is to keep the query result data in the same order and use an index array to map to a new sorting order. This way the query result data still matches if recomputed even if the sfw view has been sorted by a column.
Reveretd back to not using QSortFilterProxyModel. While it is great in sorting a source model, I have no idea on how to make drag n' drop work with that interface. There are just too many unknowns.
Corrected a few index mapping.
Minor formatting changes.
Use QSortFilterProxyModel instead of sorting the model entries directly.
Improve the precision of dependencies. In a select-from-where query any
Rename RelFieldPath to TableFieldPath (and rap to tfp).
Simplify collection of all expressions.
Remove unnecessary string to string conversion.
V 1.1.10
Fix bug introduced in r4476. Exit the loop over all fields when we found a match.
V 1.1.9
Add min/max window buttons to the query and program editor windows.
Bump format version of the project file if project contains a virtual memo.
Bug fix when using Select-from-where with a joint of multiple tables. The next record was not set for the correct table for the 2nd and further tables.
When closing the query window by pressing the Esc key, it was no longer possible to re-open it. Explicitely call GuiOpenWindow to make sure the query window opens.
Part of previous commit (initialize ReferenceField).
Allow the reference match optimization in select-from-where queries only when we have a single FROM table. Otherwise, the reference record matching gets a lot more complicated.