- IDEsettings.bas cannot longer used, it's split into the usual global/methods pair and saved in source/ide/config
- new $INCLUDE lines in qb64pe.bas
- moved wiki methods $INCLUDE to a more appropriate place in ide_methods.bas
- the old Backup/Undo limit dialog was replaced by the new Undo/History limits dialog, which also allows to set the limits for Recent files and Search history
- fixed spacing calculation for action buttons (wrong string tested, dates back to SDL age, unbelievable nobody before recognized the spacing was wrong)
- in messagebox raise max. lines (needed later)
- also move bound check before index increment, formerly the index was incremented once more which lead to a subscript out of range later in the function
- using the new _READFILE$ and _WRITEFILE commands where applicable
- moved error handler changes inside CopyFile&() so we don't need to remember to do this before calling the function
- fixed file tests complaining about missing error handlers
- moved converter function from file.bas to qb64pe.bas, as it's rather compiler related than a common file function
- also fixed several "change state" related bugs (i.e. switching certain settings in the Options Menu will no longer mark the current code as "changed")
- maintain search and recent files histories in buffers
- histories keep the last 100 entries used
- buffers are saved to disk at exit and are restored on next IDE session
- Select All (CTRL-A) in the help text actually didn't select ALL after text was selected manually once before, because Help_cx1/_cy1 were not reset (bug goes back to the SDL versions)
- help text width is a known value, no need to set millions of chars
- fixed Definition lists eating the first char, if list introducer is followed by space
- added further pages to the core pages queue
- added handling for new {{PageReferences}} wiki template
- added more name substitutes for the breadcrumb links
The FocusIn/FocusOut X11 events are more reflective of active
foreground window that Enter/Leave, which only relates to mouse
movement. In particular, FocusOut fires when Alt-Tabbing away
so the alt key is correctly released.
Also re-enable IDE defocus processing on Linux so the Alt key no
longer keeps the menus selected when Alt-Tabbing.
Very simple change here, to basically take:
a$ = b$ + c$ + d$ + e$ + f$
And make it:
a$ = b$ + (c$ + d$ + e$) + f$
....
This speeds up the IDE due to (c$ + d$ + e$) being small strings, while a$ and f$ are larger strings... It's more efficient to move and add those small strings first, than it is to add them to the large strings, making them larger, at each step.
This allows simplifying how the size of UDT arrays are calculated,
and thus not leave memory uninitialised when doing a redim that
expands the array size.
Instead of being disabled by default after certain actions (those which affected the recent files list and so forced a rebuild of the "File" menu), now the current state of the "Export As" item is passed through to the rebuild procedure.
The math evaluator was not running the input through lineformat before
evaluation, resulting in Evaluate_Expression$() giving the wrong result
since the input wasn't tokenized.
- adds filetype IDs
- now includes DECLARE LIBRARY files
- allows immediate recompile after error whitout the need to make a "fake" change to the program first
- tracks required external files for changes and triggers a rebuild if needed
- $EXEICON file
- $MIDISOUNDFONT (incl. the DEFAULT one)
- $INCLUDE (incl. nested ones)
- $EMBED files
- internal includes as forced by $COLOR or $DEBUG
- reduce memory impact
- fix $NOPREFIX issue
- improved checks to avoid faulty highligting of unquoted text in DATA lines and meta lines such as $VERSIONINFO or $ERROR
- fixed a wrong Wiki link (SHELL fucntion)
This moves the CONST replacement up before we turn the elements into a
single string. The advantage is that we don't have to worry about
splitting the string properly to find the CONST names as the elements
are already split for us.t
When loading a font, and that font wasn't found, we were tossing an IDE Module Error at the users. This corrects that glitch and even pops up a notification letting them know that the font wasn't found, before reverting back to the old font handle.
String manipulation has too much overhead for larger files to write all at once. The best write speeds, from multiple testing experiments in various conditions, come from simply using PUT to place the data line by line to the drive.
This change reflects that method of file saving.