Komodo / KomodoEdit

Komodo Edit is a fast and free multi-language code editor. Written in JS, Python, C++ and based on the Mozilla platform.
http://www.komodoide.com/komodo-edit
Other
2.15k stars 301 forks source link

IDE11 SOME toolbar customizations don't stick #3287

Open cdcmicro opened 6 years ago

cdcmicro commented 6 years ago

Short Summary

In IDE 11, some customizations to the default toolbar and panes are not preserved next time I open IDE.

Developer NOTE: This only applies to SOME buttons. Specifically buttons that are loaded in bootstrap.js in their respective modules. So Code Profiler, Unit Tests and devdocs.io.

Steps to Reproduce

  1. Open Customize
  2. Move symbol browser to the left pane (see Komodo/KomodoEdit#3179 )
  3. Move Toolbox, Open Files, Places to the right pane
  4. Move Databases, Collaboration, Syntax Checking, and Unit Testing to the bottom pane.
  5. Hide Unit Testing and Code Profiler in the side-bottom toolbar
  6. Click Done to save.
  7. Enjoy the customizations
  8. Close IDE for the day

Expected results

When I open IDE tomorrow, my customizations are still present.

Actual results

Symbol browser is in the right pane.

Previously hidden tools left-bottom are visible, and I have to repeat the customization process.

Platform Information

Komodo IDE, version 11.0.1, build 90784, platform win32-x86. Built on Fri Oct 13 12:01:07 2017.

Additional Information

I found if I close all files, then save the customized workspace as default, I can open the default workspace to restore the customizations. I'm not sure yet if this is more awkward then just re-customizing.

When I open the Customization tools again, the side toolbar top/bottom widgets don't reflect the current state of what's actually visible. In the screenshot below, you might be able to see the marked side-top items are hidden, but the widget state doesn't reflect it.

The symbol browser thing is probably covered in #3179. WS customization preservation failures are also covered in Komodo/KomodoEdit#2000

screenshot_101717_105114_am

Naatan commented 6 years ago

Thanks for the report. We are tracking this in https://github.com/Komodo/KomodoEdit/issues/2000

cdcmicro commented 6 years ago

Cool. Thanks.

th3coop commented 6 years ago

Hide Unit Testing and Code Profiler in the side-bottom toolbar

This will not be resolved by #2000. @Naatan, I'm looking into adding the bottom side toolbar to this function: https://github.com/Komodo/KomodoIDE/blob/master//src/chrome/komodo/content/library/uilayout.p.js#L333

I'm not sure if ("_updateChildVisibility" in stbx) holds true for the side-bottom toolbar. That's where I've left off investigation today. I think we need a new bug to make sure the toolbar customization are looked at and caught.

th3coop commented 6 years ago

Reopening for now. I have to go like RIGHT NOW or i'll be late for dinner. Will deal with this tomorrow.

th3coop commented 6 years ago

This looks like we're going to have manually implement our own version of persisted data. Anything that is in a module and uses the bootstrap method of adding ui elements will not be able to use XULs built in persist tooling.

Maybe we can build this into element.js where there is an onclose handler that saves persist attributes to simplestorage.

th3coop commented 6 years ago

Add developer note to original bug report.

Naatan commented 6 years ago

Persist is something you want to use explicitly, note implicitly. But regardless, as discussed we want to move away from persist.

th3coop commented 6 years ago

Mimic toolbar.xml:_updateChildVisibility_callbackin when window state is saved. Have bootstrapped buttons look in that saved state for itself and use it to set visibility.