[Bug 1175142] New: YaST Menu Bar Toplevel Shortcut Conflicts
https://bugzilla.suse.com/show_bug.cgi?id=1175142 Bug ID: 1175142 Summary: YaST Menu Bar Toplevel Shortcut Conflicts Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: All OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: YaST2 Assignee: yast2-maintainers@suse.de Reporter: shundhammer@suse.com QA Contact: jsrain@suse.com Found By: --- Blocker: --- With the new MenuBar widget (see bug #1175115) we now have keyboard shortcuts for the toplevel menu entries that may conflict with other widgets in the same dialog. Our automatic shortcut resolver in libyui can right now handle only one shortcut per widget, but this MenuBar widget now has several ones. We need support for multiple shortcuts per widget to avoid conflicts. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1175142 https://bugzilla.suse.com/show_bug.cgi?id=1175142#c1 --- Comment #1 from Stefan Hundhammer <shundhammer@suse.com> --- Example: +------------------------------------+ | [F]ile [V]iew [O]ptions | | | | | | | | | | | | [O]k [C]ancel | +------------------------------------+ Here the "O" shortcut will conflict between "Options" and "Ok". The libyui YShortcutManager can handle the YPushButton's shortcut well enough, but the YMenuBar needs 3 shortcuts: One for "File", one for "View", one for "Options" (i.e. for each of the toplevel menus). We need to add support to the YShortcutManager for multiple shortcuts for each individual widget. Right now, each widget redefines a method "shortcutProperty()" that returns the property name of whatever property holds the shortcut for the widget: Typically the label. So the YShortcutManager can fetch the shortcuts in a very generic way with widget->getProperty( widget->shortcutProperty() ); and if it needs to be changed, it can set it with widget->setProperty( widget->shortcutProperty(), newValue ); This is all very generic with libyui's introspection methods; it does not need any special handling for new widget types. Now, we need to extend that somehow to handle several of them; possibly with an index and (to avoid a gazillion changes for existing widgets) a method indicating if a widget type has several shortcuts. Implementation Proposal ======================= (just an idea, not a formal specification) bool YWidget::multipleShortcuts() { return false; } bool YMenuBar::multipleShortcuts() { return true; } and then possibly std::vector<std::string> getShortcuts(); void setShortcuts( const std::vector<std::string> &newShortcuts ); which would do nothing in the default implementation in YWidget, and use the toplevel item labels for YMenuBar. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1175142 https://bugzilla.suse.com/show_bug.cgi?id=1175142#c2 Steffen Winterfeldt <snwint@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P3 - Medium Status|NEW |CONFIRMED URL| |https://trello.com/c/fCUBIG | |Gg Assignee|yast2-maintainers@suse.de |yast-internal@suse.de --- Comment #2 from Steffen Winterfeldt <snwint@suse.com> --- Adding to YaST Scrum board. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1175142 https://bugzilla.suse.com/show_bug.cgi?id=1175142#c3 Stefan Hundhammer <shundhammer@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|CONFIRMED |RESOLVED Resolution|--- |FIXED --- Comment #3 from Stefan Hundhammer <shundhammer@suse.com> --- This was fixed in the meantime. -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com