Commit Graph

247 Commits

Author SHA1 Message Date
Andy Williams f137cc5321 editor: fix issue with closed tabs 2015-03-15 13:27:15 +00:00
Andy Williams 8730b4dfb3 config: Update editor when font size changes 2015-03-08 22:28:21 +01:00
Andy Williams b97da3b70a Merge branch 'master' into devs/ajwillia-ms/elm_code 2015-03-08 22:27:38 +01:00
Andy Williams e62ddd5bc1 config: add settings screen
Add a new autosave flag, upgrade config so it's set.
Listen to a config_changed event to update UI where required.
2015-03-08 22:14:25 +01:00
Andy Williams fcac809e97 gui: break toolbar in 2 so we can right align.
Not perfect as there's a visible break, further attempts
will need a custom theme.
2015-03-08 22:04:00 +01:00
Andy Williams ff68af7076 elm_code line: unsigned int for length 2015-03-08 11:14:02 +01:00
Andy Williams b28773a7f6 Merge branch 'master' into devs/ajwillia-ms/elm_code 2015-02-27 15:13:06 +00:00
Andy Williams 0c2819bd4f editor: update to latest elm_code and show whitespace 2015-02-28 16:28:22 +00:00
Andy Williams 7ed4aa9695 Merge branch 'master' into elm_code
Conflicts:
	elm_code/src/lib/elm_code_diff_widget.c
2015-02-28 15:31:57 +00:00
Andy Williams e0477ff3cb elm_code: require an elm_code for each widget
In our finalizer we ensure that an elm_code is set.
No longer allow code_set to be called after construction.
2015-02-28 13:22:38 +00:00
Andy Williams 2db478cca6 create: Pick up username in Windows.
Look up USERNAME if no USER environment variable is found.
Patch from Vincent Torri
2015-02-28 15:53:39 +00:00
Andy Williams d6bb571c89 filesystem: Use standardised icon names 2015-02-27 14:49:57 +00:00
Andy Williams 079a65a98b merge changes from master 2015-02-26 13:56:50 +00:00
Andy Williams 881860bc15 console: Fix possible crash if errors occur before make starts 2015-02-25 23:29:31 +00:00
Andy Williams c98ba7d1e8 syntax: Actually use the elm_code parser api.
Improve the API to allow passing of user data to the calls.
Yes, I forgot about this, it works well so remove the STYLE_SET callback
2015-02-24 00:32:40 +00:00
Andy Williams 35f225292e create: Merge in welcome crash fixes from master 2015-02-23 21:58:39 +00:00
Andy Williams 71fa2d13c8 elm_code: display a line-width marker if requested 2015-02-23 21:52:49 +00:00
Andy Williams 724bf617cb Merge branch master
conflicts in elm_code_widget.c resolved
2015-02-22 23:38:54 +00:00
Andy Williams 0e49f40ff3 elm_code: Support text insertion for simple edits.
Hook into the widget for elm_code_test and edi editors.
Only alphanumeric and space, but it's a start.
2015-02-22 20:07:08 +00:00
Andy Williams c18fccb646 syntax: Add line highlighting for clang errors
This never worked on the old elm_entry code!
Highlight where clang knows a problem exists.
Not yet inserting a caret, but there's more to be done...
2015-02-21 18:54:52 +00:00
Andy Williams 7212dc24bb syntax: Remove unneeded timers and threads.
Now that it's all much faster and more reliable we don't need to resync etc
2015-02-21 18:48:33 +00:00
Andy Williams d5185e2107 Merge branch 'master' into elm_code 2015-02-21 18:28:07 +00:00
Andy Williams bbe671626e elm_code: Support multi-line tokens
Adding a new token to each line it covers.
Each token references the end line so newline behaviour can be set
2015-02-21 18:24:17 +00:00
Andy Williams dd9f96d2c0 syntax: Update clang to output elm_code tokens
Addition of a refresh line command to say we're done.
We no longer need an active window for highlighting
as it's so much faster!
2015-02-21 17:30:17 +00:00
Andy Williams f9242b82ab filesystem: don't refresh on every change
Just do the minimum for now - refresh when we add a file.
The constant monitoring needs a slicker refresh mechanism.
2015-02-21 14:10:25 +00:00
Andy Williams bf81658432 console: Fix where clicking an error does nothing
Fix up the directory parsing to link current directory
to the line an error was reported in.
2015-02-21 14:04:55 +00:00
Andy Williams 1fab95cef1 Merge branch 'master' into elm_code
Conflicts:
	elm_code/src/lib/elm_code_widget.c
	elm_code/src/lib/elm_code_widget.eo.c
	elm_code/src/lib/elm_code_widget.eo.h
2015-02-19 22:39:11 +00:00
Andy Williams 704e70a407 about: Show version in about window 2015-02-19 22:20:10 +00:00
Andy Williams eba8421411 filesystem: Update our listing if files are added or removed @fix T1857.
This needs to be improved so it does not collapse the listing etc.
The implementation needs to clean up after itself better too
2015-02-19 21:50:11 +00:00
Andy Williams 187d9e609a elm_code: get / set the cursor position
When the cursor is updated make sure we have scrolled
so it's visible. Also adjust focus next points too.
2015-02-19 21:16:18 +00:00
Andy Williams 30460899a6 elm_code: Actually use it as our main editor window!
Need to hook in the clang highlighting and undo stack to the elm_code_widget
2015-02-19 00:22:07 +00:00
Andy Williams 632ed0aa11 create: Replace user lookup with a more efficient implementation 2015-02-15 21:20:35 +00:00
Andy Williams de04dec6c0 Fix a crash if andy env is not present 2015-02-15 21:03:07 +00:00
Andy Williams 9751009a7e files: Use correct icon for mime/editor type
Use mime type or user selected default type for file icons.
Use the same icon lookups for our popup menus to be consistent too.
2015-02-22 14:17:51 +00:00
Andy Williams 8ab4e93c6e welcome: Fix issue where project browsing is cancelled.
Re-enable the action buttons when we get the file chooser callback
in case the user did not select a path to open.
Patch from Vincent Torri - thanks.
2015-02-15 20:41:58 +00:00
Andy Williams d79ee5a19a Fix some warnings when compiled without clang.
Also fix format of inner preprocessor ifs.
Patch from Vincent Torri.
2015-02-15 17:53:00 +00:00
Andy Williams aae8ea89bb editor: Let's reduce calls to saving files or resetting highlights.
Keep an eye on what has to be saved.
Only re-run clang parsing if we've actually saved recently
2015-02-14 23:55:05 +00:00
Andy Williams ac35cc30d9 elm_code: Tidying our callbacks and line manipulation.
Now the line_done callback allows styling to be set during the load process.
2015-02-14 23:14:06 +00:00
Andy Williams f6f19be6cb elm_code: focus: block focus leaving text area when editable.
As well as setting when we should not have focus leave us a theme has been added.
This allows us to extend from elm_entry which is better suited to us.
2015-02-14 18:49:51 +00:00
Andy Williams 8032f0fcd6 editor: delay autosave to 5 secs but save on unfocus too 2015-02-11 22:39:25 +00:00
Andy Williams 6ac9fad7e3 Fixing some warnings on Windows.
Thanks, Vincent Torri
2015-02-11 21:25:09 +00:00
Andy Williams 4b85f85391 about: Fix window to be a dialog and layout a little to fit the dialog theme 2015-02-09 14:38:32 +00:00
Andy Williams 3a3bf2b6db editor: Control the auto-save function locally so we can re-sync with clang.
This should mean that highlighting, whilst still slow and flickery, does not corrupt.
2015-02-08 23:22:16 +00:00
Andy Williams 87c35fcf27 about: add a donate button too 2015-02-08 23:22:15 +00:00
Kelly Wilson 1a4843fba8 Mainview: prior/next tabbing wrap
Add wrap around for 'ctrl-prior' and 'ctrl-next' in the mainview naviframe
2015-02-08 14:38:46 -07:00
Andy Williams 7c8d84d110 Fix a few warnings and possible build issues 2015-02-08 00:55:51 +00:00
Andy Williams d648b31713 help: Add an about EDI screen.
Refactor code a little to help organise these support screens
2015-02-08 00:24:21 +00:00
Andy Williams fbd84d8782 config: Fix indentation, pluralisation and tests for remember-mime work 2015-02-07 16:37:36 +00:00
Kelly Wilson cb872785f4 Config: remember file types
We now associate the mime type of a file with the type of file to open. So open a .py file as text once and then you won't be prompted any more.
2015-02-07 01:13:40 -07:00
Andy Williams 8bded5325d Fix issues with distcheck.
Only remaining is a permissions problem with skeleton - will be fixed soon.
2015-02-06 23:45:50 +00:00
Andy Williams c233fcad81 Split code editor type from text, don't try to highlight text.
Update our internal registry to know the difference between text and code.
Add some tests that verify we're getting the right type of editor.
2015-02-06 14:16:26 +00:00
Kelly Wilson 0b5fa028bb Content Provider: add new types
Add C++ .cpp and .hpp file types to our mime type detection function.
2015-02-05 18:27:02 -07:00
Andy Williams b333e47c24 Provide project creation through the edi_build command line app 2015-02-03 22:31:17 +00:00
Kelly Wilson cfa0fefa90 Welcome: modify welcome popup
We decided to move the project delete icon over to the right side of the list items. Changed the icon as well.
2015-02-02 17:44:22 -07:00
Andy Williams e622acf735 Correctly lookup icon paths - @fix T2044.
Set up elm with the appropriate compile option variables.
2015-02-02 23:52:04 +00:00
Andy Williams e50ed5fb81 Merge in a new skeleton implentation.
No longer rely on a shell script to set up project templates.
Addition of year variable means that the code seems up to date.
2015-02-02 23:15:14 +00:00
Andy Williams 9ab111c3cd Use FDO icons for the toolbar.
We can switch to the elementary theme set when it's more complete
2015-02-02 23:15:07 +00:00
Kelly Wilson 3143ed43fc Welcome: conform to naming conventions
This fix is just renaming of a variable and a function to better reflect the naming conventions used in EDI.
2015-02-02 15:37:26 -07:00
Andy Williams 4edcc6ba16 A working skeleton processor built into EDI, no scripts needed 2015-02-02 22:07:02 +00:00
Kelly Wilson ddfaa2798e Comment fix
Fix a small mixup with a comment for horizontal scrolling
2015-02-02 13:30:56 -07:00
Kelly Wilson dffb7f4dcc Merge branch 'remove_project_button'
Add a 'remove from project' icon to the welcome windows 'Recent Projects' list.
2015-02-02 07:14:27 -07:00
Kelly Wilson 7bb6bca74c Merge branch 'open_file_new_win'
Fix a segfault when opening a file in a new window and pressing a key immediately.
2015-02-01 16:30:29 -07:00
Kelly Wilson 7aa36c6471 Edi_welcome.c: Ability to delete project
Added the ability to delete a project on the welcome screen via an 'x' beside the project name in the 'Recent Projects' list.
2015-02-01 15:15:14 -07:00
Kelly Wilson 22cfc584d6 Edi_editor.c: Fix segfault
Fix a segfault when opening a file in a new window and then pressing a key without any other interaction. Simply check if item is null and return without action if it is.
2015-02-01 09:09:25 -07:00
Kelly Wilson a64ea17e68 Fix horizontal scroll highlighting
This small change just bypasses highlighting if there is a y scroll. Vertical scrolling still updates the highlighting.
2015-01-31 12:24:25 -07:00
Kelly Wilson f33bd458c9 Fix things so that opening a new file also grabs the focus. Add to AUTHORS file also. 2015-01-30 08:39:54 -07:00
Andy Williams 8c8a890d58 Cleaner test output, add click on test failures.
Open a file at the location of the test failure if detected
2015-01-30 00:08:12 +00:00
Andy Williams 3cd5ec7003 Replace consolepanel with elm_code.
It may not have the nice cursor but it's quicker and scrolls correctly :)
2015-01-28 22:40:49 +00:00
Andy Williams ae12a8406c Add proper gravity control when lines are being added to the widget.
Most useful will be (0.0, 1.0) which will cause the display to act like 'tail'.
2015-01-28 14:16:46 +00:00
Andy Williams d65bc3bce9 windows support: remove the last fork 2015-01-27 22:41:36 +00:00
Andy Williams 203f2619e1 Fix crash when creating a new file 2015-01-27 22:31:12 +00:00
Andy Williams 01cb36f510 More updates to correct API/export declarations for Windows.
Various changes brought in. Patch from Vincent Torri - thanks
2015-01-10 17:43:12 +00:00
Andy Williams 50c5cb572b Refactor eo widget2 to widget - update in edi too 2015-01-26 19:05:34 +00:00
Andy Williams 159c47d340 Port everything to use new widget API. Remove old widget API 2015-01-26 14:00:37 +00:00
Andy Williams ada1529dce Let's open .eo files too 2015-01-23 23:31:28 +00:00
Andy Williams 2249bcfc71 Adding replace support to our search bar.
Run a search first if one has not been, from then replace the current term and search again.
Submitted by Kelly Wilson
2015-01-18 17:36:12 +00:00
Andy Williams b39ac7c3f7 Don't allow users to open multiple project choosers.
Avoiding issues of trying to open a second project in 1 app instance.
Submitted by Kelly Wilson
2015-01-17 20:10:56 +00:00
Andy Williams 823c2e2a86 Improving portability again 2015-01-10 17:12:52 +00:00
Andy Williams 032d7e5963 Move project creation to our Edi library.
Move to ecore_exe from fork/wait as it is more portable
2015-01-17 17:04:26 +00:00
Andy Williams 123c137a24 Don't try to open recent projects if they can't be found.
Allow the user to choose if it should be deleted or not before returning.
Submitted by Kelly Wilson
2015-01-15 23:13:14 +00:00
Andy Williams e33b39aa2a Avoid a crash when right clicking empty space on file list.
Show a dialog to user explaining they must choose a file.
Submitted by Kelly Wilson
2015-01-15 22:56:08 +00:00
Andy Williams 40172fa83e Fix a crash on building a brand new project.
Submitted by Kelly Wilson
2015-01-15 22:52:15 +00:00
Andy Williams de9b02ae6e Fix logging so the bin is not trying to access the private lib domain - fixes build issues 2014-12-21 23:32:14 +00:00
Andy Williams 82d87e2578 correctly created nulled data for our lists which need to be NULL by default. Fixes T1928 2014-12-16 23:53:28 +00:00
Andy Williams 8555a54d62 Fix indentation of code 2014-12-08 21:03:26 +00:00
Andy Williams 5f55947048 Make incremental highlighting refresh a line at a time to reduce flicker on redraw 2014-12-08 21:03:06 +00:00
Andy Williams d973bbd5c4 Improvement to incremental highlighting - its not fast but it will not get slower.
Next the refresh window needs to reduce and any edits should adjust the tokens we have loaded
2014-12-06 15:23:32 -06:00
Andy Williams a36b687a47 Update the highlight code to refresh only what's on screen.
This is a temporary solution - saving CPUs mostly until elm_code is ready
2014-12-04 18:12:56 -06:00
Andy Williams fc4c86fe5e Extend config and use it to store window size and panel states.
Fixes T1856. Did not perform a config upgrade at this early stage - anyone caught in the update can just resize
2014-12-03 17:52:12 -06:00
Andy Williams 1fb649b732 Add a config system for remembering settings etc
.
Add a recent projects list to our welcome page which remembers what we open
2014-12-01 16:54:17 -06:00
Andy Williams 141a3a2107 Fix a crash bby removing some dead code.
Parsing will move to elm_code in the long term anyway
2014-12-01 13:11:29 -06:00
Andy Williams 5ec3492e36 Fix crash when highlighting multiple files in the background 2014-11-30 12:01:53 -06:00
Andy Williams 6fd2aed6f1 Update syntax highlighting to run in the background.
Hook the highlight runner into ctrl-s so you can get it to re-parse appropriately (this will be slicker with elm_code)
2014-11-30 16:25:11 +00:00
Andy Williams 5d858c938b Smoothen panel animations to work from current space if closing 2014-11-30 02:45:49 +00:00
Andy Williams 20655d2bf9 Fix bug with undo not operating on current tab - fixes issue T1853.
Seems like a weird bug in the smart callbacks as they would pass the wrong event data in!
2014-11-29 20:13:18 +00:00
Andy Williams e7b72e5b8b Fix crash when ctrl-pgdn beyond first file 2014-11-29 20:00:45 +00:00
Andy Williams acb4384502 Adding keyboard support for search box and improve focus control - resolves T1851.
Now when searching focus jumps to entry. Enter/return will execute search and escape will cancel it.
Also improve management of the search cursors too - don't leave text selected either
2014-11-29 19:44:08 +00:00
Andy Williams ccaefbc67f Use an Elm_Transit to animate showing and hiding of panels.
They still need to remember where users want them to expand to - requires storage setup
2014-11-29 19:06:02 +00:00
Andy Williams 6143e0cfc1 Fix issue where first tap on bottom toolbar would not open the correct tab 2014-11-29 18:29:24 +00:00
Andy Williams 28fbe4cbb3 Fix issue where first tap on bottom toolbar would not open the correct tab 2014-11-29 18:16:57 +00:00