Skip to content

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

Closed

Description

@roseman
mannequin
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']

    Activity

    1. roseman commented on Aug 2, 2015

      rosemanmannequin
      MannequinAuthor

      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.

    2. terryjreedy commented on Aug 2, 2015

      @terryjreedy
      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.

    3. roseman commented on Aug 3, 2015

      rosemanmannequin
      MannequinAuthor

      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.

    4. roseman commented on Aug 3, 2015

      rosemanmannequin
      MannequinAuthor

      Screenshot extdlg.png shows result

    5. terryjreedy commented on Aug 5, 2015

      @terryjreedy
      Member

      I presume sorting the list is a trivial matter.

    6. roseman commented on Aug 5, 2015

      rosemanmannequin
      MannequinAuthor

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

    7. terryjreedy commented on Aug 17, 2015

      @terryjreedy
      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.

    8. roseman commented on Aug 17, 2015

      rosemanmannequin
      MannequinAuthor

      Yes that should be good to go

    9. python-dev commented on Aug 27, 2015

      python-devmannequin
      Mannequin

      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

    10. terryjreedy commented on Oct 12, 2015

      @terryjreedy
      Member

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

    11. roseman commented on Oct 12, 2015

      rosemanmannequin
      MannequinAuthor

      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.

    12. terryjreedy commented on Oct 12, 2015

      @terryjreedy
      Member

      Go ahead then.

    13. roseman commented on Oct 12, 2015

      rosemanmannequin
      MannequinAuthor

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

    14. roseman commented on Oct 12, 2015

      rosemanmannequin
      MannequinAuthor

      Same patch against 2.7

    15. python-dev commented on Oct 14, 2015

      python-devmannequin
      Mannequin

      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

    16. terryjreedy commented on Oct 14, 2015

      @terryjreedy
      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

    17. self-assigned this
      on Oct 14, 2015
    18. terryjreedy commented on Oct 14, 2015

      @terryjreedy
      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.

    19. python-dev commented on Oct 20, 2015

      python-devmannequin
      Mannequin

      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

    20. terryjreedy commented on Oct 20, 2015

      @terryjreedy
      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.

    21. roseman commented on Oct 21, 2015

      rosemanmannequin
      MannequinAuthor

      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.

    22. python-dev commented on Oct 22, 2015

      python-devmannequin
      Mannequin

      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

    23. terryjreedy commented on Oct 22, 2015

      @terryjreedy
      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.

    24. transferred this issue fromon Apr 10, 2022
    Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

    Metadata

    Metadata

    Assignees

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions