Compare commits

...

867 Commits

Author SHA1 Message Date
Vincent Torri 8ba3da9bca meson: fix build with meson 0.61.0
Summary: input requires a file, not a dir. Anyway, @INPUT@is not used

Test Plan: compilation

Reviewers: raster, netstar

Subscribers: juippis

Differential Revision: https://phab.enlightenment.org/D12324
2022-02-23 15:14:37 +00:00
maxerba 3556ff0a7b New french and italian translations 2022-01-03 13:52:55 +01:00
Carsten Haitzler c4070229ff edi - build with proper symbol export stuff 2021-12-14 16:04:46 +00:00
Alastair Poole 108e96685a shell: add provider file. 2021-09-06 09:46:45 +01:00
Alastair Poole 554b22c929 edi: hook in shell highlighting.
Added initial shell highlighting to the widget. Add here to tweak
as needed. What a keyword is, is debatable.
2021-09-06 09:41:20 +01:00
Carsten Haitzler 06bf332331 disable focus hilight ... as we want itin auto - show when using tab etc 2021-04-09 10:06:29 +01:00
Carsten Haitzler 019451e8b6 edi about - remove or fix broken buttons like donate, website etc.
donmations - zero ever happened, so stop sounding beggy. about website
doesnt exist - point to e's about edit page, and well bugs are not
going to get looke dat on github.
2021-04-05 16:41:02 +01:00
Carsten Haitzler 065d6c0d5d polish up searhc and replace 2021-04-05 16:38:01 +01:00
Carsten Haitzler e5e6408592 polish up new project dialog - fix layout bugs 2021-04-05 16:32:51 +01:00
Carsten Haitzler 15a38bcddc polish up settings panel 2021-04-05 16:04:39 +01:00
Carsten Haitzler 56105f1181 make the disabling of theme icons better - just return false 2021-04-05 15:17:11 +01:00
Carsten Haitzler 61a9a7ff0a icons - use standard icons so they comd from theme or whatever 2021-04-05 13:35:45 +01:00
Alastair Poole c32fa1edd4 scm_ui: Don't exit, Use CWD. 2020-08-13 23:02:09 +01:00
Alastair Poole 3f382eccfb edi_scm: Tidying. 2020-08-13 22:52:43 +01:00
Alastair Poole a24b6e00ad edi_main: fix ecore_exe_run call. 2020-08-13 18:15:28 +01:00
Alastair Poole 9ff3615165 edi: Add Log to the SCM Tool.
Nice to remember what's been happening in the working tree.
2020-08-13 17:33:35 +01:00
Alastair Poole 65b1330a47 build: Fix warnings.
As compilers get smarter, the devs get...TBC
2020-08-11 17:26:22 +01:00
Alastair Poole 702eb3dacd welcome: fix pb sizing.
Fix broken sizing due to inadequate developer brain cells.

...See committer for f00l.
2020-08-10 14:23:01 +01:00
Alastair Poole e402ed997e mainview: fix bug when key-comb switching tabs.
We need to ensure we focus the editor itself as well as the tab
here. This fixues an issue with cursor show/hide with focus and
unfocus.
2020-08-10 13:11:45 +01:00
Alastair Poole 63f03c5ef5 listen: Move into own file. "Document" API.
Move these helpers into their own file/namespace. There might be
times we want to do additional communication. Also it keeps
edi_main.c less cluttered.
2020-08-10 10:23:22 +01:00
Alastair Poole 9d077bc19c editor: When in Editor Mode Open in Same Window.
This means when an exiting editor sessions is open (in non-project
mode), Edi will open additional files within the same Edi
session. Editor mode, is as a "ordinary" text editor.

If there is a problem, a timeout will occur and Edi will open as
normal. There shouldn't be a problem :/
2020-08-09 16:57:49 +01:00
Alastair Poole 9ddb932c09 editor: image. Display properly. Can Edit. 2020-08-01 13:23:42 +01:00
Alastair Poole 9aea02bf06 editor: hide tasks option in editor mode. 2020-05-28 10:13:46 +01:00
Alastair Poole 9d0d0cbbb9 mainview: Fix Toolbar Scaling. 2020-05-28 10:11:05 +01:00
Alastair Poole 905a25369a edi: back into development. 2020-05-22 19:43:50 +01:00
Alastair Poole 4cf0d7cbaa 0.8.0: RELEASE 2020-04-29 14:40:58 +01:00
Alastair Poole 876101cf95 panel: Fix mainview_goto_end()
Andy already added some of these APIs :)
2020-04-29 10:29:50 +01:00
Alastair Poole ecfbe9c608 panel: Fix 2020-04-29 01:09:26 +01:00
Alastair Poole a5aa6c2ee5 editor: control + insert. 2020-04-28 21:48:35 +01:00
Alastair Poole 3848c35c72 editor: shift+del 2020-04-28 21:28:47 +01:00
Alastair Poole 3c4d9529b9 editor: Add support for moving to file start/end.
Add API to mainview/mainview panel. Also add key combination
for ctrl+home and ctrl+end.
2020-04-28 20:41:41 +01:00
Alastair Poole 5a3e9864fa tab: Focus Tab On Drag.
This is prettier
2020-04-12 19:06:40 +01:00
Alastair Poole db2bdaf309 tabs: When we drag a tab, drag a tab.
Let's drag a tab visually when we drag the tab.
2020-04-12 18:57:08 +01:00
Alastair Poole 39b87b68f1 edi_exe: delete server object correct path.
The server wasn't deleted at the correct location. By fixing this
we ensure all object references are removed and destructor code
called which cleans up (including removing the socket etc).
Linux was much more lenient, though the BSD-specific lock code
brought this to light. Now this works properly.
2020-04-12 18:21:36 +01:00
Alastair Poole 29552d71c9 edi: Focus. Return to normal for release. 2020-04-02 18:26:16 +01:00
Alastair Poole 94c34fb185 config: default settings for release. 2020-04-02 14:53:07 +01:00
Alastair Poole 8135060177 menu: Add link to EFL documentation. 2020-04-02 14:47:48 +01:00
Alastair Poole 56d65bfee6 examples/templates: Update descriptions.
API is mostly out of BETA. Reflect this in examples.
2020-04-02 14:37:57 +01:00
Alastair Poole b3b6933c9a language: Tidy up loose ends (C #) 2020-04-01 23:36:24 +01:00
Alastair Poole 16d1d20480 meson: specify 0.50 due to features.
Require 0.50.
2020-04-01 21:51:04 +01:00
Alastair Poole dbfb4ba30d skeleton: Tidy up C EFL Skeleton 2020-04-01 21:50:30 +01:00
Alastair Poole 65878bab36 welcome: apply to correct obj 2020-04-01 21:30:17 +01:00
Alastair Poole 3de27c4297 UPDATE NEWS. 2020-04-01 15:17:14 +01:00
Alastair Poole 7c8c58016c desktop: Fix 2020-04-01 15:13:23 +01:00
Alastair Poole 5cc4e13247 desktop: Fix missing 2020-04-01 15:07:52 +01:00
Alastair Poole 210f43a736 efl_project: Move from autotools to meson. 2020-04-01 15:02:03 +01:00
Alastair Poole 9f834e35bb Welcome: Don't Pop Naviframe.
This fixes the annoying "feature" where pressing "Escape" in the
EDI wizard will remove all content from the window.
2020-04-01 13:49:27 +01:00
Alastair Poole 036773e57f README: Update 2020-04-01 10:31:28 +01:00
Alastair Poole 80fed3d586 Release: Prepare for 0.8.0 2020-04-01 10:12:20 +01:00
Alastair Poole e24efedb52 theme: Solarized Fix w/libclang syntax.
Colour issues with syntax highlighting using libclang for
syntax highlighting and code aware ness. This fixes the
token :)
2020-03-21 23:59:52 +00:00
Alastair Poole 551c885fec tasks: Search only when specified.
This can be quite intensive with a LARGE software project
such as EFL. Let's only search when instructed.
2020-03-21 23:55:37 +00:00
Alastair Poole 3ff2ebdbf9 settings: Use Global as Title.
This item is used as a title. Let's not allow focus
2020-03-21 23:46:31 +00:00
Alastair Poole 9e76b4523d screens: welcome text and image (revert).
Andy's right about this one. The image isn't any better.
2020-03-21 12:21:07 +00:00
Alastair Poole 8bb0f7ba18 scm: Correct SCM file panel behaviour.
Track untracked files. SCM menu options were listing wrong in
the file panel menu, this corrects this
2020-03-15 21:41:03 +00:00
Alastair Poole 7ae7ee13aa mainview: refactor tab swap. 2020-03-14 23:00:49 +00:00
Alastair Poole b36d44edf6 mainview: rename struct members. 2020-03-14 22:23:26 +00:00
Alastair Poole 58d9e3dc37 save: wrong thread for this api 2020-03-14 20:07:38 +00:00
Alastair Poole 0782c959df mainview: hide tab tooltip on drag. 2020-03-14 19:33:07 +00:00
Alastair Poole ae186d22e5 mainview: Changes.
Add edi_mainview_select_path API.
Improve tab dragging behaviour.
Improve behaviour on stash or undo changes.
Tidying.
2020-03-14 19:17:18 +00:00
Alastair Poole 301b8c009f mainview: Introduce Edi_Mainview_Item Tab.
We really need more than an Elm_Object_Item to associate with
our visible tabs. This refactor adds this.

This work should've been committed together but we're in develop
so I say that's okay...not ideal.
2020-03-14 18:37:50 +00:00
Alastair Poole 51b5ccb76e tabs: Make this move faster.
This is much faster.
2020-03-14 17:36:45 +00:00
Alastair Poole 29afbac89d mainview: allow panel tab dragging.
For now this only works with one panel. Further testing and
changes may be required. This one might not work out.
Let's see.
2020-03-14 15:24:35 +00:00
Alastair Poole 98af64fd4a scm: Add clone depth.
It's useful to either clone a full git history or one commit in
depth. One for cloning an existing (welcome screen) and one
shallow clone for our examples repo which is massive now!
This probably could become useful later on. It resolves the issue
of our examples being huge now.
2020-03-13 21:51:06 +00:00
Alastair Poole 9b29a396d9 editor: Fix build break.
Not very good. Fix this.
2020-03-13 21:49:30 +00:00
Alastair Poole fc975f7196 editor: small change.
This should all be kept together.
2020-03-13 21:38:24 +00:00
Alastair Poole 90af33f893 editor: Use a separate thread to save.
Move elm_code_file_save into a thread. Else we can block the UI.
2020-03-13 20:34:11 +00:00
Alastair Poole 2e4a141c98 filepanel: Use edi_theme_icon_path_get.
Let's try to ensure our file panel will always display icons
even if the installed system has no icon themes installed.
I think this is the whole point of edi_theme_icon_path.. that
we are able to provide a UI that looks "okay" without messing
about with themes. People can do that themselves if they like
but an empty app GUI might put people off...let's not do it.
Again lovely icons from Faenza's author Mattieu James.
2020-03-09 21:28:24 +00:00
Alastair Poole 6311340663 editor: Typo. 2020-03-08 00:16:52 +00:00
Alastair Poole c9500ca7e5 editor: Changes in Editor Mode. 2020-03-08 00:12:26 +00:00
Alastair Poole 1ae1048960 settings: Line numbers (enable/disable).
Add an option for this as we support it.
2020-03-07 19:05:33 +00:00
Alastair Poole 7602963bd2 config: Place all UI changes into one function.
When our config changes we can update UI elements. Move all
config changed events that affect our UI into one function.
2020-03-07 10:45:22 +00:00
Alastair Poole d81ec35efe welcome: clear templates on welcome.
If we go back we should clear our examples to avoid an ever-
growing list.
2020-03-06 22:04:51 +00:00
Alastair Poole 879ed821fe main: logic fix for icon changes. 2020-03-06 15:56:26 +00:00
Alastair Poole 26f422bfd5 Examples: Introduce C# Examples.
We introduce C# examples to EDI.

Also the icon data/extra/examples/images/mono-runtime.png, which
is based on Faenza is released under the GPLv3 license (included).
The author, who goes by madmaxms or Marcus has no e-mail contact
information. His works can be found on Github at:
    https://github.com/madmaxms.

Thanks very much for such a lovely icon for our Mono/C# templates.
2020-03-06 15:36:47 +00:00
Alastair Poole 77be4c4516 DEBUG: Add Mono Debugging Support. 2020-03-06 12:23:47 +00:00
Alastair Poole b8a43052b9 CSharp: Support syntax-highligting. 2020-03-06 10:49:27 +00:00
Alastair Poole caff04d9b5 theme: Refresh filepanel on icon theme change. 2020-03-06 09:29:46 +00:00
Alastair Poole 3405a2bea6 settings: more impovement 2020-03-06 02:37:27 +00:00
Alastair Poole ceefbb6e7b toolbar: Add "clean" build option. 2020-03-06 01:50:57 +00:00
Alastair Poole fdf22ab85c mainview: check end bounds also. 2020-03-06 01:40:52 +00:00
Alastair Poole 29ed0013a1 settings: Internal Icons.
Make this part of edi_theme. Add edi_theme_interal_icons_...
Also fix settings UI response to user interactions.
2020-03-05 22:05:20 +00:00
Alastair Poole f54559cb4b Settings: Tidying up more 2020-03-05 21:28:40 +00:00
Alastair Poole 1269cc361f config: Add show/hide line width marker.
This isn't for everyone. Let's allow people to use it or not use
it. Also tidy settings up a little bit.
2020-03-05 20:08:14 +00:00
Alastair Poole 60de7053b8 editor: Improve non development mode.
Add some homage to rage...
2020-03-05 18:10:46 +00:00
Alastair Poole 1ab1c67112 debug: Improve this functionality.
Our widget is missing some features. For now we'll use an entry
to make debugging reliable and thus EDI lovelier.

We'll come back to the widget post next EFL release.
2020-03-05 17:29:57 +00:00
Alastair Poole e07bbbe8ec welcome: Help the user. 2020-03-03 12:14:47 +00:00
Alastair Poole e05da2ef41 welcome: Examples.
The examples.git repo is getting RATHER large. However it is
demonstrating here that the UI can lock if we don't use a
separate thread here. Also we need some indication something
is happening, so let's use a progressbar.

This needs some more work but for now it's better behaviour.
2020-03-02 22:44:43 +00:00
Alastair Poole a1a245b4d6 config: Change default font size. 2020-02-24 19:33:51 +00:00
Alastair Poole 886c699d3d filepane: Only expand if project. 2020-02-24 19:33:16 +00:00
Alastair Poole 218ae1d591 search: Tasks only if project. 2020-02-24 19:32:27 +00:00
Alastair Poole 6434095fcf searchpanel: Refactor search code. 2020-02-09 21:55:22 +00:00
Alastair Poole 31f27c16d3 config: Better default values. 2020-02-09 18:12:02 +00:00
Alastair Poole 78e0601856 searchpanel: Set minimum search string size.
Having a single-byte search is not a good idea.
2020-02-09 18:08:23 +00:00
Alastair Poole 44b957d2e4 searchpanel: remove pointless line append at end. 2020-02-09 15:33:24 +00:00
Alastair Poole 775a142dff debugpanel: Improve this somewhat.
Improve the debugging process and rearrange the debug panel.

In relation to icons without text:

If this was an iPhone or Android application I can understand
representing every action with a button/icon only. If you are
developing software it's much easier to know what you are doing
with a little bit of text.
2020-02-09 15:26:27 +00:00
Alastair Poole d49691999f searchpanel: Skip leading newlines. 2020-02-09 12:44:33 +00:00
Alastair Poole cfb6b12f0f searchpanel: Tidy
Fixed unused variable and formatting.
2020-02-02 21:09:34 +00:00
Alastair Poole 78e5242f62 search: Use a search entry.
Using a popup for project search isn't very intuitive. Let's
allow user input and/or a button click to determine when to
start and stop the search.
2020-02-02 20:54:06 +00:00
Alastair Poole ef7f2495e1 Settings: Set check properly. 2020-02-02 20:05:18 +00:00
Alastair Poole c618883960 settings: SHow toolbar text setting.
In the vain of every other EFL application and Enlightenment,
let's start adding an insane amount of settings [sic]. In
sincerity, people like or don't like it, let's make it an
option.
2020-02-02 19:42:43 +00:00
Alastair Poole 03e8564cb4 search: Cancel thread when closing.
We need to ensure we cancel the search thread especially on exit
to avoid a SEGV due to some horrible side-effects of EFL
shutting down as we search.
2020-02-02 19:21:48 +00:00
Alastair Poole 8bceeec424 Editor: When an editor forget past tabs. 2020-02-02 19:15:24 +00:00
Alastair Poole 76ee7b8f5a search: improve stability.
Some boundary issues and fixing search during a shutdown.
2020-02-02 13:20:36 +00:00
Alastair Poole d862ba0247 toolbar: Show icon text.
Buttons without text? Maybe I'm too old but it's nice to read
what the button you're using actually does. Toolbar scrolls.
2020-01-25 13:25:36 +00:00
Alastair Poole 7a80d13488 fileselector: Do not expand.
This behaviour is simpler and more understandable.
2020-01-25 12:23:25 +00:00
Alastair Poole 4917715006 welcome: Fix issue when create fails.
Small fixes.
2020-01-24 20:57:32 +00:00
Alastair Poole 7e5e4e28a7 panel: Change lower panel alignment.
Align left.
2020-01-22 18:39:33 +00:00
Alastair Poole 7ea7eab0f7 debug: FreeBSD debugging improve.
This is more efficient. However, we need group read access to
/dev/mem. If a packager wants to do this that is fine, I'm not
too concerned about it, so fallback  by default.
2020-01-19 01:48:47 +00:00
Alastair Poole c68fba28cf mainview: Let mouse scroll move tabs.
This allows us to scroll through the list of open tabs with
the mouse.
2020-01-19 00:35:11 +00:00
Alastair Poole 013314d4a0 edit: When running as an editor use HOME.
This makes editing more reliable outwith a programming project.
2020-01-12 18:25:38 +00:00
Alastair Poole 12e17ee86e fonts: Use a more efficient method.
This existing test is far too slow (though more accurate). On
FreeBSD and OpenBSD we have strcasestr. Am happier to use this
for the sake of "usability". Keep the code around for reference.
2020-01-12 18:16:56 +00:00
Alastair Poole 44f862e224 Search: Slight changes.
Remove ELF check and "trust" edi_mime_type_get(). Also print
to console when done.
2020-01-08 20:34:47 +00:00
Alastair Poole 033328ab5e main: Remove unused function.
We don't use edi_open_file anymore. TODO is DONE also
2020-01-08 18:37:39 +00:00
Alastair Poole f2ef1377f9 edi_mime: Only map what is needed. 2020-01-08 18:19:02 +00:00
Alastair Poole fa11a56611 EDI: Be more defensie when opening files/projects. 2020-01-08 18:18:23 +00:00
Alastair Poole 156d658fda project: Hide project settings if not project. 2020-01-08 17:49:55 +00:00
Alastair Poole 73175732f4 editor: Disable items build related.
When editing, disable menu and toolbar items relative to
building software.
2020-01-07 22:16:48 +00:00
Alastair Poole 74ce34f773 Toolbar: Change position on-the-fly.
Move, hide and show the toolbar as and when config settings
change.
2020-01-04 22:56:24 +00:00
Alastair Poole 9daae59a0f gitignore: Ignore VIM .swp files!!! 2020-01-03 14:43:48 +00:00
Alastair Poole 54b8cfd4ce debug: Use appropriate array size.
As per documentation.
2020-01-03 14:18:09 +00:00
Alastair Poole 4a64a6abaf debug: Break when found 2020-01-03 13:52:06 +00:00
Alastair Poole 44a0ebad3f edi: Fix debugging on OpenBSD. 2020-01-03 13:40:57 +00:00
Alastair Poole c40b46455a debug: Improve the functionality greatly.
This is a much improved debugging implementation (Linux).
2020-01-02 02:18:53 +00:00
Alastair Poole 80647989b0 icons: Add Faenza edit-delete.
Better for edi_welcome
2019-12-31 00:02:52 +00:00
Alastair Poole 1bc99ed14e fileselector: Dont set expandable 2019-12-30 23:43:33 +00:00
Alastair Poole d9d94f4cd9 toolbar: Use focus on mouse-in and animate.
This makes the toolbar somewhat more visually responsive.
2019-12-30 23:11:49 +00:00
Alastair Poole c4088de182 background: Use our edi_about image for bg.
There was/is text. Will see feedback and react to that.
2019-12-29 19:07:46 +00:00
Alastair Poole 872984d88f Toolbar: Use smaller icons. 2019-12-29 19:07:08 +00:00
Alastair Poole f01715a8d9 filepanel: fix menu when scm disabled 2019-12-29 01:09:54 +00:00
Alastair Poole e53f6aa2f1 Mime: Fix for 0 size files. 2019-12-29 00:53:24 +00:00
Alastair Poole 4474f3a354 desktop: Add text/plain as default mime type.
As per gedit and kate, use Edi for text/plain
2019-12-28 23:19:54 +00:00
Alastair Poole 57f9ae1c93 welcome: Fix for clones project templates. 2019-12-28 23:11:13 +00:00
Alastair Poole aa0f625f50 main: Add usage as an editor.
If we run EDI with a file as its first command-line argument
this will open as an editor with full capabilities.
2019-12-28 22:12:34 +00:00
Alastair Poole 87a526a340 main: minor tidying. 2019-12-28 21:27:29 +00:00
Alastair Poole 264a94ba1c Toolbar: Bring back to single window.
We can now offer horizontal/vertical toolbar within the main UI.
For now this requires a restart.
2019-12-28 17:30:26 +00:00
Alastair Poole e0ed366414 icons: More icons.
Hopefully this will encourage someone to create uniqu
e icons
for this project. For now using Faenza which are nice
2019-12-26 19:04:08 +00:00
Alastair Poole faaee7c0f9 icons: Add more generic default icons 2019-12-26 18:53:38 +00:00
Alastair Poole 3b7dd91577 tb: More changes 2019-12-26 18:00:55 +00:00
Alastair Poole 82bcd14ffc Menu: Minor changes 2019-12-26 15:50:52 +00:00
Alastair Poole 2b25a89d90 Menu: Change behaviour 2019-12-26 15:36:29 +00:00
Alastair Poole aea907e0d7 ICONS: Use internal icons.
This can be enabled/disabled within Edi Settings
2019-12-26 14:24:42 +00:00
Alastair Poole e7373855d9 Fix transparancy 2019-12-24 01:41:52 +00:00
Alastair Poole 4095c75438 toolbar: use static state storage. 2019-12-24 00:51:06 +00:00
Alastair Poole 03a21e0401 toolbar: Some minor changes 2019-12-22 19:34:59 +00:00
Alastair Poole 9be05f6670 meson: Fix build 2019-12-22 17:52:51 +00:00
Alastair Poole f0037553ab Toolbar: Controversy. Horizontal or vertical.
Let's see what people think. More to do.
We're giving the toolbar its own window.
2019-12-22 14:42:06 +00:00
Alastair Poole a033aa1de9 Revert "toolbar: experiment"
This reverts commit ecd065e358.
2019-12-21 02:37:54 +00:00
Alastair Poole ecd065e358 toolbar: experiment 2019-12-21 02:12:24 +00:00
Alastair Poole 55084ea2ec edi_welcome: Formatting. 2019-12-20 22:26:12 +00:00
Alastair Poole 9217df2da2 Accidentally included file (remove) 2019-12-20 22:22:58 +00:00
Alastair Poole c403f76825 welcome: Much better exec and then exit.
This was causing all sorts of complications. Just fork/exec
edi and then exit from welcome.
2019-12-20 22:20:54 +00:00
Alastair Poole d45bb357ef Edi_Mime: Use our own variation to detect mime.
Replace efreet_mime_type_get with our own internal
edi_mime_type_get. Due to inacurracies do our own test for
binary file.
2019-12-20 18:00:57 +00:00
Alastair Poole be5868e8d4 Settings: Fix debugger combobox sizing. 2019-12-16 22:25:31 +00:00
Alastair Poole 1d7662d02c Welcome: Fix icon size and create project UI.
Template icons are now properly sized, also the widget now
displays its content properly.
2019-12-16 21:37:39 +00:00
Alastair Poole 28af3d56ae process: Check for NULL return value. 2019-12-16 21:13:14 +00:00
Alastair Poole 0204fdbc65 Meson: Simplify 2019-12-15 22:06:14 +00:00
Alastair Poole 0573f46256 OpenBSD: -lkvm and use PID_MAX 2019-12-15 21:51:10 +00:00
Alastair Poole af5d2a6bed filepanel: Use consistent icon size. 2019-12-15 17:22:06 +00:00
Alastair Poole ee376c04a9 filepanel: Add Undo (checkout) to SCM Menu.
Add an option to checkout file to last commit to
the menu.
2019-12-15 17:09:12 +00:00
Alastair Poole 905d232d31 editor: Add Shift+Insert Handling 2019-12-15 16:12:41 +00:00
Alastair Poole 5682b021ca Toolbar: Make icons homogeneous. 2019-12-15 13:33:45 +00:00
Alastair Poole 9055c4d40c Panel: Increase icon size. 2019-12-15 12:47:30 +00:00
Alastair Poole a6b3462487 toolbar: Return to toolbar at top.
The hope is to make things straightforward for users.
Traditional icon and text is more clearly understandable.
2019-12-15 12:39:46 +00:00
Alastair Poole 89077e4659 statusbar: remove hack workaround.
This used to affect widget sizing. Remove this hack.
2019-12-06 19:08:34 +00:00
Andy Williams a752979dc3 Return to next development version 2019-05-03 16:38:29 +01:00
Andy Williams 700d3d9cd6 Merge tag 'v0.7.1' into develop
Release version 0.7.1
2019-05-03 16:37:46 +01:00
Andy Williams 3dd9068f43 Merge branch 'release/v0.7.1' 2019-05-03 16:37:35 +01:00
Andy Williams 6ef647615d Prep for 0.7.1 release 2019-05-03 16:37:30 +01:00
Andy Williams 91f8c64241 Update docs for latest EFL api usage 2019-05-02 22:36:07 +01:00
Rob Hensley fc89c02618 Quick missing word fix. 2019-05-02 17:20:13 +02:00
Alastair Poole 847e48810a BUILD: Fix changes in API for EFL 1.22 2019-03-24 15:08:38 +00:00
Alastair Poole 2fb3860c72 edi_settings: allow settings window tab open choice.
This slight change to the API allows the user (when prompted) to
open the settings panel, access to the specific settings tab of
interest. Therefore a prompt for missing user information,
will open the settings panel at the project section of settings.
2018-12-17 14:15:41 +00:00
Alastair Poole 06d866411d edi_process: Introduce new process API.
Introduced process querying API for all the platforms
we currently support. With this we are able to get
realiable data about system processes.

We use this API to track running process instances
launched from Edi.

Also, this allows for a much cleaner implementation
of the edi_debug code when tracking the debug process.

Essentially using the new API to track both running
instances and debugged instances.

Moreover, simplifying this by using a timer in
edi_main to keep track of these occurences.

We can now reliably track use of the 'Run' command
in the toolbar and menu. Adding a 'Terminate' to
compliment. The UI now responds properly to running
or non-running Edi launched process instances.
2018-11-25 17:05:16 +00:00
Alastair Poole 1ce49c9e8a edi_theme: use appropriate API.
The theming API has changed. Adapt for
EFL 1.22.
2018-11-21 14:47:57 +00:00
Andy Williams f10442ccaf Merge tag '0.7.0' into develop
0.7 Release
2018-09-13 22:22:27 +01:00
Andy Williams 897f552d18 Merge branch 'release/0.7.0' 2018-09-13 22:22:08 +01:00
Andy Williams 51f46305ba Merge branch 'release/v0.7.0' 2018-09-13 22:17:12 +01:00
Andy Williams 78c05fdf2f Fix dependency numbers now they are released 2018-09-13 22:17:02 +01:00
Andy Williams 5700111cac And moving on to next develop 2018-09-13 18:27:17 +01:00
Andy Williams 21e34166fd prep for 0.7 release 2018-09-13 18:25:06 +01:00
Andy Williams 0920de8414 Update News for release 2018-09-13 18:24:30 +01:00
Alastair Poole bafcc05731 mainview: no need for popup when entry is empty.
By foccusing the entry widget that is empty this is
just as clear to the user as displaying a small
popup. In these situations this popup is probably
overkill and visually unappealing.
2018-09-11 13:49:11 +01:00
Alastair Poole a69eda48ce provider: ensure we handle python3 mimetype. 2018-09-07 00:22:40 +01:00
Alastair Poole af1ff5608d Revert "editor: fix multiline comment syntax highlighting."
This should be handled within the widget itself, far too
hacky to do it like this. Reverting this badnes.
2018-09-06 17:38:09 +01:00
Alastair Poole 808572894e editor: fix multiline comment syntax highlighting.
When autosave is disabled the multi-oline comment
syntax highlighting was not working. We can do this
without adding an API, but should aim to add an
identical behaviour method to elm_code with better
namespace that indicates syntax highlighting
refresh. Changing T6083 to a TODO.
2018-09-06 10:45:37 +01:00
Alastair Poole d9bfd0a3d9 main: use scroller as container for logpane.
This allows for full contraction and expansion of the bottom
panel with no visual bogosity.
2018-09-04 16:10:36 +01:00
Alastair Poole 227231d06e examples: update examples if repository exists.
This adds a git_update method to the scm lib which we use here
to update the existing examples git repository. This ensures
the developer is always using an up-to-date copy of EFL
examples when creating.
2018-09-03 16:11:09 +01:00
Alastair Poole aeb01d7e0e searchpanel: ignore ELF files.
We can easily check for ELF files here, let's do this and
avoid a lot of unnecessary noise in the search panel.
2018-08-31 16:25:54 +01:00
Andy Williams 38d35e3314 Fix false positives in search-in-project 2018-08-30 22:57:33 +01:00
Alastair Poole 0146efc4bf settings: add option to show hidden files.
Add option to show hidden files to settings.
Display files in file panel.
2018-08-24 10:18:32 +01:00
Alastair Poole 708a134120 create: bring back callback to notify UI.
Add check also for NULL in rare case.
2018-08-22 18:15:32 +01:00
Alastair Poole 1d2e8e3c00 filepanel: update callback to match exp. prototype.
This silences other build warnings. Use proper func
prototype and always return TRUE when previously
returned.
2018-08-22 15:26:30 +01:00
Alastair Poole 849b216c3e build: silence warnings due to unused params/vars. 2018-08-22 15:22:24 +01:00
Alastair Poole 5cac73c2c7 settings: disable highlight settings win display.
This disables the initial highlighting on the settings
window. Cosmetically gets rid of the initial hidden
rectangle focus. If a user presses tab, focus and selection
works as normal.
2018-08-22 15:17:52 +01:00
Alastair Poole 383573fd0a welcome: fix issue with template creation.
This fixes potential crash due to invalid template
data and also fixes an erroneous URI for hello-gui.
2018-08-22 12:59:47 +01:00
Alastair Poole 273384d916 settings: move check into method.
Just check once for existing window in the
edi_settings_show.
2018-08-22 11:02:42 +01:00
Alastair Poole 26929ba2a9 editor: Fix typo.
Apologies, this shouldn't have gone through.
2018-08-21 20:08:41 +01:00
Alastair Poole 2ac7e2c3b5 editor: register modify on cut and paste.
Previously we could modify an editor with cut and paste, now
listen for these events and act as we would do with an editor
change.
2018-08-21 19:33:03 +01:00
Alastair Poole 893f3eb477 settings: only allow one settings window instance.
Do a simple check for a window object. Did think about
adding it to the method but it seems to return an
Evas_Object *. Simpler just to check in edi_main.
2018-08-21 19:03:37 +01:00
Alastair Poole f7890e8dc8 filepanel: remove timer check for select path.
This timer and action is causing more problems than it's worth.
2018-08-21 13:54:44 +01:00
Alastair Poole 51d81383b1 filepanel: remove bogus minsize.
This fixes the jumping of the UI on tab change.
2018-08-19 19:41:16 +01:00
Alastair Poole ce5cd75211 settings: on alpha window change keep on top.
When changing window alpha ensure the settings window
remains on top. Previously an alpha change would lose
the settings window when enabling alpha. Also add
some documentation.
2018-08-19 14:17:07 +01:00
Alastair Poole a0366e2ae9 welcome: evas_object_rectangle_add needs Evas.
EFL 1.21. is more strict. We need to use an Evas here,
not an Evas_Object. This fixes a horrible bogus display
when choosing a template project.
2018-08-19 13:18:41 +01:00
Alastair Poole 7f151aa92a theme: add translucency to Edi. 2018-08-13 10:42:29 +01:00
Alastair Poole 6eaf294ea1 fade: 2018-08-13 10:42:12 +01:00
Alastair Poole a15f318728 transparancy: update other widgets. 2018-08-13 10:42:12 +01:00
Alastair Poole 86c7fb800d This should work it does not 2018-08-13 10:42:12 +01:00
Alastair Poole 253419dae4 Do this better 2018-08-13 10:42:12 +01:00
Alastair Poole 005f01f8bc Revert "Fix translucency again."
This reverts commit bd049d3dd8.
2018-08-13 10:42:12 +01:00
Alastair Poole b2bebfaad7 Fix translucency again. 2018-08-13 10:42:12 +01:00
Alastair Poole d89ea7dc0a fade: 2018-08-07 14:35:13 +01:00
Alastair Poole 79d762e531 transparancy: update other widgets. 2018-08-06 18:17:35 +01:00
Alastair Poole 7d6c76fd64 This should work it does not 2018-08-06 13:07:03 +01:00
Alastair Poole f2c7e9e233 build: fix unused variable warning. 2018-08-04 12:20:58 +01:00
Alastair Poole e80d25a981 tabs: let tabs with large filenames grow.
This should ensure tabs grow when the filename is very long.
2018-08-04 12:17:03 +01:00
Alastair Poole 842b4ec63a settings: fix visual error when choosing font.
In the settings panel after selecting the font
and then returning to the main settings window,
white artifacts polluted the widget. We need to
delete this object.
2018-08-04 11:44:00 +01:00
Alastair Poole ddb01ba1ef tabs: make tabs consistent size.
Give us consistent tab size and text alignment
which complements this for our tabs.
2018-08-04 10:28:44 +01:00
Alastair Poole 179acb1918 mainview: show path in tooltip when hovering tab.
Previously I implemented this with a "menu". This
wasn't very clever. Changing so we use a tooltip
as it's much cleaner and less cruft code.
2018-08-03 11:05:55 +01:00
Alastair Poole 21f29302cb Do this better 2018-08-01 23:26:17 +01:00
Alastair Poole ab8baa1c22 Revert "Fix translucency again."
This reverts commit bd049d3dd8.
2018-08-01 23:25:21 +01:00
Alastair Poole bd049d3dd8 Fix translucency again. 2018-07-31 10:52:08 +01:00
Alastair Poole 1c00bdb17f goto line: fix crash when inputting with keyboard.
When using keyboard the incorrect object was being passed
to the goto method. It would crash.
2018-07-24 09:26:12 +01:00
Alastair Poole 6c08adab9c search in project: Use proper widget hierarchy.
This was crashing due to incorrect hierarchy when creating
widgets.
2018-07-23 21:50:46 +01:00
Alastair Poole c8d3f56183 welcome: display template icon at correct ratio.
This improves the look of the template project creation
screen. Icons appear the correct size next to their text
description.
2018-07-19 11:15:03 +01:00
Cedric BAIL 202b21f423 searchpanel: complete rewrite to have low hoverhead when processing search.
This search code is more efficient and will research keyword by chunk and
backward count the number of line. It will reduce the amount of random access
on disk and be access all data sequencially, page after page.

A possible next step in optimization would be to allow for the search
of multiple keyword at the same time. Another most likely bigger reward
would be to have a cache mecanism leveraging the versionning system
and only reprocessing file when they do change. This would lead to the
biggest improvement.
2018-06-22 21:26:42 +01:00
Alastair Poole 354b675444 debugpanel: fix crash.
Saw this on OpenBSD but also elsewhere now.
Seems to make sense to return here also.
2018-06-13 12:49:52 +01:00
Alastair Poole 8e09fe33ff tab: right-click tab for filename path.
Path is relative to project.
2018-06-06 14:48:48 +01:00
Alastair Poole f438e6e62b filepanel: on tab focus improve visibility.
This patch selects the next best match. Making it easier
to follow the file in use (especially duplicate names).
On expand (next best), it will automatically select
the actual path. Visual and usability improvement.
Thanks Brokenshackles for suggestion.
2018-06-06 14:04:15 +01:00
Andy Williams 476e71f78f Better explanations of the build options 2018-05-17 13:40:40 +01:00
Andy Williams 0c6e37e4ff Revert "theme: We don't need to build a theme until that's supported"
This reverts commit cac43376a3.
2018-05-15 16:14:25 +01:00
Andy Williams d008cf16a8 Revert "theme: roll back for the 0.7 releaes"
This reverts commit 13ffef1042.
2018-05-15 16:13:55 +01:00
Andy Williams 83b616446c Merge in from 0.6.1 release branch 2018-05-15 16:01:01 +01:00
Andy Williams 1b6cf6f4fc Merge branch 'release/edi-0.7' 2018-05-15 15:44:10 +01:00
Andy Williams 279c7e66e7 Version down for release 2018-05-15 15:39:36 +01:00
Andy Williams 210d369cf8 Attempting a meson build fix 2018-05-15 15:39:26 +01:00
Alastair Poole 5c7a29b521 logpanel: fix crash when appending lots of lines.
Surround elm_code_file_line_append() with ecore_main_loop_begin/end.
Fixes a crash when there are lots of errors to report.

@fix
2018-05-15 15:04:49 +01:00
Alastair Poole 6be9ee49c6 scm_git: Allow us to unstage even if there is no remote url.
This allows us to use edi_scm fully even if the repo has no
remote url. Otherwise business as usual.
2018-05-15 15:04:26 +01:00
Alastair Poole d2d9f7bd05 credits_check/scm_ui: Fix bugs that crash.
I can't believe these are in here! Apologies! :)
2018-05-15 15:03:12 +01:00
Alastair Poole ea6b0ab193 scm: init. Fix a crash on new project initializing SCM.
The code was checking for an engine which doesn't exist and thus
crashing. This fixes that.

@fix
2018-05-15 15:02:56 +01:00
Andy Williams a98145046a Rolling back release numbers for 0.6.1 next 2018-05-15 15:00:16 +01:00
Alastair Poole 47675308fe panels: add a frame around each panel for depth and clarity.
This adds depth to the panels and the additional frame title
adds more clarity as to which panel is in use (complementing the
panel title and positional arrow indicator.
2018-05-15 13:13:33 +01:00
Alastair Poole b2553f93c3 main: increase lower toolbar icon size slightly.
This improves the overall feel of the application. The resize is
conservative but makes for better text reading and overall
uniformity.
2018-05-15 11:08:39 +01:00
Alastair Poole fc36fb12f8 screens: improve settings popup slightly. 2018-05-15 11:03:33 +01:00
Alastair Poole d55bea9725 logpanel: fix crash when appending lots of lines.
Surround elm_code_file_line_append() with ecore_main_loop_begin/end.
Fixes a crash when there are lots of errors to report.

@fix
2018-05-14 10:26:20 +01:00
Alastair Poole 8fafc6c00a scm_git: Allow us to unstage even if there is no remote url.
This allows us to use edi_scm fully even if the repo has no
remote url. Otherwise business as usual.
2018-05-14 00:37:16 +01:00
Alastair Poole 8b5fc090f8 credits_check/scm_ui: Fix bugs that crash.
I can't believe these are in here! Apologies! :)
2018-05-14 00:25:34 +01:00
Alastair Poole 085d936843 edi_theme: use new method to update theme after layout change.
elm_code_widget_theme_refresh().
2018-05-13 17:17:34 +01:00
Alastair Poole f484182733 scm: init. Fix a crash on new project initializing SCM.
The code was checking for an engine which doesn't exist and thus
crashing. This fixes that.

@fix
2018-05-13 12:50:21 +01:00
Andy Williams 36bc269047 Display the text position rather than the visual column in info
This fixes a bug where compile warnings for lines with tabs
do not match.
2018-05-11 13:28:13 +01:00
Andy Williams 6277dbe47a Remove duplicate line 2018-05-11 13:14:54 +01:00
Andy Williams f9d5289ce6 Display the text position rather than the visual column in info
This fixes a bug where compile warnings for lines with tabs
do not match.
2018-05-11 13:13:35 +01:00
Andy Williams 100a3ecfc0 Remove duplicate line 2018-05-11 13:12:59 +01:00
Alastair Poole 997d1928f8 settings: Fix crash with non-SCM project.
Settings would crash when launched from a project with no
source code management.

@fix
2018-05-01 14:01:14 +01:00
Al Poole 983f0a64b8 AUTHORS: update to use my real name. 2018-05-01 14:01:06 +01:00
Alastair Poole 9af91b6277 settings: Fix crash with non-SCM project.
Settings would crash when launched from a project with no
source code management.

@fix
2018-04-14 16:58:17 +01:00
Al Poole 6483c6cdcc AUTHORS: update to use my real name. 2018-03-22 15:36:57 +00:00
Andy Williams 2d0c874567 Improve safety and simplify mime display code 2018-03-22 14:58:34 +00:00
Andy Williams 13fb099e68 Fix escaping of names in git parameters
Fixes issue #20
2018-03-21 22:51:27 +00:00
Al Poole f92c4c13d6 scm: use cached value, but do check for "" return too.
The previous commit made things SLOW due to fork/exec/parse too
much! Return if we have a result that is not "". Don't
repopulate if value is good!
2018-03-21 22:16:54 +00:00
Al Poole 371126c09d scm: do not check for git credentials on a LOCAL none-commit op. 2018-03-21 21:42:11 +00:00
Andy Williams 0b46d1bcf9 Fix EFL version required for release branch 2018-03-21 21:13:00 +00:00
Andy Williams d457bfe754 Oops, fix compile error from merge conflict 2018-03-21 21:10:40 +00:00
Al Poole ea02efa416 screens: add a dialogue with a button for close and settings panel.
When there is user information missing or a change required in
settings, display a dialogue with the information and an added
button to open the "Settings" window.
2018-03-21 21:09:54 +00:00
Al Poole 14549d71de content: dont check line endings for image. 2018-03-21 02:00:32 +00:00
Al Poole f52a045bb2 screens: add a dialogue with a button for close and settings panel.
When there is user information missing or a change required in
settings, display a dialogue with the information and an added
button to open the "Settings" window.
2018-03-20 16:34:29 +00:00
Al Poole 417e895356 scm: store scm credentials and fix UI stash and commit.
First, make sure the project stores user/email for SCM (again!). Also
allow user to change the user/email > once. Add a check to
stash (from menu) for credentials also.

This allows us to change the remote user and email more than once.
Also it ensures that
2018-03-19 23:38:01 +00:00
Al Poole ca25dea2d8 statusbar: undo recursive dependency.
Refactor and sanify the statusbar changes.
2018-03-18 11:29:10 +00:00
Al Poole 461058bb8a content: move statusbar into edi_content.
sorry!!!
2018-03-17 19:08:09 +00:00
Al Poole fa03323a20 content: move alternative content to edi_content.c
Slight refactoring to complement the previous commits regarding tab sizing.
2018-03-17 17:43:34 +00:00
Andy Williams ca463c691e Default to tab indenting for go projects 2018-03-03 21:22:24 +00:00
Andy Williams 1f1bff5103 Fix possible crash on consolepanel 2018-03-03 12:06:43 +00:00
Andy Williams a463f15411 Rely on fixes in latest EFL release 2018-03-03 11:35:54 +00:00
Al Poole 81165c426f tabs: Ensure that all content types load with good dimensions.
This ensures code, text and images are loaded properly with
proper dimensions. This means there is no jumping about when
switching tabs with multiple panels, multiple tabs and any
type of content. Moved the image_add to centralise the
generation of statusbar.
2018-02-22 15:38:53 +00:00
Andy Williams 263c9b5f1e Load the test results for Golang builds 2018-02-22 13:06:33 +00:00
Al Poole 5cbb9466e9 editor: fix tab sizing with multiple panels.
When switching tabs and panels a bogus resize would occur.
This mitigates that.
2018-02-21 21:54:30 +00:00
Andy Williams 5e318be09c build: Add support for Go building 2018-02-17 20:02:03 +00:00
Andy Williams e20fa8bff9 Fix typo in string constructon 2018-02-17 19:51:44 +00:00
Andy Williams a446c1d34c block on efl-git for edi-git 2018-02-10 21:07:00 +00:00
Andy Williams b623d712d1 Update EFL version required 2018-02-10 21:06:07 +00:00
Andy Williams cac43376a3 theme: We don't need to build a theme until that's supported 2018-02-10 21:05:58 +00:00
Andy Williams 4219182826 develop is now heading to 0.8 2018-02-10 21:01:26 +00:00
Andy Williams 5501a9559b Update for latest feature additions 2018-02-10 20:59:47 +00:00
Andy Williams 13ffef1042 theme: roll back for the 0.7 releaes
It looks like we won't have an efl major releases soon enough to add this
2018-02-10 20:58:52 +00:00
Andy Williams a5ce833292 Completion of examples feature 2018-02-10 20:47:13 +00:00
Andy Williams 7250a9bc3a Fix compile error for non-c99 buids 2018-02-03 19:32:48 +00:00
Andy Williams 131a627b6e Fix compile error for non-c99 buids 2018-02-03 19:32:16 +00:00
Andy Williams e170fdee19 examples: extract example from git to create new projects 2018-01-06 14:48:04 +00:00
Andy Williams 1b7acee711 suggest: fix potential crash. Don't list un-named methods? 2018-01-06 13:50:39 +00:00
Andy Williams a99382bed8 templtaes: refactor to use template name rather than path
This makes our command line interface easier to use.
We lose the search paths for templates, but we did not use it
2018-01-06 13:46:43 +00:00
Andy Williams 305c7c4b43 examples: refactor template code to work for examples too 2018-01-06 13:42:24 +00:00
Andy Williams 3497aee535 examples: refactor data to be tidier 2018-01-02 22:02:41 +00:00
Andy Williams ad12603941 examples: Crash fix on going back 2018-01-02 21:16:45 +00:00
Andy Williams 83eaa3db84 Example: Add more content for the main examples 2018-01-01 22:07:36 +00:00
Andy Williams 68475cb28f examples: First pass add of examples info.
Infrastructure not in place yet, so example cannot be selected
2018-01-01 21:41:14 +00:00
Andy Williams 3548e6dfe7 Fix unsafe usages of basename 2017-12-31 15:57:01 +00:00
Andy Williams 292e3fc63f scm: Update layout for scm commits for usability
Move files from unstaged to staged on double click
Change diff to always show what is about to be committed (staged)
2017-12-30 23:39:18 +00:00
Andy Williams 68caaa3a6a avatar: Don't clip rotated avatar
Also rotate around centre for easier maths
2017-12-30 22:00:36 +00:00
Andy Williams d2c548a37b scm: If we can guess user credentials don't block
Have the project config default to the scm setup
2017-12-30 21:59:56 +00:00
Andy Williams d83289cc8a scm: Consistent dir usage in win titles 2017-12-30 20:09:13 +00:00
Andy Williams bca0919d2f scm: pass new --commit param to edi_scm for commit workflow 2017-12-30 20:08:44 +00:00
Andy Williams 71351c1c60 scm: Add command line options to specify path if we want.
Also add a dummy --commit which we pass from Edi for future requirements
2017-12-30 19:01:08 +00:00
Andy Williams 611c68175f scm: Fix initialisation to be based either on path or on CWD/edi_project_get
Refactoring lookups to be more re-usable as well. Should be a clearer API
2017-12-30 19:00:04 +00:00
Andy Williams f9e74bec45 scm: Make the titles consistent and add them to translations 2017-12-30 18:52:41 +00:00
Al Poole dc41a7f1fb scm_ui: remove unnecessary check. 2017-12-30 01:07:41 +00:00
Al Poole 10afa2f672 scm_ui: use already stored value, no need to query again. 2017-12-29 20:50:45 +00:00
Al Poole 56a3cc3d04 edi_scm: Consistent results for SCM root_directory.
Sorry about this sin of ommission. Also let's not
unnecessarily call method for which value already
exists. :/
2017-12-29 11:53:26 +00:00
Al Poole 3ceea8eb1e scm_ui: Add border to avatar w/effect (rotation) 2017-12-29 00:57:51 +00:00
Al Poole d603f4bf3d scm: refactor of scm 2017-12-28 23:44:28 +00:00
Al Poole 33556aeae2 edi_scm: move project root detection into the library.
Previous commit wasn't really right.
2017-12-27 21:55:50 +00:00
Al Poole 39c821d41a edi_scm: allow stage/unstaging outside of top scm dir.
@fix https://github.com/Enlightenment/edi/issues/16
2017-12-27 19:26:57 +00:00
Andy Williams acf483f168 Up to date translations 2017-12-23 22:00:46 +00:00
Andy Williams d5bb4107c9 Add translation info to the about screen
Also update bug fix URL!
Fixes #7
2017-12-23 21:59:24 +00:00
Al Poole 817c291bce edi_scm: Add support for staging and unstaging.
Also refactor some of the API to be less clashy.
2017-12-20 21:47:21 +00:00
Andy Williams cf5a1c9bdc settings: Fix slider for scroll wheel usage 2017-12-17 21:46:17 +00:00
Al Poole 6e1a56afb5 edi_exe: workaround for ecore_con_server_del
This is a workaround but when fixed it wont have any adverse
affect on the program. To be removed upon EFL fix. The issue
is reported.
2017-12-15 00:02:10 +00:00
Al Poole 95f40a7f24 editor_search: make it clearer in the code when we reset the cursor. 2017-12-09 13:12:09 +00:00
Al Poole 32196a611f welcome: add visual indication for required but missing fields.
Also, no need to delete a directory we never create now.
2017-12-09 12:42:08 +00:00
Al Poole c4ae6c751e editor: search wrapping inconsistencies fix. 2017-12-09 12:01:33 +00:00
Al Poole a4cd836def filepanel: only pack the box once when showing the file search.
This fixes an issue where if you enable find > 1 times it will
keep packing and taking up more space for each consecutive
click/enable.
2017-12-09 11:19:44 +00:00
Andy Williams 664042bebf settings: Improve layout in display settings 2017-12-08 23:07:02 +00:00
Andy Williams 25212aa786 Add to news 2017-12-08 22:44:08 +00:00
Andy Williams 5055a0985a Merge branch 'feature/edi_translucency' into develop 2017-12-08 22:42:21 +00:00
Andy Williams 392ab14c43 alpha: Tidy settings screen for translucency 2017-12-08 22:39:38 +00:00
Al Poole 61aa3512b8 settings: slight tidy up and make code easier to read. 2017-12-06 23:53:04 +00:00
Al Poole c4c0db1383 theme: remove unnecessary call, and slight tidy. 2017-12-06 23:43:44 +00:00
Al Poole 30064502d1 alpha: make sure window alpha is set on config change. 2017-12-06 19:45:49 +00:00
Al Poole 833012526c Merge branch 'feature/edi_translucency' of git+ssh://github.com/enlightenment/edi into feature/edi_translucency 2017-12-06 18:38:01 +00:00
Al Poole 27e1b6c5fe theme: fix small bug and change label. 2017-12-06 18:34:53 +00:00
Andy Williams 7c674db18c alpha: Fix config defaults 2017-12-06 11:23:39 +00:00
Al Poole 76ba36ea98 theme: add settings for alpha 2017-12-05 22:03:46 +00:00
Al Poole 201318adaf Revert "theme: "finish" settings for the theme translucency/shininig"
This reverts commit c3fe0295fc.
2017-12-05 21:55:40 +00:00
Al Poole c3fe0295fc theme: "finish" settings for the theme translucency/shininig
all work and no play makes andy a dull boy...all work and...
2017-12-05 21:53:35 +00:00
Al Poole 4a56d6339b settings: some minor visual changes to layout. 2017-12-03 21:43:28 +00:00
Al Poole 556df6ee74 themes: introduce theme support with themes 2017-12-03 14:49:53 +00:00
Al Poole b4e7517e96 themes: final changes remove black.edc 2017-12-03 14:37:55 +00:00
Al Poole 3e900e7402 theme: sort themes. 2017-12-02 10:38:10 +00:00
Al Poole dcf4bcec82 theme: set generic value to generic title. 2017-12-02 10:30:30 +00:00
Al Poole 11f9ba8609 theme: add a title to theme edcs and use that.
This makes it a little neater.
2017-12-02 10:25:54 +00:00
Al Poole 91a373cd2d mainview: react to config changes for split editors.
Make sure theme and font changes happen in split views too!
2017-12-01 23:28:06 +00:00
Al Poole 4edf97c0af mainview: react properly to config changes.
This will fix font and theme config changes in split editors so they
update as others do.
2017-12-01 23:26:23 +00:00
Al Poole 86423d23c8 edi_theme: add solarized basic theme. 2017-12-01 19:52:09 +00:00
Al Poole c3589e6081 themes: add solarized theme (dark) 2017-12-01 17:18:25 +00:00
Al Poole e64ff06592 split_view: store and load split views between sessions.
Keep track of split views and reload on open, if closed open.
2017-12-01 13:07:00 +00:00
Al Poole 57d2c5810a edi_theme: Add support for colour themes in EDI.
Finally adding theme support for Elm_Code_Widget. Fairly
self-explanatory. Settings-> Display -> Choose theme. Work
from both myself and Andy Williams on this one. A good one!
2017-11-27 23:09:51 +00:00
Al Poole 3e3e0fde8d edi_settings: set the default debugger as the selected if none set.
This will use the first and default debug command when no user
preference has been set. This is gdb.
2017-11-24 15:21:03 +00:00
Al Poole 0089d5e100 editor: split view. allow deletion of views.
If we have split panels let the delete button delete each view in
sequence until there are none remaining. Basically the tab close
button will do the work. Seems a logical approach.
2017-11-24 14:50:49 +00:00
Andy Williams 8bda6d887b build: Rplace PKGBUILD with a working script 2017-11-24 13:09:42 +00:00
Andy Williams c0c9703d6c build: Fix chmod for DESTDIR builds 2017-11-24 13:00:03 +00:00
Andy Williams f3162908cc Update TODO doc 2017-11-24 11:01:21 +00:00
Andy Williams d89ae75f82 build: Fix install location for template files 2017-11-24 11:01:03 +00:00
Al Poole 25339554b7 edi_filepanel: select on focus.
Use a timer for selecting the file browser item. Click tab and click
browser file work as before. Clicking the editor will focus in the
browser also with an "unnoticable" delay from the timer poll.
2017-11-23 14:51:29 +00:00
Al Poole 099b9c039e mainview: store an actual copy of the path.
Store the path in memory rather than a pointer to it.
There are times when the memory can be corrupt, this should
stop a breakage.
2017-11-23 14:47:57 +00:00
Andy Williams 6f41ad7204 Avoid infite tab focus loops 2017-11-22 19:27:04 +00:00
Al Poole f3dcf4b1f1 Revert "editor: on focus dont highlight file in panel."
This reverts commit cffd523df4.
2017-11-22 16:27:30 +00:00
Al Poole cffd523df4 editor: on focus dont highlight file in panel.
This can cause terrible deadly recursion. Now clicking on
the filepanel will select and show and clicking on the tab
will select in the file browser. We lose clicking the widget
directly to selection in the file browser...for now.
2017-11-22 16:02:21 +00:00
Al Poole b27c43abc5 editor: dont use smart parent object.
This fixes: T6389 for Edi. Perhaps needs fixes elsewhere IDK.
2017-11-22 15:48:00 +00:00
Al Poole 905a0ea990 edi_filepanel: make the filepanel unfocusable. 2017-11-20 20:55:43 +00:00
Andy Williams 798b4c2a2f gui: Merge debugger menu into build menu 2017-11-19 22:14:56 +00:00
Andy Williams 03d3a45c01 Remove trailing symbols from translations
Fixes T6189
2017-11-19 22:07:53 +00:00
Andy Williams 1dd7012a96 mainview: Don't shuffle tabs on background close
If it's not the panel's current tab we can ignore it
2017-11-19 11:56:09 +00:00
Andy Williams 9d374501c6 mainview: Scroll tabs correctly on open new tab 2017-11-19 11:51:53 +00:00
Andy Williams 75c1d42e55 mainview: Don't promote a tab immediately before closing it 2017-11-19 11:43:58 +00:00
Al Poole e18f8b5760 edi_settings: simplify font test and allow for some variation.
Allow for minimal variation so that we don't exclude some neat
programming fonts such as Menlo or Monaco or Anonymous Pro.
Also do not check the height.
2017-11-16 02:18:24 +00:00
Al Poole 22d555c2f0 language: add initial support for Golang editing. 2017-11-11 13:26:06 +00:00
Al Poole cf3036d87b edi_debugpanel: fix debug panel buttons to work more reliably.
Use the timer to update the icons and fix the buttons to work well
with gdb. Doesn't affect other programs adversely.
2017-11-09 01:32:20 +00:00
Al Poole 29c5ecb538 edi_debug: improve debugging support.
This improves support and simplifies some of the debugging tasks.
2017-11-08 21:27:32 +00:00
Andy Williams ae3b0c2f57 Merge branch 'master' into develop 2017-11-05 15:59:16 +00:00
Andy Williams fc401afb03 Update name casing 2017-11-05 15:39:51 +00:00
Al Poole d1052de44b mainview_panel: fix focus issue and panel closing.
This fixes an issue with focus and also makes closing panels
and tabs much friendlier to the user.
2017-11-05 00:46:51 +00:00
Marcel f488057e32 build: use a include directory and not relative paths
in older meson versions relative paths are sometimes evalulated from the
build directory and sometimes from the source diretory.
2017-11-04 10:35:06 +00:00
Marcel 2c062ef0bb Revert "meson: remove exposure of lookup paths"
This reverts commit a7a6b9cb7f.

This brings back the option for settings the path, ubuntu decides to hide the headers in a none standard directory, so they need to be spectified.
2017-11-04 10:35:06 +00:00
Marcel 955213eb33 build: version 39.0 should be enough
this brings edi to ubuntu 17.04
2017-11-04 10:34:38 +00:00
Al Poole 1841082de8 edi_about: include Edi version in title again. 2017-10-31 21:07:00 +00:00
Al Poole 22b903fdcf Revert "edi_filepanel: if file is deleted close item in view."
This reverts commit 2e10b48162.
2017-10-29 09:54:11 +00:00
Al Poole 2e10b48162 edi_filepanel: if file is deleted close item in view.
If file is deleted outside of Edi or we stash and the file is
removed we should close the item in the editor also.
2017-10-29 09:46:37 +00:00
Al Poole 50cbcc3d93 edi_main: don't start build,test,clean when unknown project type. 2017-10-28 21:47:59 +01:00
Al Poole 4dc1cdf8ce mainview: add support for the new EFL focus subsystem. 2017-10-28 20:53:30 +01:00
Al Poole ebee8283de tests: fix build on FreeBSD. 2017-10-28 13:47:54 +01:00
Al Poole 90e8426385 editor: align search and replace entries. Neater. 2017-10-24 00:51:13 +01:00
Andy Williams c9d00c0716 Fix meson tests for OS X as well 2017-10-23 12:22:48 +01:00
Andy Williams a7a6b9cb7f meson: remove exposure of lookup paths
This was a workaround for OS X which is now catered for in another patch
If we need to re-add the option for users this can be reverted
2017-10-23 00:09:14 +01:00
Marcel Hollerbach e311d58a71 meson: alternative location for apple
#ApplyIsSpecial
2017-10-22 21:08:32 +02:00
Marcel Hollerbach 39203334d4 meson: add a option where to find the clang library and header
with having them people can just specify where the clang stuff is
installed, if its not possible to find it in the default location.

This fixes a bug where clang was not found, dirs: is meant as exclusive
parameter, so if you specify there a custom directory, then only THIS
specific directory will be used for the search. This fixes also that bug
and only specifies that argument if a custom location is given.
2017-10-22 20:54:36 +02:00
Al Poole 70a5ee304b Merge branch 'master' of git+ssh://git.enlightenment.org/tools/edi 2017-10-21 23:50:09 +01:00
Al Poole 1a4533b471 build: meson, fine tweaking of meson preparation. 2017-10-21 23:49:39 +01:00
Andy Williams 1d2cf4af88 Remove old autotools build files - meson only now 2017-10-21 22:37:31 +01:00
Al Poole 8b9d3106d5 edi_main: find a consistent icon for "close" across icon themes.
tested with adwaita, elm, faenza,  breeze etc etc.
2017-10-21 14:19:40 +01:00
Al Poole 316b7db9bd edi_scm: use better gravity when loading the diff into the widget. 2017-10-21 14:09:57 +01:00
Al Poole 3ec3d476fd edi_file: replace. use a local temp directory rather than /tmp.
This is firstly more portable and also some distrbutors won't allow
us to move from /tmp (wise).
2017-10-21 14:05:13 +01:00
Al Poole bdde32ba88 edi_scm: remove bogus hack when clearing elm_code_file. 2017-10-21 01:27:19 +01:00
Andy Williams 708c53e0bc Fix versioning of meson build 2017-10-19 21:44:06 +01:00
Andy Williams ce71d3063e Update ignores of template tarballs 2017-10-19 21:43:38 +01:00
Andy Williams 1b3f52fa81 clang: Don't bail on first error
Report all errors in a file not just up to the first critical
2017-10-19 21:43:38 +01:00
Andy Williams 5523b4d449 clang: Let's load clang relative to the build commands
This fixes relative includes for meson and cmake projects.
2017-10-19 21:43:38 +01:00
Al Poole e6a0cce26a mainview: remove pointless code and guard against crash. 2017-10-19 21:41:26 +01:00
Al Poole bab76c4eef build: small fix for meson builds. 2017-10-19 00:37:28 +01:00
Andy Williams b8e9786160 build: Allow meson builds to be tested 2017-10-18 23:19:47 +01:00
Andy Williams ea7fefb8fb Run edi tests in meson 2017-10-18 23:16:50 +01:00
Jean-Philippe Andre d1ca10bec6 build: Fix build in build dir 2017-10-18 19:51:05 +09:00
Al Poole a09888c0b3 COPYING: include license information of icons taken from Faenza.
Doubt he'll read this but thanks to Mattieu James for his great icon
theme kindly licensed under the GPLv2! Using two of these icons for
template images.
2017-10-16 23:28:04 +01:00
Andy Williams 7bae93a8f8 welcome: Improve layout of project chooser
Also remove lots of hacky layout code - make it as simple as we can
2017-10-16 22:47:05 +01:00
Al Poole cf476eaee7 welcome: make _edi_welcome_user_fullname_get less complex. 2017-10-16 10:34:59 +01:00
Al Poole 4737aa611c skeletons: rearrange template/skeleton directory structure 2017-10-15 16:29:06 +01:00
Al Poole f5a236bf7d welcome: change layout, making it slightly smaller. 2017-10-15 13:50:29 +01:00
Al Poole 6ad43c2715 welcome: add visual notifcation when fields are empty.
This is quite subtle but I like it.
2017-10-14 13:26:29 +01:00
Al Poole f155a58983 welcome: Improve project creation.
Add support for additional meta data including images and
title/descriptions. Also add a new frame to the project
creation process with more descriptive choices of project type.
Layouts can change later.
2017-10-13 22:03:20 +01:00
Andy Williams 86ae8c104f build: Fix edi_build with meson to compile from scratch in one pass 2017-10-11 23:17:59 +01:00
Andy Williams 014557e0c7 l10n: latest strings from new features 2017-10-11 16:20:26 +01:00
Andy Williams 49b8b3f5b9 l10n: Update strings to remove non-translation and trailing symbols we can add in code 2017-10-11 16:16:29 +01:00
Marcel Hollerbach b7fb356e68 edi: edi_lib is not edi_lib but edi 2017-10-11 14:43:05 +02:00
Al Poole 49f1d1a53d replace: fix a typo. 2017-10-10 23:40:52 +01:00
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
Stephen Houston 3908d27b67 Fix meson build when clang headers don't exist. 2017-10-10 10:05:06 -05:00
Andy Williams bf182698be Fix meson build for non-dev libclang 2017-10-10 15:55:31 +01:00
Al Poole 53710764a9 edi_scm: fix use after free. 2017-10-08 14:57:46 +01:00
Al Poole 2a9d02fc2f libedi_scm: make sure we always change to valid directory. 2017-10-08 14:44:34 +01:00
Al Poole 7ea3ce5d84 edi_scm: sanitize titie.
This patch ensures a consistent window title when used
internally (in Edi) or externally. The title should
correspond to that Edi provides in its window title.
2017-10-08 14:34:01 +01:00
Andy Williams b586e84474 missing dirs mess up build 2017-10-06 16:00:00 +01:00
Andy Williams 09ce5493cd Fix meson issues for OSX 2017-10-06 15:49:23 +01:00
Al Poole 6fe6c805bf Revert "edi_scm: make sure we give a sensible window title."
This reverts commit 83adef96a9.
2017-10-06 15:30:14 +01:00
Al Poole 83adef96a9 edi_scm: make sure we give a sensible window title.
When using edi_scm outside of EDI it's useful to show the
toplevel of the repository as the window title.
2017-10-06 14:24:03 +01:00
Andy Williams 3421d668f0 Fixing up linux again - need a better solution for OSX as meson bails 2017-10-06 12:41:33 +01:00
Al Poole 317f5ed646 edi_scm: dont scroll on additions to elm_code_widget. 2017-10-05 10:19:01 +01:00
Andy Williams 66ef93730b filepanel: don't update status and scm etc for hidden files 2017-10-05 00:37:43 +01:00
Andy Williams 21d73fd38b And link libintl 2017-10-05 00:09:30 +01:00
Andy Williams 3cbabf0d49 Ignore build dir 2017-10-04 23:53:12 +01:00
Andy Williams dda9a59fc4 Fix clang lookup dirs on osx 2017-10-04 23:52:29 +01:00
Andy Williams 2e69a791b7 Fix build on OSX with clang but no bear 2017-10-04 23:06:27 +01:00
Al Poole 251ea96020 edi_main: don't use exit, goto and shutdown properly. 2017-10-04 16:53:28 +01:00
Marcel Hollerbach bef7238a9a meson: install AUTHORS 2017-10-03 21:45:57 +02:00
Marcel Hollerbach 56d839a31f meson: prefix need to be before that! 2017-10-03 21:45:41 +02:00
Marcel Hollerbach f0c2c4605b meson: handle also cases when the options are disabled 2017-10-03 21:33:45 +02:00
Marcel Hollerbach ac304ea2a9 time for meson! 2017-10-03 19:07:42 +02:00
Andy Williams 10d706a08c Update text for SCM changes 2017-10-03 15:22:18 +01:00
Andy Williams 2bac1157db scm_ui: Show user icon or a fallback, not both 2017-10-03 14:57:05 +01:00
Andy Williams 15a1529df0 scm: fix avatar caching memory handling 2017-10-03 14:40:10 +01:00
Andy Williams f89442047a Ignore new binary 2017-10-03 14:24:20 +01:00
Andy Williams eb6d238de6 about: Fix background alpha for changes in EFL 2017-10-03 14:24:20 +01:00
Al Poole a1be071c4c main: parsing command-line options.
Exit rather than shutdown if displaying --help or
--copyright etc.

@fix T6115
2017-10-03 14:11:50 +01:00
Al Poole 543de0a53e Revert "about: explicitly set bg colour and alpha."
This reverts commit 9ef65252ed.

This is probably hiding another issue, so reverting to its
previous state.
2017-10-02 13:25:34 +01:00
Al Poole 6e263b091e edi_scm: initalise to quieten compiler. 2017-10-01 12:40:00 +01:00
Al Poole fc855bf0bb mainview: search + search/replace popups, UI improvement. 2017-10-01 11:43:52 +01:00
Al Poole 9ef65252ed about: explicitly set bg colour and alpha. 2017-10-01 11:27:38 +01:00
Al Poole 9b5af0abfc edi_scm: fix memory leak.
If cancelling the diff while it's loading can potenitally lose
the contents of the diff buffer. This patch fixes that...
2017-09-30 23:59:33 +01:00
Al Poole 76a029a09e edi_scm: small stylistic. 2017-09-30 22:53:09 +01:00
Al Poole 16d6a44625 edi_scm: show window at appropriate time.
Avoid bogus flickering during startup.
2017-09-30 22:26:10 +01:00
Al Poole 4149ee7c52 scm_ui: make sure we clear the widget.
meh meh meh...
2017-09-30 20:56:31 +01:00
Al Poole a49931161c edi_scm: handle thread cancel and shutdown properly.
This allows to flip switches and stuff while we're rendering
and changing stuffz. So shutdown during rendering should be ok
and also we can switch between modes without spazzing out.
Thanks be to God!
2017-09-30 20:31:21 +01:00
Al Poole 9cad93b64f edi_scm: refactor code and use threads.
Refactor and use a thread so we don't lock up the UI.
2017-09-30 19:51:28 +01:00
Al Poole 12dce44812 edi_scm: rename some borrowed functions.
Fix typo also in header.
2017-09-30 13:06:58 +01:00
Al Poole fad276133a edi_scm: Monitor for changes and update when possible
Small "refactor" of the UI also to make better use of space.
2017-09-30 12:27:19 +01:00
Al Poole e623190fa3 edi_scm: pack list and commit dialogue on same line.
This gives a much wider space to display the diff output.
2017-09-30 10:05:04 +01:00
Al Poole e5aca41ad1 filepanel: simplify code by using existing method. 2017-09-30 00:28:53 +01:00
Al Poole 448b0b164d edi_scm: win title.
Sorry! Ugh
2017-09-29 22:14:01 +01:00
Al Poole 9e7999b500 scm: Actually allow for checking of scm anywhere within a git tree. 2017-09-29 22:08:24 +01:00
Al Poole 3397bc93e6 scm: header file function erroneous description. 2017-09-29 21:42:49 +01:00
Al Poole be53c4df18 scm: Create edi_scm binary for commit dialogue and use elsewhere.
This removes the existing popup code. The edi_scm executable should
run in any git tree giving the status of the repository. The Edi
UI calls this for the commit dialogue also.
2017-09-29 21:37:21 +01:00
Al Poole f66ef895b8 welcome: don't show progressbar until downloaing. 2017-09-28 22:32:23 +01:00
Al Poole b2e69bebb9 welcome: Add progressbar during retrievel of remote repository.
This gives an indicator to the user the download is in progress.
Moreover it stops the UI from freezing up with a large remote
repository.
2017-09-28 14:27:54 +01:00
Al Poole 3eadca948c edi_file: use a static buffer for the path. 2017-09-28 01:39:49 +01:00
Al Poole c826dee557 search: Add project-wide search and replace feature. 2017-09-28 01:23:18 +01:00
Al Poole 5cefe27e48 screens: scm. Stylistic changes. 2017-09-27 20:01:14 +01:00
Al Poole c75c2d817f scm: refactor scm screens.
There's absolutely zero need for a hash table here.
Refactor the scm commit screen to be more efficient and make more
sense.
2017-09-27 19:46:09 +01:00
Al Poole 8bb8e412d8 edi: escape paths 2017-09-27 19:43:40 +01:00
Al Poole e86760b802 edi: escape paths where necessary. 2017-09-27 19:42:45 +01:00
Andy Williams c03a712d83 Update TODO following release 2017-09-27 17:39:08 +01:00
Andy Williams 1daf236275 begin 0.7 devel 2017-09-26 15:40:10 +01:00
Andy Williams e2dd077ba0 change list for release 2017-09-26 15:38:37 +01:00
Andy Williams 61004b1977 Update translations 2017-09-26 15:38:24 +01:00
Andy Williams a5896c05ac Fix make dist 2017-09-26 15:36:11 +01:00
Andy Williams 2b2454a104 filepanel: fix menu icon for folders 2017-09-24 21:46:29 +01:00
Andy Williams 2933c2faf6 autosuggest: avoid lingering tab-complete suggestions
On focus out or mouse downs we invalidate the suggestion
2017-09-24 21:38:14 +01:00
Andy Williams 75afcf4be8 snippet: fix indentation of inserted lines 2017-09-24 21:38:01 +01:00
Al Poole 141ffff9f9 exe: fix cleanup on FreeBSD of ecore_con_server/clients. 2017-09-24 11:30:55 +01:00
Al Poole 986bae6eb4 filepanel: make dir menu behave as file menu does. 2017-09-22 15:17:39 +01:00
Al Poole e4704ed0ba filepanel: make dialogues more informative. 2017-09-22 15:07:23 +01:00
Andy Williams ef18a26ddc filepanel: Make the filename in menu informational 2017-09-22 12:27:40 +01:00
Andy Williams ba8dd2becf snippet: add some python snippets 2017-09-22 11:58:29 +01:00
Andy Williams f1643f08ef autosuggest: Add safety for optional language features
@fix crash with rust editor
2017-09-22 10:28:50 +01:00
Andy Williams eed2ae8328 about: fix layout of AUTHORS content in about 2017-09-21 22:15:37 +01:00
Al Poole 376d4c5752 screens: scm. only show staged changes. 2017-09-21 20:46:17 +01:00
Andy Williams 1c14989ccd create: Escape single quotes in project and user name
@fix T6044
2017-09-21 20:29:19 +01:00
Andy Williams efb4793a10 disable broken tests - need to move from including C code!!! 2017-09-21 20:29:19 +01:00
Al Poole d8e0087b6f scm: use relative path not absolute.
This is also faster.
2017-09-21 20:26:13 +01:00
Al Poole 4edd09cc59 screens: scm, remove unnecessary hash clear.
Small stylistic change also.
2017-09-21 20:09:48 +01:00
Al Poole 89dfc351bf scm screens: select text when staged changes made.
Another aspect of making the entry more user-friendly.
2017-09-21 14:51:54 +01:00
Al Poole d85bc57a49 Merge Andy's fix 2017-09-21 14:16:06 +01:00
Al Poole 2e045c0a43 screeens: scm. Replace list with genlist and make commit entry more usable.
The original elm_list_ would segv if there were many hundreds of items, so
redone with a genlist. Also the entry for commit message is less of a pain
as it was.
2017-09-21 14:13:41 +01:00
Andy Williams add0d7f6c4 autosuggest: veto tab propagation for all inserts 2017-09-21 12:29:57 +01:00
Al Poole ce824635fd edi_main: use proper method to disable menu items. 2017-09-21 09:11:18 +01:00
Al Poole 757414ef86 exe: add header.
Tested on another machine, include is necessary.
2017-09-21 00:59:34 +01:00
Al Poole d6b38524b9 edi_exe: fix bad bugs.
Make sure we're handling the right process. Also clean-up the
sockets manually. Also make sure we actually do ninja's
clean, otherwise we might be waiting for a long time.
2017-09-21 00:54:01 +01:00
Andy Williams 02525fe8ad autosuggest: speed up suggeestions
cache the list and refresh when we re-parse...
2017-09-20 22:11:43 +01:00
Andy Williams e03f234573 autosuggest: Show first match for tab completion
Displays a hover that shows the match - and you can click it too.

Closes T5902
@feature
2017-09-20 22:11:43 +01:00
Al Poole 002ab279dd filepanel: do allow focus, else this causes problems. 2017-09-20 18:41:05 +01:00
Al Poole 647d866bba Build: make build proces more robust.
Use a different socket address for each type. Also add some
UI indicators when a build is in progress.
2017-09-20 16:47:30 +01:00
Al Poole d08e50b4b0 filepanel: add filename to the root of the filepanel menus. 2017-09-19 22:20:59 +01:00
Al Poole 959e2435e0 notify: less text is more.
Trim the notification text. Some unnecessary stuff there.
2017-09-19 20:34:15 +01:00
Al Poole e528a3c8bc build: fix race-condition.
Use a global variable to keep track of builds. Both
edi_exe_notify/handle could and should be done
better. For now this stops an issue.
2017-09-19 20:16:32 +01:00
Al Poole bcd9c85741 stash: fix bug missed. make sure to update all items on stash. 2017-09-19 14:38:23 +01:00
Al Poole a53d3c0765 screens: scm popup align icons. 2017-09-19 14:16:10 +01:00
Al Poole 20633f5f12 filepanel: 100% ontinuity.
Sorry.
2017-09-19 12:11:04 +01:00
Al Poole 9c4264d22a filepanel: 99% consistent icons 2017-09-19 11:50:59 +01:00
Al Poole ba3111903f screens: scm fix icons 2017-09-19 11:40:02 +01:00
Al Poole faac98d51f scm status: filepanel and commit screen.
Use icons only and tooltips for additional information.
2017-09-19 11:29:25 +01:00
Al Poole 1a6be5b94d screens: scm. update label to be more sensible. 2017-09-19 00:28:46 +01:00
Al Poole 76532d799f filepanel: add icon statuses.
Fix scm to avoid race-condition. Also get rid of the custom
text as it's too much. Two icons, one for states and one for
staged (visible if not staged).
2017-09-19 00:18:46 +01:00
Al Poole 5bdce73a1d Revert "filepanel: update on contract."
This reverts commit 89fb7524c8.
2017-09-18 09:40:42 +01:00
Al Poole 89fb7524c8 filepanel: update on contract. 2017-09-18 09:34:24 +01:00
Al Poole 47ab991da9 filepanel: don't duplicate unnecessary code and no need to memcpy.
This is a small logic change that should be more efficient also.
2017-09-17 20:28:50 +01:00
Al Poole bdec0fceb6 filepanel: move function for clarity.
Moves a function to keep related content related. Also small
stylistic changes.
2017-09-17 19:46:07 +01:00
Al Poole d54d156cd3 scm: reimplement support for file listing file status.
This method is far more efficient and works well with large
software trees. e.g. enlightenment.git.
2017-09-17 16:34:35 +01:00
Al Poole 15c19acf1a filepanel: remove uneccessary methods. 2017-09-16 22:30:29 +01:00
Al Poole c48220d61e filepanel: Bad indentation. 2017-09-16 22:15:54 +01:00
Al Poole ce81684f30 scm: undo the filepanel scm status far too slow.
Didn't test this with large projects, it needs to be redone.
Probably causing issues so undoing the badness.
Sorry!
2017-09-16 22:14:08 +01:00
Al Poole 2c42965b15 scm: fix init.
Make sure we actually init and also upon init update the
file list and initialise the local engine.
2017-09-16 20:41:46 +01:00
Al Poole 59a0ec1bae scm: add support for file listing file status.
Add support for file listing status. Also some refactoring.
More to do, more testing first.
2017-09-16 01:19:54 +01:00
Al Poole a446d3a8d1 popup: more UI tweaks. 2017-09-13 00:09:12 +01:00
Al Poole 02a1872365 popups: more UI tweaks. 2017-09-13 00:05:56 +01:00
Al Poole 332b5e1c55 debugpanel: previous commit typo.
ugh sorry!
2017-09-12 16:27:03 +01:00
Al Poole 6770e8c022 debugpanel: add useful comment.
The code looks wrong but it isn't, this comment explains why.
2017-09-12 16:25:44 +01:00
Al Poole cff2817907 scm: fix loss of last line.
oops!
2017-09-12 16:18:57 +01:00
Al Poole d694160d13 scm: add elm code widget for diff in commit screen.
Use a proper widget with lovely formatting.
2017-09-12 10:19:34 +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 86731ea849 screens: slight UI improvement to scm commit popup. 2017-09-11 17:33:20 +01:00
Al Poole 4b12a5a1ae scm: add method to get diff of changes in SCM repository.
Add method to obtain the diff of changes and also add this to the
commit screen. There is also some minor UI tweaks included in
this commit, though related to methods modified.
2017-09-11 16:27:40 +01:00
Al Poole 64648b87f5 edi_exe: don't send data if socket connect fails.
May be a use case where we don't send data indicative of
exit status.
2017-09-09 16:16:47 +01:00
Al Poole 2fcd434e3c edi_exe: Don't use global variables.
Globals are unnecessary here.
2017-09-09 11:19:51 +01:00
Al Poole 84a515ce87 build: status. MOre verbose notfication title.
Add status to the title of the notification also.
2017-09-08 11:04:45 +01:00
Al Poole b19befd089 edi_exe: modify method to allow additional data parameter.
This adds an additional pointer for abritrary data. Have utilised
this to make the notidy on build more verbose without code
duplication.
2017-09-08 00:16:10 +01:00
Andy Williams 7bb4a7cc24 syntax: Fix python syntax by adding a basic provider 2017-09-07 21:00:31 +01:00
Al Poole d259a776a9 editor: background file changes. Fix editor reload on background file change. 2017-09-07 14:54:50 +01:00
Al Poole 9be1db4858 build: Add status detection of all build types.
This adds tracking of other build types and their exit status and
allows us to use desktop notification for these also. Also cleaned
up some unnecessary cleanup code.
2017-09-06 13:08:02 +01:00
Al Poole b8642ab63c main: show console panel before we start the build process.
Show the console panel before the build process begins.
2017-09-05 16:13:05 +01:00
Al Poole 7e9f33a635 exe: Add methods to handle async shell execution and acting on exit status.
This adds two methods for handling executing shells async. The notification
has been reworked to use this method so there is less blocking. A callback
can be passed to the handler method for various actions on the exit status
of the script execution.
2017-09-05 15:58:00 +01:00
Al Poole 5aba714f90 build: Add support for tracking build process exit code and add notification.
This patch adds tracking of the build process's status code. This allows us
to respond to the build process within the program much easier. Also added
a simple API for desktop notification of the build process and its exit code
which is useful and pretty.
2017-09-04 20:52:34 +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 482c7b0946 screens: move popup creation to screens.
This is a small refactor of a generic information popup.
2017-09-02 11:20:49 +01:00
Al Poole 8175b007e5 main: change "split" option to "new panel"
Rename the callback and menu item to be more appropriate for its
current behaviour.
2017-09-02 10:27:10 +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 6ee65ae7dc filepanel: Add documentation for new method.
Adds new documentation and improves existing.
2017-09-01 20:40:02 +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 fb6bd4a322 welcome: center file selector window when opening existing project.
This patch will center the window over the existing dialogue in
the same region of the screen. Neater and more intuitive.
2017-09-01 14:11:35 +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 d4d8d4fb91 edi_scm: make sure we always delete the file if it is untracked.
Summary:
there are times when new files are difficult to delete without adding commiting and removing etc.
this should stop that.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5120
2017-08-28 14:02:45 +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
Andy Williams 26f65e4167 build: fall back to make don't try it first.
Other providers have far more specific requirements
2017-08-18 15:37:07 +01:00
Al Poole f962b5ff2e fdo icons: install in correct location.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5111
2017-08-18 15:31:37 +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 27a7ce8688 Use EFL release 2017-08-09 12:28:42 +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
Andy Williams dcd611c31f filepanel: reorder menu 2017-07-25 22:52:39 +01:00
Al Poole d9fccf5860 filepanel: Add proper icon for "open in new pane".
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5041
2017-07-25 22:47:31 +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 fae8350ea1 settings: fix graphical glitch on smaller screens 2017-07-24 23:35:30 +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 5cc9033fb2 update feature list 2017-07-24 13:23:34 +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
Al Poole 24f9dc79fa search: fix segv on wrap!
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5032
2017-07-22 18:35:13 +01:00
Al Poole e4aaffb9d4 screens: add confirmation dialogue to screens.
Summary: Also add some uses of this method on scm stash and file deletion.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D5028
2017-07-16 20:00:46 +01:00
Andy Williams be2e8af7b4 Fix tests check / defaults 2017-07-16 00:07:43 +01:00
Jean-Philippe Andre 9a5eb35e60 build: Add crude meson/ninja support
This only uses "build" as build folder. Very simplistic.
2017-07-11 19:04:01 +09:00
Al Poole 5bba0073ed editor: replace refactor to coincide with search optimisations.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Tags: #edi

Differential Revision: https://phab.enlightenment.org/D5003
2017-07-08 22:05:16 +01:00
Andy Williams e0b97f680c Update news file with recent changes 2017-07-07 03:16:55 +01:00
Andy Williams ad09746452 tests: we removed c++ syntax - don't test for it 2017-07-07 03:16:43 +01:00
Andy Williams ddce7ca448 search: Reset search highlights on cancel
Also fix the highlighting of all matches on a line
2017-07-05 22:02:38 +01:00
Andy Williams 5181c2219e search: highlight each found search result 2017-07-05 21:42:48 +01:00
Andy Williams ee5bb1a4a7 ui: Remove duplicate code from menu fix 2017-07-05 21:04:38 +01:00
Andy Williams 405f93efe1 build: Add support for cargo based rust projects
In the process we needed to define if a project can be run...
Python and rust can always be run as they will build their binaries
whereas make and cmake need to be configured etc...
2017-07-05 20:51:38 +01:00
Jean-Philippe Andre 3caa121b12 main: Fix some invalid API usages
1. toolbar items are not objects
2. main menu should not be manually packed, it's handled by the
   window itself
3. show last is recommended, rather than show + add subobjects,
   especially for a window (note: i hate this in principle)
2017-07-04 18:36:07 +09:00
Jean-Philippe Andre 4ee5f05982 Revert "menu: hide by default until we can fix elm menu calcs"
This reverts commit 863b3d7ab3.
2017-07-04 15:00:16 +09:00
Al Poole 2924b323f6 edi_screens_scm: convert markup to utf8 for commit message.
Summary: Do conversion and optimize string len check.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4993
2017-06-29 23:53:25 +01:00
Andy Williams a8d62ded23 ui: Use correct icon naming for FDO arrows 2017-06-29 21:25:26 +00:00
Andy Williams a34a71f8f6 config: Correct project name comparison for substrings 2017-06-29 21:18:15 +00:00
Andy Williams 09da41eb8e debug: remove warning on OSX 2017-06-28 20:35:36 +01:00
Andy Williams 2fc7a9a309 debug: Fix libtool command for OSX 2017-06-28 20:35:36 +01:00
Al Poole 4c4ec6e21b debugpanel: fix debug process.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: bu5hm4n

Differential Revision: https://phab.enlightenment.org/D4987
2017-06-28 19:43:27 +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
Andy Williams 33b09484a0 make: use our CPU count to speed up build 2017-06-25 16:56:57 +01:00
Al Poole 650dd308d0 debugpanel: fix segv if "make clean" has removed debug executable.
Summary:
Didn't really want to add any more dialogues without discussing properly with
Andy. For now this stops a potential crash.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4984
2017-06-25 11:45:58 +01:00
Al Poole 6f4113bcac debugpanel: fix OSX and add OpenBSD support.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4893
2017-06-25 09:39:31 +01:00
Andy Williams c608163e31 Merge build fixes from 'arcpatch-D4917' 2017-06-25 09:17:16 +01:00
YeongJong Lee 792ca745e7 Fix build warning
Summary: Add some error log

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4917
2017-06-25 08:54:30 +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
Al Poole 197c3dee2b searchpanel/tasks: ignore further extensions.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4975
2017-06-18 22:55:19 +01:00
Al Poole dd99772905 toolbar bottom: make panel tabs easier to read.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4974
2017-06-18 22:53:43 +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 43a036a632 screens: scm_commit, add scroller to list widget for commit popup.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4977
2017-06-18 21:42:55 +01:00
Andy Williams 6c714d19da ui: don't allow menu to be added more than once
This enu handling is just temporary but shouldn't be buggy :)
2017-06-18 19:18:21 +01:00
Al Poole a232dccaba edi_scm: add support to add status of changes to the commit dialogue.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4959
2017-06-17 13:04:52 +01:00
Andy Williams 863b3d7ab3 menu: hide by default until we can fix elm menu calcs
You can show it with alt-f
2017-06-16 14:25:23 +01:00
Andy Williams cd4e83b9b2 editor: Record undo for autosuggest insertions 2017-06-16 12:52:48 +01:00
Andy Williams 03053cad15 taskpanel: Better ignore files that are not relevant
Also improve layout slightly by aligning line starts better
2017-06-16 12:52:48 +01:00
Al Poole d8fbfb621a menu: revert hack for when the ELM panel/menu issue is resolved upstream in EFL.
Test Plan: Wait for fix in EFL, then open the application with this patch.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: jpeg

Differential Revision: https://phab.enlightenment.org/D4845
2017-06-16 12:48:38 +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 ca83101e61 debug: Fix up exe_free usage as it is not needed for pipe_run calls 2017-06-11 18:51:13 -07:00
Andy Williams 208dc9ed2f console: Jump to column on click when available in errors 2017-06-09 10:36:52 -07:00
Andy Williams 19c62faa48 console: Fix error highlighting for builds
Also avoid potential crash on non-gnu systems
2017-06-09 10:36:09 -07:00
Andy Williams 31d2d30980 welcome: Add support to clone a project from the welcome screen
Also re-lay it out a little to be clearer :)
2017-06-08 23:13:02 -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
Andy Williams 294e2d4000 welcome: Tidy up our display and add button icons 2017-06-08 13:53:53 -07:00
Al Poole c115f95cd2 settings: project panel - make entry widgets inset.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Tags: #edi

Differential Revision: https://phab.enlightenment.org/D4948
2017-06-08 13:53:31 -07:00
Andy Williams 784236a787 Update to changed EFL setup for frame titles 2017-06-08 12:25:31 -07:00
Andy Williams d9ee932d7e scm: Adding avatars to commit dialog 2017-06-08 12:15:24 -07:00
Andy Williams daadcea243 scm: OK avatars working now :) 2017-06-08 12:15:05 -07:00
Andy Williams 3b490a6508 scm: Improving stability of avatar rendering.
Difficult as on OS X the ecore_file_download appears to be crashing intermittently
2017-06-08 11:59:41 -07:00
Al Poole 6b8996de01 about: linux to unix wording in about.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4942
2017-06-07 22:39:35 -07:00
Andy Williams f7d2a85044 scm: Add avatar to commit window
But it's crashing and I can't figure why
2017-06-07 22:38:21 -07:00
Andy Williams 5d0c634209 scm: Add a nicer commit screen saying who you are committing as
Also a bit more space for typing :)
2017-06-07 14:32:38 -07:00
Andy Williams b257e81955 scm: Fix naming and hide implementation details
Also don't set credentials for push - only needed for commit
2017-06-07 14:32:10 -07:00
Andy Williams 9cf9fa415c scm: make remote adding not overwrite previous remotes
Also set upstream tracking by default not fixing retrospectively
2017-06-06 19:23:40 -07:00
Andy Williams 38e971647c scm: Update settings screen to be a little smoother
Hide when there is no scm detected for the current project.
Add to news :)
2017-06-06 18:54:03 -07:00
Andy Williams e69cdf44d1 scm: add safety in code and in git branching
We assume origin is the name of our remote in some places so must
do so everywhere - otherwise we can overwrite the wrong remote
2017-06-06 18:11: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 c8958cb4e1 welcome: fix initial project selection issue.
Updated from original patch by ajwillia.ms.

Reviewers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4939
2017-06-06 05:55:54 +01:00
Andrew Williams 528d3aa665 exe: capture command output to console 2017-06-04 16:41:13 +01:00
Davide Andreoli 6180bf1acf python skeleton: added FDO stuff
.desktop and icons
2017-06-02 09:51:46 +02:00
Andy Williams 7f39682980 exe: add a helper for exe waiting 2017-05-30 23:30:39 +01:00
Al Poole 37759291c5 edi_file_screens: refactor UI create/rm/rdir and add directory and file renaming method.
Summary: Add this to the filepanel menus also.

Reviewers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4920
2017-05-30 08:32:58 +01:00
Davide Andreoli 4614a105aa Improve the python build provider 2017-05-29 22:02:47 +02:00
Davide Andreoli 2fb3280d07 Added a python project skeleton
The provided app is identical to the C skeleton (just a window and a label)

Is still a bit minimal, but all the basic functions are implemented:
./setup.py check
./setup.py build
./setup.py run
./setup.py install / uninstall
./setup.py clean --all

Later I will extend the skeleton to support:
* gettext translations
* FDO stuff installation (.desktop and icons)
* Edje theme building
2017-05-29 21:37:37 +02:00
Andy Williams 06954e00ef create: Allow detection of skeletons of different type.
In input ask user to choose which skeleton to use.
Thanks for the contribution davemds
2017-05-28 21:24:24 +01:00
Andy Williams 0bc52e975e cmdline: Fix create for out-of-project creation 2017-05-28 19:09:35 +01:00
YeongJong Lee 6239499fed autosuggest: Refactor suggest list show function
Summary:
1. Fix wrong location of suggest list
2. Remove duplicated function
3. Add return condition

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4918
2017-05-28 19:00:30 +01:00
Al Poole eaa3781e52 filepanel: add menu for filepanel when no file is clicked.
Summary:
Opens a suitable menu for the root directory if right-click
is not focussed on an item.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4911
2017-05-26 22:20:38 +01:00
Andy Williams bdc54334da Merge branch 'edi-0.5' 2017-05-26 22:07:30 +01:00
Andy Williams bfab2aa95d Releasing 0.5.1 with latest efl fixes 2017-05-26 21:38:34 +01:00
Al Poole 72c28938c6 provider: add fallback for text-based mimetypes.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4892
2017-05-26 21:34:30 +01:00
Andy Williams 94a0923e29 build: Fix python project detection 2017-05-26 21:34:16 +01:00
Andy Williams 460c7008e4 cmdline: don't try to open unknown file types
Display a warning and exit - fixes T5480
@fix
2017-05-26 21:33:41 +01:00
Al Poole 9ffa9bccb2 EDI -> Save -> Menu/Toolbar Indicator (w/o autosave)
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4819
2017-05-26 12:32:04 +01:00
Al Poole a9853b2b62 build_provider: add support for BSD using GNU make.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4909
2017-05-26 12:29:21 +01:00
Al Poole f9dd418252 skeleton: Add header to empty files to get proper mimetype discovery.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4913
2017-05-26 12:24:25 +01:00
Al Poole 11fa36b145 provider: add fallback for text-based mimetypes.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4892
2017-05-21 23:23:18 +01:00
Andy Williams 2d86f50a26 build: Fix python project detection 2017-05-16 22:43:39 +01:00
Andy Williams 186e44f071 editor: With EFL fixes we can have multiline snippets 2017-05-16 22:43:21 +01:00
Al Poole 493145b8e4 language_provider: quiten compiler if no LIBCLANG
Test Plan: Build, see the warnings dissapear

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4884
2017-05-15 21:11:34 +01:00
Andy Williams 3296f9fdd2 Actually we only need the next EFL point release :) 2017-05-14 22:13:02 +01: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
Andy Williams 19c48c6cdc editor: Initial work in snippet support
Not really multiline yet but it's a start
2017-05-14 17:56:00 +01:00
Andy Williams feb1fc18e7 whitespace 2017-05-14 17:55:31 +01:00
Andy Williams 6e4b022575 search: ignore more binary files 2017-05-14 17:53:44 +01:00
Andy Williams f0922990c6 search: ignore more binary file types in project search 2017-05-13 23:31:20 +01:00
Andy Williams c37c23068c cmdline: don't try to open unknown file types
Display a warning and exit - fixes T5480
@fix
2017-05-13 23:29:46 +01:00
Al Poole f274063917 debugpanel: automatically run gdb according to project type. libtool/generic.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4852
2017-05-10 06:48:01 +01:00
Al Poole 19971b006a filepanel: when opening as different file type, close first then open to ensure the file is instantly accessible as text or code (editing).w
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4844
2017-05-03 21:44:04 +01:00
Al Poole a46e32046f debugpanel: OSX uses different struct kp_proc layout. Adjust for that.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4846
2017-05-03 21:01:01 +01:00
Al Poole e62a297610 debugpanel: update icons if process is resumed from the "console"
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4843
2017-05-02 22:03:23 +01:00
Al Poole 11f6f5871e debugpanel : Use correct system process state naming for 4.4BSD derivatives and Linux.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4841
2017-05-02 21:16:36 +01:00
Andy Williams 58835faa97 metadata 2017-05-02 20:47:49 +01:00
Al Poole a9b146da75 EDI -> Debugpanel -> Debug Process States/Signals -> Linux, OSX and FreeBSD et. al.
Summary:
Adds support for Linux, BSD and OSX for processing debug process states and signals.

With debugger icons can start and stop the process with signals. Icon also changes to indicate the process state.

Also removes the FIXME elm_code_fire bogus hack.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4832
2017-05-02 20:45:15 +01:00
Al Poole 415ab788da EDI -> DEBUGPANEL -> GDB INTEGRATION -> START
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: bu5hm4n, ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4822
2017-04-28 22:04:39 +01:00
Andy Williams cfe08f0756 refactoring for re-use 2017-04-28 21:16:47 +01:00
Andy Williams 64e8a3d703 Merge branch 'edi-0.5' 2017-04-28 20:15:35 +01:00
Andy Williams 35f6df6309 Use correct future API 2017-04-26 19:27:32 +01:00
Andy Williams 4e39afb6db Fix issue where replaced items could not be undone.
Note that this needs a not-yet-released efl change ;)
2017-04-26 18:37:39 +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 a82062d6e6 Correctly ship the language C provider 2017-04-14 16:37:28 +01:00
Andy Williams 544e63e573 Update to EFL release 2017-04-14 16:31:02 +01:00
Andy Williams d354d5197e Prep for 0.5 release 2017-04-14 16:30:38 +01:00
Al Poole e3459cb526 EDI -> Main Menu -> Open Project (No tabs) -> Dancing window on Start Weirdness Fix
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4778
2017-04-09 11:43:24 +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
Andy Williams 67709ae536 searchpanel: Update render to give more space for results
Decouple the parsing from render a little bit more
2017-04-05 21:57:06 +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
Andy Williams 842fc7a530 disable broken tests - figure out why later 2017-04-03 22:26:49 +01:00
Al Poole b61cffad6c EDI -> Welcome -> New Project -> Fix (OpenBSD)
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4756
2017-03-31 21:36:25 +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 4e3ff8f702 filepanel: use data object to avoid file lookups
Save memory and save isdir lookups all over
2017-03-30 22:28:35 +01:00
Al Poole 95f43adaec Move File/Dir Creation to edi_file.c/h
Summary: Also add options to menus

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Tags: #edi

Differential Revision: https://phab.enlightenment.org/D4750
2017-03-27 22:04:41 +01:00
Andy Williams 6cf426e24a filepanel: Update directory context after refactoring 2017-03-27 21:57:44 +01:00
Al Poole 0549f5be36 Add optional menu for directories in file view.
Summary:
Option is "Open terminal here"
also, if directory is empty:
	"Remove the directory"

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4748
2017-03-26 21:24:20 +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
Andy Williams 94aa750306 Add item to TODO 2017-03-25 22:49:47 +00:00
Al Poole 04c06302d0 Fix SEGV on right click of file browser that is empty!
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4744
2017-03-25 22:20:21 +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
Al Poole 2c2fca6d82 Fix not catching reload of files outside of program.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4733
2017-03-24 17:52:32 +00:00
Al Poole c3bf4d86aa Mostly working...
Summary:
Problems occur when you change the search term and then
it wraps around...

Test Plan: Blast it!

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4724
2017-03-23 23:58:55 +00:00
Al Poole f8d72f91e6 Center the welcome window on start
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4731
2017-03-23 23:21:38 +00:00
Al Poole ae73791f78 Fix SEGV on shutdown with main window and project open...
Reviewers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4725
2017-03-21 22:47:58 +00:00
Andy Williams 77eb19ce4f search: Show a notification that we wrapped search 2017-03-19 13:18:23 +00:00
Andy Williams 020f9ab3d7 fix whitespace 2017-03-19 12:50:32 +00:00
Andy Williams 92062043a4 search: Fix off by one/utf8 issues in replace 2017-03-19 12:50:07 +00:00
Al Poole 4315743706 @fix for T1852
Summary: Search should wrap around.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4722
2017-03-18 22:48:32 +00:00
Andy Williams ab2a02f9b5 Update TODO for milestone 2 2017-03-18 11:02:26 +00:00
Andy Williams c89a211a94 syntax: trigger eolian highlighting 2017-03-04 15:43:04 +00:00
Stephen 'Okra' Houston 05ee192b98 Edi: Add double click expand/contract support on the file panel. 2017-03-03 18:08:40 -06:00
Andy Williams 6acdf609d4 Fix configure for bear-less machines 2017-02-27 21:54:20 +00:00
Andy Williams 9a3aa2ec55 hint that bear is not needed for cmake 2017-02-19 22:27:31 +00:00
Andy Williams 0483196de4 clang: Update clang command database to support cmake too 2017-02-19 22:25:12 +00:00
Andy Williams 32b6169e0d Centralise some more path handling methods 2017-02-19 16:22:53 +00:00
Andy Williams 784c6c4917 clang: re-scan after save to get latest changes.
Slightly behind the cursor but better for the cache. Removes need to pass unsaved file
2017-02-18 23:06:06 +00:00
Andy Williams b5c061bc4d build: Split make from cmake so we can specialise better 2017-02-18 22:19:17 +00:00
Andy Williams 7735a90cc0 clang: Generate compile_commands.json using cmake builtin 2017-02-18 21:58:56 +00:00
Andy Williams f89f1bb0c6 clang: Add support for compile command databases
Relies on having bear (https://github.com/rizsotto/Bear).
Also refactor clang code to only have 1 instance per tab.
2017-02-17 22:49:27 +00:00
Andy Williams 25d5c6b7e6 cmdline: Add a little user feedback 2017-02-10 00:13:55 +00:00
Andy Williams a053bb9757 build: add trivial python project support 2017-02-07 00:05:06 +00:00
Andy Williams 011746c6cf Update TODO based on latest EFL 2017-02-02 18:32:55 +00:00
Andy Williams 13c7c1fcab syntax: Still ask clang to highlight preprocessor/macros 2017-01-31 20:09:02 +00:00
Andy Williams fd6584f8b6 filepanel: remove unneeded vars 2017-01-31 18:46:19 +00:00
Andy Williams 9631552eaa filepanel: Don't apply filter to folders
This way we can browse around looking for matching files :)
2017-01-31 18:44:58 +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
YeongJong Lee b73f04cba3 filepanel: fix bug that unable to expand again
Summary:
When directory is contracted, hash data still remained.
In order to expand again, it is needed to delete hash data of subitems when contracted

Test Plan:
1. Open project.
2. Expand directory
3. Contract directory
4. Expand directory again
5. check that works fine

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4634
2017-01-31 07:41:39 +00:00
Andy Williams 378d4c763f filepanel: Fix file duplication bug.
Update of the UI was too slow to keep up with filesystem changes.
Introduce a new hash to mirror what is pending realisation.
Also fixes file filtering bug :)
@fix
2017-01-29 13:05:18 +00:00
Andy Williams bc3ef23a3d EFL fixes make this not needed 2017-01-28 13:00:10 +00:00
Andy Williams b85f66f14a search: Fix multiple search and bringing offscreen matches in 2017-01-22 09:56:44 +00:00
Andy Williams 8f4e7548b6 editor: Use elm_code for most of our syntax now.
This means realtime syntax and we can use clang for lookups
ad error prompts etc.
2017-01-21 16:02:33 +00:00
Andy Williams 2927f71dcf filepanel: Hide standard hidden files 2017-01-15 22:03:46 +00:00
YeongJong Lee 1c3474245a autosuggest: Fix segment fault when type long word
Summary:
It need a space more for adding a charater.
e.g. line 434..

Test Plan:
1. open suggest list in code file using <Ctrl> + <Space>.
2. type some long word.
e.g. 'evas_object_smart_callback_add'
3. Check there is no segment fault.

Reviewers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4562
2017-01-13 11:45:39 +00:00
Andy Williams 63e6376697 editor: Display mime type description
If the language provider exists and can describe it :)
2017-01-12 13:08:50 +00:00
Andy Williams 2a82fedcb1 suggest: Move to a language provider
This means we can add great new stuff in a (nearly) pluggable way
2017-01-11 18:00:33 +00:00
Andy Williams e6feb19a30 suggest: Move documentaton lookup to suggeest provider
Trying to get all the clang code out of edi_editor
and into suggest_provider_c :)
2017-01-11 14:23:15 +00:00
Andy Williams 068949a25a suggest: Simplify sugggest API
Moving to a language provider so fewer entry points if possible
2017-01-11 12:48:28 +00:00
Andy Williams 14498afdaa config: Store relative paths for open files
Avoid problems with moving project
or having multiple copies of the same codebase!
2017-01-02 21:19:55 +00:00
Andy Williams 1b2ee9a372 elm_code: update for latest elm init 2017-01-02 14:39:58 +00:00
YeongJong Lee 73d8670247 autosuggest: Fix position when the suggest list is hidden.
Summary: Remove some unnecessary function.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4539
2017-01-01 14:26:57 +00:00
YeongJong Lee 76d00512f5 update AUTHORS.
Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4523
2016-12-29 18:10:23 +00:00
Andy Williams aef5bb8fef documentation: correct size for scaled displays 2016-12-28 23:36:22 +00:00
YeongJong Lee e4af7c18a9 editor_doc: Add documentation finding support using libclang
Summary:
<Ctrl> + <R_Click> opens document. This find doxygen comment using libclang and
dump each tags.
Now, it just support functions.

Test Plan:
1. Open document using <Ctrl> + <R_Click>.
2. Check that the document is correct.

Reviewers: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4522
2016-12-28 23:35:08 +00:00
Andy Williams 6574098205 elm_code: Update to new API signature 2016-12-27 22:17:30 +00:00
Andy Williams 16e34cfbdf we depend on elementary in git again 2016-12-27 20:16:40 +00:00
Andy Williams 53e7419009 autosuggest: add tests to clang suggest provider
A small refactor became obvious because the lookup is not really
using the curword passed in - we want all options then filter later!
2016-12-27 13:26:38 +00:00
Andy Williams c5a4aafe4d build: Fix some issues with the build output 2016-12-26 18:35:36 +00:00
Andy Williams 5d104b38f2 filepanel: correctly look up files within their dir
Avoid duplication even when multiple files have the same name
2016-12-26 18:34:44 +00:00
Andy Williams 65dc251098 ui: When tests are running show the build results first
As soon as test results appear then show the test panel
2016-12-26 18:33:16 +00:00
Andy Williams 49b55e838e autosuggest: refactor to split clang suggest code from editor
Make room for other suggest providers too
2016-12-24 23:31:29 +00:00
Andy Williams 9cef5db6c5 autosuggest: Move formatting to 1 place
Also correctly handle fonts with spaces
@fix
2016-12-23 22:56:55 +00:00
YeongJong Lee f9b8129724 autosuggest: One editor has one suggest evas object
Summary:
Remove unnecessary global variable.

This commit also fix bug that using autosuggest(<Ctrl> + <Space>) occurs
segment fault in non-code file.

Test Plan:
1. Run Edi.
2. Open project.
3. Open non-code file (e.g. README).
4. Call suggest list using <Ctrl> + <Space>.
5. Check that there is not segment fault.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4509
2016-12-23 10:07:03 +00:00
Andy Williams 0bc9f3dc1d editor: cleanup methods a little 2016-12-22 10:59:36 +00:00
Andy Williams 04d86d3250 don't crash on invalid lines 2016-12-22 10:56:53 +00:00
YeongJong Lee 0866448895 autosuggest: Support detail of suggest
Summary: The suggest list shows detail of suggest.(return type and parameter)

Test Plan:
1. Run edi.
2. Open project.
3. Open suggest list using <ctrl> + <space>.
4. Check that The detail of suggest is correct.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4505
2016-12-22 10:50:59 +00:00
YeongJong Lee 284c7ff3ca autosuggest: Change the variable name from 'autocomplete' to 'suggest' for readability.
Summary:
Change the variable name from 'autocomplete' to 'suggest'.
Because 'autocomplete' is too long.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4496
2016-12-19 23:26:26 +00:00
YeongJong Lee 21ae2bfebd filelist: Check that the filelist has same file before insertion.
Summary:
'elm_code_file_save' emit EIO_MONITOR_FILE_CREATED event.
It occurs filelist duplication.
So Check that the filelist has same file before insertion.

Test Plan:
1. Run Edi.
2. Open project.
3. Edit a file.
4. Save the file.
5. Check that the filelist doesn't have same file.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4497
2016-12-19 23:15:54 +00:00
Andy Williams d24ded8b5a editor: grab keys that should not feed down to elm_code 2016-12-17 13:16:18 +00:00
Andy Williams a112dcad9e autosuggest: properly guard the clang variables 2016-12-17 12:31:36 +00:00
YeongJong Lee 8d82796fa1 autocomplete: fix screen flicker when use autocomplete
Summary: Remove file save function when initialize clang.

Test Plan: Check that the screen is not blinking when use autocomplete.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4486
2016-12-16 22:06:49 +00:00
YeongJong Lee 9d128bdb40 autocomplete: Refresh candidate list when typing.
Summary:
if you start typing when candidate list is shown,
the list refresh immediately.

Test Plan:
1. Run edi.
2. Open project.
3. Open candidate list using <ctrl> + <space>.
4. Continue typing.
5. Check the candidate list is correct.

Reviewers: bu5hm4n, ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4478
2016-12-13 07:42:36 +00:00
Andy Williams 3f76c4d290 elm_code: update parameter order 2016-12-12 08:30:59 +00:00
Andy Williams efd56cf918 fix typo in patch 2016-12-12 00:24:51 +00:00
YeongJong Lee ebc07e85e0 autocomplete: Add code autocomplete using clang
Summary:
Pressing shortcut(<ctrl> + <space>) while editing the code show
the list of suggestions.

This support variable, function, struct member.. etc.
It is simple version, so it show just function name without parameter, return type.

Test Plan:
1. Run edi.
2. Open project.
3. Press shortcut(<ctrl> + <space>) while editing the code.
4. Check that the list of suggestions are correct.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Subscribers: bu5hm4n

Differential Revision: https://phab.enlightenment.org/D4476
2016-12-12 00:23:22 +00:00
Jean-Philippe Andre 886b6356bd editor: Fix crash when resizing without any code open 2016-11-30 15:34:34 +09:00
Andy Williams 65cda5ee4d fix extension lookup so we can see .eo files again 2016-11-30 04:00:48 +00:00
Andy Williams 48e954137f files: Avoid missing mime check 2016-11-30 01:51:46 +00:00
Andy Williams 5abd439e3e filelist: Actually update on file add/rm
This is pretty much working except some genlist bugs :(
2016-11-29 18:16:12 +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 fc89c66617 ui: Don't how open context menu for directories 2016-11-29 17:08:58 +00:00
Andy Williams bee632e5a1 ui: Fix file listing to stop duplicating entries
Working towards a proper refresh of the UI on change...
@fix
2016-11-29 17:03:45 +00:00
Andy Williams 49f7506521 highlight: cancel the file parsing on line events
Either we have removed a line and could crash or we have
added a line and everything will be off by one!

This will get fixed moments later by the line change event
2016-11-28 01:46:07 +00:00
Andy Williams 8703876dc7 about: Update report issue link
Why do phab upgrades always break these links?
2016-11-27 23:08:50 +00:00
Andy Williams 9a0b7e8d53 ui: Reset search term when activating search 2016-11-26 02:20:35 +00:00
Andy Williams 32059825f6 Fix pkg-config script.
Thanks vtorri for the patch.
@fix
2016-11-20 22:08:59 +00:00
Andy Williams 890d54fc57 filepanel: don't reload on monitor until we have it fixed 2016-11-06 16:26:34 +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 a874a6b4ee Fix build warning 2016-11-06 16:24:17 +00:00
Andy Williams d24468da69 Fix gitignore 2016-11-04 14:52:05 +00:00
Andy Williams 1855b437af config: Move project config into global config area
A little refactoring to get the project name to index this
2016-11-04 14:49:39 +00:00
Andy Williams 1ab2700a7c fix typo 2016-10-23 19:59:54 +01:00
Andy Williams a775d378e3 Change sed usage to be portable.
@fix T4676
2016-10-22 20:26:38 +01:00
Andy Williams eacc00488a lib: add pkgconfig support for libedi 2016-10-11 21:45:37 +01:00
Andy Williams 97e2192a2b files: tidy code to be easier to read
Thanks for the tip, vtorri
2016-09-30 21:47:05 +01:00
Andy Williams 8b7fbed43b files: Also ignore .a and .la for a make project 2016-09-30 10:34:11 +01:00
Andy Williams 1fe95db05f config: update defaults since elm_code_widget fixed width marker 2016-09-29 20:02:38 +01:00
Andy Williams 20909a4e4f ui: Move toolbar to left and remove the text labels 2016-09-25 17:23:07 +01:00
Andy Williams 51c3cdeca6 lib: let the callback to create be optional 2016-09-25 15:58:36 +01:00
Andy Williams 1578481d46 ui: only use help lookup if control pressed 2016-09-11 19:17:21 +01: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 74a121cfd5 Authors fix since Elm_Code merged to efl 2016-09-11 14:00:47 +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 75ae5edf7e logs: disable logging for a while
There is an infinite loop because of an elm_code warning
2016-09-10 22:58:38 +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 1e556d275e template: Update build and default app settings
better out-of-the-box experience for a new app.
2016-09-09 18:29:06 +01:00
Andy Williams 08de4c3af1 template: More ignores of use 2016-09-09 18:12:56 +01:00
Andy Williams e9b18c4560 syntax: Fix bad racey thread conditions 2016-09-09 16:21:11 +01:00
Andy Williams 574b32300b template: Set skeleton to ignore the edi storage that will be created as soon as we load 2016-09-09 14:13:25 +01:00
Andy Williams 529d40bf69 Correct the EDI license in packaging - GPLv2.
Also removed packaging from skeleton as it gets out of date too fast
2016-09-09 09:12:06 +01:00
Marcel Hollerbach 0154ee168a edi: follow namespace change from Eo_Event to Efl_Event 2016-09-04 19:48:08 +02:00
Andy Williams 7f6fdac376 Add Create Project menu item
Also provide command line argument to load the create
screen on launch.
2016-08-26 15:13:54 +01:00
Andy Williams 100d68a30d Fix broken pkgbuild 2016-08-26 12:31:10 +01:00
Andy Williams 561fedb5f8 Update our requirements for latest efl 2016-08-26 12:25:49 +01:00
Andy Williams 1053eb1a63 Update test suite to remove old elm_code references 2016-08-23 23:34:03 +01:00
Andy Williams 4f783b5935 Update for a new release with Elm_Code and efl 1.18 2016-08-23 23:26:17 +01:00
Andy Williams 4d92303f3a Update to the EFL 1.18 release 2016-08-18 15:05:09 +01:00
Andy Williams c7c1b73e94 Depend on the first (pre) release of efl 1.18 so it's a known state 2016-07-20 22:13:38 +01:00
Andy Williams 3bf5df98b7 Add single file mode to help 2016-07-03 23:08:49 +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 0e9b8a64c6 create: Fix crash creating new projects 2016-07-03 20:46:29 +01:00
YeongJong Lee 2f41b6ca28 Adjust the code according to the eo event stop changes.
Summary: Changed the way Eo event callbacks are stopped.

Test Plan: 1. make

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D4114
2016-07-01 10:18:28 +01:00
Andy Williams 173cdcfb00 Update metadata etc 2016-06-10 10:04:56 +01:00
Andy Williams 7fd984b77a Fix compile errors with latest elementary from efl 2016-06-10 10:04:40 +01:00
Andy Williams 2262d7bf1c elm_code: Removed and migrated to using the elementary merged version 2016-06-10 10:03:40 +01:00
YeongJong Lee 9f112d07ae ui:fix title bar attribute of settings, about window
Summary:
ui:fx title bar attribute of settings, about window.
when using not enlightenment but other window manger, settings,about window can't be closed with one click.
they need close button.

Test Plan:
1. start edi.
2. select project.
3-1. click settings icon.
3-2. click About icon.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D3979
2016-05-25 23:06:02 +01:00
Andy Williams 4d0b4468c4 ui: Update close icon to document-close 2016-05-25 23:02:39 +01:00
Andy Williams 1e66902a9c ui: Fix icon naming to standard
Also tidy toolbar strings a little
2016-05-21 10:12:58 +01:00
Andy Williams def75fb0e8 elm_code: Fix build for updated eolian_gen output 2016-05-19 22:17:52 +01:00
Andy Williams e16ab050c8 elm_code: Fix undo code for deleting tab
When character can take up more than 1 column we had to
handle delete and backspace with care
2016-05-18 23:36:47 +01:00
Andy Williams dcd56607a9 editor: re-enable undo
Oops, we blocked elm_code from doing it's job
2016-05-17 23:24:14 +01:00
Andy Williams e0e4e5f952 elm_code: Revert an optimisation to fix a crash
We made an assumption about the order lines were added.
It wasn't true...
2016-05-17 23:20:35 +01:00
Andy Williams ce2540b6e4 elm_code: Fix crash when tabbing in a small widget
avoid placing cursor outside of our column width
2016-05-17 17:25:28 +01:00
Jean-Philippe ANDRE 0f0fa5f455 elm_code: unbreak previous commit
logs could not be scrolled anymore, because the
scroll cb would scroll back to the end.
2016-05-16 23:15:21 +09:00
Andy Williams 283b27b22e elm_code: ensure lines are visible when scrolling 2016-05-16 12:01:17 +01:00
Jean-Philippe ANDRE df2f46f5da elm_code: fix crash from previous commits
sorry! i'm afraid this is not 100% stable yet
2016-05-16 19:52:35 +09:00
Jean-Philippe ANDRE 898e9b2c68 elm_code: remove useless variable 2016-05-16 19:33:57 +09:00
Jean-Philippe ANDRE 5e39dd9be4 elm_code: Fix scroller size when appending new lines
This tries to optimize the new box size calc in case
we're adding a new line, by not walking all the objects
again.
2016-05-16 19:29:48 +09:00
Andy Williams 4da81eac5e [test] use correct parsing of test errors 2016-05-16 11:01:40 +01:00
Andy Williams 16f3bb9f9f [elm_code] don't double free standard parsers 2016-05-16 11:01:12 +01:00
Andy Williams ce706b6623 [test] Fix parsing for tests that crash.
Report a test failure when we crash rather than defaulting to pass
2016-05-16 10:12:58 +01:00
Jean-Philippe ANDRE faf97a905c elm_code: Fix log test case
An uninitialized variable was causing all the trouble.
Somehow I believe this is not the complete fix, as
grid probably shouldn't be NULL.
2016-05-16 18:05:50 +09:00
Jean-Philippe ANDRE 69cb737f07 tests: add a test case for log viewer
there is a bug that i'm tracking down... this is a good
test case for it
2016-05-16 18:05:50 +09:00
Andy Williams 63740ac9a8 Update meta and news 2016-05-16 09:11:11 +01:00
Andy Williams 893098f3e4 fix doc 2016-05-16 09:11:11 +01:00
Andy Williams acc6c4054a [files] Filter file list to ignore hidden files
Ignore built files
2016-05-16 09:11:11 +01:00
Andy Williams 357acdca7b [build] Abstract build logic to provider lookup
Allow future extensibility for different build types.
Display detected type in project window title.
2016-05-16 09:11:11 +01:00
Jean-Philippe ANDRE 4a759dfaf6 welcome: show after resize
The other way around does not guarantee the proper size.
2016-05-16 00:14:54 +09:00
Andy Williams 6f625964d3 [files] Filter file names using regexp
Allow more advanced filters like 'a[b|c]' or '\.h'
2016-05-15 14:12:14 +01:00
Andy Williams 227f897185 Fix build for latest API 2016-05-14 11:20:08 +01:00
Andy Williams 87b4c1ec3f Update the default license shipped with the skeletons.
This is more in-keeping with the intent, somehow GPL was left in there
2016-04-29 20:06:48 +01:00
Andy Williams 38449347d5 [editor] fix issue where selections didn't refresh
Around the extremities of the ui it was possible
to not refresh correctly - fixed.
2016-04-28 22:51:03 +01:00
Andy Williams 932bf49291 [editor] Stop jumping around on click
If there were many errors in the file the visibility
calculations got screwy
2016-04-28 22:32:43 +01:00
Andy Williams 10d6a9cd2e welcome: Fix icon sizing to not be bigger than we want 2016-04-28 21:38:34 +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
Andy Williams b8665e1bae Update to latest eo specs 2016-04-24 22:48:58 +01:00
Hermet Park 6fc4e26c44 fix build break.
eo event interface has been changed.
just updated it.
2016-04-14 10:48:33 +09:00
Carsten Holtkamp 803184016a Opens welcome screen now under mouse, to follow enlightenments policy. Evas is picky about function call order. 2016-04-10 16:33:01 +01:00
Hermet Park 411927a002 remove duplicated variable declaration. 2016-04-09 09:48:15 +09:00
Andy Williams 1971583e5e [help] Stub out a right-click-help UI
Not looking anything up yet but we're getting started
2016-04-07 17:44:12 +01:00
Andy Williams 29d70a22fd [selection] split words on * and & also
Pretty important for C...
2016-04-07 17:43:31 +01:00
Andy Williams bca7ef40b8 tidy old stubs 2016-04-07 17:43:05 +01:00
Andy Williams 3713ee543a [settings] list all monospaced fonts
Choose them based on behaviour rather than name.
2016-04-07 16:39:59 +01:00
Andy Williams a35a1dccbe [editor] fix line geometry when scrolled 2016-04-07 16:27:20 +01:00
Andy Williams 1d98b10260 [editor] Split out lines from a standard grid in rendering
Move errors to inline within the editor.
2016-03-31 15:42:30 +01:00
Andy Williams 7a9241458a [editor] move tooltips to inline error meessages
Not perfect on refresh times but much easier to read than before
2016-03-30 16:48:48 +01:00
Andy Williams bec0d3085c [editor] split out the grid into rendered rows.
This allows cool stuff to be inserted in between the rows
2016-03-30 03:58:39 +01:00
Andy Williams 80fd37a073 Fix the local lookup of diffs in the test app.
This is not portable but I think it's a temporary app anyhow
2016-03-22 13:10:17 +00:00
Andy Williams a45352346e Fix the local lookup of diffs in the test app.
This is not portable but I think it's a temporary app anyhow
2016-03-22 13:10:04 +00:00
Andy Williams 8ca0be69f0 Update to latest eo_add syntax 2016-03-18 19:43:30 +00:00
Andy Williams 0e3a6f6090 Update to latest eo_add syntax 2016-03-18 19:42:07 +00:00
Andy Williams b3a9bd0f2c Update to latest eo syntax
Thanks for the script Tom :)
2016-03-10 00:06:50 +00:00
Andy Williams 7821032380 Fix make dist 2016-03-08 22:54:27 +00:00
332 changed files with 26173 additions and 12467 deletions

21
.gitignore vendored
View File

@ -11,15 +11,20 @@
.dirstamp
.edi
*.swp
/build
/src/bin/edi
/src/bin/edi_build
/src/bin/edi_scm
/data/desktop/edi.desktop
/data/extra/skeleton/*.tar.gz
/data/extra/templates/*.tar.gz
/doc/edi.1
edi-*.tar.?z*
po/*.gmo
po/POTFILES
.libs
pc/edi.pc
# autotools crap
m4/*.m4
@ -46,6 +51,7 @@ stamp-h1
ar-lib
test-driver
test-suite.log
compile_commands.json
# gettext crap
ABOUT-NLS
@ -67,16 +73,3 @@ po/stamp-po
/src/tests/test-suite.log
/src/tests/check-results.xml
/elm_code/src/lib/*.eo.h
/elm_code/src/lib/*.eo.legacy.h
/elm_code/src/lib/*.eo.c
/elm_code/src/lib/widget/*.eo.h
/elm_code/src/lib/widget/*.eo.legacy.h
/elm_code/src/lib/widget/*.eo.c
/elm_code/src/bin/elm_code_test
/elm_code/src/tests/elm_code_suite
/elm_code/src/tests/elm_code_suite.*
/elm_code/src/tests/test-suite.log
/elm_code/src/tests/check-results.xml

11
AUTHORS
View File

@ -1,5 +1,8 @@
ajwillia.ms (Andy Williams) <andy@andywilliams.me>
wilsonk (Kelly Wilson) <wilsonk@cpsc.ucalgary.ca>
ajwillia.ms (Andy Williams) <andy@andywilliams.me>
netstar (Alastair Poole) <netstar@gmail.com>
okra (Stephen Houston) <smhouston88@gmail.com>
wilsonk (Kelly Wilson) <wilsonk@cpsc.ucalgary.ca>
YOhoho (YeongJong Lee) <cleanlyj@naver.com>
Windows compatibility thanks to Vincent Torri <vincent.torri@gmail.com>
Icon created by The Rasterman (Carsten Haitzler) <raster@rasterman.com>
@ -8,7 +11,3 @@ With sections from Ecrire by Tom Hacohen <tom@stosb.com>
Clang syntax higlighting from cedric and TAsn in the edi PROTO project
Elm_Code module (which will be extracted at some point) by:
ajwillia.ms (Andy Williams) <andy@andywilliams.me>

17
COPYING
View File

@ -1,4 +1,4 @@
EDI contains two different licenses, this is due to it being the
EDI contains three different licenses, this is due to it being the
development space for various components that expect to be
moved to the Enlightenment Foundation Libraries in the future.
@ -6,6 +6,17 @@ With the exception of "edi" which constitutes all remaining work
in this code base the licenses apply to projects within their
own top level directory. The project licenses are as follows:
elm_code: COPYING.LGPG
edi: COPYING.GPLv2
data/extra/templates/ No license - public domain
Icons by <matthieu.james@gmail.com> from "Faenza" icon theme:
COPYING.GPLv2:
data/extra/templates/images/c.png
data/extra/templates/images/python.png
data/icons/*.png
Icons by Marcus (madmaxms) from "Obsidian" icon theme.
COPYING.GPLv3:
data/extra/examples/images/mono-runtime.png
edi: COPYING.GPLv2

View File

@ -631,8 +631,8 @@ to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
{one line to give the program's name and a brief idea of what it does.}
Copyright (C) {year} {name of author}
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
@ -652,7 +652,7 @@ Also add information on how to contact you by electronic and paper mail.
If the program does terminal interaction, make it output a short
notice like this when it starts in an interactive mode:
<program> Copyright (C) <year> <name of author>
{project} Copyright (C) {year} {fullname}
This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.

4127
ChangeLog

File diff suppressed because it is too large Load Diff

378
INSTALL
View File

@ -1,370 +1,66 @@
Installation Instructions
*************************
** COMPILING and INSTALLING **
------------------------------
Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
Inc.
Meson is the build system used for this project. For more information please
see:
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without warranty of any kind.
http://mesonbuild.com
Basic Installation
==================
----
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
Normal compilation in /usr/local:
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
meson . build
ninja -C build
sudo ninja -C build install
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
cache files.
Normal compilation without libclang:
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
meson build -Dlibclang=false
ninja -C build
sudo ninja -C build install
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
For meson build generic options:
The simplest way to compile this package is:
meson --help
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
For a list of project specific options supported:
Running `configure' might take a while. While running, it prints
some messages telling which features it is checking for.
cat meson_options.txt
2. Type `make' to compile the package.
To set 1 or more project specific options:
3. Optionally, type `make check' to run any self-tests that come with
the package, generally using the just-built uninstalled binaries.
meson --prefix=/path/to -Doption=value [-Dother=value2] [...] . build
4. Type `make install' to install the programs and any data files and
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the `make install' phase executed with root
privileges.
To display current configuration:
5. Optionally, type `make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
regular user, particularly if the prior `make install' required
root privileges, verifies that the installation completed
correctly.
mesonconf build
6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
The above will only work after at least the following is done:
7. Often, you can also type `make uninstall' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
meson . build
8. Some packages, particularly those that use Automake, provide `make
distcheck', which can by used by developers to test that all other
targets like `make install' and `make uninstall' work correctly.
This target is generally not run by end users.
** QUICK AND DIRTY HELP **
--------------------------
Compilers and Options
=====================
How to clean out the build and config and start fresh:
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables.
rm -rf build
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
How to make a dist tarball and check its build:
(must do it from git tree clone and commit all changes to git first)
./configure CC=c99 CFLAGS=-g LIBS=-lposix
ninja -C build dist
*Note Defining Variables::, for more details.
How to change prefix:
Compiling For Multiple Architectures
====================================
meson --prefix=/path/to/prefix . build
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'. This
is known as a "VPATH" build.
How to install in a specific destination directory for packaging:
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
DESTDIR=/path/to/destdir ninja -C build install
On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple `-arch' options to the
compiler but only a single `-arch' option to the preprocessor. Like
this:
How to build with verbose output (full commands run):
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CPP="gcc -E" CXXCPP="g++ -E"
ninja -C build -v
This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
using the `lipo' tool if you have problems.
Installation Names
==================
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them. In general, the
default for these options is expressed in terms of `${prefix}', so that
specifying just `--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to `configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
`make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, `make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
`${prefix}'. Any directories that were specified during `configure',
but not in terms of `${prefix}', must each be overridden at install
time for the entire installation to be relocated. The approach of
makefile variable overrides for each directory variable is required by
the GNU Coding Standards, and ideally causes no recompilation.
However, some platforms have known limitations with the semantics of
shared libraries that end up requiring recompilation when using this
method, particularly noticeable in packages that use GNU Libtool.
The second method involves providing the `DESTDIR' variable. For
example, `make install DESTDIR=/alternate/directory' will prepend
`/alternate/directory' before all installation names. The approach of
`DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}'
at `configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of `make' will be. For these packages, running `./configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with `make V=1'; while running `./configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with `make V=0'.
Particular systems
==================
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
HP-UX `make' updates targets which have the same time stamps as
their prerequisites, which makes it generally unusable when shipped
generated files such as `configure' are involved. Use GNU `make'
instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
to try
./configure CC="cc"
and if that doesn't work, try
./configure CC="cc -nodtk"
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
directory contains several dysfunctional programs; working variants of
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
in your `PATH', put it _after_ `/usr/bin'.
On Haiku, software installed for all users goes in `/boot/common',
not `/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common
Specifying the System Type
==========================
There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the
_same_ architectures, `configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS
KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf limitation. Until the limitation is lifted, you can use
this workaround:
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
`configure' recognizes the following options to control how it
operates.
`--help'
`-h'
Print a summary of all of the options to `configure', and exit.
`--help=short'
`--help=recursive'
Print a summary of the options unique to this package's
`configure', and exit. The `short' variant lists options used
only in the top level, while the `recursive' variant lists options
also present in any nested packages.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--prefix=DIR'
Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.
`--no-create'
`-n'
Run the configure checks, but stop before creating any output
files.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.

View File

@ -1,97 +0,0 @@
MAINTAINERCLEANFILES = \
ABOUT-NLS \
Makefile.in \
aclocal.m4 \
compile \
config.guess \
config.h.in \
config.rpath \
config.sub \
configure \
depcomp \
install-sh \
ltmain.sh \
missing \
m4/intl.m4 \
m4/intldir.m4 \
m4/intlmacosx.m4 \
m4/libtool.m4 \
m4/ltoptions.m4 \
m4/ltsugar.m4 \
m4/ltversion.m4 \
m4/lt~obsolete.m4 \
po/boldquot.sed \
po/en@boldquot.header \
po/en@quot.header \
po/insert-header.sin \
po/Makefile.in.in \
po/Makevars.template \
po/quot.sed \
po/remove-potcdate.sin \
po/Rules-quot \
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz \
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2
SUBDIRS = data doc packaging po elm_code src
ACLOCAL_AMFLAGS = -I m4
filesdir = $(docdir)
files_DATA = \
AUTHORS \
COPYING \
COPYING.LGPL \
COPYING.GPLv2 \
ChangeLog \
INSTALL \
NEWS \
README \
TODO
EXTRA_DIST = \
autogen.sh \
COPYING.LGPL \
COPYING.GPLv2 \
config.rpath \
configure \
m4/efl_binary.m4 \
m4/efl_compiler_flag.m4 \
m4/efl_path_max.m4
if EFL_HAVE_LCOV
lcov-reset:
@rm -rf $(top_builddir)/coverage
@find $(top_builddir) -name "*.gcda" -delete
@lcov --zerocounters --directory $(top_builddir)
lcov-report:
@mkdir $(top_builddir)/coverage
lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir)/src/lib --base-directory $(top_srcdir)/src/lib
lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info
lcov --remove $(top_builddir)/coverage/coverage.cleaned.info '*/tests/*' --output-file $(top_builddir)/coverage/coverage.cleaned2.info
genhtml --branch-coverage -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned2.info
@echo "Coverage Report at $(top_builddir)/coverage/html"
endif
if EFL_HAVE_TESTS
TESTS = elm_code/src/tests/elm_code_suite src/tests/edi_suite
lcov-check:
if EFL_HAVE_LCOV
@$(MAKE) $(AM_MAKEFLAGS) lcov-reset
endif
@$(MAKE) $(AM_MAKEFLAGS) check
if EFL_HAVE_LCOV
@$(MAKE) $(AM_MAKEFLAGS) lcov-report
endif
endif
# cleaning
clean-local:
rm -rf benchmark coverage

View File

@ -1,9 +0,0 @@
EDJE_CC = @edje_cc@
EDJE_CC_FLAGS_VERBOSE = $(EDJE_CC_FLAGS_VERBOSE_@AM_V@)
EDJE_CC_FLAGS_VERBOSE_ = $(EDJE_CC_FLAGS_VERBOSE_@AM_DEFAULT_V@)
EDJE_CC_FLAGS_VERBOSE_1 = -v
EDJE_CC_FLAGS = $(EDJE_CC_FLAGS_VERBOSE) -fastdecomp -id $(srcdir) -fd $(srcdir)
AM_V_EDJ = $(am__v_EDJ_@AM_V@)
am__v_EDJ_ = $(am__v_EDJ_@AM_DEFAULT_V@)
am__v_EDJ_0 = @echo " EDJ " $@;

View File

@ -1,24 +0,0 @@
if HAVE_EOLIAN_GEN
EOLIAN_GEN = @eolian_gen@
_EOLIAN_GEN_DEP = @eolian_gen@
else
EOLIAN_GEN = EFL_RUN_IN_TREE=1 $(top_builddir)/src/bin/eolian/eolian_gen${EXEEXT}
_EOLIAN_GEN_DEP = bin/eolian/eolian_gen${EXEEXT}
endif
AM_V_EOL = $(am__v_EOL_@AM_V@)
am__v_EOL_ = $(am__v_EOL_@AM_DEFAULT_V@)
am__v_EOL_0 = @echo " EOLIAN " $@;
SUFFIXES = .eo .eo.c .eo.h .eo.legacy.h
%.eo.c: %.eo ${_EOLIAN_GEN_DEP}
$(AM_V_EOL)$(EOLIAN_GEN) --legacy $(EOLIAN_FLAGS) --gc -o $@ $<
%.eo.h: %.eo ${_EOLIAN_GEN_DEP}
$(AM_V_EOL)$(EOLIAN_GEN) $(EOLIAN_FLAGS) --gh -o $@ $<
%.eo.legacy.h: %.eo ${_EOLIAN_GEN_DEP}
$(AM_V_EOL)$(EOLIAN_GEN) --legacy $(EOLIAN_FLAGS) --gh -o $@ $<
CLEANFILES += $(BUILT_SOURCES)

153
NEWS
View File

@ -1,3 +1,156 @@
=======
Edi 0.8
=======
Features:
* C# syntax-highlighting and project support.
* UI rearrangement.
* Internal icons.
* Toolbar configurable.
* Tab movement (dragging).
* Tab bar mouse scrolling.
* Support for EDI as standalone text editor.
* Improved mime type handling.
* Complete widget configuration in settings.
* API additions and improvements.
* Move all examples to meson.
Bug fixes:
* Debugging reliability.
* SCM filepanel improvements.
* Fix wizard reliablity.
* Search stabililty improvements.
* Fixes and improvements for FreeBSD and OpenBSD.
* Transparancy fixes.
* Many stability fixes.
* Improvements to the EFL code widget.
* Improve file save behaviour.
* Fix welcome content black hole (Escape).
=======
Edi 0.7
=======
Features:
* Added theme support and new themes.
* Added editor translucency option.
* Added option to show hidden files
Bug fixes:
* Fix issues where panels would change size or not fully shrink
* Improvements to the UI and flow
* General stability fixes with Edi and Edi SCM
---------
Edi 0.6.1
---------
Features:
* Added notification support.
* Added split-view option for editors.
* Updated project wizard and added new project templates.
* Include EFL examples in project wizard.
* Add support for Go projects.
* Improved debugging support.
* Added edi_scm helper command.
* Replace all in project.
Bug fixes:
* overall stability of the SCM git integration
=======
Edi 0.6
=======
Features:
* Multiple panel support in main UI
* Integrate GDB debugger console
* Add snippet support to the code editor
* Add SCM support (git)
* Provide tab completion & suggestions for autosuggest and snippets
* Add rust language and clang build support
* Highlight all search results
* Wrap search around at end of document
* Add checkout project to welcome screen
* Add translation support
Bug fixes:
* Fix issue where large projects could cause slow starts
* Fix T6044 Project templating fails with special characters in projects settings
* Fix T5480 EDI does not open window on some mime/file types
* Fix T1852 Search should wrap around
---------
Edi 0.5.1
---------
Features:
* menu: Indicate saved status in menu and toolbar
* cmdline: don't try to open unknown file types
Bug fixes:
* Fix issue where replaced text could not be undone
* Fix python project detection
=======
Edi 0.5
=======
Features:
* Add support for compile command databases with clang
* Add Undo/Redo support
* Add support for basic python projects
* Syntax highlighting support now includes python
* Add inline documentation lookup using libclang
* Add code autosuggest using libclang
* Add wrap-around in search
* Add double click to expand/contract in the file panel
* Add delete and open directory in terminal menu options in file panel
* Add a TODO/FIXME listing panel
* Add search in project
Bug fixes:
* Fix issues with OpenBSD
* filepanel: Don't filter folders when searching for files
* Fix duplicate files in file listing panel
* Reset search term when activating search
* Improve portability of project creation
* Add pkgbuild support for libedi
* Fix tab bar to be more like tabs
* Fix various stability issues
=======
Edi 0.4
=======
Features:
* Auto-detected build provider for project
* Filter file list based on ignored build files
* Allow filtering of file list using regular expressions
* Display build errors inline in editor
* Support opening a single file
Bug fixes:
* Fix some missing icons
* Fix about and settings window attributes
=======
Edi 0.3
=======

36
README
View File

@ -1,36 +0,0 @@
EDI - The Enlightened IDE
===
This is a project to create a complete IDE using the EFL.
It aims to lower the barrier to getting involved in Enlightenment development
and in creating apps based on the EFL suite.
Requirements
---
autotools
EFL & Elementary from git master (>= 1.14.99)
libclang-dev (or llvm-clang-devel)
Installation
---
Using autotools to install this software is the usual:
# ./autogen.sh
# make
# sudo make install
Usage
---
After installing just launch
# edi
and it will prompt for a project (directory) location or you can specify like:
# edi ~/Code/myproject
to open the specified project.

View File

@ -1,25 +1,27 @@
EDI - The Enlightened IDE
Edi - The Enlightened IDE
===
This is a project to create a complete IDE using the EFL.
It aims to lower the barrier to getting involved in Enlightenment development
and in creating apps based on the EFL suite.
![EDI Logo](data/desktop/edi.png?raw=true)
![Edi Logo](data/desktop/edi.png?raw=true)
## Requirements
autotools
EFL & Elementary from git master (>= 1.14.99)
meson
ninja
EFL latest release (>= 1.24.0)
libclang-dev (or llvm-clang-devel)
## Installation
Using autotools to install this software is the usual:
Using meson and ninja to install this software is the usual:
./autogen.sh
make
sudo make install
meson build/
cd build
ninja
sudo ninja install
## Usage
@ -33,3 +35,8 @@ and it will prompt for a project (directory) location or you can specify like:
to open the specified project.
Also included are handy utility apps that you can try
edi_build
edi_scm

28
TODO
View File

@ -1,18 +1,18 @@
This project is in heavy development, we are currenty working towards the
"Code aware editor" phase, the following work is still to be done:
This project is under heavy and active development. We are working on
both a "Code-aware editor" as well as the IDE functionality at the same
time.
* Redo changes that have been undone
* Search / replace in project / directory
* Integrate elm_code project (cedric, ajwillia-ms and TAsn)
- Code folding
- Automatic code indenting / formatting
- Code expansion (nested display of function call body)
* Integrated console
* notepad, emacs and vim and editing modes
* Documentation finding
* Compilation error message integrated in the flow of code
Editor
* Code folding
* Automatic code indenting / formatting
* notepad, emacs and vim and editing modes (key bindings)
* LLVM parsing
* Cross reference for c, c++ and some scripting language
* Support for EditorConfig - http://editorconfig.org/
The next phase is "Basic IDE" and it, along with other future phases
are documented online at https://phab.enlightenment.org/w/edi/
IDE
* Integrated console
Widget (elm_code_widget)
* Improve the efficiency of the widget. Need to use much fewer
textgrids where possible.

View File

@ -1,15 +0,0 @@
#!/bin/sh
rm -rf autom4te.cache
rm -f aclocal.m4 ltmain.sh
echo "Running autopoint..." ; autopoint -f || :
echo "Running aclocal..." ; aclocal -I m4 $ACLOCAL_FLAGS || exit 1
echo "Running autoconf..." ; autoconf || exit 1
echo "Running autoheader..." ; autoheader || exit 1
echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
if [ -z "$NOCONFIGURE" ]; then
./configure "$@"
fi

View File

@ -1,193 +0,0 @@
EFL_VERSION([0], [2], [0])
AC_INIT([edi], [efl_version], [enlightenment-devel@lists.sourceforge.net])
AC_PREREQ([2.65])
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([1.10 dist-bzip2 -Wall color-tests subdir-objects])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
### Additional options to configure
# Check for tests and coverage
AC_ARG_WITH([tests],
[AS_HELP_STRING([--with-tests=none|regular|coverage],
[choose testing method: regular, coverage or none.
@<:@default=auto@:>@])],
[build_tests=${withval}],
[build_tests=auto])
# clang support
AC_ARG_ENABLE([libclang],
[AS_HELP_STRING([--disable-libclang], [Disable use of libclang. @<:@default=enable@:>@])],
[
if test "x${enableval}" = "xyes" ; then
want_clang="yes"
else
want_clang="no"
fi
],
[want_clang="yes"])
### Checks for programs
LT_PREREQ([2.2])
LT_INIT([win32-dll pic-only])
EFL_INIT
AM_GNU_GETTEXT_VERSION([0.17])
AM_GNU_GETTEXT([external])
# if cross compiling, disable NLS support.
# It's not worth the trouble, at least for now.
if test "x$cross_compiling" = xyes; then
enable_nls=no
fi
m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
AC_PROG_CC
PKG_PROG_PKG_CONFIG
EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
### Checks for libraries
PKG_CHECK_MODULES([EFL],
[
eina >= 1.17.0
evas >= 1.17.0
ecore >= 1.17.0
edje >= 1.17.0
eo >= 1.17.0
elementary >= 1.17.99
eio >= 1.17.0
])
# Check edje_cc
EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
EFL_WITH_BIN([eolian], [eolian-gen], [eolian_gen])
# Force the helper to try external eolian generators
AM_CONDITIONAL([HAVE_EOLIAN_GEN], [true])
# Needs to be moved into a macro, and also, needs a way to automatically fetch
# from all the dependencies using the Requires.
DEPS_EOLIAN_FLAGS=`${PKG_CONFIG} --variable=eolian_flags eo evas efl elementary`
AC_SUBST([DEPS_EOLIAN_FLAGS])
### Checks for header files
### Checks for types
### Checks for structures
### Checks for compiler characteristics
AM_PROG_CC_C_O
EFL_CHECK_PATH_MAX
EFL_COMPILER_FLAG([-Wall])
EFL_COMPILER_FLAG([-Wextra])
EFL_COMPILER_FLAG([-fvisibility=hidden])
### Checks for linker characteristics
### Checks for library functions
AC_CHECK_FUNCS([setlocale])
# this will speed up libtool checks
# Checks for header files.
have_clang="no"
if test "${want_clang}" = "yes"; then
AC_CHECK_HEADERS([clang-c/Index.h], [have_clang="yes"], [have_clang="no"])
fi
EFL_TESTS([${build_tests}])
# Checks for library functions.
if test "${have_clang}" = "yes"; then
ldflags="$LDFLAGS"
LDFLAGS+=" -L${libdir}/llvm"
AC_CHECK_LIB([clang], [clang_Cursor_getArgument],
[
AC_DEFINE([HAVE_LIBCLANG], [1], [Set to 1 if clang is found])
EFL_LIBS="${EFL_LIBS} -lclang"
],
[have_clang="no"])
fi
if test "${have_clang}" = "no"; then
AC_MSG_WARN([Could not find a usable libclang. Please install libclang to enable syntax highlighting features.])
fi
CLANG_INCLUDE=`clang -E - -v < /dev/null 2>&1 | grep "^ /usr" | grep clang`
AC_SUBST([CLANG_INCLUDE])
AC_CONFIG_FILES([
Makefile
data/Makefile
data/images/Makefile
data/desktop/Makefile
data/desktop/edi.desktop
data/themes/Makefile
data/themes/default/Makefile
data/extra/Makefile
data/extra/skeleton/Makefile
doc/Makefile
packaging/Makefile
packaging/pkgbuild/Makefile
po/Makefile.in
src/Makefile
src/bin/Makefile
src/lib/Makefile
src/tests/Makefile
elm_code/Makefile
elm_code/data/Makefile
elm_code/data/themes/Makefile
elm_code/data/themes/default/Makefile
elm_code/src/Makefile
elm_code/src/lib/Makefile
elm_code/src/lib/widget/Makefile
elm_code/src/bin/Makefile
elm_code/src/tests/Makefile
doc/edi.1
])
AC_OUTPUT
echo
echo
echo "------------------------------------------------------------------------"
echo "$PACKAGE_NAME $PACKAGE_VERSION"
echo "------------------------------------------------------------------------"
echo
echo "Compilation..............: make (or gmake)"
echo " CPPFLAGS...............: $CPPFLAGS"
echo " CFLAGS.................: $CFLAGS"
echo " LDFLAGS................: $LDFLAGS"
echo " edje_cc................: ${edje_cc}"
echo " highlighting (libclang): ${have_clang}"
echo
echo "eolian_gen...............: ${eolian_gen}"
echo
echo "Building documentation...: ${build_doc}"
echo "Building tests...........: ${have_tests}"
echo "Generate coverage .......: ${have_lcov}"
echo
echo "Installation.............: make install (as root if needed, with 'su' or 'sudo')"
echo " prefix.................: $prefix"
echo

View File

@ -1,4 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
SUBDIRS = themes desktop images extra

View File

@ -1,9 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
desktopdir = $(datadir)/applications
desktop_DATA = edi.desktop
icondir = $(datadir)/icons
icon_DATA = edi.png
EXTRA_DIST = $(desktop_DATA) $(icon_DATA)

View File

@ -10,3 +10,4 @@ Icon=@PACKAGE_NAME@
TryExec=@PACKAGE_NAME@
Exec=@PACKAGE_NAME@
Categories=Development;Utility;
MimeType=text/plain;

14
data/desktop/meson.build Normal file
View File

@ -0,0 +1,14 @@
desktop_config = configuration_data()
desktop_config.set('VERSION', meson.project_version())
desktop_config.set('PACKAGE_NAME', meson.project_name())
configure_file(
input : 'edi.desktop.in',
output : 'edi.desktop',
install_dir : join_paths(get_option('prefix'), 'share/applications/'),
configuration : desktop_config
)
install_data(['edi.png'],
install_dir: join_paths(get_option('prefix'), 'share/icons/hicolor/256x256/apps')
)

View File

@ -1,4 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
SUBDIRS = skeleton

View File

@ -0,0 +1,133 @@
collections {
group {
name: "hellogui";
max: 128 128;
data {
item: "title" "C EFL Hello World";
item: "path" "tutorial/c/hello-gui/";
item: "description"
"Hello World using the EFL unified APIs";
}
parts {
part { name: "icon";
description { state: "default" 0.0;
max: 128 128;
images.image: "hellogui.png" COMP;
image.normal: "hellogui.png";
}
}
}
}
group {
name: "life";
max: 128 128;
data {
item: "title" "C EFL Game of Life";
item: "path" "apps/c/life/";
item: "description"
"Game of Life using the EFL unified APIs.";
}
parts {
part { name: "icon";
description { state: "default" 0.0;
max: 128 128;
images.image: "life.png" COMP;
image.normal: "life.png";
}
}
}
}
group {
name: "texteditor";
max: 128 128;
data {
item: "title" "C EFL Basic Text Editor";
item: "path" "apps/c/texteditor/";
item: "description"
"A basic text editor app using the EFL unified APIs.";
}
parts {
part { name: "icon";
description { state: "default" 0.0;
max: 128 128;
images.image: "texteditor.png" COMP;
image.normal: "texteditor.png";
}
}
}
}
group {
name: "life_csharp";
max: 128 128;
data {
item: "title" "C# EFL Game of Life";
item: "path" "apps/csharp/life/";
item: "description"
"Game of Life using the EFL C# APIs.";
}
parts {
part { name: "icon";
description { state: "default" 0.0;
max: 128 128;
images.image: "mono-runtime.png" COMP;
image.normal: "mono-runtime.png";
}
}
}
}
group {
name: "calculator_csharp";
max: 128 128;
data {
item: "title" "C# EFL Calculator";
item: "path" "apps/csharp/calculator/";
item: "description"
"Calculator using the EFL C# APIs.";
}
parts {
part { name: "icon";
description { state: "default" 0.0;
max: 128 128;
images.image: "mono-runtime.png" COMP;
image.normal: "mono-runtime.png";
}
}
}
}
group {
name: "texteditor_csharp";
max: 128 128;
data {
item: "title" "C# Text Editor";
item: "path" "apps/csharp/texteditor/";
item: "description"
"A basic text editor using the EFL C# APIs.";
}
parts {
part { name: "icon";
description { state: "default" 0.0;
max: 128 128;
images.image: "mono-runtime.png" COMP;
image.normal: "mono-runtime.png";
}
}
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,20 @@
tar = find_program('tar')
edje_cc = find_program('edje_cc')
cmd = [ edje_cc,
'-id', join_paths(meson.source_root(), 'data' , 'extra', 'examples', 'images'),
'@INPUT@', '@OUTPUT@'
]
examples_dir = join_paths(get_option('datadir'), 'edi', 'examples')
custom_target('examples_meta',
input : 'examples.edc',
output : 'examples.edj',
command : cmd,
install_dir: examples_dir,
install: true,
)
out = join_paths(get_option('prefix'), examples_dir, 'examples.edj')
meson.add_install_script('../../../scripts/world_read.sh', out)

View File

@ -1,9 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
skeletondir = $(datadir)/$(PACKAGE)/skeleton
skeleton_DATA = eflproject.tar.gz
eflproject.tar.gz:
tar zcvf eflproject.tar.gz -C $(srcdir) eflproject
EXTRA_DIST = $(skeleton_DATA)

View File

@ -1,370 +0,0 @@
Installation Instructions
*************************
Copyright (C) 1994-1996, 1999-2002, 2004-2013 Free Software Foundation,
Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved. This file is offered as-is,
without warranty of any kind.
Basic Installation
==================
Briefly, the shell commands `./configure; make; make install' should
configure, build, and install this package. The following
more-detailed instructions are generic; see the `README' file for
instructions specific to this package. Some packages provide this
`INSTALL' file but do not implement all of the features documented
below. The lack of an optional feature in a given package is not
necessarily a bug. More recommendations for GNU packages can be found
in *note Makefile Conventions: (standards)Makefile Conventions.
The `configure' shell script attempts to guess correct values for
various system-dependent variables used during compilation. It uses
those values to create a `Makefile' in each directory of the package.
It may also create one or more `.h' files containing system-dependent
definitions. Finally, it creates a shell script `config.status' that
you can run in the future to recreate the current configuration, and a
file `config.log' containing compiler output (useful mainly for
debugging `configure').
It can also use an optional file (typically called `config.cache'
and enabled with `--cache-file=config.cache' or simply `-C') that saves
the results of its tests to speed up reconfiguring. Caching is
disabled by default to prevent problems with accidental use of stale
cache files.
If you need to do unusual things to compile the package, please try
to figure out how `configure' could check whether to do them, and mail
diffs or instructions to the address given in the `README' so they can
be considered for the next release. If you are using the cache, and at
some point `config.cache' contains results you don't want to keep, you
may remove or edit it.
The file `configure.ac' (or `configure.in') is used to create
`configure' by a program called `autoconf'. You need `configure.ac' if
you want to change it or regenerate `configure' using a newer version
of `autoconf'.
The simplest way to compile this package is:
1. `cd' to the directory containing the package's source code and type
`./configure' to configure the package for your system.
Running `configure' might take a while. While running, it prints
some messages telling which features it is checking for.
2. Type `make' to compile the package.
3. Optionally, type `make check' to run any self-tests that come with
the package, generally using the just-built uninstalled binaries.
4. Type `make install' to install the programs and any data files and
documentation. When installing into a prefix owned by root, it is
recommended that the package be configured and built as a regular
user, and only the `make install' phase executed with root
privileges.
5. Optionally, type `make installcheck' to repeat any self-tests, but
this time using the binaries in their final installed location.
This target does not install anything. Running this target as a
regular user, particularly if the prior `make install' required
root privileges, verifies that the installation completed
correctly.
6. You can remove the program binaries and object files from the
source code directory by typing `make clean'. To also remove the
files that `configure' created (so you can compile the package for
a different kind of computer), type `make distclean'. There is
also a `make maintainer-clean' target, but that is intended mainly
for the package's developers. If you use it, you may have to get
all sorts of other programs in order to regenerate files that came
with the distribution.
7. Often, you can also type `make uninstall' to remove the installed
files again. In practice, not all packages have tested that
uninstallation works correctly, even though it is required by the
GNU Coding Standards.
8. Some packages, particularly those that use Automake, provide `make
distcheck', which can by used by developers to test that all other
targets like `make install' and `make uninstall' work correctly.
This target is generally not run by end users.
Compilers and Options
=====================
Some systems require unusual options for compilation or linking that
the `configure' script does not know about. Run `./configure --help'
for details on some of the pertinent environment variables.
You can give `configure' initial values for configuration parameters
by setting variables in the command line or in the environment. Here
is an example:
./configure CC=c99 CFLAGS=-g LIBS=-lposix
*Note Defining Variables::, for more details.
Compiling For Multiple Architectures
====================================
You can compile the package for more than one kind of computer at the
same time, by placing the object files for each architecture in their
own directory. To do this, you can use GNU `make'. `cd' to the
directory where you want the object files and executables to go and run
the `configure' script. `configure' automatically checks for the
source code in the directory that `configure' is in and in `..'. This
is known as a "VPATH" build.
With a non-GNU `make', it is safer to compile the package for one
architecture at a time in the source code directory. After you have
installed the package for one architecture, use `make distclean' before
reconfiguring for another architecture.
On MacOS X 10.5 and later systems, you can create libraries and
executables that work on multiple system types--known as "fat" or
"universal" binaries--by specifying multiple `-arch' options to the
compiler but only a single `-arch' option to the preprocessor. Like
this:
./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \
CPP="gcc -E" CXXCPP="g++ -E"
This is not guaranteed to produce working output in all cases, you
may have to build one architecture at a time and combine the results
using the `lipo' tool if you have problems.
Installation Names
==================
By default, `make install' installs the package's commands under
`/usr/local/bin', include files under `/usr/local/include', etc. You
can specify an installation prefix other than `/usr/local' by giving
`configure' the option `--prefix=PREFIX', where PREFIX must be an
absolute file name.
You can specify separate installation prefixes for
architecture-specific files and architecture-independent files. If you
pass the option `--exec-prefix=PREFIX' to `configure', the package uses
PREFIX as the prefix for installing programs and libraries.
Documentation and other data files still use the regular prefix.
In addition, if you use an unusual directory layout you can give
options like `--bindir=DIR' to specify different values for particular
kinds of files. Run `configure --help' for a list of the directories
you can set and what kinds of files go in them. In general, the
default for these options is expressed in terms of `${prefix}', so that
specifying just `--prefix' will affect all of the other directory
specifications that were not explicitly provided.
The most portable way to affect installation locations is to pass the
correct locations to `configure'; however, many packages provide one or
both of the following shortcuts of passing variable assignments to the
`make install' command line to change installation locations without
having to reconfigure or recompile.
The first method involves providing an override variable for each
affected directory. For example, `make install
prefix=/alternate/directory' will choose an alternate location for all
directory configuration variables that were expressed in terms of
`${prefix}'. Any directories that were specified during `configure',
but not in terms of `${prefix}', must each be overridden at install
time for the entire installation to be relocated. The approach of
makefile variable overrides for each directory variable is required by
the GNU Coding Standards, and ideally causes no recompilation.
However, some platforms have known limitations with the semantics of
shared libraries that end up requiring recompilation when using this
method, particularly noticeable in packages that use GNU Libtool.
The second method involves providing the `DESTDIR' variable. For
example, `make install DESTDIR=/alternate/directory' will prepend
`/alternate/directory' before all installation names. The approach of
`DESTDIR' overrides is not required by the GNU Coding Standards, and
does not work on platforms that have drive letters. On the other hand,
it does better at avoiding recompilation issues, and works well even
when some directory options were not specified in terms of `${prefix}'
at `configure' time.
Optional Features
=================
If the package supports it, you can cause programs to be installed
with an extra prefix or suffix on their names by giving `configure' the
option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'.
Some packages pay attention to `--enable-FEATURE' options to
`configure', where FEATURE indicates an optional part of the package.
They may also pay attention to `--with-PACKAGE' options, where PACKAGE
is something like `gnu-as' or `x' (for the X Window System). The
`README' should mention any `--enable-' and `--with-' options that the
package recognizes.
For packages that use the X Window System, `configure' can usually
find the X include and library files automatically, but if it doesn't,
you can use the `configure' options `--x-includes=DIR' and
`--x-libraries=DIR' to specify their locations.
Some packages offer the ability to configure how verbose the
execution of `make' will be. For these packages, running `./configure
--enable-silent-rules' sets the default to minimal output, which can be
overridden with `make V=1'; while running `./configure
--disable-silent-rules' sets the default to verbose, which can be
overridden with `make V=0'.
Particular systems
==================
On HP-UX, the default C compiler is not ANSI C compatible. If GNU
CC is not installed, it is recommended to use the following options in
order to use an ANSI C compiler:
./configure CC="cc -Ae -D_XOPEN_SOURCE=500"
and if that doesn't work, install pre-built binaries of GCC for HP-UX.
HP-UX `make' updates targets which have the same time stamps as
their prerequisites, which makes it generally unusable when shipped
generated files such as `configure' are involved. Use GNU `make'
instead.
On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot
parse its `<wchar.h>' header file. The option `-nodtk' can be used as
a workaround. If GNU CC is not installed, it is therefore recommended
to try
./configure CC="cc"
and if that doesn't work, try
./configure CC="cc -nodtk"
On Solaris, don't put `/usr/ucb' early in your `PATH'. This
directory contains several dysfunctional programs; working variants of
these programs are available in `/usr/bin'. So, if you need `/usr/ucb'
in your `PATH', put it _after_ `/usr/bin'.
On Haiku, software installed for all users goes in `/boot/common',
not `/usr/local'. It is recommended to use the following options:
./configure --prefix=/boot/common
Specifying the System Type
==========================
There may be some features `configure' cannot figure out
automatically, but needs to determine by the type of machine the package
will run on. Usually, assuming the package is built to be run on the
_same_ architectures, `configure' can figure that out, but if it prints
a message saying it cannot guess the machine type, give it the
`--build=TYPE' option. TYPE can either be a short name for the system
type, such as `sun4', or a canonical name which has the form:
CPU-COMPANY-SYSTEM
where SYSTEM can have one of these forms:
OS
KERNEL-OS
See the file `config.sub' for the possible values of each field. If
`config.sub' isn't included in this package, then this package doesn't
need to know the machine type.
If you are _building_ compiler tools for cross-compiling, you should
use the option `--target=TYPE' to select the type of system they will
produce code for.
If you want to _use_ a cross compiler, that generates code for a
platform different from the build platform, you should specify the
"host" platform (i.e., that on which the generated programs will
eventually be run) with `--host=TYPE'.
Sharing Defaults
================
If you want to set default values for `configure' scripts to share,
you can create a site shell script called `config.site' that gives
default values for variables like `CC', `cache_file', and `prefix'.
`configure' looks for `PREFIX/share/config.site' if it exists, then
`PREFIX/etc/config.site' if it exists. Or, you can set the
`CONFIG_SITE' environment variable to the location of the site script.
A warning: not all `configure' scripts look for a site script.
Defining Variables
==================
Variables not defined in a site shell script can be set in the
environment passed to `configure'. However, some packages may run
configure again during the build, and the customized values of these
variables may be lost. In order to avoid this problem, you should set
them in the `configure' command line, using `VAR=value'. For example:
./configure CC=/usr/local2/bin/gcc
causes the specified `gcc' to be used as the C compiler (unless it is
overridden in the site shell script).
Unfortunately, this technique does not work for `CONFIG_SHELL' due to
an Autoconf limitation. Until the limitation is lifted, you can use
this workaround:
CONFIG_SHELL=/bin/bash ./configure CONFIG_SHELL=/bin/bash
`configure' Invocation
======================
`configure' recognizes the following options to control how it
operates.
`--help'
`-h'
Print a summary of all of the options to `configure', and exit.
`--help=short'
`--help=recursive'
Print a summary of the options unique to this package's
`configure', and exit. The `short' variant lists options used
only in the top level, while the `recursive' variant lists options
also present in any nested packages.
`--version'
`-V'
Print the version of Autoconf used to generate the `configure'
script, and exit.
`--cache-file=FILE'
Enable the cache: use and save the results of the tests in FILE,
traditionally `config.cache'. FILE defaults to `/dev/null' to
disable caching.
`--config-cache'
`-C'
Alias for `--cache-file=config.cache'.
`--quiet'
`--silent'
`-q'
Do not print messages saying which checks are being made. To
suppress all normal output, redirect it to `/dev/null' (any error
messages will still be shown).
`--srcdir=DIR'
Look for the package's source code in directory DIR. Usually
`configure' can determine that directory automatically.
`--prefix=DIR'
Use DIR as the installation prefix. *note Installation Names::
for more details, including other options available for fine-tuning
the installation locations.
`--no-create'
`-n'
Run the configure checks, but stop before creating any output
files.
`configure' also accepts some other, not widely useful, options. Run
`configure --help' for more details.

View File

@ -1,91 +0,0 @@
MAINTAINERCLEANFILES = \
ABOUT-NLS \
Makefile.in \
aclocal.m4 \
compile \
config.guess \
config.h.in \
config.rpath \
config.sub \
configure \
depcomp \
install-sh \
ltmain.sh \
missing \
m4/libtool.m4 \
m4/ltoptions.m4 \
m4/ltsugar.m4 \
m4/ltversion.m4 \
m4/lt~obsolete.m4 \
po/boldquot.sed \
po/en@boldquot.header \
po/en@quot.header \
po/insert-header.sin \
po/Makefile.in.in \
po/Makevars.template \
po/quot.sed \
po/remove-potcdate.sin \
po/Rules-quot \
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.gz \
$(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2
SUBDIRS = data doc packaging po src
ACLOCAL_AMFLAGS = -I m4
filesdir = $(docdir)
files_DATA = \
AUTHORS \
COPYING \
ChangeLog \
INSTALL \
NEWS \
README \
TODO
EXTRA_DIST = \
autogen.sh \
config.rpath \
configure \
m4/efl_attribute.m4 \
m4/efl_binary.m4 \
m4/efl_compiler_flag.m4 \
m4/efl_path_max.m4
if EFL_HAVE_LCOV
lcov-reset:
@rm -rf $(top_builddir)/coverage
@find $(top_builddir) -name "*.gcda" -delete
@lcov --zerocounters --directory $(top_builddir)
lcov-report:
@mkdir $(top_builddir)/coverage
lcov --capture --compat-libtool --output-file $(top_builddir)/coverage/coverage.info --directory $(top_builddir)/src/lib --base-directory $(top_srcdir)/src/lib
lcov --remove $(top_builddir)/coverage/coverage.info '*.h' --output-file $(top_builddir)/coverage/coverage.cleaned.info
lcov --remove $(top_builddir)/coverage/coverage.cleaned.info '*/tests/*' --output-file $(top_builddir)/coverage/coverage.cleaned2.info
genhtml --branch-coverage -t "$(PACKAGE_STRING)" -o $(top_builddir)/coverage/html $(top_builddir)/coverage/coverage.cleaned2.info
@echo "Coverage Report at $(top_builddir)/coverage/html"
endif
if EFL_HAVE_TESTS
TESTS = src/tests/${edi_name}_tests
lcov-check:
if EFL_HAVE_LCOV
@$(MAKE) $(AM_MAKEFLAGS) lcov-reset
endif
@$(MAKE) $(AM_MAKEFLAGS) check
if EFL_HAVE_LCOV
@$(MAKE) $(AM_MAKEFLAGS) lcov-report
endif
endif
# cleaning
clean-local:
rm -rf benchmark coverage

View File

@ -1,9 +0,0 @@
EDJE_CC = @edje_cc@
EDJE_CC_FLAGS_VERBOSE = $(EDJE_CC_FLAGS_VERBOSE_@AM_V@)
EDJE_CC_FLAGS_VERBOSE_ = $(EDJE_CC_FLAGS_VERBOSE_@AM_DEFAULT_V@)
EDJE_CC_FLAGS_VERBOSE_1 = -v
EDJE_CC_FLAGS = $(EDJE_CC_FLAGS_VERBOSE) -fastdecomp -id $(srcdir) -fd $(srcdir)
AM_V_EDJ = $(am__v_EDJ_@AM_V@)
am__v_EDJ_ = $(am__v_EDJ_@AM_DEFAULT_V@)
am__v_EDJ_0 = @echo " EDJ " $@;

View File

@ -1,15 +0,0 @@
#!/bin/sh
rm -rf autom4te.cache
rm -f aclocal.m4 ltmain.sh
echo "Running autopoint..." ; autopoint -f || :
echo "Running aclocal..." ; aclocal -I m4 $ACLOCAL_FLAGS || exit 1
echo "Running autoconf..." ; autoconf || exit 1
echo "Running autoheader..." ; autoheader || exit 1
echo "Running libtoolize..." ; (libtoolize --copy --automake || glibtoolize --automake) || exit 1
echo "Running automake..." ; automake --add-missing --copy --gnu || exit 1
if [ -z "$NOCONFIGURE" ]; then
./configure "$@"
fi

View File

@ -1,98 +0,0 @@
EFL_VERSION([0], [0], [1], [dev])
AC_INIT([${edi_name}], [efl_version], [enlightenment-devel@lists.sourceforge.net])
AC_PREREQ([2.65])
AC_CONFIG_SRCDIR([configure.ac])
AC_CONFIG_HEADERS([config.h])
AC_CANONICAL_BUILD
AC_CANONICAL_HOST
AM_INIT_AUTOMAKE([1.10 dist-bzip2 -Wall color-tests])
m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
AM_PROG_AR
# this will speed up libtool checks
LT_PREREQ([2.2])
LT_INIT([win32-dll pic-only])
EFL_INIT
AC_PROG_CC
AM_PROG_CC_C_O
EFL_ATTRIBUTE_UNUSED
ELM_QUICKLAUNCH
EFL_COMPILER_FLAG([-Wall])
EFL_COMPILER_FLAG([-W])
# Checks for header files.
EFL_CHECK_PATH_MAX
# Check for EFL
PKG_CHECK_MODULES([EFL],
[
eina >= 1.8.0
evas >= 1.8.0
ecore >= 1.8.0
edje >= 1.8.0
elementary >= 1.8.0
])
# Check for tests and coverage
AC_ARG_WITH([tests],
[AC_HELP_STRING([--with-tests=none|regular|coverage],
[choose testing method: regular, coverage or none.
@<:@default=none@:>@])],
[build_tests=${withval}],
[build_tests=auto])
EFL_TESTS([${build_tests}])
# doxygen program for documentation building
EFL_CHECK_DOXYGEN([build_doc="yes"], [build_doc="no"])
# Check edje_cc
EFL_WITH_BIN([edje], [edje-cc], [edje_cc])
# Checks for library functions.
AC_CHECK_FUNCS([setlocale])
AM_GNU_GETTEXT_VERSION([0.17])
AM_GNU_GETTEXT([external])
AC_CONFIG_FILES([
Makefile
data/Makefile
data/desktop/Makefile
data/desktop/${edi_name}.desktop
data/themes/Makefile
data/themes/default/Makefile
doc/Makefile
packaging/Makefile
packaging/slackware/Makefile
packaging/pkgbuild/Makefile
po/Makefile.in
src/Makefile
src/bin/Makefile
src/lib/Makefile
src/tests/Makefile
doc/${edi_name}.1
])
AC_OUTPUT
echo
echo
echo "------------------------------------------------------------------------"
echo "$PACKAGE_NAME $PACKAGE_VERSION"
echo "------------------------------------------------------------------------"
echo
echo "Compilation..............: make (or gmake)"
echo " CFLAGS.................: $CFLAGS"
echo " edje_cc................: ${edje_cc}"
echo
echo "Building documentation...: ${build_doc}"
echo "Building tests...........: ${have_tests}"
echo "Generate coverage .......: ${have_lcov}"
echo
echo "Installation.............: make install (as root if needed, with 'su' or 'sudo')"
echo " prefix.................: $prefix"
echo

View File

@ -1,3 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
SUBDIRS = themes desktop

View File

@ -1,9 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
desktopdir = $(datadir)/applications
desktop_DATA = ${edi_name}.desktop
icondir = $(datadir)/icons
icon_DATA = ${edi_name}.png
EXTRA_DIST = $(desktop_DATA) $(icon_DATA)

View File

@ -1,4 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
SUBDIRS = default

View File

@ -1,22 +0,0 @@
AUTOMAKE_OPTIONS = subdir-objects
MAINTAINERCLEANFILES = Makefile.in
EXTRA_DIST = \
default.edc \
images/enlightenment.png \
sounds/bell.wav
include ../../../Makefile_Edje_Helper.am
filesdir = $(datadir)/$(PACKAGE)/themes
files_DATA = default.edj
default.edj: Makefile $(EXTRA_DIST)
$(AM_V_EDJ)$(EDJE_CC) $(EDJE_CC_FLAGS) \
-id ${top_srcdir}/data/themes/default/images \
-sd ${top_srcdir}/data/themes/default/sounds \
$(top_srcdir)/data/themes/default/default.edc \
$(top_builddir)/data/themes/default/default.edj
clean-local:
rm -f *.edj

View File

@ -1 +0,0 @@

View File

@ -1,50 +0,0 @@
.TH ${EDI_NAME} 1 "01 01 ${Edi_Year} FIXME" "@PACKAGE_NAME@ @PACKAGE_VERSION@"
.SH NAME
${edi_name} \- a demo application
.SH SYNOPSIS
.B ${edi_name}
[-L] [-C] [-V] [-h]
.SH DESCRIPTION
${Edi_Name} is a demo application to show how to integrate EFL and autotools into a
cross platform build. You should be able to generate an executable easily for all
target supported by EFL with this ${edi_name}.
With no option, the program starts and display an Hello World.
.SH OPTIONS
.TP
.B -L, --license
Show license.
.TP
.B -C, --copyright
Show copyright.
.TP
.B -V, --version
Show program version.
.TP
.B -h, --help
Print list of options with short description.
.SH BUGS
Reports are welcome. Send them at @PACKAGE_BUGREPORT@.
.SH HOMEPAGE
http://enlightenment.org
.SH AUTHORS
${Edi_User} <${Edi_Email}> and various contributors.

View File

@ -1,38 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
EXTRA_DIST = ${edi_name}.1.in
man_MANS = ${edi_name}.1
.PHONY: doc
PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc
if EFL_BUILD_DOC
doc-clean:
rm -rf html/ latex/ man/ xml/ $(top_builddir)/$(PACKAGE_DOCNAME).tar*
doc: all
$(efl_doxygen)
cp $(srcdir)/img/* html/
cp $(srcdir)/img/*.eps latex/
rm -rf $(PACKAGE_DOCNAME).tar*
mkdir -p $(PACKAGE_DOCNAME)/doc
cp -R html/ latex/ man/ $(PACKAGE_DOCNAME)/doc
tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/
bzip2 -9 $(PACKAGE_DOCNAME).tar
rm -rf $(PACKAGE_DOCNAME)/
mv $(PACKAGE_DOCNAME).tar.bz2 $(top_builddir)
@echo "Documentation Package: doc/$(PACKAGE_DOCNAME).tar.bz2"
@echo "Documentation HTML: doc/html"
clean-local: doc-clean
else
doc:
@echo "Documentation not built. Run ./configure --help"
endif

View File

@ -1,123 +0,0 @@
dnl file to manage modules in efl
dnl EFL_VERSION(major, minor, micro, release)
dnl This setup EFL version information and should be called BEFORE AC_INIT().
dnl
dnl release parameter is 'dev' to use from SVN or libtool -release field.
dnl It may be empty if not dev (svn/live build) and no -release is to be used.
dnl
dnl Examples:
dnl EFL_VERSION(1, 7, 99, dev)
dnl EFL_VERSION(1, 7, 99, ver-1234)
dnl This will define couple of m4 symbols:
dnl v_maj = given major number (first parameter)
dnl v_min = given minor number (second parameter)
dnl v_mic = given micro number (third parameter)
dnl v_rev = if release, it's 0, otherwise it's dev_version.
dnl v_rel = if release, it's -release followed by fourth parameter,
dnl otherwise it's empty. (mostly for libtool)
dnl efl_version = if release, it's major.minor.micro, otherwise it's
dnl major.minor.micro.dev_version
dnl dev_version = development version (svn revision).
dnl def_build_profile = dev or release based on 'dev' release parameter.
AC_DEFUN([EFL_VERSION],
[dnl
m4_define([v_maj], [$1])dnl
m4_define([v_min], [$2])dnl
m4_define([v_mic], [$3])dnl
m4_define([dev_version], m4_esyscmd([(git rev-list --count HEAD 2>/dev/null || echo 0) | tr -d '\n']))dnl
m4_define([v_rev], m4_if($4, dev, [dev_version], [0]))dnl
m4_define([v_rel], [])dnl
m4_define([def_build_profile], m4_if($4, dev, [dev], [release]))dnl
m4_define([efl_version], m4_if($4, dev, [v_maj.v_min.v_mic.v_rev], [v_maj.v_min.v_mic]))dnl
m4_define([efl_version], [v_maj.v_min.v_mic])dnl
])
dnl EFL_COLOR
dnl will check if terminal supports color and if color is wanted by user.
dnl
dnl Used Variables:
dnl WANT_COLOR: if no, forces no color output.
dnl TERM: used to check if color should be enabled.
dnl
dnl Defined Variables:
dnl COLOR_YES: to be used in positive/yes conditions
dnl COLOR_NO: to be used in negative/no conditions
dnl COLOR_OTHER: to be used to highlight some other condition
dnl COLOR_RESET: to reset color
dnl want_color: yes or no
AC_DEFUN([EFL_COLOR],
[dnl
case "$TERM" in
xterm|xterm-color|xterm-256color|Eterm|aterm|kterm|rxvt*|screen|gnome|interix)
want_color="${WANT_COLOR:-yes}"
;;
*)
want_color="no"
;;
esac
if test "${want_color}" = "yes"; then
if test `echo -e x` = x; then
echoopt=-e
else
echoopt=
fi
COLOR_YES=`echo $echoopt "\033@<:@1;32m"`
COLOR_NO=`echo $echoopt "\033@<:@1;31m"`
COLOR_OTHER=`echo $echoopt "\033@<:@1;36m"`
COLOR_RESET=`echo $echoopt "\033@<:@0m"`
else
COLOR_YES=""
COLOR_NO=""
COLOR_OTHER=""
COLOR_RESET=""
fi
])
dnl EFL_INIT()
dnl Will AC_DEFINE() the following:
dnl VMAJ = v_maj
dnl VMIN = v_min
dnl VMIC = v_mic
dnl VREV = v_rev
dnl Will AC_SUBST() the following:
dnl VMAJ = v_maj
dnl VMIN = v_min
dnl VMIC = v_mic
dnl EFL_LTLIBRARY_FLAGS="-no-undefined -version-info ..."
dnl EFL_LTMODULE_FLAGS="-no-undefined -avoid-version"
dnl Will define the following m4:
dnl lt_cur = libtool 'current' field of libtool's -version-info
dnl lt_rev = libtool 'revision' field of libtool's -version-info
dnl lt_age = libtool 'age' field of libtool's -version-info
AC_DEFUN([EFL_INIT],
[dnl
AC_REQUIRE([EFL_COLOR])dnl
AC_DEFINE_UNQUOTED([VMAJ], [v_maj], [Major version])dnl
AC_DEFINE_UNQUOTED([VMIN], [v_min], [Minor version])dnl
AC_DEFINE_UNQUOTED([VMIC], [v_mic], [Micro version])dnl
AC_DEFINE_UNQUOTED([VREV], [v_rev], [Revison])dnl
VMAJ=v_maj
VMIN=v_min
VMIC=v_mic
AC_SUBST([VMAJ])dnl
AC_SUBST([VMIN])dnl
AC_SUBST([VMIC])dnl
dnl
dnl TODO: warning - lt_cur:
dnl the previous code assumed v_maj + v_min, but this will be a problem when
dnl we bump v_maj and reset v_min. 1 + 7 == 7 + 1, so if v_maj is bumped
dnl we multiply it by 100.
m4_define([lt_cur], m4_if(m4_cmp(v_maj, 1), 0, m4_eval(v_maj + v_min), m4_eval(v_maj * 100 + v_min)))dnl
m4_define([lt_rev], v_mic)dnl
m4_define([lt_age], v_min)dnl
dnl
EFL_LTLIBRARY_FLAGS="-no-undefined -version-info lt_cur:lt_rev:lt_age v_rel"
AC_SUBST(EFL_LTLIBRARY_FLAGS)dnl
EFL_LTMODULE_FLAGS="-no-undefined -avoid-version"
AC_SUBST([EFL_LTMODULE_FLAGS])dnl
AC_MSG_NOTICE([Initialized AC_PACKAGE_NAME (AC_PACKAGE_VERSION) development=dev_version v_rel])
])

View File

@ -1,56 +0,0 @@
dnl Copyright (C) 2011 Vincent Torri <vtorri at univ-evry dot fr>
dnl That code is public domain and can be freely used or copied.
dnl Macros for checking if the compiler supports some __attribute__ uses
dnl Usage: EFL_ATTRIBUTE_UNUSED
dnl call AC_DEFINE for __UNUSED__ if __attribute__((unused)) is available
AC_DEFUN([EFL_ATTRIBUTE_UNUSED],
[
AC_MSG_CHECKING([for __attribute__ ((unused))])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
void foo(int x __attribute__ ((unused))) {}
]],
[[
]])],
[have_attribute_unused="yes"],
[have_attribute_unused="no"])
AC_MSG_RESULT([${have_attribute_unused}])
if test "x${have_attribute_unused}" = "xyes" ; then
AC_DEFINE([__UNUSED__], [__attribute__ ((unused))], [Macro declaring a function argument to be unused.])
else
AC_DEFINE([__UNUSED__], [], [__attribute__ ((unused)) is not supported.])
fi
])
dnl Usage: EFL_ATTRIBUTE_VECTOR
dnl call AC_DEFINE for HAVE_GCC_ATTRIBUTE_VECTOR if __attribute__((vector)) is available
AC_DEFUN([EFL_ATTRIBUTE_VECTOR],
[
AC_MSG_CHECKING([for __attribute__ ((vector))])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
typedef int v4si __attribute__ ((vector_size (16)));
]],
[[
if (sizeof(v4si) == 16)
return 0;
else
return -1;
]])],
[have_attribute_vector="yes"],
[have_attribute_vector="no"])
AC_MSG_RESULT([${have_attribute_vector}])
if test "x${have_attribute_vector}" = "xyes" ; then
AC_DEFINE([HAVE_GCC_ATTRIBUTE_VECTOR], [1], [Define to 1 if your compiler supports __attribute__ ((vector)).])
fi
])
dnl End of efl_attribute.m4

View File

@ -1,79 +0,0 @@
dnl Copyright (C) 2010 Vincent Torri <vtorri at univ-evry dot fr>
dnl That code is public domain and can be freely used or copied.
dnl Macro that check if a binary is built or not
dnl Usage: EFL_ENABLE_BIN(binary)
dnl Call AC_SUBST(BINARY_PRG) (BINARY is the uppercase of binary, - being transformed into _)
dnl Define have_binary (- is transformed into _)
dnl Define conditional BUILD_BINARY (BINARY is the uppercase of binary, - being transformed into _)
AC_DEFUN([EFL_ENABLE_BIN],
[
m4_pushdef([UP], m4_translit([[$1]], [-a-z], [_A-Z]))dnl
m4_pushdef([DOWN], m4_translit([[$1]], [-A-Z], [_a-z]))dnl
have_[]m4_defn([DOWN])="yes"
dnl configure option
AC_ARG_ENABLE([$1],
[AC_HELP_STRING([--disable-$1], [disable building of ]DOWN)],
[
if test "x${enableval}" = "xyes" ; then
have_[]m4_defn([DOWN])="yes"
else
have_[]m4_defn([DOWN])="no"
fi
])
AC_MSG_CHECKING([whether to build ]DOWN[ binary])
AC_MSG_RESULT([$have_[]m4_defn([DOWN])])
if test "x$have_[]m4_defn([DOWN])" = "xyes"; then
UP[]_PRG=DOWN[${EXEEXT}]
fi
AC_SUBST(UP[]_PRG)
AM_CONDITIONAL(BUILD_[]UP, test "x$have_[]m4_defn([DOWN])" = "xyes")
AS_IF([test "x$have_[]m4_defn([DOWN])" = "xyes"], [$2], [$3])
])
dnl Macro that check if a binary is built or not
dnl Usage: EFL_WITH_BIN(package, binary, default_value)
dnl Call AC_SUBST(_binary) (_binary is the lowercase of binary, - being transformed into _ by default, or the value set by the user)
AC_DEFUN([EFL_WITH_BIN],
[
m4_pushdef([DOWN], m4_translit([[$2]], [-A-Z], [_a-z]))dnl
m4_pushdef([UP], m4_translit([[$2]], [-a-z], [_A-Z]))dnl
dnl configure option
AC_ARG_WITH([$2],
[AC_HELP_STRING([--with-$2=PATH], [specify a specific path to ]DOWN[ @<:@default=$3@:>@])],
[
_efl_with_binary=${withval}
_efl_binary_define="yes"
],
[
_efl_with_binary=$(pkg-config --variable=prefix $1)/bin/$3
_efl_binary_define="no"
])
DOWN=${_efl_with_binary}
AC_MSG_NOTICE(DOWN[ set to ${_efl_with_binary}])
with_binary_[]m4_defn([DOWN])=${_efl_with_binary}
AM_CONDITIONAL(HAVE_[]UP, [test "x${_efl_binary_define}" = "xyes"])
AC_SUBST(DOWN)
])

View File

@ -1,57 +0,0 @@
dnl Copyright (C) 2010 Vincent Torri <vtorri at univ-evry dot fr>
dnl and Albin Tonnerre <albin dot tonnerre at gmail dot com>
dnl That code is public domain and can be freely used or copied.
dnl Macro that checks if a compiler flag is supported by the compiler.
dnl Usage: EFL_COMPILER_FLAG(flag)
dnl flag is added to CFLAGS if supported.
AC_DEFUN([EFL_COMPILER_FLAG],
[
CFLAGS_save="${CFLAGS}"
CFLAGS="${CFLAGS} $1"
AC_LANG_PUSH([C])
AC_MSG_CHECKING([whether the compiler supports $1])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[]])],
[have_flag="yes"],
[have_flag="no"])
AC_MSG_RESULT([${have_flag}])
if test "x${have_flag}" = "xno" ; then
CFLAGS="${CFLAGS_save}"
fi
AC_LANG_POP([C])
])
dnl Macro that checks if a linker flag is supported by the compiler.
dnl Usage: EFL_LINKER_FLAG(flag)
dnl flag is added to LDFLAGS if supported (will be passed to ld anyway).
AC_DEFUN([EFL_LINKER_FLAG],
[
LDFLAGS_save="${LDFLAGS}"
LDFLAGS="${LDFLAGS} $1"
AC_LANG_PUSH([C])
AC_MSG_CHECKING([whether the compiler supports $1])
AC_LINK_IFELSE(
[AC_LANG_PROGRAM([[]])],
[have_flag="yes"],
[have_flag="no"])
AC_MSG_RESULT([${have_flag}])
if test "x${have_flag}" = "xno" ; then
LDFLAGS="${LDFLAGS_save}"
fi
AC_LANG_POP([C])
])

View File

@ -1,98 +0,0 @@
dnl Copyright (C) 2008 Vincent Torri <vtorri at univ-evry dot fr>
dnl That code is public domain and can be freely used or copied.
dnl Macro that check if doxygen is available or not.
dnl EFL_CHECK_DOXYGEN([ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
dnl Test for the doxygen program
dnl Defines efl_doxygen
dnl Defines the automake conditionnal EFL_BUILD_DOC
dnl
AC_DEFUN([EFL_CHECK_DOXYGEN],
[
dnl
dnl Disable the build of the documentation
dnl
AC_ARG_ENABLE([doc],
[AC_HELP_STRING(
[--disable-doc],
[Disable documentation build @<:@default=enabled@:>@])],
[
if test "x${enableval}" = "xyes" ; then
efl_enable_doc="yes"
else
efl_enable_doc="no"
fi
],
[efl_enable_doc="yes"]
)
if test "x${efl_enable_doc}" = "xyes" ; then
dnl
dnl Specify the full file name, with path
dnl
efl_doxygen="doxygen"
AC_ARG_WITH([doxygen],
[AC_HELP_STRING(
[--with-doxygen=FILE],
[doxygen program to use @<:@default=doxygen@:>@])],
dnl
dnl Check the given doxygen program.
dnl
[efl_doxygen=${withval}
AC_CHECK_PROG([efl_have_doxygen],
[${efl_doxygen}],
[yes],
[no])
if test "x${efl_have_doxygen}" = "xno" ; then
echo "WARNING:"
echo "The doxygen program you specified:"
echo "$efl_doxygen"
echo "was not found. Please check the path and make sure "
echo "the program exists and is executable."
AC_MSG_WARN([Warning: no doxygen detected. Documentation will not be built])
fi
],
[AC_CHECK_PROG([efl_have_doxygen],
[${efl_doxygen}],
[yes],
[no])
if test "x${efl_have_doxygen}" = "xno" ; then
echo "WARNING:"
echo "The doxygen program was not found in your execute"
echo "You may have doxygen installed somewhere not covered by your path."
echo ""
echo "If this is the case make sure you have the packages installed, AND"
echo "that the doxygen program is in your execute path (see your"
echo "shell manual page on setting the \$PATH environment variable), OR"
echo "alternatively, specify the program to use with --with-doxygen."
AC_MSG_WARN([Warning: no doxygen detected. Documentation will not be built])
fi
]
)
fi
dnl
dnl Substitution
dnl
AC_SUBST([efl_doxygen])
if ! test "x${efl_have_doxygen}" = "xyes" ; then
efl_enable_doc="no"
fi
AM_CONDITIONAL(EFL_BUILD_DOC, test "x${efl_enable_doc}" = "xyes")
if test "x${efl_enable_doc}" = "xyes" ; then
ifelse([$1], , :, [$1])
else
ifelse([$2], , :, [$2])
fi
])
dnl End of doxygen.m4

View File

@ -1,36 +0,0 @@
dnl Check for PATH_MAX in limits.h, and define a default value if not found
dnl This is a workaround for systems not providing PATH_MAX, like GNU/Hurd
dnl EFL_CHECK_PATH_MAX([DEFAULT_VALUE_IF_NOT_FOUND])
dnl
dnl If PATH_MAX is not defined in <limits.h>, defines it
dnl to DEFAULT_VALUE_IF_NOT_FOUND if it exists, or fallback
dnl to using 4096
AC_DEFUN([EFL_CHECK_PATH_MAX],
[
default_max=m4_default([$1], "4096")
AC_LANG_PUSH([C])
AC_MSG_CHECKING([for PATH_MAX in limits.h])
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
[[
#include <limits.h>
]],
[[
int i = PATH_MAX;
]])],
[AC_MSG_RESULT([yes])],
[
AC_DEFINE_UNQUOTED([PATH_MAX],
[${default_max}],
[default value since PATH_MAX is not defined])
AC_MSG_RESULT([no: using ${default_max}])
])
AC_LANG_POP([C])
])
dnl end of efl_path_max.m4

View File

@ -1,65 +0,0 @@
dnl Copyright (C) 2013 Cedric BAIL <cedric.bail at free dot fr>
dnl That code is public domain and can be freely used or copied.
dnl Macro for checking availability of tests and coverage infra structure
dnl Usage: EFL_TESTS(profile)
dnl Valid profile are auto, tests, coverage, no
dnl Call PKG_CHECK_MODULES, AC_CHECK_PROG, define CHECK_CFLAGS/CHECK_LIBS and modify CFLAGS/LIBS
dnl It define EFL_HAVE_TESTS/EFL_HAVE_LCOV for use in Makefile.am
dnl It set have_test and have_coverage to yes/no depending if found
AC_DEFUN([EFL_TESTS],
[
build_tests=$1
case "${build_tests}" in
auto)
check_tests="auto"
check_coverage="auto"
;;
tests)
check_tests="yes"
check_coverage="auto"
;;
coverage)
check_tests="yes"
check_coverage="yes"
;;
no)
check_tests="no"
check_coverage="no"
;;
*)
AC_MSG_ERROR([Unknow tests profile])
esac
have_tests="no"
if test "x${check_tests}" = "xyes" -o "x${check_tests}" = "xauto"; then
PKG_CHECK_MODULES([CHECK], [check >= 0.9.5], [have_tests="yes"], [have_tests="no"])
if test "${check_tests}" = "xyes" -a "x${have_tests}" = "xno"; then
AC_MSG_ERROR([Impossible to find check package to build tests])
fi
fi
if test "x${have_tests}" = "xyes"; then
if test "x${check_coverage}" = "xyes" -o "x${check_coverage}" = "xauto"; then
AC_CHECK_PROG([have_lcov], [lcov], [yes], [no])
if test "x${have_lcov}" = "xyes" ; then
CFLAGS="${CFLAGS} -fprofile-arcs -ftest-coverage"
LIBS="${LIBS} -lgcov"
fi
if test "x${have_lcov}" = "xno" -a "x${check_coverage}" = "xyes"; then
AC_MSG_ERROR([Impossible to find lcov package to build with coverage support])
fi
else
have_coverage="no"
fi
else
have_coverage="no"
fi
AM_CONDITIONAL([EFL_HAVE_TESTS], [test "x${have_tests}" = "xyes"])
AM_CONDITIONAL([EFL_HAVE_LCOV], [test "x${have_lcov}" = "xyes"])
])

View File

@ -1,4 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
SUBDIRS = slackware pkgbuild

View File

@ -1,3 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
EXTRA_DIST = PKGBUILD

View File

@ -1,60 +0,0 @@
# Maintainer: Enlightenment Developers <enlightenment-devel@enlightenment.org>
pkgname=('${edi_name}-git' '${edi_name}_doc-git')
pkgver=1.8.99.8967.a1cfce6
pkgrel=1
pkgdesc="Enlightenment toolkit ${edi_name} - GIT development snapshot"
arch=('i686' 'x86_64' 'arm')
url="http://${Edi_Url}"
license=('WTFPL')
makedepends=('doxygen' 'imagemagick' 'git')
depends=('elementary-git')
optdepends=('emotion_generic_players' 'evas_generic_loaders')
options=('!libtool' 'debug')
provides=('${edi_name}')
pkgver() {
cd "../.."
for _i in v_maj v_min v_mic; do
local v_ver=$v_ver.$(grep -m 1 $_i configure.ac | sed 's/m4//' | grep -o "[[:digit:]]*")
done
v_ver=$(awk -F , -v v_ver=${v_ver#.} '/^AC_INIT/ {gsub(/v_ver/, v_ver); gsub(/[\[\] -]/, ""); print $2}' configure.ac)
printf "$v_ver.$(git rev-list --count HEAD).$(git rev-parse --short HEAD)"
}
build() {
cd "../.."
export CFLAGS="$CFLAGS -fvisibility=hidden -fomit-frame-pointer"
[[ -e Makefile ]] && make clean distclean
./configure --prefix=/usr \
--disable-static
make
make doc
}
package_${edi_name}-git() {
cd "../.."
make -j1 DESTDIR="$pkgdir/" install
install -Dm644 README "$pkgdir/usr/share/$pkgname/README"
install -Dm644 NEWS "$pkgdir/usr/share/$pkgname/NEWS"
install -Dm644 ChangeLog "$pkgdir/usr/share/$pkgname/ChangeLog"
install -Dm644 AUTHORS "$pkgdir/usr/share/$pkgname/AUTHORS"
install -Dm644 COMPLIANCE "$pkgdir/usr/share/$pkgname/COMPLIANCE"
install -Dm644 COPYING.images "$pkgdir/usr/share/licenses/$pkgname/COPYING.images"
sed -n '1,/details./p' COPYING > "$pkgdir/usr/share/licenses/$pkgname/COPYING"
ln -s "../licenses/$pkgname/COPYING" "$pkgdir/usr/share/$pkgname/COPYING"
ln -s "../licenses/$pkgname/COPYING.images" "$pkgdir/usr/share/$pkgname/COPYING.images"
}
package_${edi_name}_doc-git() {
pkgdesc="Documentation for ${Edi_Name}"
arch=('any')
unset depends optdepends
cd "../.."
mkdir -p "$pkgdir/usr/share/doc/$pkgname"
cp -a doc/html "$pkgdir/usr/share/doc/$pkgname/html"
cp -a doc/latex "$pkgdir/usr/share/doc/$pkgname/latex"
}

View File

@ -1,106 +0,0 @@
#!/bin/bash
#
# Begin ${edi_name}.SlackBuild
#
# Copyright (C) 2012-2013 Jerome Pinot <ngc891@gmail.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
NAME=${edi_name}
BUILD=${BUILD:-1jp}
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=${TMP}/package-${NAME}
# First check if we are in the right folder
if [ -f ./${NAME}.SlackBuild ]; then
echo 'Found SlackBuild'
else
echo 'Error: You must run this script from the packaging/slackware sub-folder!'
exit 1
fi
# Get the version number from configure.ac
if [ -f ../../configure.ac ];then
VERSION=`grep "AC_INIT" ../../configure.ac | cut -d' ' -f2 | sed -e 's/\[//' -e 's/\],//'`
else
echo "Error: can't find configure.ac!"
exit 2
fi
# if ${ARCH} is unset, we have to guess it with uname
if [ -z "${ARCH}" ]; then
case "$(uname -m)" in
i?86) export ARCH=i486 ;;
arm*) export ARCH=arm ;;
*) export ARCH=$(uname -m) ;;
esac
fi
# Set generic flags for gcc
SCFLAGS='-O2'
if [ "${ARCH}" = "i486" ]; then
SCFLAGS="${SCFLAGS} -march=i486 -mtune=i686"
LIBDIR="/usr/lib"
elif [ "${ARCH}" = "x86_64" ]; then
SCFLAGS="${SCFLAGS} -fPIC"
LIBDIR="/usr/lib64"
elif [ "${ARCH}" = "arm" ]; then
SCFLAGS="${SCFLAGS} -march=armv4 -mtune=xscale"
LIBDIR="/usr/lib"
fi
# Creating directories
if [ ! -d ${TMP} ]; then
mkdir -p ${TMP}
fi
rm -rf ${PKG}
mkdir -p ${PKG}
# Configuring
cd ../..
CFLAGS="${SCFLAGS}" \
./configure \
--prefix=/usr \
--libdir=${LIBDIR} \
--mandir=/usr/man \
--docdir=/usr/doc/${NAME}-${VERSION}
# Building
make
# Installing
make DESTDIR=${PKG} install
# Cleaning
cd ${PKG}
gzip -9 usr/man/man1/${NAME}.1
find ${PKG} | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find ${PKG} | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
# Building the package
mkdir install
install -m644 ${CWD}/doinst.sh install/
install -m644 ${CWD}/slack-desc install/
install -m644 ${CWD}/slack-required install/
makepkg -l y -c n ${CWD}/${NAME}-${VERSION}-${ARCH}-${BUILD}.txz
rm -rf ${PKG}
# End ${edi_name}.SlackBuild

View File

@ -1,4 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
EXTRA_DIST = doinst.sh ${edi_name}.SlackBuild slack-desc slack-required

View File

@ -1 +0,0 @@
# Stuff done after package installation

View File

@ -1,19 +0,0 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description. Line
# up the first '|' above the ':' following the base package name, and the '|'
# on the right side marks the last column you can put a character in. You must
# make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':'.
|-----handy-ruler------------------------------------------------------|
${edi_name}: ${edi_name}
${edi_name}:
${edi_name}: ${Edi_Name} is an example of application written using the Enlightenment
${edi_name}: Foundation Libraries.
${edi_name}:
${edi_name}: It requires elementary.
${edi_name}:
${edi_name}: ${edi_name} was written by ${Edi_User} <${Edi_Email}>
${edi_name}: website: <http://${Edi_Url}/>
${edi_name}:
${edi_name}:

View File

@ -1,5 +0,0 @@
eina >= 1.8.0
evas >= 1.8.0
ecore >= 1.8.0
edje >= 1.8.0
elementary >= 1.8.0

View File

@ -1,4 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
SUBDIRS = lib bin tests

View File

@ -1,19 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
bin_PROGRAMS = ${edi_name}
AM_CPPFLAGS = -DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
-I$(top_builddir)/src/bin/ \
-I$(top_srcdir)/src/bin/ \
-I$(top_builddir)/src/lib/ \
-I$(top_srcdir)/src/lib/ \
@EFL_CFLAGS@
${edi_name}_SOURCES = ${edi_name}_main.c
${edi_name}_LDADD = @EFL_LIBS@ $(top_builddir)/src/lib/lib${edi_name}.la
localedir = $(datadir)/locale
DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
EXTRA_DIST = ${edi_name}_private.h

View File

@ -1,111 +0,0 @@
#ifndef ${EDI_NAME}_H_
# define ${EDI_NAME}_H_
#include <Elementary.h>
#ifdef EAPI
# undef EAPI
#endif
#ifdef _WIN32
# ifdef EFL_${EDI_NAME}_BUILD
# ifdef DLL_EXPORT
# define EAPI __declspec(dllexport)
# else
# define EAPI
# endif /* ! DLL_EXPORT */
# else
# define EAPI __declspec(dllimport)
# endif /* ! EFL_${EDI_NAME}_BUILD */
#else
# ifdef __GNUC__
# if __GNUC__ >= 4
# define EAPI __attribute__ ((visibility("default")))
# else
# define EAPI
# endif
# else
# define EAPI
# endif
#endif /* ! _WIN32 */
#ifdef __cplusplus
extern "C" {
#endif
/**
* @file
* @brief These routines are used for ${Edi_Name} library interaction.
*/
/**
* @brief Init / shutdown functions.
* @defgroup Init Init / Shutdown
*
* @{
*
* Functions of obligatory usage, handling proper initialization
* and shutdown routines.
*
* Before the usage of any other function, ${Edi_Name} should be properly
* initialized with @ref ${edi_name}_init() and the last call to ${Edi_Name}'s
* functions should be @ref ${edi_name}_shutdown(), so everything will
* be correctly freed.
*
* ${Edi_Name} logs everything with Eina Log, using the "${edi_name}" log domain.
*
*/
/**
* Initialize ${Edi_Name}.
*
* Initializes ${Edi_Name}, its dependencies and modules. Should be the first
* function of ${Edi_Name} to be called.
*
* @return The init counter value.
*
* @see ${edi_name}_shutdown().
*
* @ingroup Init
*/
EAPI int ${edi_name}_init(void);
/**
* Shutdown ${Edi_Name}
*
* Shutdown ${Edi_Name}. If init count reaches 0, all the internal structures will
* be freed. Any ${Edi_Name} library call after this point will leads to an error.
*
* @return ${Edi_Name}'s init counter value.
*
* @see ${edi_name}_init().
*
* @ingroup Init
*/
EAPI int ${edi_name}_shutdown(void);
/**
* @}
*/
/**
* @brief Main group API that wont do anything
* @defgroup Main Main
*
* @{
*
* @brief A function that doesn't do any good nor any bad
*
* @ingroup Main
*/
EAPI void ${edi_name}_library_call(void);
/**
* @}
*/
#ifdef __cplusplus
}
#endif
#endif /* ${EDI_NAME}_H_ */

View File

@ -1,64 +0,0 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include "${Edi_Name}.h"
#include "${edi_name}_private.h"
static int _${edi_name}_init = 0;
int _${edi_name}_lib_log_dom = -1;
EAPI int
${edi_name}_init(void)
{
_${edi_name}_init++;
if (_${edi_name}_init > 1) return _${edi_name}_init;
eina_init();
_${edi_name}_lib_log_dom = eina_log_domain_register("${edi_name}", EINA_COLOR_CYAN);
if (_${edi_name}_lib_log_dom < 0)
{
EINA_LOG_ERR("${Edi_Name} can not create its log domain.");
goto shutdown_eina;
}
// Put here your initialization logic of your library
eina_log_timing(_${edi_name}_lib_log_dom, EINA_LOG_STATE_STOP, EINA_LOG_STATE_INIT);
return _${edi_name}_init;
shutdown_eina:
eina_shutdown();
_${edi_name}_init--;
return _${edi_name}_init;
}
EAPI int
${edi_name}_shutdown(void)
{
_${edi_name}_init--;
if (_${edi_name}_init != 0) return _${edi_name}_init;
eina_log_timing(_${edi_name}_lib_log_dom,
EINA_LOG_STATE_START,
EINA_LOG_STATE_SHUTDOWN);
// Put here your shutdown logic
eina_log_domain_unregister(_${edi_name}_lib_log_dom);
_${edi_name}_lib_log_dom = -1;
eina_shutdown();
return _${edi_name}_init;
}
EAPI void
${edi_name}_library_call(void)
{
INF("Not really doing anything useful.");
}

View File

@ -1,27 +0,0 @@
#ifndef ${EDI_NAME}_PRIVATE_H
# define ${EDI_NAME}_PRIVATE_H
extern int _${edi_name}_lib_log_dom;
#ifdef ERR
# undef ERR
#endif
#define ERR(...) EINA_LOG_DOM_ERR(_${edi_name}_lib_log_dom, __VA_ARGS__)
#ifdef INF
# undef INF
#endif
#define INF(...) EINA_LOG_DOM_INFO(_${edi_name}_lib_log_dom, __VA_ARGS__)
#ifdef WRN
# undef WRN
#endif
#define WRN(...) EINA_LOG_DOM_WARN(_${edi_name}_lib_log_dom, __VA_ARGS__)
#ifdef CRIT
# undef CRIT
#endif
#define CRIT(...) EINA_LOG_DOM_CRIT(_${edi_name}_lib_log_dom, __VA_ARGS__)
#ifdef DBG
# undef DBG
#endif
#define DBG(...) EINA_LOG_DOM_DBG(_${edi_name}_lib_log_dom, __VA_ARGS__)
#endif

View File

@ -1,18 +0,0 @@
MAINTAINERCLEANFILES = Makefile.in
AM_CPPFLAGS = \
-I$(top_srcdir)/src/lib \
-I$(top_builddir)/src/lib \
-DPACKAGE_LIB_DIR=\"$(libdir)\" \
-DPACKAGE_DATA_DIR=\"$(datadir)/$(PACKAGE)\" \
@EFL_CFLAGS@ \
-DEFL_${EDI_NAME}_BUILD
lib_LTLIBRARIES = lib${edi_name}.la
includes_HEADERS = ${Edi_Name}.h
includesdir = $(includedir)/${edi_name}-@VMAJ@
lib${edi_name}_la_SOURCES = ${edi_name}.c
lib${edi_name}_la_LIBADD = @EFL_LIBS@ -lm
lib${edi_name}_la_LDFLAGS = -no-undefined @EFL_LTLIBRARY_FLAGS@

View File

@ -1,17 +0,0 @@
if EFL_HAVE_TESTS
check_PROGRAMS = ${edi_name}_tests
${edi_name}_tests_SOURCES = test_${edi_name}.c
${edi_name}_tests_CPPFLAGS = -I$(top_builddir)/src/lib/ \
-DPACKAGE_TESTS_DIR=\"$(top_srcdir)/src/tests/\" \
-DPACKAGE_BUILD_DIR=\"`pwd`/$(top_builddir)/src/tests/\" \
@EFL_CFLAGS@ \
@CHECK_CFLAGS@
${edi_name}_tests_LDADD = @CHECK_LIBS@ $(top_builddir)/src/lib/lib${edi_name}.la
${edi_name}_tests_DEPENDENCIES = $(top_builddir)/src/lib/lib${edi_name}.la
endif
EXTRA_DIST = test_${edi_name}.c

View File

@ -1,124 +0,0 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
#include <Ecore_Getopt.h>
#include <check.h>
#include "${Edi_Name}.h"
#define COPYRIGHT "Copyright © ${Edi_Year} ${Edi_User} <${Edi_Email}> and various contributors (see AUTHORS)."
static void ${edi_name}_test_basic(TCase *tc);
static const struct {
const char *name;
void (*build)(TCase *tc);
} tests[] = {
{ "basic", ${edi_name}_test_basic }
};
START_TEST(${edi_name}_initialization)
{
fail_if(${edi_name}_init() != 1);
${edi_name}_library_call();
fail_if(${edi_name}_shutdown() != 0);
}
END_TEST
static void
${edi_name}_test_basic(TCase *tc)
{
tcase_add_test(tc, ${edi_name}_initialization);
}
static const Ecore_Getopt optdesc = {
"${edi_name}",
"%prog [options]",
PACKAGE_VERSION,
COPYRIGHT,
"BSD with advertisement clause",
"An EFL ${edi_name} program",
0,
{
ECORE_GETOPT_STORE_TRUE('l', "list", "list available tests"),
ECORE_GETOPT_STORE_STR('t', "test", "test to run"),
ECORE_GETOPT_LICENSE('L', "license"),
ECORE_GETOPT_COPYRIGHT('C', "copyright"),
ECORE_GETOPT_VERSION('V', "version"),
ECORE_GETOPT_HELP('h', "help"),
ECORE_GETOPT_SENTINEL
}
};
int
main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
{
Suite *s;
SRunner *sr;
TCase *tc = NULL;
char *test = NULL;
unsigned int i;
int failed_count = -1;
int args;
Eina_Bool quit_option = EINA_FALSE;
Eina_Bool list_option = EINA_FALSE;
Ecore_Getopt_Value values[] = {
ECORE_GETOPT_VALUE_BOOL(list_option),
ECORE_GETOPT_VALUE_STR(test),
ECORE_GETOPT_VALUE_BOOL(quit_option),
ECORE_GETOPT_VALUE_BOOL(quit_option),
ECORE_GETOPT_VALUE_BOOL(quit_option),
ECORE_GETOPT_VALUE_BOOL(quit_option),
ECORE_GETOPT_VALUE_NONE
};
eina_init();
args = ecore_getopt_parse(&optdesc, values, argc, argv);
if (args < 0)
{
EINA_LOG_CRIT("Could not parse arguments.");
goto end;
}
else if (quit_option)
{
goto end;
}
else if (list_option)
{
fprintf(stdout, "Available tests :\n");
for (i = 0; i < sizeof (tests) / sizeof (tests[0]); i++)
fprintf(stdout, "\t%s\n", tests[i].name);
goto end;
}
s = suite_create("${Edi_Name}");
for (i = 0; i < sizeof (tests) / sizeof (tests[0]); i++)
{
if (test && strcmp(tests[i].name, test))
continue ;
tc = tcase_create(tests[i].name);
tcase_set_timeout(tc, 0);
tests[i].build(tc);
suite_add_tcase(s, tc);
}
sr = srunner_create(s);
srunner_set_xml(sr, PACKAGE_BUILD_DIR "/check-results.xml");
srunner_run_all(sr, CK_ENV);
failed_count = srunner_ntests_failed(sr);
srunner_free(sr);
end:
eina_shutdown();
return (failed_count == 0) ? 0 : 255;
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.3 KiB

View File

@ -0,0 +1,34 @@
tar = find_program('tar')
edje_cc = find_program('edje_cc')
skeleton_names = ['eflproject', 'eflproject_python']
foreach skeleton_name : skeleton_names
custom_target('skeleton ' + skeleton_name,
command : [tar, 'zcf', '@OUTPUT@', '-C',
join_paths(meson.source_root(), 'data', 'extra', 'templates', 'skeletons'),
skeleton_name],
output : skeleton_name + '.tar.gz',
install_dir: join_paths(get_option('prefix'), get_option('datadir'), 'edi', 'templates'),
install : true,
)
endforeach
cmd = [ edje_cc,
'-id', join_paths(meson.source_root(), 'data' , 'extra', 'templates', 'images'),
'@INPUT@', '@OUTPUT@'
]
template_dir = join_paths(get_option('datadir'), 'edi', 'templates')
custom_target('templates_meta',
input : 'templates.edc',
output : 'templates.edj',
command : cmd,
install_dir: template_dir,
install: true,
)
out = join_paths(get_option('prefix'), template_dir, 'templates.edj')
meson.add_install_script('../../../scripts/world_read.sh', out)

View File

@ -8,6 +8,7 @@
.deps
*.gcno
*.gcda
.edi
/src/bin/${edi_name}
/src/tests/${edi_name}_tests
@ -57,6 +58,9 @@ po/remove-potcdate.sed
po/remove-potcdate.sin
po/stamp-po
doc/${edi_name}.1
data/desktop/${edi_name}.desktop
/coverage/
/src/tests/${edi_name}_tests.*
/src/tests/test-suite.log

View File

@ -0,0 +1,28 @@
Copyright (c) ${Edi_Year} ${Edi_User}
All rights reserved.
Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@ -0,0 +1 @@
ChangeLog

View File

@ -0,0 +1,60 @@
** COMPILING and INSTALLING **
------------------------------
Meson is the build system used for this project. For more information please
see:
http://mesonbuild.com
----
Normal compilation in /usr/local:
meson . build
ninja -C build
sudo ninja -C build install
For meson build generic options:
meson --help
For a list of project specific options supported:
cat meson_options.txt
To set 1 or more project specific options:
meson --prefix=/path/to -Doption=value [-Dother=value2] [...] . build
To display current configuration:
mesonconf build
The above will only work after at least the following is done:
meson . build
** QUICK AND DIRTY HELP **
--------------------------
How to clean out the build and config and start fresh:
rm -rf build
How to make a dist tarball and check its build:
(must do it from git tree clone and commit all changes to git first)
ninja -C build dist
How to change prefix:
meson --prefix=/path/to/prefix . build
How to install in a specific destination directory for packaging:
DESTDIR=/path/to/destdir ninja -C build install
How to build with verbose output (full commands run):
ninja -C build -v

View File

@ -0,0 +1 @@
NEWS

View File

@ -0,0 +1 @@
README

View File

@ -0,0 +1 @@
TODO

View File

@ -1,12 +1,11 @@
[Desktop Entry]
Encoding=UTF-8
Version=@VERSION@
Type=Application
Name=@PACKAGE_NAME@
Name[fr]=@PACKAGE_NAME@
Name=${Edi_Name}
Name[fr]=${Edi_Name}
GenericName=${Edi_Name}
Comment=Efl Application ${Edi_Name}
Icon=@PACKAGE_NAME@
TryExec=@PACKAGE_NAME@
Exec=@PACKAGE_NAME@
Icon=${Edi_Name}
TryExec=${Edi_Name}
Exec=${Edi_Name}
Categories=Development;Utility;

View File

Before

Width:  |  Height:  |  Size: 81 KiB

After

Width:  |  Height:  |  Size: 81 KiB

View File

@ -0,0 +1,5 @@
install_data('${edi_name}.desktop',
install_dir: join_paths(dir_data, 'applications'))
install_data('${edi_name}.png',
install_dir: join_paths(dir_data, 'icons'))

View File

@ -0,0 +1,2 @@
subdir('desktop')
subdir('themes')

View File

@ -0,0 +1,15 @@
edje_cc = find_program('edje_cc')
cmd = [ edje_cc,
'-id', join_paths(meson.source_root(), 'data', 'themes', 'default', 'images'),
'-sd', join_paths(meson.source_root(), 'data', 'themes', 'default', 'sounds'),
'@INPUT@', '@OUTPUT@'
]
custom_target('default.edj',
input : 'default.edc',
output : 'default.edj',
command: cmd,
install_dir: join_paths(get_option('prefix'), get_option('datadir'), '${edi_name}', 'themes'),
install: true
)

View File

@ -0,0 +1 @@
subdir('default')

View File

@ -0,0 +1,36 @@
##### Project
project('${edi_name}', 'c',
version : '0.0.1',
meson_version : '>= 0.40.0')
efl_version = '>= 1.22.0'
cfg = configuration_data()
host_os = host_machine.system()
deps_os = declare_dependency(link_args : [] )
if host_os == 'freebsd'
deps_os = declare_dependency(link_args : ['-I/usr/local/include', '-lintl'])
endif
deps = dependency('elementary', version: efl_version)
##### dir locations
dir_prefix = get_option('prefix')
dir_bin = join_paths(dir_prefix, get_option('bindir'))
dir_lib = join_paths(dir_prefix, get_option('libdir'))
dir_data = join_paths(dir_prefix, get_option('datadir'))
dir_locale = join_paths(dir_prefix, get_option('localedir'))
subdir('data')
subdir('po')
subdir('src')
##### config.h
cfg.set('HAVE_CONFIG_H', 1)
cfg.set_quoted('PACKAGE', '${edi_name}')
cfg.set_quoted('PACKAGE_VERSION', meson.project_version())
cfg.set_quoted('PACKAGE_DATA_DIR', join_paths(dir_data, '${edi_name}'))
configure_file(output: 'config.h', configuration: cfg)

View File

@ -0,0 +1,6 @@
i18n = import('i18n')
i18n.gettext('${edi_name}')
cfg.set('ENABLE_NLS', 1)
cfg.set_quoted('LOCALEDIR', join_paths(get_option('prefix'), get_option('localedir')))

View File

@ -1,18 +1,12 @@
#ifdef HAVE_CONFIG_H
# include "config.h"
#endif
/* NOTE: Respecting header order is important for portability.
* Always put system first, then EFL, then your public header,
* and finally your private one. */
#if ENABLE_NLS
# include <libintl.h>
#endif
#include <Ecore_Getopt.h>
#include <Elementary.h>
#include "gettext.h"
#include "${Edi_Name}.h"
#include "${edi_name}_private.h"
#define COPYRIGHT "Copyright © ${Edi_Year} ${Edi_User} <${Edi_Email}> and various contributors (see AUTHORS)."
@ -37,11 +31,14 @@ ${edi_name}_win_setup(void)
label = elm_label_add(win);
elm_object_text_set(label, " Hello World !");
evas_object_size_hint_weight_set(label, 0.0, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(label, 0.0, EVAS_HINT_FILL);
evas_object_size_hint_weight_set(label, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(label, EVAS_HINT_FILL, EVAS_HINT_FILL);
evas_object_show(label);
elm_win_resize_object_add(win, label);
evas_object_resize(win, 300 * elm_config_scale_get(),
200 * elm_config_scale_get());
elm_win_center(win, EINA_TRUE, EINA_TRUE);
evas_object_show(win);
@ -53,7 +50,7 @@ static const Ecore_Getopt optdesc = {
"%prog [options]",
PACKAGE_VERSION,
COPYRIGHT,
"BSD with advertisement clause",
"3 clause BSD license",
"An EFL ${edi_name} program",
0,
{
@ -87,8 +84,6 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
textdomain(PACKAGE);
#endif
${edi_name}_init();
args = ecore_getopt_parse(&optdesc, values, argc, argv);
if (args < 0)
{
@ -105,12 +100,9 @@ elm_main(int argc EINA_UNUSED, char **argv EINA_UNUSED)
if (!(win = ${edi_name}_win_setup()))
goto end;
${edi_name}_library_call();
elm_run();
end:
${edi_name}_shutdown();
elm_shutdown();
return 0;

View File

@ -0,0 +1,11 @@
inc = include_directories('.', '../..')
executable('${edi_name}', [
'${edi_name}_main.c',
'${edi_name}_private.h',
'gettext.h'
],
include_directories: inc,
dependencies: [ deps, deps_os ],
gui_app : true,
install : true)

View File

@ -0,0 +1 @@
subdir('bin')

View File

@ -0,0 +1,29 @@
Copyright (C) ${Edi_Year} ${Edi_User} <${Edi_Email}>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software without
specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@ -0,0 +1 @@
README

View File

@ -0,0 +1,6 @@
#!/usr/bin/env python
import sys
from ${Edi_Name}.main import main
sys.exit(main())

View File

@ -0,0 +1,11 @@
[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=${Edi_Name}
Name[fr]=${Edi_Name}
GenericName=${Edi_Name}
Comment=Efl Application ${Edi_Name}
Icon=${edi_name}
TryExec=${edi_name}
Exec=${edi_name}
Categories=Development;Utility;

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -0,0 +1,70 @@
#!/usr/bin/env python
# encoding: utf-8
# python setup.py check
# python setup.py build
# python setup.py run
# python setup.py install
# python setup.py clean --all
from distutils.core import setup, Command
from distutils.version import StrictVersion
from efl.utils.setup import build_extra, build_edc, build_fdo, build_i18n, uninstall
from efl import __version__ as efl_version
MIN_EFL = '1.18'
if StrictVersion(efl_version) < MIN_EFL:
print('Your python-efl version is too old! Found: ' + efl_version)
print('You need at least version ' + MIN_EFL)
exit(1)
class run_in_tree(Command):
description = 'Run the main() from the build folder (without install)'
user_options = []
def initialize_options(self):
pass
def finalize_options(self):
pass
def run(self):
import sys, platform
sys.path.insert(0, 'build/lib.%s-%s-%d.%d' % (
platform.system().lower(), platform.machine(),
sys.version_info[0], sys.version_info[1]))
from ${Edi_Name}.main import main
sys.exit(main())
setup(
name = '${Edi_Name}',
version = '0.0.1',
description = 'Short description',
long_description = 'A longer description of your project',
author = '${Edi_User}',
author_email = '${Edi_Email}',
url = '${Edi_Url}',
license = "3-Clause BSD",
package_dir = {'${Edi_Name}': 'src'},
packages = ['${Edi_Name}'],
requires = ['efl'],
scripts = ['bin/${Edi_Name}'],
cmdclass = {
'build': build_extra,
'build_fdo': build_fdo,
# 'build_edc': build_edc,
# 'build_i18n': build_i18n,
'run': run_in_tree,
'uninstall': uninstall,
},
command_options = {
'install': {'record': ('setup.py', 'installed_files.txt')}
},
)

Some files were not shown because too many files have changed in this diff Show More