Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge 'configure extensions' into main IDLE config dialog #68970

Closed
roseman mannequin opened this issue Aug 2, 2015 · 22 comments
Closed

Merge 'configure extensions' into main IDLE config dialog #68970

roseman mannequin opened this issue Aug 2, 2015 · 22 comments
Assignees
Labels
topic-IDLE type-feature A feature request or enhancement

Comments

@roseman
Copy link
Mannequin

roseman mannequin commented Aug 2, 2015

BPO 24782
Nosy @terryjreedy, @kbkaiser, @taleinat, @serwy, @roseman
Files
  • extdlg.patch: change ui for config extensions
  • extdlg.png: screenshot of ui in extdlg.patch
  • extdlg-sorted.patch
  • mergeext.patch
  • mergeext27.cfg
  • Note: these values reflect the state of the issue at the time it was migrated and might not reflect the current state.

    Show more details

    GitHub fields:

    assignee = 'https://github.com/terryjreedy'
    closed_at = <Date 2015-10-14.02:36:44.042>
    created_at = <Date 2015-08-02.21:06:57.416>
    labels = ['expert-IDLE', 'type-feature']
    title = "Merge 'configure extensions' into main IDLE config dialog"
    updated_at = <Date 2015-10-22.07:30:58.909>
    user = 'https://github.com/roseman'

    bugs.python.org fields:

    activity = <Date 2015-10-22.07:30:58.909>
    actor = 'terry.reedy'
    assignee = 'terry.reedy'
    closed = True
    closed_date = <Date 2015-10-14.02:36:44.042>
    closer = 'terry.reedy'
    components = ['IDLE']
    creation = <Date 2015-08-02.21:06:57.416>
    creator = 'markroseman'
    dependencies = []
    files = ['40118', '40119', '40131', '40761', '40762']
    hgrepos = []
    issue_num = 24782
    keywords = ['patch']
    message_count = 22.0
    messages = ['247898', '247912', '247949', '247950', '248021', '248071', '248707', '248737', '249221', '252835', '252881', '252885', '252889', '252890', '252973', '252974', '252976', '253208', '253210', '253311', '253320', '253321']
    nosy_count = 6.0
    nosy_names = ['terry.reedy', 'kbk', 'taleinat', 'roger.serwy', 'markroseman', 'python-dev']
    pr_nums = []
    priority = 'normal'
    resolution = 'fixed'
    stage = 'resolved'
    status = 'closed'
    superseder = None
    type = 'enhancement'
    url = 'https://bugs.python.org/issue24782'
    versions = ['Python 2.7', 'Python 3.4', 'Python 3.5', 'Python 3.6']

    @roseman
    Copy link
    Mannequin Author

    roseman mannequin commented Aug 2, 2015

    I'm wondering about moving the functionality of the 'configure extensions' dialog into the main configuration dialog. As I don't know the history here, I'm wondering why it was made separate.

    My proposal would be to add an 'Extensions' tab in the main config dialog. Along the left would be a listbox holding the names of each extension. Along the right would be options for the extension selected in the listbox (done pretty much the same as now). Selecting a different extension from the list would swap in the appropriate set of options.

    This would have the additional advantage of doing away with the stacked tabs.

    @roseman roseman mannequin added topic-IDLE type-feature A feature request or enhancement labels Aug 2, 2015
    @terryjreedy
    Copy link
    Member

    In general, Idle-sig is a better place to ask question ;-). I applied the extension dialog patch just a year ago (bpo-3068), It still needs improvements (bpo-22704, bpo-22705, bpo-22706, bpo-22707 bpo-22726). Before that, people had to hand-edit either the idlelib or user version. So I applied the patch when clearly usable, and did not worry about making it 'perfect' first.

    Part of the answer to why separate dialogs is related to there being a) a separate config file (but the other dialog handles the other three) and probably more importantly, b) the set of extension being extensible, both by us and by users.

    This all said, I dislike the jumbled stacked tabs. Also, the entry space is wider than needed for any of our extensions. So whether the dialogs are consolidated or not, I like the idea of three columns: alphabetical list of extensions (all visible unless a user adds a large number), option names, and value entry. I would like to see a patch for this first. I would not mind patches for some of the issue above right after. I would like to improve this box before using ttk.

    The Idle dialog has room for an Extensions tab without stacking. I would like to see a separate, later patch for consolidation.

    @roseman
    Copy link
    Mannequin Author

    roseman mannequin commented Aug 3, 2015

    I've attached extdlg.patch, which changes the UI for the configure extensions dialog.

    In particular, it replaces the stacked tabs with a listbox on the left, with the details of each extension appearing in a labelframe on the right. The inside of the labelframe gets swapped in with pretty much the same thing that was in the dialog before.

    This should be compatible with Tk 8.4, as ttk was not used.

    @roseman
    Copy link
    Mannequin Author

    roseman mannequin commented Aug 3, 2015

    Screenshot extdlg.png shows result

    @terryjreedy
    Copy link
    Member

    I presume sorting the list is a trivial matter.

    @roseman
    Copy link
    Mannequin Author

    roseman mannequin commented Aug 5, 2015

    Yup. Revised extdlg-sorted.patch attached. Thanks for noticing that!

    @terryjreedy
    Copy link
    Member

    Do you consider the second patch ready as is (as a step toward doing the merge)? Is so, I will do a commit review.

    @roseman
    Copy link
    Mannequin Author

    roseman mannequin commented Aug 17, 2015

    Yes that should be good to go

    @python-dev
    Copy link
    Mannequin

    python-dev mannequin commented Aug 27, 2015

    New changeset 919cee158a89 by Terry Jan Reedy in branch '2.7':
    Issue bpo-24782: In Idle extension config dialog, replace tabs with sorted list.
    https://hg.python.org/cpython/rev/919cee158a89

    New changeset ce13593e378c by Terry Jan Reedy in branch '3.4':
    Issue bpo-24782: In Idle extension config dialog, replace tabs with sorted list.
    https://hg.python.org/cpython/rev/ce13593e378c

    @terryjreedy
    Copy link
    Member

    Do you have a patch to move the untabbed pane, as is, to preferences? If not, I will write one.

    @roseman
    Copy link
    Mannequin Author

    roseman mannequin commented Oct 12, 2015

    No, I don't, sorry. If it will be quick for you to do, no problem, otherwise I'd be happy to put it together.

    @terryjreedy
    Copy link
    Member

    Go ahead then.

    @roseman
    Copy link
    Mannequin Author

    roseman mannequin commented Oct 12, 2015

    Patch against head to change extensions dialog to a pane of main config dialog.

    @roseman
    Copy link
    Mannequin Author

    roseman mannequin commented Oct 12, 2015

    Same patch against 2.7

    @python-dev
    Copy link
    Mannequin

    python-dev mannequin commented Oct 14, 2015

    New changeset 334dc1abc8af by Terry Jan Reedy in branch '2.7':
    Issue bpo-24782: Finish converting the Configure Extension dialog into a new
    https://hg.python.org/cpython/rev/334dc1abc8af

    New changeset 5647c61fb593 by Terry Jan Reedy in branch '3.4':
    Issue bpo-24782: Finish converting the Configure Extension dialog into a new
    https://hg.python.org/cpython/rev/5647c61fb593

    New changeset 6bce28fec911 by Terry Jan Reedy in branch '2.7':
    Issue bpo-24782: whitespace
    https://hg.python.org/cpython/rev/6bce28fec911

    New changeset 4ed0cc2b7c7c by Terry Jan Reedy in branch '3.4':
    Issue bpo-24782: whitespace
    https://hg.python.org/cpython/rev/4ed0cc2b7c7c

    @terryjreedy
    Copy link
    Member

    Nice. The only changes I had to make other than a doc change are 'Settings tab' to 'Extensions tab' and deletion of an line-ending space that got added in editing the extension doc string. We both need to remember to strip trailing whitespace, as it causes changesets to be rejected when pushed. Pl

    @terryjreedy terryjreedy self-assigned this Oct 14, 2015
    @terryjreedy
    Copy link
    Member

    There is one issue. The window is wider now, I suspect because of the extension frame, which is wider than it need to be, at least for now. I will try adjusting it.

    @python-dev
    Copy link
    Mannequin

    python-dev mannequin commented Oct 20, 2015

    New changeset 8953a42c2ac4 by Terry Jan Reedy in branch '2.7':
    Issue bpo-24782: Don't try to run now-removed extension dialog test.
    https://hg.python.org/cpython/rev/8953a42c2ac4

    New changeset 4bf862fc10a5 by Terry Jan Reedy in branch '3.4':
    Issue bpo-24782: Don't try to run now-removed extension dialog test.
    https://hg.python.org/cpython/rev/4bf862fc10a5

    @terryjreedy
    Copy link
    Member

    There are two 'width=250' settings, which I tried changing to 150, with no effect, so there is something else making the dialog wider than before.

    @roseman
    Copy link
    Mannequin Author

    roseman mannequin commented Oct 21, 2015

    The extra width appears to be coming from the canvas inside VerticalScrolledFrame; the canvas gets the default size and the frame adjusts to fit its contents (the canvas and the scrollbar). If you really want to reduce the size, add a "-width" option where that canvas is being created.

    @python-dev
    Copy link
    Mannequin

    python-dev mannequin commented Oct 22, 2015

    New changeset a96e39e20490 by Terry Jan Reedy in branch '2.7':
    Issue bpo-24782: Limit width of canvas and hence IDLE settings dialog.
    https://hg.python.org/cpython/rev/a96e39e20490

    New changeset 0847398f9b00 by Terry Jan Reedy in branch '3.4':
    Issue bpo-24782: Limit width of canvas and hence IDLE settings dialog.
    https://hg.python.org/cpython/rev/0847398f9b00

    @terryjreedy
    Copy link
    Member

    Thanks, that was it. I actually want to not use the scroll bar unless needed for an extension with more than 15 or so settings, but that is another patch. Ditto for the list of extensions. This looks OK for now.

    @ezio-melotti ezio-melotti transferred this issue from another repository Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
    Labels
    topic-IDLE type-feature A feature request or enhancement
    Projects
    None yet
    Development

    No branches or pull requests

    1 participant