Initial patch for EFL based pinentry
Needs ReviewPublic

Authored by wltjr on Apr 18 2017, 10:26 PM.

Details

Reviewers
None
Group Reviewers
pinentry
Summary

This is an original version, some what based on the gtk-2 one. Also using some code from a previous submission. This one has gone a different direction, so should not be considered as part of the other. There are two versions, this one, and the previous one submitted by Mike Blumenkrantz. Both versions can be seen in their own branches here.

Mike's branch/version
My branch/version

The 2nd, "My branch/version" is the one being submitted for review and inclusion. I will support and be available to Gnupg project for long term maintenance, as needed. This is the initial submission for review, subject to code format modifications, code changes, UI changes, etc as needed to get it added to pinentry ASAP.

Please let me know what is needed, and I will modify and resubmit. Once approved I will provide a better commit message for actual code/commit inclusion. Thanks!

Test Plan

In order to test you will need EFL > 1.18. This does not requirement Enlightenment, just EFL. The patch should apply cleanly to git master.

Diff Detail

Repository
rP Pinentry
Lint
Lint Skipped
Unit
Unit Tests Skipped
wltjr created this revision.Apr 18 2017, 10:26 PM
wltjr updated this revision to Diff 1265.Apr 28 2017, 11:48 PM

Cleaned up code format some. I fixed issue when display is not present and fallback to ncurses. This should be good to go now. Pending review, other issues, reformatting etc.

wltjr updated this revision to Diff 1266.May 12 2017, 3:48 AM

Minor changes, switched to dialog. Modified code to fix centering issues that may be a bug in EFL itself.

wltjr updated this revision to Diff 1267.May 12 2017, 5:50 PM

Switched to dialog from window. Relocated call to center window. Which may not be correctly centered till release of EFL 1.19.1 due to a bug in EFL itself. I thought was a bug in my code. Thus previous patch.

wltjr updated this revision to Diff 1271.May 23 2017, 5:44 PM

Updated diff, swapped out legacy api function

elm_obj_table_padding_set -> elm_table_padding_set
wltjr updated this revision to Diff 1272.May 25 2017, 4:46 AM
wltjr added a project: pinentry.
  • Fixed issues with underscores in button text
  • Fixed issues with warnings
  • Added news item
  • Fixed issue with show/hide changing size
  • Replaced icon, fixed missing button icons

That should address all issues other than the keyboard/mouse grabbing. As mentioned on list, it has some technical limitations. Not possible on Wayland, and having X code can cause crashes and issues. Plus missing from QT and FTLK versions, so only GTK/Gnome has such feature.

I am totally open to adding it when technically feasible to do so. If/when Wayland implements such missing features.

wltjr updated this revision to Diff 1278.Jun 8 2017, 6:01 PM

Various fixes

  • Fixed confirm passphrase intial text, was label text...
  • Fixed button length with long text
  • Fire ok on pressing enter in entry or confirm if present
  • Call focus on entry last, attempt to fix focus
  • Vertically center labels with entries (minor were aligned to top vs center/middle)

Link to current patch

wltjr updated this revision to Diff 1282.Jun 24 2017, 1:26 AM

Fixed issue with ok_len

../../efl/pinentry-efl.c:493:7: warning: ISO C90 forbids mixed declarations and code [-Wdeclaration-after-statement]
       int ok_len = ELM_SCALE_SIZE(strlen(txt) * (PADDING * 1.5));
wltjr updated this revision to Diff 1284.Jun 28 2017, 2:56 PM

Added hack to negate negative that move progress bar 10% per 1 char. Fixed issue with new line characters not being handled correctly.