Commit Graph

156 Commits

Author SHA1 Message Date
Al Poole 7a5083c790 mainview: Add support for split-panes.
This adds the ability to edit multiple regions of the same
file at the same time. The views are synchronised. This
also adds a complementary function allowing us to get panel
from path name. We use this for focus sanity with our
additional split views.
2017-10-10 23:29:17 +01:00
Marcel Hollerbach ac304ea2a9 time for meson! 2017-10-03 19:07:42 +02:00
Al Poole fc855bf0bb mainview: search + search/replace popups, UI improvement. 2017-10-01 11:43:52 +01:00
Al Poole c826dee557 search: Add project-wide search and replace feature. 2017-09-28 01:23:18 +01:00
Andy Williams 08547bbd3a Add translation support
Fixes T5901
2017-09-11 21:06:22 +01:00
Al Poole 3b1e7d0288 popups: refactor popups.
Some of these looked pretty duff. Have tried to make them
more consistent and nicer.
2017-09-11 18:54:02 +01:00
Al Poole 65477c7d46 widgets: Use consistent text style across widgets in the application.
Make changes to text style along with some miminal word changes and
fixes.
2017-09-02 22:48:57 +01:00
Al Poole 5eaf4e3be2 mainview: also select filepanel on tab focus.
This was bad by me. Found an example with an image. Both instances
are necessary for uniform behaviour. Sorry.
2017-09-02 11:54:40 +01:00
Al Poole 514e472cd1 filepanek: set the filepanel focus on editor focus.
Tab selection will focus the editor. This fixes occasions
when clicking between panels. So the filepanel focus is
uniform. Should have thought of doing it this way before.
2017-09-02 11:47:18 +01:00
Al Poole 782ef16427 mainview_panel: remove unnecessary cast.
Edi_Mainview_Item pointer does not need to be cast.
2017-09-01 20:42:41 +01:00
Al Poole 7f1dfbb26e filepanel: add method to select by path and select upon tab promotion.
When a file is focussed in it's panel and tab the file is also selected
in the filepanel. Another visual indicator of current focus and
synchronises behaviour of tab selection and filepanel selection.
2017-09-01 20:16:19 +01:00
Al Poole 2731c4bb75 mainview: clicking on tabs or filename will focus the editor entry.
Remove focus from tab item as it was stopping us from focussing the
editor entry. This change keeps track of cursors upon item change
and will focus (if possible) the entry. In essence, less clicks!
Clicking tabs or a file in the file panel has the same result.
2017-09-01 18:49:38 +01:00
Al Poole 97e324654c mainview: ensure only one instance of file is open across tabs and panels.
This change will ensure only one item can be opened at once across all
panels.
2017-09-01 13:53:27 +01:00
Al Poole 9ea0ba05c3 scm stash: on stash don't refresh all panels, let user decide on focus.
Removed the call to mainview_refresh_all which means after stashing
of changes the user can decide to reload the file contents when
focussing the editor.
2017-08-30 23:55:34 +01:00
Al Poole 1ed7c297cb mainview_panel: do safe checks before accessing panel->current->view
Reviewers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5149
2017-08-30 22:19:07 +01:00
Al Poole 8925c72adf editor: unset focus on tab change.
Summary: This seems to fix the multiple cursors between underlying tabs.

Reviewers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5148
2017-08-30 22:11:44 +01:00
Al Poole 7e173bd2c5 mainview_panel: fix panel focus on click of empty panel.
Summary: @fix T5904

Test Plan:
# Open a Project
# Use the menu option and create 5 empty panels by pressing it 4 times.
# click on a panel in any order and then select files.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Maniphest Tasks: T5904

Differential Revision: https://phab.enlightenment.org/D5133
2017-08-28 14:04:33 +01:00
Al Poole 61b79e7ed6 mainview: unrecognise mime popup UI improvements.
Summary: See http://www.enlightenment.org/ss/e-599c3eeac02540.00312412.jpg

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5121
2017-08-26 16:15:09 +01:00
Al Poole da30264929 popups: improve visual display/style of the main popup widgets.
Reviewers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5117
2017-08-22 12:43:59 +01:00
Al Poole e35c4ba3af windows: make windows work properly and autosave properly.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5116
2017-08-22 12:38:56 +01:00
Andy Williams a004aeae6b Fix possible crashes in windowed editor 2017-08-21 17:26:26 +01:00
Al Poole fe2714ea7e editor: handle file modifications properly.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5114
2017-08-21 17:18:02 +01:00
Al Poole 5454d06721 mainview: add separators between panels.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5110
2017-08-18 23:25:39 +01:00
Al Poole 758f74de28 mainview: fix close_all and close.
Summary:
Makes sure all panels close and remain with only one panel. When tab is last in panel, remove the panel also.
Also best not to free a NULL panel or its members.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Tags: #edi

Differential Revision: https://phab.enlightenment.org/D5094
2017-08-13 00:06:01 +01:00
Andy Williams 7a8119af60 ui: fix cancel of goto popup 2017-08-12 18:00:58 +01:00
Al Poole bcd0909ca9 mainview: add method for testing if mainview is empty.
Summary: Also add checks to some GUI functions that crash Edi if there is no panel with no items.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5083
2017-08-12 17:51:05 +01:00
Al Poole ea8823a9d1 search: Fix Project Search
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5081
2017-08-09 14:27:27 +01:00
Andy Williams d4d37a82ea scm: Fix refreshing of panels on stash
refresh_all now remembers the right panel
2017-08-09 14:04:52 +01:00
Andy Williams 1bf88c4730 refactoring mainview panel freeing and docs 2017-08-09 12:46:20 +01:00
Andy Williams f4ef9bb35c mainview: Fix potential segvs from D5052 2017-08-09 12:28:20 +01:00
Al Poole 182dd304e1 mainview: improve documentation.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5042
2017-07-26 10:21:07 +01:00
Andy Williams cb39c546fe mainview: fix removal of panels from the ui
This removes resizable panels for now but they were not really supported anyway...
2017-07-26 10:17:44 +01:00
Al Poole 3586ac9cc0 mainview: Always open in first panel.
Summary: This patch ensures "open file in panel" will open in first mainview if no file exists in the primary mainview. Otherwise business-as-usual.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5040
2017-07-25 22:32:14 +01:00
Al Poole c265dc2693 config: remove panel from config when we remove a panel from the UI.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5039
2017-07-25 21:44:53 +01:00
Al Poole 2386b51a60 mainview_panels: on close tab focus on existing tab and always keep one mainview panel.
Summary: This fixes crashes when closing tabs/panel and losing focus.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5038
2017-07-25 14:26:16 +01:00
Andy Williams 9d0db1a1a5 config: Save the current tab of each panel
This needed a refactor to do properly so your open tabs
will be forgotten, sorry :(
2017-07-24 23:28:48 +01:00
Andy Williams 804d14cef3 panels: Track focus of editors when we're changing panel 2017-07-24 18:27:45 +01:00
Andy Williams a437b5202a config: Be less notification-happy when saving
Let's not force all our editors to reload when we don't have to!
2017-07-24 13:22:19 +01:00
Al Poole be333dee6f add open files in new tab.
Summary: focus chanegs on click of tab in panel. closing last tab closes panel. Exit and open remembers tabs. etc.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5034
2017-07-23 22:02:24 +01:00
Andy Williams 849619d32b tabs: correct remembering of mime types
Fixes issues where code functions would not appear to load for old tabs
2017-06-27 16:48:49 +01:00
Al Poole 9677bb4b86 general input: work around elm_entry assuming markup in input.
Test Plan: Run Edi, start a debug session. Print prt to struct member e.g. "print m->file", stops conversion to "->"

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Tags: #edi

Differential Revision: https://phab.enlightenment.org/D4976
2017-06-18 22:56:56 +01:00
Sanjeev BA 06410fa8b0 Fix typos.
Summary: Signed-off-by: Sanjeev BA <iamsanjeev@gmail.com>

Reviewers: ajwillia.ms, jpeg, cedric

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4973
2017-06-18 21:50:42 +01:00
Al Poole d75cbafda2 popups/focus: add improvment to popup visuals. Also select items in settings panel to improve behaviour.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4958
2017-06-14 21:06:09 +01:00
Andy Williams 208dc9ed2f console: Jump to column on click when available in errors 2017-06-09 10:36:52 -07:00
Andy Williams 38b76ca500 popups: Move text to content to render in latest EFL 2017-06-08 18:52:35 -07:00
Andy Williams a10c4aacb6 ui: Speed up screen load and remember current tab
This is a pretty simple type of backgrounding - only load files for tabs as they become visible :)
2017-06-08 18:31:45 -07:00
Al Poole d208afac91 scm: add support for SCM (git) in library and the UI.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Tags: #edi

Differential Revision: https://phab.enlightenment.org/D4938
2017-06-06 18:09:25 -07:00
Al Poole 1cf8322d12 mainview: Don't allow any file without text/* mimetype to be opened.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4851
2017-05-14 22:12:00 +01:00
Al Poole 38dd432523 EDI -> Save -> Menu/Toolbar Indicator (w/o autosave)
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4819
2017-04-22 22:29:19 +01:00
Andy Williams 2735b3f6c7 gui: Update undo/redo icons to show what actions can apply.
Also actually hook in the redo feature :)
2017-04-07 23:39:44 +01:00
Al Poole 4e1094b5f2 EDI -> Tasks -> TODO/FIXME -> Panel (NEW FEATURE)
Summary:
Initial support for tasks.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4764
2017-04-05 19:30:52 +01:00
Al Poole d988b4045e EDI -> Mainview -> Prev/Next tab Buttons -> FEATURE
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4765
2017-04-05 19:06:30 +01:00
Al Poole fb8b47c93c Edi -> Search Project - Add initial support for search in project.
Summary: Almost there.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4752
2017-03-30 23:06:34 +01:00
Andy Williams 533ac7d858 welcome: correct showing the panel when all tabs are closed 2017-03-25 23:03:06 +00:00
Andy Williams f44ab43d47 welcome: Fix layout when not tabs are open 2017-03-25 22:49:47 +00:00
Al Poole d0997ca6a8 Fix SEGV on goto line when out of range
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4745
2017-03-25 22:12:25 +00:00
Al Poole 629a293a66 Add option to delete file in browser
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4742
2017-03-24 22:30:35 +00:00
YeongJong Lee 36a5bb1410 ui: Bring in current tab
Summary: Bring in current tab if it is not in the scope of scroller.

Test Plan:
1. Open project
2. Open several file
3. Check current tab is in the scope of scroller

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4416
2017-01-31 18:43:49 +00:00
Andy Williams 3f76c4d290 elm_code: update parameter order 2016-12-12 08:30:59 +00:00
Andy Williams 539953bc72 Fix crash when opening a new window
Since the refactoring this was duplicate freeing
@fix
2016-11-29 17:09:25 +00:00
Andy Williams 77e077ee4a ui: Make file tabs scrollable and highlight current tab
A few layout "hacks" here inkeeping with the way Elm wants it...
2016-11-06 16:24:55 +00:00
Andy Williams 61284cfa1a oops, fixing the right temporary code 2016-09-11 17:05:14 +01:00
Andy Williams bbf388deae ui: use the style from multibuttonentry for tabs
Icons not here temporarily...
2016-09-11 16:50:53 +01:00
Andy Williams f0d3c26808 ui: drop toolbar for tabs, start rolling my own 2016-09-11 14:00:31 +01:00
Andy Williams f71e4899c2 ui: Fix various toolbar items since tab chnges
oops :( lookup data in the right context
2016-09-10 23:41:14 +01:00
Andy Williams 22546e5e5a ui: Fix the behaviour of tabs
Promote cleanly and hide welcome unless there is no other content to show
2016-09-10 22:28:31 +01:00
Andy Williams 214792b73e ui: allow loading of a single file
Simple mode just now, see how it works out
2016-07-03 21:06:22 +01:00
Andy Williams 2262d7bf1c elm_code: Removed and migrated to using the elementary merged version 2016-06-10 10:03:40 +01:00
Andy Williams 70742e1c73 ui: use standard icon names
remove deprecated lookup order calls as icon theme is set by user
2016-04-28 15:51:12 +01:00
Yomi db913666bd Edit welcome message.
Summary: Edit welcome message

Test Plan: none.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D3727
2016-02-24 10:27:03 +00:00
Andy Williams 1867697292 [ui] re-add the undo button, it's back
Now that most keyboard actions can be undone it seemed
sensible to get the ui elements back again.
2016-02-21 23:46:44 +00:00
Andy Williams 687af9c86f optimise edge case checking 2016-02-16 00:16:34 +00:00
Andy Williams a744f48420 [tabs] add a close all feature
For the times when you just have too many tabs open!
2016-02-16 00:15:52 +00:00
Andy Williams 47ebe38fc4 [ui] one more toolbar fix to match scale changes 2016-02-01 14:16:59 +00:00
Andy Williams 16639ff526 Revert "[ui] set icon size based on scale"
Fixing the icon scaling in elementary itself instead.

This reverts commit a0b90e27c6.
2016-01-30 13:50:41 +00:00
Andy Williams a0b90e27c6 [ui] set icon size based on scale 2016-01-29 14:44:26 +00:00
Andy Williams 09f572576e [ui] Correctly focus popup inputs
Work around an issue where a top level input cannot be
focussed using the elm_focus API.
2016-01-21 20:06:49 +00:00
Andy Williams d7cea60593 [ui] Tidy open file toolbar
Add icons for the filetypes on each tab.
Expand in menu mode - better than scrolling..?
2016-01-16 18:22:30 +00:00
Andy Williams af6297992e [config] don't re-open files not really opened
When we chose type tapping cancel should not cause the file to be reopened later
2015-09-16 10:21:21 +01:00
Andy Williams 1c7e2b3873 editor: improve goto line dialog
Focus the input when we show and allow enter press to submit.
Also refactor it out of the edi_main mess.
2015-07-16 22:36:15 +01:00
Andy Williams 4da088b51c tabs: load in the correct order...
Remove some unneeded duplication at the same time
2015-06-09 22:31:33 +01:00
Andy Williams 7cc03ec58d remove tabs from indent 2015-06-07 23:12:31 +01:00
Andy Williams e3ed8806c3 elm_code: add legacy API.
Refactor eo API in line with elm_obj_* elsewhere
2015-06-02 08:22:36 +01:00
Andy Williams 1bcb2cbf95 editor: Remember open tabs and windows.
Store per-project to open what you were last working on in the project
2015-05-18 16:32:46 +01:00
Andy Williams d380f0f6d3 editor: fix memory corruption when opening new win
Fixes issue when a file opened to a new window could not then
be focussed or re-loaded after the window is closed
2015-05-18 15:45:28 +01:00
Andy Williams 2a4d4e17f0 elm_code: Cut, copy and paste working
Current limitations that paste is into a single line
2015-03-28 17:57:47 +00:00
Andy Williams ff0e5323b5 editor: Delay goto until we've loaded the ui 2015-03-23 22:36:29 +00:00
Andy Williams fb7dab9c90 editor: fix goto line
broke during elm_code migration, working again
2015-03-21 21:56:59 +00:00
Andy Williams 4aa3defb30 editor: save using elm_code's new save method 2015-03-21 19:53:21 +00:00
Andy Williams f137cc5321 editor: fix issue with closed tabs 2015-03-15 13:27:15 +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 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
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
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 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 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 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 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 e7b72e5b8b Fix crash when ctrl-pgdn beyond first file 2014-11-29 20:00:45 +00:00
Andy Williams 2538f6cf90 Refactor mime type lookup and UI creation code to use a content_provider registry.
This is static at the moment but could be made dynamic to allow code to hook in new views
2014-11-28 23:34:36 +00:00