No announcement yet.

Modal "Reload" panel causes inconsistent UI behavior

  • Filter
  • Time
  • Show
Clear All
new posts

  • Modal "Reload" panel causes inconsistent UI behavior

    When a file associated with an open tab has changed, the user is prompted to reload (i.e., "Right file has changed on disk. Reload?").

    While that prompt is up, if you launch another compare from a third-party app, or open a new tab (CMD-T), it will open a new compare window instead of a new tab in the existing window.

    Ideally, it would utilize the same window while keeping the prompt somehow accessible. I guess if the new tab took focus, then moving back to the blocked tab should cause the panel to reappear.

    This situation might be easier to handle if the prompt was a non-blocking, more passive message ... perhaps at the right side of the toolbar as opposed to a modal popup window. Future edits or actions on that tab should probably be blocked until the user responds to the prompt, but it shouldn't block the entire window.


    A secondary (but related) issue is that the menu bar option "Window" > "Merge All Windows" appears to do nothing in some situations.
    1. Open a file compare, and then modify the file outside of BC4 so that the "reload" prompt appears.
    2. View the contents of the "Windows" menu, and notice that all the tab and window-related menu items are disabled.
    3. Open a new file compare (CMD-N), which will create a new window.
    4. With the new window focused, view the contents of the "Windows" menu, and notice the all menu items are enabled.
    5. Select "Merge All Windows"

    If you had more than two windows open, the command will merge any non-blocked windows, so it might appear to partially work.


    Finally, while the "reload" prompt is visible, a number of menu bar menu items are disabled when they actually do function via shortcut keys. "New Tab" and "New Window" are just two that I've used in this state.

    It's great that these commands work while the prompt is up, as people may be interested in creating new compares before dismissing the "reload" panel, but the menu items should accurately reflect what is accessible.

  • #2
    Thanks for the reports. We're still working on these modal dialogs, so if you see anything like this please do let us know.
    Aaron P Scooter Software


    • #3
      A lot of the behavior your seeing (other than the mismatch between commands and menus) is intentional, and matches what other applications do when a modal sheet is open. We generally try to match apps like Safari or Xcode, so specifically:

      * "New Window" and "New Tab" should always be enabled, but if the active window is blocked both commands will open a new window.
      * "Merge All Windows" does not affect windows that have sheets visible (what if there were more than one?)

      It appears the default behavior (at least in TextEdit, BBEdit, and Xcode) is to automatically reload a file if there aren't any unsaved changes. We can consider that, though a reload is more expensive in BC since it would have to redo the compare as well. In any case, if there are conflicting reports and those applications do show a "Reload?" type prompt, it does block the current window until you've dealt with it, just like BC does.
      ZoŽ P Scooter Software


      • #4
        Incidentally, we do have a checkbox in the File Views section of the Options dialog named "Automatically reload unless changes will be discarded", which makes BC do the same thing as those other applications. It just isn't turned on by default.
        ZoŽ P Scooter Software


        • #5
          Sorry to bring this back from the dead - let me know if I should start a new topic.

          I liked mryan's idea for having the reload dialog be non-modal. The real reason I came on the forum today is because if *both* sides need reload, you don't get informed of this until you've chosen whether or not to reload the left side (at which point it asks about the right side).

          It would be nice if either it's non-modal, so you would just get a banner or something on each side that needs reloading (this would be ideal, I think - then you could copy some text that you had just changed, and reload the file once you're ready); or, it would be nice if the modal dialog said something like "reload both", "reload left", "reload right", "cancel" when both files are changed.



          • #6
            Thanks for the feedback. I'll add these notes to our wishlist.
            Aaron P Scooter Software