Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
dev:rg_qt4_action_management [2008/10/06 10:01]
cannam created
dev:rg_qt4_action_management [2008/11/23 19:59]
msjulie Updated checkable to checked to reflect implementation
Line 4: Line 4:
 There are three "developer roles" here which can readily be done by different people with very little interaction -- so I suggest we do that, unless we can't find three, erm, "volunteers". There are three "developer roles" here which can readily be done by different people with very little interaction -- so I suggest we do that, unless we can't find three, erm, "volunteers".
  
-===Developer A: Boilerplate code.===+====Developer A: Boilerplate code.===
 + 
 +**Currently handled by: Chris** (I think I can mostly script this, in fact) 
 + 
 +**This task is almost complete -- I'll look at the Developer C task and then return to tidy up some loose ends later**
  
 Go through the code, particularly RosegardenGUIApp, MatrixView and NotationView.  Find all the cases where actions are constructed with fixed data (not the completely dynamic actions such as the note font menu -- those will need to continue having a full setup in the code). Go through the code, particularly RosegardenGUIApp, MatrixView and NotationView.  Find all the cases where actions are constructed with fixed data (not the completely dynamic actions such as the note font menu -- those will need to continue having a full setup in the code).
Line 28: Line 32:
  
  
-===Developer B: GUI definition files.===+====Developer B: GUI definition files.===
 + 
 +**Currently handled by: Julie**
  
 For each of the .rc files in ''src/gui/ui'', but first and foremost ''rosegardenui.rc'', ''matrix.rc'' and ''notation.rc'', find the first occurrence of each named action, and add new XML attributes describing the label, icon name, shortcut, action (radio) group if necessary, and toggleable status if necessary, as follows: For each of the .rc files in ''src/gui/ui'', but first and foremost ''rosegardenui.rc'', ''matrix.rc'' and ''notation.rc'', find the first occurrence of each named action, and add new XML attributes describing the label, icon name, shortcut, action (radio) group if necessary, and toggleable status if necessary, as follows:
Line 40: Line 46:
 <Action name="open_in_event_list" text="Open in &amp;Event List Editor" icon="eventlist"/> <Action name="open_in_event_list" text="Open in &amp;Event List Editor" icon="eventlist"/>
 </code> </code>
-That example does not have a shortcut or radio group and is not toggleable.  If the action has a shortcut, add a ''shortcut="text"'' attribute where text is a shortcut description using the syntax accepted by ''QKeySequence'', e.g. "Ctrl+L" If the action is in a radio group (i.e. appears in the GUI as one of a set of mutually exclusive actions), add a ''group="group_name"'' attribute where group_name is something that you can make up that is vaguely relevant to the group and not used for any other group.  If the action is checkable (toggleable), add ''checkable="true"'' (avoids ambiguity about spelling of "toggleable"!).+That example does not have a shortcut or radio group and is not toggleable.  If the action has a shortcut, add a ''shortcut="text"'' attribute where text is a shortcut description using the syntax accepted by ''QKeySequence'', e.g. "Ctrl+L" If the action is in a radio group (i.e. appears in the GUI as one of a set of mutually exclusive actions), add a ''group="group_name"'' attribute where group_name is something that you can make up that is vaguely relevant to the group and not used for any other group.  If the action is checkable (toggleable), add ''checked="true"'' for a default option of 'on' or ''checked="false"'' for default option of 'off' (using ''checked'' avoids ambiguity about spelling of "toggleable"!).  Therefore, the 'checked' attribute only appears when the item is checkable; otherwise, it is not checkable.  
  
 The labels, icons and key sequences must match those used in the existing Rosegarden in US English locale.  Gleaning these from the source code can sometimes be tricky; they're quite dispersed.  For the labels in particular the easiest thing may even be to run up RG in US English and just copy what you see in the GUI (don't forget to put &amp; before the underscored letter, and make sure you include "..." at the end where it appears in the GUI and nowhere else). The labels, icons and key sequences must match those used in the existing Rosegarden in US English locale.  Gleaning these from the source code can sometimes be tricky; they're quite dispersed.  For the labels in particular the easiest thing may even be to run up RG in US English and just copy what you see in the GUI (don't forget to put &amp; before the underscored letter, and make sure you include "..." at the end where it appears in the GUI and nowhere else).
Line 53: Line 59:
  
  
-===Developer C: Action loading code.===+====Developer C: Action loading code.===
 + 
 +**Currently handled by: Chris**
  
-Implement the ''newAction'' and ''stateChanged'' functions for use by Developer A.+Implement the ''createAction'', ''enterActionState'' and ''leaveActionState'' functions for use by Developer A.
  
 Implement a new ''createGUI'' function that loads the XML and sets up the actions into menus and so on appropriately. Implement a new ''createGUI'' function that loads the XML and sets up the actions into menus and so on appropriately.
 
 
dev/rg_qt4_action_management.txt · Last modified: 2022/05/06 16:07 (external edit)
Recent changes RSS feed Creative Commons License Valid XHTML 1.0 Valid CSS Driven by DokuWiki