Compare commits

...

960 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
Andy Williams cfdbc6b542 Update to new eo event callback signature 2016-03-01 21:20:15 +00:00
Andy Williams 0772f3e8bc [editor] draw line width marker after file end
A ore uniform look if the marker goes all the way down the screen
2016-02-25 21:12:51 +00:00
Andy Williams 76af132619 [editor] a bunch of optimisations for redraw
Avoid drawing too much in many common scenarios
2016-02-25 21:12:51 +00:00
Yomi db913666bd Edit welcome message.
Summary: Edit welcome message

Test Plan: none.

Reviewers: ajwillia.ms

Reviewed By: ajwillia.ms

Differential Revision: https://phab.enlightenment.org/D3727
2016-02-24 10:27:03 +00:00
Andy Williams 1867697292 [ui] re-add the undo button, it's back
Now that most keyboard actions can be undone it seemed
sensible to get the ui elements back again.
2016-02-21 23:46:44 +00:00
Andy Williams 5b1a45cf45 [editor] add delete and backspace undo hooks 2016-02-21 23:46:10 +00:00
Andy Williams 5dc607ecea Complete the ending newline crash fix 2016-02-21 18:48:07 +00:00
Andy Williams 4a4dc31f9f Fix crash when undoing a soft tab insert 2016-02-21 18:39:43 +00:00
Andy Williams 94cc1e2c51 Add arc config 2016-02-21 18:18:31 +00:00
Andy Williams acd7b54473 [editor] begin re-adding the undo feature.
This is provided completely by elm_code so can be reused in other editors.
For now this is just text/newline insertion...
Still have to add undo for deletion and selection
2016-02-21 18:11:33 +00:00
Andy Williams 89cbb9daa0 easier debugging of ck_assert_strn_eq 2016-02-21 18:04:49 +00:00
Andy Williams 9c9b92cada [editor] Fix crash when deleting selections
If the selection ended in the carriage return the
editor could craash.

@fix
2016-02-21 18:03:29 +00:00
Andy Williams dbbcff2a3d [editor] various tidies
use flag for todo status, ignore escape key when tapped.
Fix some build warnings due to double inclusion.
2016-02-21 17:51:56 +00:00
Andy Williams 687af9c86f optimise edge case checking 2016-02-16 00:16:34 +00:00
Andy Williams a744f48420 [tabs] add a close all feature
For the times when you just have too many tabs open!
2016-02-16 00:15:52 +00:00
Andy Williams 49fa89dc03 [editor] stop auto selection on symbols too 2016-02-15 23:51:51 +00:00
Andy Williams 55ecf31ccd [editor] double click and triple do selections
double for a word (space or tab delimited for now)
triple selects whole line.
2016-02-15 22:54:12 +00:00
Andy Williams 16728b2500 fix some autogen warnings 2016-02-15 22:53:14 +00:00
Andy Williams 47651ec2cc Elm_Interface_Atspi_Text changed to Elm.Interface_Atspi_Text.
@author conr2d
2016-02-15 17:22:00 +00:00
Andy Williams d953b590f2 Fix typos in change log 2016-02-11 14:20:01 +00:00
Andy Williams 66b6e889fd remove trailing whitespace 2016-02-11 14:20:01 +00:00
Andy Williams 681aad0ef8 [ui] Add feature to filter file list
Now you can easily find files in a big project
2016-02-11 14:20:01 +00:00
Tom Hacohen 492e3e7609 Fix out of source builds. 2016-02-09 09:11:26 +00:00
Andy Williams a739951084 Update NEWS file for changes since 0.2 2016-02-09 00:33:17 +00:00
Andy Williams 557fb79396 [editor] Support space insertion instead of tabs
Elm_Code support and option in Edi to use spaces when the
Tab key is pressed - make this default too.
2016-02-09 00:32:16 +00:00
Andy Williams 5a3769b082 Fix clang detection on Fedora.
Thanks zmike for the patch.
2016-02-08 22:44:28 +00:00
Andy Williams cc6121d2a8 Important bug fixes out in 1.17.0, let's require it across the board 2016-02-05 17:31:54 +00:00
Andy Williams 47ebe38fc4 [ui] one more toolbar fix to match scale changes 2016-02-01 14:16:59 +00:00
Andy Williams 16639ff526 Revert "[ui] set icon size based on scale"
Fixing the icon scaling in elementary itself instead.

This reverts commit a0b90e27c6.
2016-01-30 13:50:41 +00:00
Andy Williams a0b90e27c6 [ui] set icon size based on scale 2016-01-29 14:44:26 +00:00
Andy Williams 09f572576e [ui] Correctly focus popup inputs
Work around an issue where a top level input cannot be
focussed using the elm_focus API.
2016-01-21 20:06:49 +00:00
Andy Williams a9d9d32797 [newfile] Check for filename and permissions
If filename is missing let user try again.
If directory cannot be written to then warn and give up.
2016-01-21 20:05:43 +00:00
Andy Williams 18f1a87b09 [builder] use builtin sh support in Ecore_Exe
Thanks for the hint Vincent :)
2016-01-17 17:58:53 +00:00
Andy Williams 843e222203 Fix maybe-uninitialized warnings 2016-01-17 17:51:13 +00:00
Andy Williams b42318aaf5 Supress libtool warning on windows
Thanks to Vincent Torri for the patch
2016-01-17 17:48:07 +00:00
Andy Williams f66d5ebaa8 [builder] Lauch /bin/sh to avoid local shell issues.
We're assuming a unix / linux machine of course
 - this needs to be addressed for proper windows support
2016-01-16 22:50:24 +00:00
Andy Williams d7cea60593 [ui] Tidy open file toolbar
Add icons for the filetypes on each tab.
Expand in menu mode - better than scrolling..?
2016-01-16 18:22:30 +00:00
Andy Williams f403f70330 [elm_code] Update line status icons for additions
Missed a warning line and the addition of TODO as well
2016-01-16 18:21:32 +00:00
Andy Williams 09cceb2c94 Merge branch 'master' of git+ssh://git.enlightenment.org/tools/edi 2015-12-21 19:57:47 +00:00
Andy Williams 16ba73c6f7 [ui] Smooth file panel scrolling
Cache responses to mime lookups so we get can scroll
much more smoothly after initial load

Author: unixtaker

Signed-off-by: Andy Williams <andy@andywilliams.me>
2015-12-11 13:37:03 +00:00
Andy Williams e925d9fb42 [build] Set up test environment in a way that supports fish and others
Use env rather than implicit variable setting in command line
2015-12-11 13:08:52 +00:00
Andy Williams fa96b21fa1 metadata for release 2015-11-19 23:08:04 +00:00
Andy Williams 0ad0376547 Update to new eolian_gen usage 2015-11-19 23:00:16 +00:00
Andy Williams 193f17be2b [whitespace] Fix indentation after newline when splitting.
Make sure that whitespace to the right is ignored
2015-10-10 14:09:02 -07:00
Andy Williams b0771bdfc6 [log] filter out lots of efl debug
Blanket debug flags can be helpful but not when
you have a lot of efl to dig through to get there!
2015-10-10 12:45:56 -07:00
Andy Williams 7d5b7ba4b8 [logs] Ignore some common log lines to avoid clutter in panel.
This also removes some infinite loops as the redrawing of the log panel
could trigger these lines too
2015-10-10 12:23:22 -07:00
Andy Williams 833179ab49 [editor] Show a highlight for the current cursor line 2015-10-10 12:10:47 -07:00
Andy Williams 4358717dd9 Update to efl on git 2015-09-29 00:30:31 +01:00
Andy Williams 29d4f9cedb Update NEWS with fixes since 0.1 2015-09-20 11:01:02 +01:00
Andy Williams 2297e250bc [highlight] Merge highlight tokens on line merge
Instead of blanking colours we append them as with the content.
2015-09-20 10:59:52 +01:00
Andy Williams 55d20b1cbc [highlight] Split highlight tokens on line split
Instead of blanking colours work out what to do with them.
Refactor the token carry over to simply note if there's a continuation.
2015-09-20 10:39:33 +01:00
Andy Williams 0b3c19bb21 [selection] Fix so selecting backwards works
highlight, text get and deletion working
2015-09-16 12:32:25 +01:00
Andy Williams 7e62826b59 [editor] Fix indenting of newlines
Changes in memory handling of line splits broke this
in some cases (like tapping return twice).
2015-09-16 10:44:38 +01:00
Andy Williams af6297992e [config] don't re-open files not really opened
When we chose type tapping cancel should not cause the file to be reopened later
2015-09-16 10:21:21 +01:00
Andy Williams ce381c4eef Update to latest eolian spec
Documents updated though not quite as feature-ful
2015-09-07 23:12:08 +01:00
Andy Williams c5adda87f1 Update version requirements for release 2015-09-07 23:07:53 +01:00
Andy Williams 8c42a0ff2c Merge commit '28bae570050d47d03a22ff49b570efbf31935679' 2015-08-31 13:29:07 +01:00
Andrew Williams 28bae57005 Merge pull request #5 from ilkosta/sh_create_new_project
Use /bin/sh to create new project
2015-08-31 13:15:52 +01:00
ilkosta 018f3c74a1 sh for git scripts 2015-08-31 09:44:35 +02:00
ilkosta b4bbc1ce6a removed a $ typo from sed command 2015-08-31 09:16:18 +02:00
Andy Williams ee58982b8f Fix NEWS file to respect the 0.0.9 release 2015-08-30 01:11:42 +01:00
Andy Williams dafda92c8e Fix make distcheck 2015-08-29 20:56:22 +01:00
Andy Williams fa4cca051d prep for release of 0.1 2015-08-29 16:11:12 +01:00
Andy Williams 35154d8d54 [create] use /bin/sh to execute the sed script
Attempting to fix github issue #3
2015-08-29 15:45:41 +01:00
Andy Williams 2f0347b108 [editor] Make whitespace trimming an option
Add a global setting to turn off the behaviour
2015-08-29 14:46:18 +01:00
Andy Williams fdd2a69333 [settings] Fix typo causing compile error
Fixes github issue #4
2015-08-29 14:16:53 +01:00
Andy Williams 3999fb67fd [elm_code] don't strip whitespace on current line
When saving if any widget has a cursor on the line
we shouldn't strip the trailing whitespace
2015-08-29 14:11:40 +01:00
Andy Williams ddfd851635 [tests] Correct checking of just length chars
Avoid traversing beyond string length
2015-08-29 12:06:30 +01:00
Andy Williams 0101b988d5 [elm_code] trim all trailing whitespace on save
Rather than just blank lines remove all trailing whitespace from lines
2015-08-29 12:05:56 +01:00
Andy Williams 23b3d3ffba [elm_code] Trim empty lines on save
When writing out a document set line length to 0 if it
only contains whitespace
2015-08-28 00:15:55 +01:00
Andy Williams 1b10edb079 typo-- 2015-08-28 00:13:38 +01:00
Andy Williams 155ec77ac8 [editor] fix stability of the highlighting thread
Grab locks at the correct times, seems to help a lot...
2015-08-28 00:12:59 +01:00
Andy Williams f0cc459a55 Fix some bad memory access during widget creation 2015-08-23 23:23:07 +01:00
Andy Williams 93ee90a302 new file: create in selected directory
When the filepanel selected item is a directory place new
files in that location rather than project root.
2015-07-17 10:30:25 -07:00
Andy Williams 1c7e2b3873 editor: improve goto line dialog
Focus the input when we show and allow enter press to submit.
Also refactor it out of the edi_main mess.
2015-07-16 22:36:15 +01:00
Andy Williams f80b901195 editor: allow cursor placement in blank file
This way we can start editing a newly created file!
2015-06-10 23:33:46 +01:00
Andy Williams 4af0936331 editor: Fix crash opening empty files 2015-06-10 23:32:15 +01:00
Andy Williams 8d17e2710f editor: fix a strange crash in calculations
Seems that gutter was not always correct after eo_do
2015-06-09 22:31:57 +01:00
Andy Williams 4da088b51c tabs: load in the correct order...
Remove some unneeded duplication at the same time
2015-06-09 22:31:33 +01:00
Andy Williams cfa86db750 elm_code: Fix tab behaviour following API changes
Moved the tabwidth calculations to widget as that's where
they actually make sense
2015-06-08 23:13:03 +01:00
Andy Williams 1cc89c78a2 elm_code: remove selections if moving cursor
The selection remaining after cursor move was getting confusing
2015-06-07 23:13:26 +01:00
Andy Williams 7cc03ec58d remove tabs from indent 2015-06-07 23:12:31 +01:00
Andy Williams 2604a3cdfd texts: fix tests broken in previous refactor 2015-06-07 23:12:05 +01:00
Andy Williams 866d22c40b elm_code: indent lines to match whitespace above
We can look at more complex scope based indenting later
2015-06-07 23:11:25 +01:00
Andy Williams 1998483d06 docs: Fix manpage and skeleton manpage 2015-06-04 08:40:43 +01:00
Andy Williams 3f86407481 elm_code: consistently use 0 based text index
This means it's more familiar as regular string work when
using the elm_code_line APIs. It's also more distinct from
the elm_code_widget layout which is still 1 based columns.
To support unicode we must convert correctly.
Now FIXED!
2015-06-03 21:29:31 +01:00
Andy Williams e3ed8806c3 elm_code: add legacy API.
Refactor eo API in line with elm_obj_* elsewhere
2015-06-02 08:22:36 +01:00
Andy Williams 80edaa953b Fix dist of licenses 2015-06-02 08:18:36 +01:00
Andy Williams a15f535f35 Fix making after updating COPYING text 2015-06-02 00:18:47 +01:00
Andy Williams 247f940a18 Fixing make dist 2015-06-01 23:17:10 +01:00
Andy Williams 0b86f4214f Clarify EDI licensing.
The Elm_Code module is seperately licensed (verified by it's contributors)
EDI should have been GPLv2 not v3 - disambiguation mistake from earlier
2015-06-01 14:07:36 +01:00
Andy Williams 98f90cb841 Remove confusion with old GPLv2 files
this is GPLv3 (see COPYING)
2015-06-01 13:37:34 +01:00
Andy Williams a993e3f7b5 Fix header location 2015-06-01 00:26:24 +01:00
332 changed files with 27005 additions and 12075 deletions

4
.arcconfig Normal file
View File

@ -0,0 +1,4 @@
{
"project_id" : "edi",
"conduit_uri" : "https://phab.enlightenment.org/"
}

19
.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,14 +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.c
/elm_code/src/lib/widget/*.eo.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

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>
@ -7,3 +10,4 @@ Icon created by The Rasterman (Carsten Haitzler) <raster@rasterman.com>
With sections from Ecrire by Tom Hacohen <tom@stosb.com>
Clang syntax higlighting from cedric and TAsn in the edi PROTO project

684
COPYING
View File

@ -1,674 +1,22 @@
GNU GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
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.
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
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:
Preamble
data/extra/templates/ No license - public domain
The GNU General Public License is a free, copyleft license for
software and other kinds of works.
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
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
your programs, too.
Icons by Marcus (madmaxms) from "Obsidian" icon theme.
COPYING.GPLv3:
data/extra/examples/images/mono-runtime.png
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
them if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new
free programs, and that you know you can do these things.
edi: COPYING.GPLv2
To protect your rights, we need to prevent others from denying you
these rights or asking you to surrender the rights. Therefore, you have
certain responsibilities if you distribute copies of the software, or if
you modify it: responsibilities to respect the freedom of others.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must pass on to the recipients the same
freedoms that you received. You must make sure that they, too, receive
or can get the source code. And you must show them these terms so they
know their rights.
Developers that use the GNU GPL protect your rights with two steps:
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
For the developers' and authors' protection, the GPL clearly explains
that there is no warranty for this free software. For both users' and
authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
products. If such problems arise substantially in other domains, we
stand ready to extend this provision to those domains in future versions
of the GPL, as needed to protect the freedom of users.
Finally, every program is threatened constantly by software patents.
States should not allow patents to restrict development and use of
software on general-purpose computers, but in those that do, we wish to
avoid the special danger that patents applied to a free program could
make it effectively proprietary. To prevent this, the GPL assures that
patents cannot be used to render the program non-free.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS
0. Definitions.
"This License" refers to version 3 of the GNU General Public License.
"Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations.
To "modify" a work means to copy from or adapt all or part of the work
in a fashion requiring copyright permission, other than the making of an
exact copy. The resulting work is called a "modified version" of the
earlier work or a work "based on" the earlier work.
A "covered work" means either the unmodified Program or a work based
on the Program.
To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on a
computer or modifying a private copy. Propagation includes copying,
distribution (with or without modification), making available to the
public, and in some countries other activities as well.
To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user through
a computer network, with no transfer of a copy, is not conveying.
An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to the
extent that warranties are provided), that licensees may convey the
work under this License, and how to view a copy of this License. If
the interface presents a list of user commands or options, such as a
menu, a prominent item in the list meets this criterion.
1. Source Code.
The "source code" for a work means the preferred form of the work
for making modifications to it. "Object code" means any non-source
form of a work.
A "Standard Interface" means an interface that either is an official
standard defined by a recognized standards body, or, in the case of
interfaces specified for a particular programming language, one that
is widely used among developers working in that language.
The "System Libraries" of an executable work include anything, other
than the work as a whole, that (a) is included in the normal form of
packaging a Major Component, but which is not part of that Major
Component, and (b) serves only to enable use of the work with that
Major Component, or to implement a Standard Interface for which an
implementation is available to the public in source code form. A
"Major Component", in this context, means a major essential component
(kernel, window system, and so on) of the specific operating system
(if any) on which the executable work runs, or a compiler used to
produce the work, or an object code interpreter used to run it.
The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts to
control those activities. However, it does not include the work's
System Libraries, or general-purpose tools or generally available free
programs which are used unmodified in performing those activities but
which are not part of the work. For example, Corresponding Source
includes interface definition files associated with source files for
the work, and the source code for shared libraries and dynamically
linked subprograms that the work is specifically designed to require,
such as by intimate data communication or control flow between those
subprograms and other parts of the work.
The Corresponding Source need not include anything that users
can regenerate automatically from other parts of the Corresponding
Source.
The Corresponding Source for a work in source code form is that
same work.
2. Basic Permissions.
All rights granted under this License are granted for the term of
copyright on the Program, and are irrevocable provided the stated
conditions are met. This License explicitly affirms your unlimited
permission to run the unmodified Program. The output from running a
covered work is covered by this License only if the output, given its
content, constitutes a covered work. This License acknowledges your
rights of fair use or other equivalent, as provided by copyright law.
You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise remains
in force. You may convey covered works to others for the sole purpose
of having them make modifications exclusively for you, or provide you
with facilities for running those works, provided that you comply with
the terms of this License in conveying all material for which you do
not control copyright. Those thus making or running the covered works
for you must do so exclusively on your behalf, under your direction
and control, on terms that prohibit them from making any copies of
your copyrighted material outside their relationship with you.
Conveying under any other circumstances is permitted solely under
the conditions stated below. Sublicensing is not allowed; section 10
makes it unnecessary.
3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under article
11 of the WIPO copyright treaty adopted on 20 December 1996, or
similar laws prohibiting or restricting circumvention of such
measures.
When you convey a covered work, you waive any legal power to forbid
circumvention of technological measures to the extent such circumvention
is effected by exercising rights under this License with respect to
the covered work, and you disclaim any intention to limit operation or
modification of the work as a means of enforcing, against the work's
users, your or third parties' legal rights to forbid circumvention of
technological measures.
4. Conveying Verbatim Copies.
You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
non-permissive terms added in accord with section 7 apply to the code;
keep intact all notices of the absence of any warranty; and give all
recipients a copy of this License along with the Program.
You may charge any price or no price for each copy that you convey,
and you may offer support or warranty protection for a fee.
5. Conveying Modified Source Versions.
You may convey a work based on the Program, or the modifications to
produce it from the Program, in the form of source code under the
terms of section 4, provided that you also meet all of these conditions:
a) The work must carry prominent notices stating that you modified
it, and giving a relevant date.
b) The work must carry prominent notices stating that it is
released under this License and any conditions added under section
7. This requirement modifies the requirement in section 4 to
"keep intact all notices".
c) You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
License will therefore apply, along with any applicable section 7
additional terms, to the whole of the work, and all its parts,
regardless of how they are packaged. This License gives no
permission to license the work in any other way, but it does not
invalidate such permission if you have separately received it.
d) If the work has interactive user interfaces, each must display
Appropriate Legal Notices; however, if the Program has interactive
interfaces that do not display Appropriate Legal Notices, your
work need not make them do so.
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
6. Conveying Non-Source Forms.
You may convey a covered work in object code form under the terms
of sections 4 and 5, provided that you also convey the
machine-readable Corresponding Source under the terms of this License,
in one of these ways:
a) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by the
Corresponding Source fixed on a durable physical medium
customarily used for software interchange.
b) Convey the object code in, or embodied in, a physical product
(including a physical distribution medium), accompanied by a
written offer, valid for at least three years and valid for as
long as you offer spare parts or customer support for that product
model, to give anyone who possesses the object code either (1) a
copy of the Corresponding Source for all the software in the
product that is covered by this License, on a durable physical
medium customarily used for software interchange, for a price no
more than your reasonable cost of physically performing this
conveying of source, or (2) access to copy the
Corresponding Source from a network server at no charge.
c) Convey individual copies of the object code with a copy of the
written offer to provide the Corresponding Source. This
alternative is allowed only occasionally and noncommercially, and
only if you received the object code with such an offer, in accord
with subsection 6b.
d) Convey the object code by offering access from a designated
place (gratis or for a charge), and offer equivalent access to the
Corresponding Source in the same way through the same place at no
further charge. You need not require recipients to copy the
Corresponding Source along with the object code. If the place to
copy the object code is a network server, the Corresponding Source
may be on a different server (operated by you or a third party)
that supports equivalent copying facilities, provided you maintain
clear directions next to the object code saying where to find the
Corresponding Source. Regardless of what server hosts the
Corresponding Source, you remain obligated to ensure that it is
available for as long as needed to satisfy these requirements.
e) Convey the object code using peer-to-peer transmission, provided
you inform other peers where the object code and Corresponding
Source of the work are being offered to the general public at no
charge under subsection 6d.
A separable portion of the object code, whose source code is excluded
from the Corresponding Source as a System Library, need not be
included in conveying the object code work.
A "User Product" is either (1) a "consumer product", which means any
tangible personal property which is normally used for personal, family,
or household purposes, or (2) anything designed or sold for incorporation
into a dwelling. In determining whether a product is a consumer product,
doubtful cases shall be resolved in favor of coverage. For a particular
product received by a particular user, "normally used" refers to a
typical or common use of that class of product, regardless of the status
of the particular user or of the way in which the particular user
actually uses, or expects or is expected to use, the product. A product
is a consumer product regardless of whether the product has substantial
commercial, industrial or non-consumer uses, unless such uses represent
the only significant mode of use of the product.
"Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to install
and execute modified versions of a covered work in that User Product from
a modified version of its Corresponding Source. The information must
suffice to ensure that the continued functioning of the modified object
code is in no case prevented or interfered with solely because
modification has been made.
If you convey an object code work under this section in, or with, or
specifically for use in, a User Product, and the conveying occurs as
part of a transaction in which the right of possession and use of the
User Product is transferred to the recipient in perpetuity or for a
fixed term (regardless of how the transaction is characterized), the
Corresponding Source conveyed under this section must be accompanied
by the Installation Information. But this requirement does not apply
if neither you nor any third party retains the ability to install
modified object code on the User Product (for example, the work has
been installed in ROM).
The requirement to provide Installation Information does not include a
requirement to continue to provide support service, warranty, or updates
for a work that has been modified or installed by the recipient, or for
the User Product in which it has been modified or installed. Access to a
network may be denied when the modification itself materially and
adversely affects the operation of the network or violates the rules and
protocols for communication across the network.
Corresponding Source conveyed, and Installation Information provided,
in accord with this section must be in a format that is publicly
documented (and with an implementation available to the public in
source code form), and must require no special password or key for
unpacking, reading or copying.
7. Additional Terms.
"Additional permissions" are terms that supplement the terms of this
License by making exceptions from one or more of its conditions.
Additional permissions that are applicable to the entire Program shall
be treated as though they were included in this License, to the extent
that they are valid under applicable law. If additional permissions
apply only to part of the Program, that part may be used separately
under those permissions, but the entire Program remains governed by
this License without regard to the additional permissions.
When you convey a copy of a covered work, you may at your option
remove any additional permissions from that copy, or from any part of
it. (Additional permissions may be written to require their own
removal in certain cases when you modify the work.) You may place
additional permissions on material, added by you to a covered work,
for which you have or can give appropriate copyright permission.
Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:
a) Disclaiming warranty or limiting liability differently from the
terms of sections 15 and 16 of this License; or
b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it; or
c) Prohibiting misrepresentation of the origin of that material, or
requiring that modified versions of such material be marked in
reasonable ways as different from the original version; or
d) Limiting the use for publicity purposes of names of licensors or
authors of the material; or
e) Declining to grant rights under trademark law for use of some
trade names, trademarks, or service marks; or
f) Requiring indemnification of licensors and authors of that
material by anyone who conveys the material (or modified versions of
it) with contractual assumptions of liability to the recipient, for
any liability that these contractual assumptions directly impose on
those licensors and authors.
All other non-permissive additional terms are considered "further
restrictions" within the meaning of section 10. If the Program as you
received it, or any part of it, contains a notice stating that it is
governed by this License along with a term that is a further
restriction, you may remove that term. If a license document contains
a further restriction but permits relicensing or conveying under this
License, you may add to a covered work material governed by the terms
of that license document, provided that the further restriction does
not survive such relicensing or conveying.
If you add terms to a covered work in accord with this section, you
must place, in the relevant source files, a statement of the
additional terms that apply to those files, or a notice indicating
where to find the applicable terms.
Additional terms, permissive or non-permissive, may be stated in the
form of a separately written license, or stated as exceptions;
the above requirements apply either way.
8. Termination.
You may not propagate or modify a covered work except as expressly
provided under this License. Any attempt otherwise to propagate or
modify it is void, and will automatically terminate your rights under
this License (including any patent licenses granted under the third
paragraph of section 11).
However, if you cease all violation of this License, then your
license from a particular copyright holder is reinstated (a)
provisionally, unless and until the copyright holder explicitly and
finally terminates your license, and (b) permanently, if the copyright
holder fails to notify you of the violation by some reasonable means
prior to 60 days after the cessation.
Moreover, your license from a particular copyright holder is
reinstated permanently if the copyright holder notifies you of the
violation by some reasonable means, this is the first time you have
received notice of violation of this License (for any work) from that
copyright holder, and you cure the violation prior to 30 days after
your receipt of the notice.
Termination of your rights under this section does not terminate the
licenses of parties who have received copies or rights from you under
this License. If your rights have been terminated and not permanently
reinstated, you do not qualify to receive new licenses for the same
material under section 10.
9. Acceptance Not Required for Having Copies.
You are not required to accept this License in order to receive or
run a copy of the Program. Ancillary propagation of a covered work
occurring solely as a consequence of using peer-to-peer transmission
to receive a copy likewise does not require acceptance. However,
nothing other than this License grants you permission to propagate or
modify any covered work. These actions infringe copyright if you do
not accept this License. Therefore, by modifying or propagating a
covered work, you indicate your acceptance of this License to do so.
10. Automatic Licensing of Downstream Recipients.
Each time you convey a covered work, the recipient automatically
receives a license from the original licensors, to run, modify and
propagate that work, subject to this License. You are not responsible
for enforcing compliance by third parties with this License.
An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a covered
work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
licenses to the work the party's predecessor in interest had or could
give under the previous paragraph, plus a right to possession of the
Corresponding Source of the work from the predecessor in interest, if
the predecessor has it or can get it with reasonable efforts.
You may not impose any further restrictions on the exercise of the
rights granted or affirmed under this License. For example, you may
not impose a license fee, royalty, or other charge for exercise of
rights granted under this License, and you may not initiate litigation
(including a cross-claim or counterclaim in a lawsuit) alleging that
any patent claim is infringed by making, using, selling, offering for
sale, or importing the Program or any portion of it.
11. Patents.
A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based. The
work thus licensed is called the contributor's "contributor version".
A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner, permitted
by this License, of making, using, or selling its contributor version,
but do not include claims that would be infringed only as a
consequence of further modification of the contributor version. For
purposes of this definition, "control" includes the right to grant
patent sublicenses in a manner consistent with the requirements of
this License.
Each contributor grants you a non-exclusive, worldwide, royalty-free
patent license under the contributor's essential patent claims, to
make, use, sell, offer for sale, import and otherwise run, modify and
propagate the contents of its contributor version.
In the following three paragraphs, a "patent license" is any express
agreement or commitment, however denominated, not to enforce a patent
(such as an express permission to practice a patent or covenant not to
sue for patent infringement). To "grant" such a patent license to a
party means to make such an agreement or commitment not to enforce a
patent against the party.
If you convey a covered work, knowingly relying on a patent license,
and the Corresponding Source of the work is not available for anyone
to copy, free of charge and under the terms of this License, through a
publicly available network server or other readily accessible means,
then you must either (1) cause the Corresponding Source to be so
available, or (2) arrange to deprive yourself of the benefit of the
patent license for this particular work, or (3) arrange, in a manner
consistent with the requirements of this License, to extend the patent
license to downstream recipients. "Knowingly relying" means you have
actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties
receiving the covered work authorizing them to use, propagate, modify
or convey a specific copy of the covered work, then the patent license
you grant is automatically extended to all recipients of the covered
work and works based on it.
A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that are
specifically granted under this License. You may not convey a covered
work if you are a party to an arrangement with a third party that is
in the business of distributing software, under which you make payment
to the third party based on the extent of your activity of conveying
the work, and under which the third party grants, to any of the
parties who would receive the covered work from you, a discriminatory
patent license (a) in connection with copies of the covered work
conveyed by you (or copies made from those copies), or (b) primarily
for and in connection with specific products or compilations that
contain the covered work, unless you entered into that arrangement,
or that patent license was granted, prior to 28 March 2007.
Nothing in this License shall be construed as excluding or limiting
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot convey a
covered work so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you may
not convey it at all. For example, if you agree to terms that obligate you
to collect a royalty for further conveying from those to whom you convey
the Program, the only way you could satisfy both those terms and this
License would be to refrain entirely from conveying the Program.
13. Use with the GNU Affero General Public License.
Notwithstanding any other provision of this License, you have
permission to link or combine any covered work with a work licensed
under version 3 of the GNU Affero General Public License into a single
combined work, and to convey the resulting work. The terms of this
License will continue to apply to the part which is the covered work,
but the special requirements of the GNU Affero General Public License,
section 13, concerning interaction through a network will apply to the
combination as such.
14. Revised Versions of this License.
The Free Software Foundation may publish revised and/or new versions of
the GNU General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU General
Public License "or any later version" applies to it, you have the
option of following the terms and conditions either of that numbered
version or of any later version published by the Free Software
Foundation. If the Program does not specify a version number of the
GNU General Public License, you may choose any version ever published
by the Free Software Foundation.
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that proxy's
public statement of acceptance of a version permanently authorizes you
to choose that version for the Program.
Later license versions may give you additional or different
permissions. However, no additional obligations are imposed on any
author or copyright holder as a result of your choosing to follow a
later version.
15. Disclaimer of Warranty.
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. Limitation of Liability.
IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
SUCH DAMAGES.
17. Interpretation of Sections 15 and 16.
If the disclaimer of warranty and limitation of liability provided
above cannot be given local legal effect according to their terms,
reviewing courts shall apply local law that most closely approximates
an absolute waiver of all civil liability in connection with the
Program, unless a warranty or assumption of liability accompanies a
copy of the Program in return for a fee.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
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>
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
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
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>
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.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, your program's commands
might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school,
if any, to sign a "copyright disclaimer" for the program, if necessary.
For more information on this, and how to apply and follow the GNU GPL, see
<http://www.gnu.org/licenses/>.
The GNU General Public License does not permit incorporating your program
into proprietary programs. If your program is a subroutine library, you
may consider it more useful to permit linking proprietary applications with
the library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License. But first, please read
<http://www.gnu.org/philosophy/why-not-lgpl.html>.

View File

@ -1,8 +1,8 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@ -15,7 +15,7 @@ software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
@ -56,20 +56,18 @@ patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
---
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The `Program', below,
refers to any such program or work, and a `work based on the Program'
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term `modification'.) Each licensee is addressed as `you'.
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
@ -242,8 +240,8 @@ be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and `any
later version', you have the option of following the terms and conditions
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
@ -262,7 +260,7 @@ of promoting the sharing and reuse of software generally.
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM `AS IS' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
@ -281,8 +279,6 @@ POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
---
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
@ -292,10 +288,10 @@ free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the `copyright' line and a pointer to where the full notice is found.
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
@ -307,10 +303,9 @@ the `copyright' line and a pointer to where the full notice is found.
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
@ -328,17 +323,17 @@ be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a `copyright disclaimer' for the program, if
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
(signature of Ty Coon), 1 April 1989
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.

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.

491
COPYING.LGPL Normal file
View File

@ -0,0 +1,491 @@
Copyright notice for Elm_Code:
Copyright (C) 2014-2015 Andrew Williams and various contributors (see AUTHORS)
This library is free software; you can redistribute it and/or modify it
under the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2.1 of the License.
This library is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
details.
Below is a copy of the GNU Lesser General Public License that is distributed
along with this library. If you do not have a copy below, write to the Free
Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301 USA
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
Linking this library statically or dynamically with other modules is
making a combined work based on this library. Thus, the terms and
conditions of the GNU General Public License cover the whole combination.
As a special exception, the copyright holders of this library give you
permission to link this library with independent modules to produce an
executable, regardless of the license terms of these independent modules,
and to copy and distribute the resulting executable under terms of your
choice, provided that you also meet, for each linked independent module,
the terms and conditions of the license of that module. An independent
module is a module which is not derived from or based on this library.
If you modify this library, you may extend this exception to your version
of the library, but you are not obliged to do so. If you do not wish to
do so, delete this exception statement from your version.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS

4126
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,95 +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 \
ChangeLog \
GPLv2.txt \
INSTALL \
NEWS \
README \
TODO
EXTRA_DIST = \
GPLv2.txt \
autogen.sh \
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,26 +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) --eo --legacy $(EOLIAN_FLAGS) --gc -o $@ $<
%.eo.c: %.eo ${_EOLIAN_GEN_DEP}
$(AM_V_EOL)$(EOLIAN_GEN) --eo $(EOLIAN_FLAGS) --gc -o $@ $<
%.eo.h: %.eo ${_EOLIAN_GEN_DEP}
$(AM_V_EOL)$(EOLIAN_GEN) --eo $(EOLIAN_FLAGS) --gh -o $@ $<
#%.eo.legacy.h: %.eo ${_EOLIAN_GEN_DEP}
# $(AM_V_EOL)$(EOLIAN_GEN) --legacy $(EOLIAN_FLAGS) --gh -o $@ $<
CLEANFILES += $(BUILT_SOURCES)

215
NEWS
View File

@ -1,18 +1,223 @@
=======
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
=======
Features:
* Option to inserts spaces instead of tabs
* Update to EFL 1.17 release for better toolbar handling
* Add file filtering for hunting down files in the list
* Double click to select word, triple click to select line
* Return of the undo feature!
Bug fixes:
* Focus input popups when they appear
* Support fish and other non-bash shells for build & test
* Fix crash when deleting a selection ending with newline
=======
Edi 0.2
=======
Features:
* Highlight the current line when editing
* Update to EFL 1.16 release
Bug fixes
* Correct selection so it works backwards as well
* Don't remove highlighting of lines when backspace/delete or newline are entered
* When opening unrecognised files and cancelling choice don't remember as opened
* Fix issue with whitespace indenting on newline when splitting at whitespace
=======
Edi 0.1
=======
Features:
* Integrated elm_code editor
- faster code highlighting
- highlighting of error lines
- line width indicator in the editor
- configurable tab stop width
* Added a monospaced font picker to settings
* Indent newlines to match whitespace in the previous line
* Trim trailing whitespace when saving
Bug fixes
* T2057 Line numbers are not fully visible in new windows
* #3 assume bash as default shell when creating a new project
* #4 Unable to compile
0.0.9
-----
* New icon :)
* Integrated elm_code editor
- faster code highlighting
- highlighting of error lines
- highlighting of TODO lines
- line width indicator in the editor
- configurable tab stop width
* Add a main menu and tidy up toolbar
* Remember UI settings per project
* Add launch configuration so we can run a built binary
0.0.2

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,190 +0,0 @@
EFL_VERSION([0], [0], [9])
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])
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.14.99
evas >= 1.8.0
ecore >= 1.8.0
edje >= 1.8.0
eo >= 1.14.99
elementary >= 1.8.0
eio >= 1.8.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
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/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,344 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
---
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The `Program', below,
refers to any such program or work, and a `work based on the Program'
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term `modification'.) Each licensee is addressed as `you'.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and `any
later version', you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM `AS IS' WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
---
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey 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)
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
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision 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.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a `copyright disclaimer' for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
(signature of Ty Coon), 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

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,93 +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 \
GPLv2.txt \
INSTALL \
NEWS \
README \
TODO
EXTRA_DIST = \
GPLv2.txt \
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 1970 FIXME" "@PACKAGE_NAME@ @PACKAGE_VERSION@"
.SH NAME
${edi_name} \- a demo application
.SH SYNOPSIS
.B ${edi_name}
[-d] [-f] [-t=THEME] [-m=MINES] [-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

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