#Inject more help texts in the templates About "Did You Know" field.
#About.didYouKnow is a class variable.
#Make the first three words matter!
#Do not start them all with "You can..." or "...that you can", in response to the Did you know? title.
#We use injection into the class and not a parameter because this dialog gets shown by creating an object. We can't give the parameters when this is shown via the mainWindow menu.
QtCore.QCoreApplication.translate("About","<p>Most commands work in the appending position (last position in a track) and apply to the item before it.</p><p>Use it to apply dots, sharps and flats on the item you just inserted without moving the cursor back and forth.</p>"),
QtCore.QCoreApplication.translate("About","<p>Learn the keyboard shortcuts! Laborejo is designed to work with the keyboard alone and with midi instruments for full speed.</p>Everytime you grab your mouse you loose concentration, precision and time."),
QtCore.QCoreApplication.translate("About","<p>Spread/shrink the space between notes with Ctrl+Mousewheel or Ctrl with Plus and Minus.</p><p>Full zoom by additionaly holding the Shift key.</p>"),
QtCore.QCoreApplication.translate("About","<p>Click with the left mouse button to set the cursor to that position. Hold Shift to create a selection.</p>"),
QtCore.QCoreApplication.translate("About","<p>Most commands can be applied to single notes and selections equally.</p><p>Use Shift + movement-keys to create selections.</p>"),
QtCore.QCoreApplication.translate("About","<p>Blocks and Tracks can be moved in Block-View Mode [F6]. Use Shift+Middle Mouse Button to move blocks and Alt+Middle to reorder tracks.</p>"),
QtCore.QCoreApplication.translate("About","<p>There are no empty measures/bars.</p><p>Use Multi Measure Rests[R] instead. You need to have a metrical instruction for that [M].</p>"),
QtCore.QCoreApplication.translate("About","<p>Many Music Items like clefs can only be inserted, not edited. They are however such simplistic that delete-and-reinsert is equally time-efficient.</p>"),
QtCore.QCoreApplication.translate("About","<p>All notes should be considered non-transposing. Treat everything as 'in C'.</p><p>That said, there is a semitone transposition in the Track Properties [Ctrl+T].</p>"),
QtCore.QCoreApplication.translate("About","<p>Upbeats/anacrusis can be set per-track in the Track Properties [Ctrl+T].</p>"),
QtCore.QCoreApplication.translate("About","<p>There is no key-rebinding except numpad-shortcuts.</p>"),
QtCore.QCoreApplication.translate("About","<p>Hidden tracks still output sound.</p>"),
QtCore.QCoreApplication.translate("About","<p>Non-audible tracks still output instrument changes and CCs so that they can be switched on again in the middle of playback.</p>"),
self.scoreView.setFocus()#So the user can start typing from moment 0.
self.start()#Inherited from template main window #This shows the GUI, or not, depends on the NSM gui save setting. We need to call that after the menu, otherwise the about dialog will block and then we get new menu entries, which looks strange.
stepMidiInput.start()#imported directly. Handles everything else internally, we just need to start it after the engine somehow. Which is here.
#Populate the left toolbar. The upper toolbar is created in menu.py
self.ui.leftToolBar.addWidget(LeftToolBarPrevailingDuration(self))#needs stepmidiinput started
#Now all tracks and items from a loaded backend-file are created. We can setup the initial editMode and viewPort.
self.scoreView.updateMode()#hide CCs at program start and other stuff
self.scoreView.scoreScene.grid.redrawTickGrid()#Init the grid only after everything got loaded and drawn to prevent a gap in the display. #TODO: which might be a bug. but this here works fine.
defupdateStatusBar(self,exportCursorDict):
"""Every cursor movement updates the statusBar message"""