* BUG: The process error output callback now immediately closes its file
descriptor as soon as read() returns zero or an error, or if the Error
event is not handled.
git-svn-id: svn://localhost/gambas/trunk@6694 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't remove the possible watch when freeing the file. The file may
be closed, and the file descritor may have been reused!
git-svn-id: svn://localhost/gambas/trunk@6693 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Software farm: When installing a software, tags that are desktop
menu official categories are used for creating the '*.desktop' file.
Consequently, the menu entry shold go to an accurate location of the
desktop application menu.
* NEW: Software farm: Some little desgin fixes.
* NEW: Publishing dialog: Some little fixes.
[FARM SERVER]
* BUG: Fix two bugs in search software request.
[INTERPRETER]
* NEW: The data format 'u' displays all milliseconds digits as soon as
there is at least two 'u' characters, and not if there is exactly two
'u' characters only.
[GB.DESKTOP]
* NEW: DesktopFile.Categories is a new property to read or set the
categories of a desktop menu entry.
git-svn-id: svn://localhost/gambas/trunk@6692 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't crash when trying to download the offline help if 'wget' is
not installed on the system.
* BUG: Software farm: Don't create a '*.desktop' file if the software is a
library or a component.
* NEW: Redesign the publish dialog by using a wizard.
* NEW: Use freedesktop categories as possible software tags.
[FARM SERVER]
* NEW: Add a 'size' field in the 'software' table, and an index to be able
to sort sotfwares by size later.
[INTERPRETER]
* BUG: Read data ahead before raising a Read event (on Process, File, or
any stream). Use the result of that read to detect EOF, as using the
stream end-of-file detection routine is not reliable.
[GB.FORM]
* BUG: FileProperties: Fix the media preview.
[GB.MEDIA.FORM]
* BUG: MediaView: Don't crash if the internal media player is not yet
initialized.
git-svn-id: svn://localhost/gambas/trunk@6691 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Software farm: Software now can be safely installed or removed. The
source checksum is checked, as well as the required components. Libraries
and dependencies on other software are not yet taken into account. A
'*.desktop' file is automatically created on installation now.
[INTERPRETER]
* NEW: Split() has a new behaviour when its escape argument has two
characters, the second one being the first splitting character. It uses
the first character to escape splitting characters. For example,
Split("a;b~;c;d",";","~;") returns ["a","b;c","d"].
* NEW: String[].Join() method handle the new Split syntax.
["a","b;c","d"].Join(";","~;") returns "a;b~;c;d". Moreover, in the
traditional escape syntax, the joined string are not escaped anymore if
they are void.
[GB.DESKTOP]
* NEW: DesktopFile.MimeTypes is a new property corresponding to the
'MimeType' entry of the '*.desktop' file.
* NEW: DesktopFile now can be used for creating or modifying '*.desktop'
files.
git-svn-id: svn://localhost/gambas/trunk@6689 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Trie: Use sufficient bit widths in numerical constants (could cause
data loss on 32 bit systems).
* BUG: TriePrefix: Don't drop reference counts of the Trie when the prefix
is not found.
git-svn-id: svn://localhost/gambas/trunk@6688 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Retrieve the child process output correctly when it has terminated.
No data should be lost anymore.
* NEW: Remove an unused internal stream method.
git-svn-id: svn://localhost/gambas/trunk@6687 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Process: Don't call the Read event if there is nothing to read.
git-svn-id: svn://localhost/gambas/trunk@6686 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Software farm: Now softwares can be installed or removed.
Installation is not finished yet. Checksum, components and libraries are
not checked. Desktop file is not created.
* NEW: Software farm: Design changes in the GUI.
* BUG: Offline help: The help timestamp is now used for detecting updates.
File modification time is not used anymore as it is a localized time.
* BUG: Source archive files now ignore files named 'core'.
[INTERPRETER]
* BUG: SHELL now correctly resets the interpreter to '/bin/sh' if the
System.Shell property is reset to a null string.
[GB.DESKTOP]
* BUG: Desktop.NetworkAvailable now tries to find 'ifconfig' or 'ip' in
'/sbin' and '/usr/sbin' before relying on the PATH environment variable.
git-svn-id: svn://localhost/gambas/trunk@6685 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Process: Don't check end of stream before calling the Read event. I
don't remember what this test was supposed to fix, but for sure it leads
to data loss if some data arrives just after the test.
git-svn-id: svn://localhost/gambas/trunk@6683 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The process child errors raised before the exec() system call are
now catched in a separate function called by the compiler explicitly
after a SHELL or EXEC assignment.
[COMPILER]
* NEW: SHELL and EXEC assignments now call an hidden subroutine just after
the assignment to immediately check for a possible child error.
git-svn-id: svn://localhost/gambas/trunk@6681 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Some fixes in the software farm window.
[INTERPRETER]
* NEW: Remove the GB.UnrefKeep() interpreter API, as it is not used
anymore.
git-svn-id: svn://localhost/gambas/trunk@6676 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Apply the "close on exec" flag to all non-temporary file descriptors
opened by the interpreter.
git-svn-id: svn://localhost/gambas/trunk@6671 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Experimental "Gambas Software Farm" dialog. It allows to browse a
farm server, but voting and installing are not yet possible.
* NEW: Requests to the farm server are now displayed in a modal dialog with
an optional progress bar.
[FARM SERVER]
* BUG: Fix many bugs.
* NEW: Search software by tags.
[GB.DB]
* BUG: Connections: Fix a not enough argument error.
[GB.FORM]
* NEW: URLLabel is a new control that displays a clickable URL. If the
'gb.desktop' component is loaded, then a browser is automatically opened
when clicking on the link.
[GB.GUI.BASE]
* NEW: ProgressBar now has a flat look. And a new Border property that
allows to hide the border.
[GB.NET.CURL]
* NEW: HttpClient and FtpClient now raise a 'Cancel' event when their
Stop() method is called.
* BUG: Found a workaround for having accurate upload progress data.
* NEW: HttpClient.CopyFrom() is a new method that allows to fill an
HttpClient object with the configuration of another HttpClient object.
[GB.QT4]
* BUG: Do not use 'QEventLoop::DeferredDeletion' anymore, it is deprecated.
Use qApp->sendPostedEvents() instead.
git-svn-id: svn://localhost/gambas/trunk@6665 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Some style fixes for lists.
* NEW: Automatically use the english page if the current page has not been
translated.
* NEW: Automatically use the parent class if possible when a symbol page
does not exist.
[GB.DB]
* BUG: Fix a 'not enough arguments' error in Connections.Create().
[GB.MARKDOWN]
* BUG: <hr> are now only generated from lines including only '*' or '-'. No
space is allowed anymore.
git-svn-id: svn://localhost/gambas/trunk@6659 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Expression analyze now works correctly when ME or SUPER is used.
[FARM SERVER]
* NEW: Use the new automatic database creation feature.
[WIKI SERVER]
* NEW: Support for babelmark markdown syntax comparison.
[GB.DB]
* BUG: Don't crash at connection opening when no database name is
specified.
* NEW: The Connection class has now a part written in Gambas, and the C
part has been put in a parent hidden class named '_Connection'.
* NEW: Connection.GetTemplate() is a new method that return the description
of the database as a string template.
* NEW: Connection.ApplyTemplate() is a new method that takes the previous
template to initialize the structure of the database. If a table included
in the description already exists, it is silently ignored.
* NEW: Connections.Create() is a new static method that create a specific
database from a named connection and its template as saved by the IDE
in the current project.
git-svn-id: svn://localhost/gambas/trunk@6657 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The structure of databases is now stored in the *.connection files.
It will be used for an automatic database initialization feature.
[WEBSITE MAKER]
* NEW: Update for 3.6.2.
[WIKI CGI SCRIPT]
* BUG: Fix the display of page without headers.
* NEW: Indexes are now displayed on two or more columns.
[INTERPRETER]
* NEW: New GB.AllocZero() API for allocating memory and filling it with
zeros.
[GB.DB.MYSQL]
* OPT: Cache metadata queries during 30 secondes to speed up things.
[GB.FORM]
* NEW: MenuButton displays a focus rectangle now.
[GB.GUI.BASE]
* BUG: ProgressBar now raises native control events.
git-svn-id: svn://localhost/gambas/trunk@6652 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: USE now can be followed by a comma-separated list of component
names. That way the syntax is the same as what was implemented in the
gambas scripter 'gbs3'.
git-svn-id: svn://localhost/gambas/trunk@6649 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for the new USE instruction.
[COMPILER]
* NEW: A class header now can include USE "xxxx" declarations, where "xxxx"
is a component name. It means that the specified component will be loaded
when the class is initialized, the first time it is loaded.
git-svn-id: svn://localhost/gambas/trunk@6648 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update versions in Gambas projects.
* BUG: Remove some '.gambas' directories that must not be under version
control.
[DEVELOPMENT ENVIRONMENT]
* NEW: Update the offline help to the new wiki look.
* NEW: Rename the CRecentFile class as CRecentProject.
[WIKI CGI SCRIPT]
* NEW: Some little changes in the look.
[GB.FORM]
* BUG: SwitchButton: Remove a debugging message.
[GB.MARKDOWN]
* BUG: Remove the useless Markdown.Root property.
git-svn-id: svn://localhost/gambas/trunk@6638 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Be more intelligent when parsing arguments. Now all arguments after
the first non option argument are sent to the script process.
[INTERPRETER]
* OPT: Remove a previous optimization that made benchmarks slower, contrary
to what valgrind tells. No idea why exactly, maybe a valgrind cache
simulation problem.
[BENCHMARKS]
* NEW: Do less in the polynom benchmark, so that it runs about as long as
the other benchmarks.
git-svn-id: svn://localhost/gambas/trunk@6621 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Move some rare instructions (breakpoints & quit management) out of
the main interpreter loop.
[COMPILER]
* NEW: The parser now assumes that an identifier is a subroutine taking
some arguments only if it is followed by an open brace.
[GB.EVAL]
* NEW: The parser now assumes that an identifier is a subroutine taking
some arguments only if it is followed by an open brace.
git-svn-id: svn://localhost/gambas/trunk@6620 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Help comments of component classes and symbols are now automatically
used for creating non-existing documentation pages.
* NEW: Images are clickable in editing mode. They point at the image wiki
page.
[INTERPRETER]
* NEW: Url$() is a new function to encode an URL.
* NEW: FromUrl$() is a new function to decode an URL.
* NEW: FromBase64$() is now a synonymous for UnBase64$().
[GB.MEDIA]
* BUG: MediaPipeline.Pause() does nothing if the media is not playing. That
avoid some GStreamer bad behaviour.
[GB.MEDIA.FORM]
* NEW: MediaView: Remove the ShowVideo property, it is useless.
* NEW: MediaView: The URL property can receive a true URL or a file path.
The conversion is automatically done.
* BUG: MediaView: Do pause or stop the media file only if it has sense.
* NEW: MediaView: Hide the video part if the control height is too low.
git-svn-id: svn://localhost/gambas/trunk@6617 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The IDE now can edit *.gbs Gambas scripts. But there is no automatic
completion.
* NEW: Use labels instead of buttons inside project items.
[WEBSITE MAKER]
* NEW: Update for 3.6.1 version.
[GB.EVAL]
* NEW: Lines beginning with '#!' are highlighted like comments. It's the
'shebang' of Gambas scripts.
git-svn-id: svn://localhost/gambas/trunk@6608 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Array accessors have been optimized. The 'sort' benchmark is now 25%
faster.
git-svn-id: svn://localhost/gambas/trunk@6605 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The internal UTF-8 string position cache now works in all cases.
git-svn-id: svn://localhost/gambas/trunk@6591 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Try to retrieve the connection password only if the 'gb.desktop'
component is loaded, and only display warning messages in that case.
git-svn-id: svn://localhost/gambas/trunk@6575 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Work continues on the publish dialog box. Now tags and dependencies
can be edited, and a new user can be registered.
[FARM SERVER]
* NEW: Server is almost finished. You can now download a software, vote
for it, and search the software database.
[COMPILER]
* BUG: Dump boolean constants in *.info files the same way as the informer.
[GB.NET.CURL]
* BUG: HttpForm is not a control, contrary to its parent class HttpClient.
git-svn-id: svn://localhost/gambas/trunk@6570 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Don't use "sTable" as field name for the metadata table, because
apparently "STABLE" is a reserved word in PostgreSQL. Upgrade an already
existing metadata table automatically.
* BUG: Don't crash when starting a search from a image or connection
editor.
[WEBSITE MAKER]
* NEW: Update for 3.6.
[GB.DB]
* NEW: Add support for databases like PostgreSQL that are not fully case
insensitive.
[GB.DB.POSTGRESQL]
* BUG: Automatically convert field names to lowercase when creating a
table.
[GB.GUI.BASE]
* BUG: IconView item renaming don't crash anymore.
git-svn-id: svn://localhost/gambas/trunk@6559 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: FontChooser.ShowRelative is a new property that set if relative
sizes are allowed or not. They are allowed by default.
[GB.FORM.DIALOG]
* NEW: Dialog.FixedOnly is a new property to set if the font chooser will
show fixed fonts only.
[GB.QT4]
* BUG: DrawingArea.Clear now raises an error if the DrawingArea is cached
and if it currently being painted.
[GB.GTK]
* BUG: DrawingArea.Clear() works as expected now.
* BUG: DrawingArea.Clear now raises an error if the DrawingArea is cached
and if it currently being painted.
[GB.GTK3]
* BUG: DrawingArea.Clear now raises an error if the DrawingArea is cached
and if it currently being painted.
* BUG: No more warning printed when paiting or clearing a DrawingArea.
git-svn-id: svn://localhost/gambas/trunk@6528 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use the FontBox control in the option dialog.
[WIKI CGI SCRIPT]
* NEW: Add a preview button in editing mode.
[GB.DB]
* NEW: Database driver now have a flag to tell if they support collation or
not.
[GB.DB.POSTGRESQL]
* BUG: Use collation only if database version is greater or equal than 9.1.
[GB.FORM]
* NEW: Little design changes in the FontChooser control.
* BUG: Fix the FontBox control.
* NEW: FontBox.Default is a new property that defines which text is
displayed in the control when no font is set. By default, the application
default font name is used.
[GB.FORM.DIALOG]
* NEW: Add a custom font chooser dialog for Dialog.SelectFont().
git-svn-id: svn://localhost/gambas/trunk@6520 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The 256 values of an input byte were mapped to just 128 bits of the
trie children mask, so corruption could have happened with non-ASCII keys.
* BUG: Add a special case when using GB.AddString() on an empty key
* BUG: Fix a memory error from Trie.Complete()'s return value
* OPT: Use the Gambas API in trie.c to manage memory and thus remove error
recovery since the interpreter will crash anyway
* OPT: Remove checks for "unsupported" characters as all 256 values of a
byte are supported in this version of the code
git-svn-id: svn://localhost/gambas/trunk@6515 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Clicking on the paste button correctly set the focus back to the
editor.
[WEBSITE MAKER]
* BUG: Fix pages not located in the wiki.
[EXAMPLES]
* BUG: PhotoTouch: Fix the example.
[COMPILER]
* NEW: Remove the Js$() function. Maybe it's not where it should be.
[INTERPRETER]
* NEW: Remove the Js$() function. Maybe it's not where it should be.
* BUG: Displaying a Result object in the debugger does not crash anymore.
* NEW: The GB.Realloc() API now calls GB.Alloc() if the pointer to
reallocate is null.
[GB.FORM]
* NEW: DateChooser: Make the time font size a little bit smaller.
git-svn-id: svn://localhost/gambas/trunk@6512 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Trie: Fix Complete() method where the completion would be empty
and a memory leak there
git-svn-id: svn://localhost/gambas/trunk@6507 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Trie and TriePrefix are new classes which implement a Patricia Trie
git-svn-id: svn://localhost/gambas/trunk@6506 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix a typo in an offline help message.
* NEW: The option dialog was reorganized so that user identity information
has itw own panel.
* NEW: The user identity is now written inside translation files.
[COMPILER]
* NEW: Write meaningful information in generated translation files.
[GB.FORM]
* BUG: Wizard: Fix the layout of wizard step titles.
* NEW: Add a new icon named 'identity'.
[GB.FORM.STOCK]
* NEW: Add a new icon named 'identity'.
[GB.WEB]
* BUG: The deprecated URL.Encode() and URL.Decode() functions now correctly
call URL.Quote() and URL.Unquote().
git-svn-id: svn://localhost/gambas/trunk@6503 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Database editor: Support for the new Collation field property.
[EXAMPLES]
* BUG: PdfViewer: Some little fixes.
[GB.DB]
* NEW: Table.Fields.Add() method takes a new optional argument to define
the field collation.
* NEW: Connection.Collations is a new property that returns the list of
available collations as a String array.
* NEW: Field.Collation is a new property that returns the collation of a
specific table field.
[GB.DB.MYSQL]
* NEW: Support for field collations.
[GB.DB.ODBC]
* NEW: Raise an error when trying to use collations. It is not supported.
[GB.DB.POSTGRESQL]
* NEW: Support for field collations.
[GB.DB.SQLITE2]
* NEW: Raise an error when trying to use collations. It is not supported.
[GB.DB.SQLITE3]
* NEW: Support for field collations.
[GB.QT4]
* BUG: ComboBox.Border property can be set even if it is in read-only mode.
git-svn-id: svn://localhost/gambas/trunk@6494 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The PUSH CHAR byte code now works correctly with ASCII code greater
than 127.
git-svn-id: svn://localhost/gambas/trunk@6481 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Use System.Exist() to check that 'wget' is installed before trying
to download the documentation.
[INTERPRETER]
* NEW: System.Exist() is a new method that returns if a specific program
can be found in the PATH environment variable.
* NEW: System.Find() is a new method that returns the absolute path of a
specific program according to the PATH environment variable.
[GB.GUI.BASE]
* NEW: Paint.DrawTextShadow() and Paint.DrawRichTextShadow() default radius
is now Desktop.Scale divided by three.
* NEW: Paint.DrawTextShadow() and Paint.DrawRichTextShadow() now take a new
default argument to define the shadow opacity. The default value is 50%.
git-svn-id: svn://localhost/gambas/trunk@6479 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for the new Menu.Radio property.
[GB.DB]
* BUG: Add an explicit warning message when a connection password must be
retrieved and the 'gb.desktop' component is not loaded.
[GB.GTK]
* NEW: Menu has a new Radio property that defines if a menu item must act
as a radio button. All successive menu items having the Radio property
set are mutually exclusive.
* BUG: Fix how menu items are drawn.
[GB.GTK3]
* NEW: Menu has a new Radio property that defines if a menu item must act
as a radio button. All successive menu items having the Radio property
set are mutually exclusive.
* BUG: Fix how menu items are drawn.
[GB.QT4]
* NEW: Menu has a new Radio property that defines if a menu item must act
as a radio button. All successive menu items having the Radio property
set are mutually exclusive.
git-svn-id: svn://localhost/gambas/trunk@6477 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Heap: Change the way objects are identified in Update.
* NEW: gb.data has a part written in Gambas now.
* NEW: PrioSet is a weaker (WRT ordering) variant of a PrioQueue which
allows operations to be reasonably more efficient.
git-svn-id: svn://localhost/gambas/trunk@6472 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: When running an external process, search the PATH environment
variable before forking, so that if the program does not exist, an error
is immediately raised.
git-svn-id: svn://localhost/gambas/trunk@6471 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Graph and GraphMatrix work now. Graph implementations in Gambas are
as powerful as native ones.
git-svn-id: svn://localhost/gambas/trunk@6468 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: System.Log() is a new method that send a message to the system log.
Useful if you write a daemon.
[GB.FORM]
* NEW: New design of FileChooser and DirChooser.
[GB.GUI.BASE]
* BUG: Fix the automatic scrolling behaviour of GridView and all its
children classes.
* BUG: Fix new ligheter selection color of IconView.
* BUG: Fix automatic scrolling of newly expanded item in TreeView and
ColumnView.
[GB.GTK]
* BUG: Fix Style.ForegroundOf() method.
[GB.GTK3]
* BUG: Fix Style.BackgroundOf() method.
[GB.QT4]
* NEW: DrawingArea now raises a new Font event when its font changes.
* BUG: Controls now take the alpha component of foreground and background
colors into account.
git-svn-id: svn://localhost/gambas/trunk@6461 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Convert to uppercase or lowercase now works as expected in the code
editor.
* BUG: Fix the offline 'To Do' and 'Last Changes' page.
[INTERPRETER]
* NEW: Add GB_DECLARE_STATIC() macro to declare native classes, and use it
in many class declarations.
[GB.FORM]
* NEW: Add an history in the FileChooser and DirChooser controls.
* NEW: Add a 'link' stock icon.
[GB.GUI.BASE]
* BUG: IconView: Fix mouse handling during rubberband selection.
* NEW: IconView: Use a lighter selection colour.
* BUG: ScrollArea: Shadows are now correctly drawn whatever is done during
the Draw event it raises.
git-svn-id: svn://localhost/gambas/trunk@6458 867c0c6c-44f3-4631-809d-bfa615b0a4ec