This is an old revision of the document!


Road Map

The help project is well under way now, and a road map is forming. Interested parties should feel free to help, as there is a ton of work to do.

The groundwork is far enough along, and the old Handbook is now in one gigantic page. What we need to do from here is:

  1. Add help buttons to all suitable dialogs
  2. Generate the help content for these buttons (much of it can come from the existing text)
  3. After all the help buttons are done, move on to the editor-level help menus, which should wrap all related help button pages
  4. After all the editor-level menus are done, everything that's left here on this page should be the main window help

Help buttons

* Find a QDialogButtonBox somewhere (usually in dialogs) * If there is not already a QStandardButton::Help then add one * Hook up the help slot, and provide an unique URL

Adding help to LilyPondOptionsDialog:

Index: src/gui/dialogs/LilyPondOptionsDialog.cpp                          
===================================================================       
--- src/gui/dialogs/LilyPondOptionsDialog.cpp   (revision 11134)          
+++ src/gui/dialogs/LilyPondOptionsDialog.cpp   (working copy)            
@@ -29,6 +29,8 @@                                                         
 #include <QComboBox>                                                     
 #include <QDialog>                                                       
 #include <QDialogButtonBox>                                              
+#include <QUrl>                                                          
+#include <QDesktopServices>                                              
 #include <QFrame>                                                        
 #include <QGridLayout>                                                   
 #include <QGroupBox>                                                     
@@ -55,8 +57,6 @@                                                         
         QDialog(parent),                                                 
        m_doc(doc)                                                        
 {                                                                        
-    //setHelp("file-printing");                                          
-                                                                         
     setModal(true);                                                      
     setWindowTitle((windowCaption = "" ? tr("LilyPond Export/Preview") : windowCaption));
 
@@ -250,7 +250,7 @@                                                                       
 
     mainbox->setLayout(mainboxLayout);                                                   
 
-    QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Apply | QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
+    QDialogButtonBox *buttonBox = new QDialogButtonBox(QDialogButtonBox::Apply | QDialogButtonBox::Ok | QDialogButtonBox::Cancel | QDialogButtonBox::Help);
     metaGridLayout->addWidget(buttonBox, 1, 0);
     metaGridLayout->setRowStretch(0, 10);
 
@@ -259,6 +259,7 @@
 
     connect(buttonBox, SIGNAL(accepted()), this, SLOT(accept()));
     connect(buttonBox, SIGNAL(rejected()), this, SLOT(reject()));
+    connect(buttonBox, SIGNAL(helpRequested()), this, SLOT(help()));
 
     populateDefaultValues();
 
@@ -266,6 +267,19 @@
 }
 
 void
+LilyPondOptionsDialog::help()
+{
+    // TRANSLATORS: if the manual is translated into your language, you can
+    // change the two-letter language code in this URL to point to your language
+    // version, eg. "http://rosegardenmusic.com/wiki/doc:manual-es" for the
+    // Spanish version. If your language doesn't yet have a translation, feel
+    // free to create one.
+    QString helpURL = tr("http://rosegardenmusic.com/wiki/doc:manual-lilypondoptions-en");
+    QDesktopServices::openUrl(QUrl(helpURL));
+}
+
+
+void
 LilyPondOptionsDialog::populateDefaultValues()
 {
     QSettings settings;
Index: src/gui/dialogs/LilyPondOptionsDialog.h
===================================================================
--- src/gui/dialogs/LilyPondOptionsDialog.h     (revision 11134)
+++ src/gui/dialogs/LilyPondOptionsDialog.h     (working copy)
@@ -48,6 +48,7 @@
 public slots:
     void slotApply();
     void accept();
+    void help();
 
 protected:
     RosegardenDocument *m_doc;

* Once you have the slot pointing to your unique URL, access that page here on the wiki * If information on this topic already exists in the big all-in-one manual, cut it out of the main text and paste it on your new page, leaving behind a top level header and a link:

- ===== LilyPond options =====
[content omitted for clarity...]
+ ====== LilyPond options ======
+ [[doc:manual-lilypondoptions-en|LilyPond Options]]

* Test that the link works from Rosegarden (this one does) and away we go. Don't worry about editing the content so much on this first pass, as it's most important to get the help links done and get the big gigantic manual cut into chunks so we can get the overall structure into place first

Editor Help Menus

(We'll get here a bit later… Please ignore these for the time being, and work on help buttons!)

 
 
doc/roadmap.1256850004.txt.gz · 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