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
Comments
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. |
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. |
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. |
Screenshot extdlg.png shows result |
I presume sorting the list is a trivial matter. |
Yup. Revised extdlg-sorted.patch attached. Thanks for noticing that! |
Do you consider the second patch ready as is (as a step toward doing the merge)? Is so, I will do a commit review. |
Yes that should be good to go |
New changeset 919cee158a89 by Terry Jan Reedy in branch '2.7': New changeset ce13593e378c by Terry Jan Reedy in branch '3.4': |
Do you have a patch to move the untabbed pane, as is, to preferences? If not, I will write one. |
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. |
Go ahead then. |
Patch against head to change extensions dialog to a pane of main config dialog. |
Same patch against 2.7 |
New changeset 334dc1abc8af by Terry Jan Reedy in branch '2.7': New changeset 5647c61fb593 by Terry Jan Reedy in branch '3.4': New changeset 6bce28fec911 by Terry Jan Reedy in branch '2.7': New changeset 4ed0cc2b7c7c by Terry Jan Reedy in branch '3.4': |
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 |
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. |
New changeset 8953a42c2ac4 by Terry Jan Reedy in branch '2.7': New changeset 4bf862fc10a5 by Terry Jan Reedy in branch '3.4': |
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. |
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. |
New changeset a96e39e20490 by Terry Jan Reedy in branch '2.7': New changeset 0847398f9b00 by Terry Jan Reedy in branch '3.4': |
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. |
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:
bugs.python.org fields:
The text was updated successfully, but these errors were encountered: