1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-08-06 17:30:24 +00:00
Commit graph

1392 commits

Author SHA1 Message Date
FellippeHeitor
218536343a Add "Cursor after pasted content" to Options menu.
Default behavior (which mimics Qbasic) is to keep the cursor in place even after pasting from the clipboard. This new option alters such behavior to act as modern systems, placing the cursor after the pasted content.

Also:
- Add visual indication that mouse buttons have been swapped (Options menu);
- Allows opening menus with a right-click (in case you forget you swapped mouse buttons);
- Minor tweaks to Code layout dialog box.
2016-05-07 01:38:52 -03:00
FellippeHeitor
a6d7a7ac5c Add sliders to the Colors dialog (for RGB values). 2016-04-28 03:22:29 -03:00
FellippeHeitor
c49272e64c Disable selection when Quick Navigation is used.
Previously, upon clicking the Quick Navigation button, the IDE could accidentally select all lines between the current and the destination line. Such behaviour has been fixed.
2016-04-28 00:09:30 -03:00
FellippeHeitor
1033468606 Adjust Color dialog size. 2016-04-21 23:33:29 -03:00
FellippeHeitor
fa63f1feef Color dialog: allow an empty field while editing RGB values. 2016-04-21 18:10:56 -03:00
FellippeHeitor
fa569c2fc4 Add a new dialog to allow changing of interface/code syntax colors. 2016-04-21 17:49:32 -03:00
FellippeHeitor
f00c584454 Fix to extra console window being shown when no COMMAND$ is provided.
A trailing empty space was the culprit.
2016-04-15 10:01:58 -03:00
FellippeHeitor
4336d458f5 BuildNum$ update. 2016-04-15 00:55:55 -03:00
FellippeHeitor
b243601d5a Add "Modify COMMAND$..." to Run menu.
Allows the user to set parameters to be sent to the current program when ran from inside the IDE using F5 or Ctrl+F5.
2016-04-15 00:47:26 -03:00
FellippeHeitor
e40babc3a6 Build number update. 2016-04-09 17:33:43 -03:00
FellippeHeitor
336cfde4a0 Suggest a filename when first saving, based on _TITLE, if found. 2016-04-09 17:13:02 -03:00
FellippeHeitor
9c38822c13 Current line highlight properly identifies multilines (ending with _)
ALSO:
- Fix "back" button flickering while typing.
2016-04-06 23:39:54 -03:00
FellippeHeitor
490524628c Fix to active line color highlight. 2016-04-06 02:35:42 -03:00
FellippeHeitor
9aa08ce3cd BuildNum$ updated. 2016-04-06 02:28:54 -03:00
FellippeHeitor
14ddb620b3 Highlight the current line with a darker shade of the bg color.
Can be overriden by making BackgroundColor2 = BackgroundColor in the config.txt file.
2016-04-06 02:26:23 -03:00
FellippeHeitor
022218f7a7 Add current line to navigation history before going to line with error.
Saves current line before focusing on the line that has an error indicated in the status area.
2016-04-06 01:59:38 -03:00
FellippeHeitor
12010a273c Add a "Back" button [<] to browse back after using Quick Navigation.
After using any Quick Navigation method (Search > Goto line, Right-click > Goto SUB/FUNCTION or Goto label, Bookmark navigation, SUB/FUNCTION selection box), a left facing arrow will show right under the File menu, allowing to browse to where you were before navigation.

ALSO:
- "Goto line" dialog box now remembers the last line number that was input.
2016-04-06 01:43:39 -03:00
FellippeHeitor
310eb662d0 Use the new _INCLERRORLINE to give more detailed error messages (IDE). 2016-03-23 11:22:22 -03:00
FellippeHeitor
fca4a96ef3 Remove unnecessary optional parameter in fix_error().
Also:
- "Unhandled error" message now only shows included line number when it's > 0.
- qb64.bas adds include line number to every evnt() call.
2016-03-23 08:29:32 -03:00
FellippeHeitor
398781b4af Build number increase. 2016-03-23 08:00:25 -03:00
FellippeHeitor
e891ce0891 Extended error reporting, pointing to included lines.
The "Unhandled error" message will now display "Line: #### (included line: ####)" with the line number in the included file that generated the error. 0 will be reported if the error wasn't in an included line.

Also:
- Add function _INCLERRORLINE, which returns a value greater than zero when _ERRORLINE points to an $INCLUDEd file.
2016-03-23 07:45:51 -03:00
FellippeHeitor
3557828e95 Fix $precompiler layout.
$ELSEIF FLAG THEN was being turned into $ELSEIF IF FLAG THEN THEN when a precompiler condition had already been met in an $IF block before the current $ELSEIF.
2016-03-20 22:19:35 -03:00
FellippeHeitor
8d459da508 Increase build number to mark Galleon's latest additions 2016-03-20 15:44:37 -03:00
Galleondragon
0ea631d375 Implements the _DIR$("desktop") function which returns OS specific paths.
Implements changes to allow programs to run on ARMBI-v7 Android devices which also provides a massive performance boost to but runtime and startup time.
Implements changes to allow programs to run on x86-based Android devices.
Fix to ensure variables allocated in the "stack" are aligned on appropriate boundaries which would have otherwise crashed on Android.
Fix to _DEVICES to ensure variables are aligned on appropriate boundaries which would have otherwise crashed on Android (includes some refactoring).
Added permissions to allow reading from/writing to external storage. Use the _DIR$(...) function to help locate appropriate paths.
2016-03-20 18:56:10 +11:00
Luke Ceddia
773291198c Added a date and id stamp to appear in the About box.
This must be manually updated whenever you make a change to the code.
See source/global/version.bas for details.
2016-03-18 23:22:03 +11:00
SteveMcNeill
9761af33d5 Fix to precompiler to work inside $INCLUDE files 2016-03-08 20:53:35 -05:00
SteveMcNeill
87b4783dd7 Fix so IDE will catch DO WHILE (nothing) syntax errors 2016-03-04 22:34:28 -05:00
SteveMcNeill
e9472743e5 Path to IDE Auto-position
Since _SCREENHIDE doesn't currently work on Linux, alterations were made
to the auto-position routine to keep the IDE from storing screen
positions when minimized and closed that would make it reopen off-screen
and impossible to move/position.
2016-03-04 14:51:08 -05:00
SteveMcNeill
117f12e4d4 Patch to correct IDE error messages
IDE error messages would give invalid reports if the program encountered
an error on the automatically included QB64 virtual keyboard files.
This should correct that and have the IDE reporting the proper messages
once again.
2016-03-04 11:21:16 -05:00
Fellippe Heitor
6af23d8039 Fix keyboard hotkey indicator in contextual menu.
When two 'Go to...' are shown (when label and procedure share the same name), the item that goes to procedure will have G highlighted and the item that goes to a label will have L highlighted.
2016-02-27 16:17:28 -03:00
Fellippe Heitor
95af7ff6a6 Improves the .command file generated to launch executables
The same improvements made to qb64_start_osx.command are now present in the .command file that is generated in OS X after a program is compiled into an executable. This way, Terminal is closed as soon as the program is launched.
2016-02-27 15:40:24 -03:00
FellippeHeitor
517f512c76 Add "Go to..." to contextual menu, for SUB/FUNCTION/Labels.
If a user right-clicks a SUB/FUNCTION name or a label name anywhere in the code, the contextual menu now offers to jump to the line where such procedure/label is defined, providing a quick way to navigate through code. Even if there are multiple identical labels in different procedures, scope is taken into consideration, leading you to the definition that's located inside the current procedure.
2016-02-26 22:01:03 -03:00
FellippeHeitor
2293beb692 Fix a leak when assigning values to an array of type STRING.
The issue happened with both fixed and variable length string arrays and variables with user defined types containing fixed string elements.
2016-02-22 08:19:54 -03:00
FellippeHeitor
ce0c8a4507 Add option to restore last window position at startup (Display dialog).
Setting already existed in config.txt and could be manually set (actual code to remember window position written by Steve).
2016-02-12 07:20:17 -02:00
FellippeHeitor
48c99d2247 Fix title alignment of manually positioned dialog boxes. 2016-02-12 06:49:26 -02:00
FellippeHeitor
4901270af3 Fix an error invoking the contextual menu.
If the ide window was too small (e.g. default size 80x25) and a subwindow was being shown (help window) drawing the contextual menu caused an error.
2016-02-07 18:01:43 -02:00
FellippeHeitor
ac333bb611 Minor customization specific for the SUBs list (external procedures).
- Change color of the external indicator (*) so that it looks less intrusive.
2016-01-17 12:03:25 -02:00
FellippeHeitor
7db635a043 Revert latest changes to SUBs sorting.
64 bit systems don't handle it at all. Will only be available in Windows and Linux 32bit.
2016-01-15 22:09:49 -02:00
FellippeHeitor
d86b5c84b6 Fix evaluation of current OS.
Tested under Windows, OS X El Capitan, Linux 32 and 64 bit.
2016-01-15 15:00:17 -02:00
FellippeHeitor
2381e9aa20 Reenable SUBs sorting under 32bit Linux. 2016-01-15 04:55:48 -02:00
FellippeHeitor
0075adde2c Shows Shift+TAB in menus only in Windows and OS X.
QB64 doesn't recognize Shift+TAB under Linux.
2016-01-15 04:33:51 -02:00
FellippeHeitor
02f63c2457 Remove SUBs sorting (F2) from Linux and Mac versions.
The sorting routine isn't compatible with these platforms. For now, it is Windows-only.
2016-01-15 04:10:30 -02:00
FellippeHeitor
10c53de173 Merge branch 'selective-indent-shortcuts' 2016-01-14 16:25:18 -02:00
FellippeHeitor
55035849fd Remove SUBs sorting under OS X, until it gets fixed.
After the addition of sorting to SUBs dialog, it stopped working under OS X.
2016-01-14 15:30:55 -02:00
FellippeHeitor
d684b6cf05 Fix Shift-TAB to decrease block indent on OS X.
In Linux, the option remains available only through Edit or contextual menu (right click).
2016-01-14 14:59:42 -02:00
FellippeHeitor
e2a202084a Fix never ending lines when down arrow kept being pressed
The issue was introduced after CTRL+UP/DOWN was implemented.
2016-01-14 13:53:54 -02:00
FellippeHeitor
fcf9334581 Internal: Make SUB Sort case insensitive.
A case backup array is no longer needed for sorting the SUBs list.
2016-01-14 11:41:44 -02:00
FellippeHeitor
2f2e93a276 Allow ESC to dismiss the "Are you sure you want to clear..." dialog. 2016-01-13 20:08:03 -02:00
FellippeHeitor
261d6fc97d Fix ESC deleting the current selection. 2016-01-07 00:20:29 -02:00
FellippeHeitor
96f450e2ff Small modification to Edit menu. 2016-01-06 23:28:22 -02:00
FellippeHeitor
8187641862 Add message box about the availability of manual block indent. 2016-01-06 23:14:58 -02:00
FellippeHeitor
acee40bf72 Add increase/decrease block indent with TAB/Shift+TAB.
- Available only when auto indent is turned off (Options/Code layout).
- Also available from Edit menu and contextual right-click menu.

Known issue: When auto spacing is on, if you try to indent the first line the file, it is immediately repositioned at the start of the line. Only happens to the first line.
2016-01-06 22:57:11 -02:00
FellippeHeitor
cc8f6605b5 Show a message box when no broken links are found. 2016-01-06 12:18:36 -02:00
FellippeHeitor
af4f9f3918 Update ide_methods.bas
Mere naming convention: invalid links --> broken links.
2016-01-06 02:32:58 -02:00
FellippeHeitor
6493409400 Add "Remove broken links" to recent files dialog. 2016-01-06 02:25:03 -02:00
FellippeHeitor
4f8bb2634d Add clean invalid links in recent files list.
- After a file error, the user is prompted to clean up the recent file list, removing invalid links.
2016-01-06 02:10:00 -02:00
FellippeHeitor
3b251e4e05 Add option to clear the list of recently opened files.
- Add an option to the "Recent..." dialog.
- Add a menu entry for when the list contains less than 4 items.
2016-01-06 00:58:08 -02:00
FellippeHeitor
11e33dd3cb Add disabled menu items and make Edit menu context-aware.
- Menu items starting with a tilde ("~") are displayed with COLOR 8 and without hotkeys highlighted. Clicking on them does nothing, but closes the menu.
- Edit menu is now context-aware. Cut, copy and clear are only enabled if there is a selection. Paste is only enabled if _CLIPBOARD$ is not empty.
2016-01-05 23:14:51 -02:00
FellippeHeitor
47d5a0a473 Limit contextual menu items to available ones.
- Hides cut/copy/clear if no selection available.
- Hides paste if _CLIPBOARD$ is empty
2016-01-05 22:12:51 -02:00
FellippeHeitor
07c9c5442a Fix to quick search bar.
- Fix updating the display after selecting an item in search history.
- Add the ability to click the search field and unselect/position the cursor (overrides previous double-click to erase behavior).
2016-01-05 20:05:57 -02:00
FellippeHeitor
79f1557986 Add "Clear search history..." to Search menu. 2016-01-05 18:57:03 -02:00
FellippeHeitor
59eb5b234c UP and DOWN arrows invoke search history.
- UP and DOWN arrow keys invoke search history in Find and Change dialogs.
- Fix idesearchedbox$ crashing when no search history is found.
2016-01-05 18:24:52 -02:00
FellippeHeitor
1ab0814e5e Fix to display and focus of quick search field 2016-01-05 15:09:00 -02:00
FellippeHeitor
8028998939 Fix display of search term after ENTER 2016-01-05 14:55:12 -02:00
FellippeHeitor
26a66813bc Add extended textbox functionality to the quick search field. 2016-01-05 14:38:19 -02:00
FellippeHeitor
aebb18088b Fix to dialog textboxes clipboard/selection behavior.
- Add Ctrl+A to select all.
- Add Ctrl+X to cut.
- Copy and Paste rewritten with selections in mind.
2016-01-05 01:29:21 -02:00
FellippeHeitor
ac1fc6c794 Main window improvements.
- Place cursor inside the help window when it's first invoked (allows for quick peek and ESC to close the help window).
- Allow ESC to close the dialog (named "Which?"), used to clarify the help context.
- Allow CTRL+UP or DOWN to scroll the window by one line at a time, without moving the cursor.

- Fix quick link feature (F2) to recognize FUNCTION names ending with single or multiple sigils.
- Fix external procedures being considered local and placed in front of program name.
2016-01-04 21:42:02 -02:00
FellippeHeitor
debc1e9792 Improvements to dialog boxes.
- Allow the spacebar to work like ENTER when a button has focus.
- Improve textbox behavior: allow selection, delete selection, replace selection when typing.
- Preselect textbox contents if it's preset when dialog is invoked (Save as, Find and Change dialogs)

- Fix: an asterisk sign will be only added to the valid searchable characters in a listbox if the user is explicitly searching for it.
2016-01-04 21:35:27 -02:00
FellippeHeitor
34e2f0593b Minor improvements to the search system.
- Move the quick search field to the status area.
- Add Ctrl+F to set focus to quick search field.
- Add Ctrl+F3 shortcut to invoke the Find dialog.
- Add Alt+UP or DOWN to invoke the recent searches dropdown list, if the focus is on the quick search field.
2016-01-04 21:26:15 -02:00
FellippeHeitor
2abab5a916 Add contextual menu and overall improvements to menu system.
- Show a contextual menu upon right-clicking on the text area. Includes the Edit menu options as well as contextual search and help.
- Add hovering to menus items.
- Adjust case of menu items (CTRL and Ctrl were being used interchangeably without a pattern).
2016-01-04 21:13:02 -02:00
FellippeHeitor
deb80bdec6 Improvements to the SUBs dialog.
- Add sorting, using Steve's sorting routine.
- Add a visual indicator (*) that a procedure is external.
2016-01-04 20:41:47 -02:00
Luke Ceddia
f8fea42a29 Incorporate additions to SUB list dialog (F2) and inner title bar, and fix ASCII picker.
-ASCII picker restores font upon exit
-SUB dialog preselects a sub if its name is selected by the cursor in the main window
2016-01-01 02:25:27 +11:00
FellippeHeitor
418e8aebcf Incorporated Luke's ASCII fix, to avoid going back in commits. 2015-12-31 10:28:34 -02:00
FellippeHeitor
ebde55ec7e Fixed a crash when filename is too long to fit the screen. 2015-12-31 09:59:46 -02:00
FellippeHeitor
1749254321 Temporarily remove comments in front of SUB/FUNCTION before adding to window title or SUBs dialog. 2015-12-31 02:44:50 -02:00
FellippeHeitor
cf05f689a4 Improves on listbox search, allowing for more than the first letter to be searched (repeatedly pressing the same letter still works as before). 2015-12-31 02:23:06 -02:00
Luke Ceddia
9c17efacf5 Removed non-ASCII characters and many hard tabs from source files, making it easier to use other text editors (special characters were being mangled in some cases). 2015-12-30 21:28:13 +11:00
FellippeHeitor
649d44b27e If the cursor is on a SUB/FUNC name, it is highlighted. 2015-12-29 16:56:58 -02:00
FellippeHeitor
24c65558f0 EDIT: Changed the code to also check that END SUB/END FUNCTION can be found after the current line, which eliminates the possibility of making the IDE believe that we are in a SUB/FUNCTION when we are actually just past the last one in the file. 2015-12-29 02:16:34 -02:00
FellippeHeitor
5846305079 Reworks main window title to look "Program.bas:CurrentSubFunc"
A quick current SUB/FUNCTION check was added to complement the program title with a colon and said SUB/FUNCTION name, exactly like it was done in QB4.5, for quick reference. Doesn't add much of a burden to the overall performance since FUNCTION ide2 already updates the main window title every main LOOP anyway.
2015-12-29 00:22:37 -02:00
FellippeHeitor
4037c9db3a A quick current SUB/FUNCTION check was added to complement the program title with a colon and said SUB/FUNCTION name, exactly like it was done in QB4.5, for quick reference. Doesn't add much of a burden to the overall performance since FUNCTION ide2 already updates the main window title every main LOOP anyway. 2015-12-29 00:12:22 -02:00
FellippeHeitor
dc00352274 Change to FUNCTION idesubs$, which now checks if the cursor is currently inside any SUB/FUNCTION to position the selection properly in the list. 2015-12-25 23:39:28 -02:00
Luke Ceddia
86acbbbcdd Indent code in SUBs and FUNCTIONs by one level, with the option to turn on/off.
Adds option IDE_IndentSUBs to the config file. Credit to Fellippe Heitor for
doing the research and writing on the bulk of this commit.
2015-12-14 11:19:26 +11:00
Galleondragon
ab6c51a6b2 Fix command line compilation 2015-11-02 21:32:45 +11:00
Galleondragon
accdaf1ce0 Added support for Android & Virtual Keyboards 2015-10-30 23:18:44 +11:00
SteveMcNeill
0db73ad071 Fix to config.txt file error catching for auto indent spacing 2015-08-20 11:13:25 -04:00
Galleondragon
a4867ea44c Test auto-build process via GitHub 2015-08-15 21:26:39 +10:00
SMcNeill
7fb1db97f6 Added function _SCREENICON to tell us if the window has been minimized to the taskbar (Iconified) 2015-08-08 12:50:45 -04:00
SMcNeill
f9bb83066b Added "&B" support to VAL function.
Added extended math functionality into user mods. (COT, SEC, COT, and their deritives.)
Cleaned up old config setting from config.txt file.
2015-08-08 02:23:15 -04:00
SMcNeill
15649725e5 Patch to fix WriteConfigSetting from altering variables passed to it.
Fix to precompiler internal array allocation to prevent IDE Module Errors in some instances.
2015-08-05 17:44:43 -04:00
SMcNeill
eb69e62827 Fix to custom font error-checking routine which used an invalid variable name and always failed.
Made use of _SCREENHIDE function so we don't update the IDE position when the screen is hidden.
2015-08-05 04:56:49 -04:00
Galleon
91e7ace500 (Automated push) Update internal/source/* from qb64.bas 2015-08-02 05:12:44 -07:00