Allow customizing the current shortcuts
Closed, ResolvedPublic

Description

We currently use the add_accelerator method from Application and from Window and according to http://lazka.github.io/pgi-docs/#Gtk-3.0/classes/Widget.html#Gtk.Widget.add_accelerator it has to be replaced:

Accelerators added through this function are not user changeable during runtime. 
If you want to support accelerators that can be changed by the user, 
use Gtk.AccelMap.add_entry() and Gtk.Widget.set_accel_path() or 
Gtk.MenuItem.set_accel_path() instead.

Details

Differential Revisions
D1326: prefs: Make the group titles in the list easier to distinguish
D1325: preset: Reuse alter_style_class
D1324: shortcuts: Make sure the groups appear in the same order
D1323: prefs: Make sure the broom icon has no space to the right
D1322: prefs: Fix two Project groups in the list
D1321: prefs: Capitalize the title of the dialog
D1320: prefs: Remove forced newlines in labels
D1319: prefs: Fix dialog padding
D1318: prefs: Remove unused field
D1317: prefs: Do not show the current accelerator in the dialog
D1316: prefs: Remove the already-set label
D1315: prefs: Handle the user response in a single place
D1314: prefs: Create the Apply/Replace buttons only once
D1313: prefs: Remove method and shuffle the setup code
D1312: prefs: Initialize labels only once
D1311: prefs: Simplify some boolean expressions
D1310: prefs: Move the already-used logic to the shortcuts manager
D1309: shortcuts: Make sure a group can be registered only once
D1308: prefs: Move the is-changed logic to the shortcuts manager
D1307: prefs: Reset the keyboard shortcuts when factory resetting
D1306: prefs: Remove unneeded operations
D1305: prefs: Remove minimum width for the sidebar
D1303: Replace <Control> with <Primary> for accelerators
D1220: preferences: Add section for customising shortcuts
D1180: shortcuts: add reset_accels() functionality
D1160: shortcuts: Allow loading and saving of custom accelerators
D1158: tests_: Check shortcuts groups
D1157: shortcuts: Refactor shortcut management logic
D1066: Accelerators refactored to use app.set_accels_for_action()
git URI
https://github.com/aleb/pitivi.git#wip/phab/T7452-j
aleb created this task.May 31 2016, 10:52 AM
jakubbrindza set git URI to git@github.com:jakubbrindza/pitivi.git#wip/phab/T7452-shortcuts_refactoring.
aleb added a comment.EditedJun 28 2016, 2:19 PM

Before going to deep into this, check out this mockup of how to set keyboard shortcuts in Gnome's settings app:
<feaneron> https://raw.githubusercontent.com/gnome-design-team/gnome-mockups/master/system-settings/keyboard/keyboard-wires.png

The implementation of the very similar keyboard panel of the Gnome Control Center can be found at https://github.com/GNOME/gnome-control-center/tree/master/panels/keyboard

aleb moved this task from Backlog to In progress on the Pitivi (0.98) board.Jul 5 2016, 2:43 PM
jakubbrindza changed git URI from git@github.com:jakubbrindza/pitivi.git#wip/phab/T7452-shortcuts_refactoring to git@github.com:jakubbrindza/pitivi.git#wip/phab/T7452-shortcuts_backend.
jakubbrindza changed git URI from git@github.com:jakubbrindza/pitivi.git#wip/phab/T7452-shortcuts_backend to git@github.com:jakubbrindza/pitivi.git#wip/phab/T7452.
jakubbrindza changed git URI from git@github.com:jakubbrindza/pitivi.git#wip/phab/T7452 to git@github.com:jakubbrindza/pitivi.git#wip/phab/T7452-shortcuts_refactoring.Jul 15 2016, 9:42 AM
aleb changed git URI from git@github.com:jakubbrindza/pitivi.git#wip/phab/T7452-shortcuts_refactoring to https://github.com/aleb/pitivi.git#wip/phab/T7452-j.
aleb moved this task from In progress to Needs review on the Pitivi (0.98) board.Sep 18 2016, 11:22 PM
aleb closed this task as Closed.Sep 27 2016, 8:48 AM
aleb moved this task from Needs review to Done on the Pitivi (0.98) board.Sep 27 2016, 8:54 AM