Convert Plugin UI from Modal dialog to Modeless Dialog #10639
Unanswered
crossan007
asked this question in
Q&A
Replies: 3 comments
-
The dialog is modal by design to ensure no other operations are run while
plugins are updated.
…On Fri, 13 Jan 2023, 12:15 pm Charles Crossan, ***@***.***> wrote:
Feature description
When interacting with a plugin (such as "Delete obsolete branches"), the
user may wish to also interact with the git repository.
The current plugin implementation uses a modal dialog which blocks access
to the main application until the modal is closed.
It would be nice, while selecting branches to delete, to be able to
navigate back to the main window and review the commit graph for the
affected branches.
Understandably, there may be some actions plugins could perform that would
invalidate the state of the main window; and vice-versa, so there may need
to be a per-plugin interface member that defines whether the user should
still be able to interact with the repository; or potentially flag whether
certain UI/terminal operations should be blocked until the plugin lifecycle
has completed. For example, if a user deleted a branch from the UI while
the "Delete obsolete branches" plugin was open, the branch list in the
plugin would become invalid.
Modal vs modeless distinction phrasing borrowed from Microsoft
documentation (
https://learn.microsoft.com/en-us/cpp/mfc/modal-and-modeless-dialog-boxes?view=msvc-170)
while possibly not the same framework used in GitEx:
Modal dialog boxes, which require the user to respond before continuing
the program
Modeless dialog boxes, which stay on the screen and are available for use
at any time but permit other user activities
Environment
- Git Extensions 4.0.1.15887
- Build f2567de
- Git 2.38.1.windows.1
- Microsoft Windows NT 10.0.19045.0
- .NET 6.0.12
- DPI 96dpi (no scaling)
- Microsoft.WindowsDesktop.App Versions
Microsoft.WindowsDesktop.App 3.1.3 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
Microsoft.WindowsDesktop.App 6.0.12 [C:\Program Files\dotnet\shared\Microsoft.WindowsDesktop.App]
—
Reply to this email directly, view it on GitHub
<#10638>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABBTEXSMCV4IZ76632VBA63WSCUEDANCNFSM6AAAAAATZ3XEJI>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
Beta Was this translation helpful? Give feedback.
0 replies
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Feature description
When interacting with a plugin (such as "Delete obsolete branches"), the user may wish to also interact with the git repository.
The current plugin implementation uses a modal dialog which blocks access to the main application until the modal is closed.
It would be nice, while selecting branches to delete, to be able to navigate back to the main window and review the commit graph for the affected branches.
Understandably, there may be some actions plugins could perform that would invalidate the state of the main window; and vice-versa, so there may need to be a per-plugin interface member that defines whether the user should still be able to interact with the repository; or potentially flag whether certain UI/terminal operations should be blocked until the plugin lifecycle has completed. For example, if a user deleted a branch from the UI while the "Delete obsolete branches" plugin was open, the branch list in the plugin would become invalid.
Modal vs modeless distinction phrasing borrowed from Microsoft documentation (https://learn.microsoft.com/en-us/cpp/mfc/modal-and-modeless-dialog-boxes?view=msvc-170) while possibly not the same framework used in GitEx:
Environment
Beta Was this translation helpful? Give feedback.
All reactions