summaryrefslogtreecommitdiff
path: root/src/assistant/assistant/doc/src/assistant-manual.qdoc
blob: aa426ee2f55e765d059127fb8aeeafa58760bb22 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
/****************************************************************************
**
** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia.  For licensing terms and
** conditions see http://qt.digia.com/licensing.  For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file.  Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: http://www.gnu.org/copyleft/fdl.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!
    \page qtassistant-index.html
    \title Qt Assistant Manual
    \ingroup qttools

    \startpage {Qt Reference Documentation}
    \nextpage Qt Assistant Quick Guide

    \keyword Qt Assistant

    \QA is a tool for viewing on-line documentation in Qt help file format.
    For more information about basic \QA functions, see
    \l{Qt Assistant Quick Guide}.

    Qt installations include a set of reference and tools documentation that
    you can view in the Qt Creator IDE and in \QA. You can add custom
    documentation to the set of documents displayed in the \QA main view. For
    detailed information about all \QA functions, see \l{Using Qt Assistant}.

    You can use \QA as the help viewer in your applications. You can display
    your own documentation and customize \QA to look and feel like part of your
    application. You can change the window title or icon, as well as menu texts
    and actions. For more information, see \l{Customizing Qt Assistant}.

    \section1 Table of Contents

    \list
        \li \l{Qt Assistant Quick Guide}
        \li \l{Using Qt Assistant}
        \li \l{Customizing Qt Assistant}
    \endlist
*/

/*!
    \contentspage {Qt Assistant Manual}{Contents}
    \previouspage Qt Assistant Manual
    \page assistant-quick-guide.html
    \nextpage Using Qt Assistant

    \title Qt Assistant Quick Guide

    Once you have installed Qt, you can start Qt Assistant in the same way as
    any other application on the development host.

    The \QA main window contains a sidebar (1) with navigation windows for:

    \list
        \li Viewing a list of documents in Qt help format that are installed on
            the development host.
        \li Managing bookmarks.
        \li Searching for keywords in the index.
        \li Searching for information using a free text search function.
        \li Switching between open topics.
    \endlist

    The selected topic in the selected document is displayed in the
    \b Documentation window (2).

    \image assistant-assistant.png

    Click the \gui Previous and \gui Next toolbar buttons (3) to navigate within
    the topics you have visited.

    \section1 Managing Bookmarks

    \image assistant-bookmarks.png

    To bookmark topics of particular interest, select \gui Bookmarks >
    \gui {Add Bookmark} (or press \key{Ctrl+B}). A bookmark for the
    page that is currently showing in the \gui Documentation window is added.

    You can view and manage bookmarks in the \gui Bookmarks window.
    Double-click a bookmark to open the topic in the \gui Documentation window.
    You can also right-click the bookmark and select \gui{Show Bookmark} in the
    context menu.

    To rename or delete the highlighted bookmark, select \gui {Rename Bookmark}
    or \gui {Delete Bookmark} in the context menu.

    \section1 Searching for Keywords

    \image assistant-index.png

    To perform an index search, click the \gui{Index} tab on the sidebar
    (or press \key{Alt+I}). In the \gui{Look For} field, enter the search term.
    As you type, words are found and highlighted in a list beneath the field.
    If the highlighted text matches what you are
    looking for, double-click it or press \key{Enter}. The
    \gui Documentation window displays the relevant topic. You rarely have
    to type in the whole word before \QA finds a match. Note that for some
    words there may be more than one possible topic that is relevant.

    \section1 Using Free Text Search

    \image assistant-search.png

    \QA also provides full text searching for finding specific words in the
    documentation. To activate the full text search, either press \key(Alt+S)
    or click the \gui{Search} tab on the sidebar. Then enter the term you are
    looking for and click \gui{Search}. All documents containing the specified
    term are listed.
*/

/*!
    \page assistant-details.html
    \title Using Qt Assistant

    \contentspage {Qt Assistant Manual}{Contents}
    \previouspage Qt Assistant Quick Guide
    \nextpage Customizing Qt Assistant

    \image assistant-dockwidgets.png

    You can read documentation in the \gui Documentation window. To open a topic
    in a new tab, right click it in the \gui Contents window to open a context
    menu and select \gui {Open Link in New Tab}. All open topics are listed in
    the \gui {Open Pages} window. Select a topic to view it in the
    \gui Documentation window.

    If you want the \gui{Documentation} window to use as much space as possible,
    you can easily group, move or hide the sidebar windows. To group the windows,
    drag one on top of the other and release the mouse. If one or all sidebar
    windows are not shown, select keyboard shortcuts to display them. You can
    view the keyboard shortcuts in the \gui View menu.

    The sidebar windows can be docked into the main window, so you can drag them
    to the top, left, right or bottom of the main window, or you can
    drag them outside \QA to float them as independent windows.

    To change the font family and font sizes of the browser window displaying
    the documentation or the application itself, select \gui Edit >
    \gui Preferences > \gui Fonts.

    \image assistant-preferences-fonts.png

    To temporarily increase or decrease the font size in the \gui Documentation
    window, select \gui View > \gui {Zoom in} or \gui {Zoom out}. To reset the
    font size, select \gui View > \gui {Normal Size}.

    To navigate between pages, select \gui Go > \gui Previous or \gui Next. This
    takes you to the previous or next page in the history. To return to the home
    page, select \gui Go > \gui Home. To specify the home page, select
    \gui Edit > \gui Preferences > \gui Options.

    To synchronize the \gui{Contents} window with the page currently shown in
    the \gui{Documentation} window, select \gui Go >
    \gui {Sync with Table of Contents}.

    The address toolbar provides a fast way to enter a specific URL for a
    documentation file. To show the address toolbar, select \gui View >
    \gui Toolbars > \gui {Address Toolbar}.

    \section1 Searching from Page Contents

    To find text on the current page, select \gui Edit > \gui {Find in Text}.
    Enter the search term in the field. The search is incremental, meaning that
    the most relevant result is shown as you enter characters into the field.

    If you select the \gui{Case sensitive} checkbox, the search considers the
    case of the search term. For example, if you search for \b spin, it matches
    \b spin but not \b Spin.

    To search forwards or backwards from your current position on the page,
    click \gui Previous or \gui Next.

    To hide the find control, either click \gui Close or press \key Esc.

    \section1 Full Text Searching

    \img assistant-search.png

    \QA provides a powerful full text search engine. You can search for certain
    words or text in the \gui Search window. Enter the text you want to look for
    and press \key{Enter} or click \gui{Search}. The search is not case sensitive.
    For example, \b Foo, \b fOo and \b FOO are all treated as the same. The
    following are examples of common search patterns:

    \list
    \li \c deep -- lists all the documents that contain the word \b deep
    \li \c{deep*} -- lists all the documents that contain a word beginning
    with \b deep
    \li \c{deep copy} -- lists all documents that contain both \b deep \e
    and \b copy
    \li \c{"deep copy"} -- list all documents that contain the phrase
     \b {deep copy}
    \endlist

    Use the \gui{Advanced search} for more flexibility.
    You can specify some words so that hits containing these are excluded from the
    result, or you can search for an exact phrase. Searching for similar words will
    give results like these:

    \list
    \li \c{QStin} -- lists all the documents with titles that are similar, such as \c{QString}
    \li \c{QSting} -- lists all the documents with titles that are similar, such as \c{QString}
    \li \c{QStrin} -- lists all the documents with titles that are similar, such as \c{QString}
    \endlist

    Options can be combined to improve the search results.

    The list of documents found is ordered according to the number of
    occurrences of the search text which they contain, with those containing
    the highest number of occurrences appearing first. Simply click any
    document in the list to display it in the \gui{Documentation} window.

    If the documentation has changed \mdash for example, if documents have been added
    or removed \mdash \QA will index them again.

    \section1 Filtering Help Contents

    \QA allows you to install any kind of documentation as long as it is organized
    in Qt compressed help files (*.qch). For example, you can view
    Qt reference documentation for several Qt versions at the same time. In many
    respects, this is very convenient since only one version of \QA is needed.
    However, at the same time it becomes more complicated when performing tasks like
    searching the index because most keywords are defined in more than one Qt
    version. This means that \QA will always ask the user to choose which one
    should be displayed.

    We use documentation filters to solve this issue. A filter is identified by its
    name, and contains a list of filter attributes. An attribute is just a string and
    can be freely chosen. Attributes are defined by the documentation itself,
    which means that every documentation set usually has one or more attributes.

    For example, the \QA documentation defines the attributes \c {assistant} and
    \c{tools}, whereas \QD defines \c{designer} and \c{tools}.
    The filter to display all tools would then define only the attribute
    \c{tools} since this attribute is part of both documentation sets.
    Adding the attribute \c{assistant} to the filter would then only show \QA
    documentation since the \QD documentation does not contain this
    attribute. Having an empty list of attributes in a filter will match all
    documentation. That is, it is equivalent to requesting unfiltered documentation.

    To create and remove documentation filters, select \gui Edit >
    \gui Preferences > \gui Filters.

    \image assistant-preferences-filters.png

    To add a new filter, click \gui Add,
    specify a filter name, and click \gui OK. Then select the filter attributes
    in the \gui Attributes field.

    To delete a filter, select it and click \gui Remove.

    The filter toolbar allows you to apply a filter to the currently installed
    documentation. To show the filter toolbar, select \gui View > \gui Toolbars
    > \gui {Filter Toolbar}.

    \section1 Adding Documentation

    To install and remove compressed help files, select \gui Edit >
    \gui Preferences > \gui Documentation.

    \image assistant-preferences-documentation.png

    Click the \gui{Install} button and
    choose the path of the compressed help file (*.qch) you would like to install.
    To delete a help file, select a documentation set in the list and click
    \gui{Remove}.

    \section1 Specifying Home Page

    To specify the homepage \QA displays when you click the \gui{Home} button,
    select \gui Edit > \gui Preferences > \gui Options.

    \image assistant-preferences-options.png

    Enter the URL of the home page or select \gui{Current Page} to set the
    currently displayed page as your home page. To leave the home page blank,
    select \gui {Blank page}. Select \gui{Restore to default} to reset your home
    page to the default home page.

    \section1 Using Command Line Options

    \QA handles the following command line options:

    \table
        \header
            \li Command Line Option
            \li Brief Description
        \row
            \li -collectionFile <file.qhc>
            \li Uses the specified collection file instead of the default one.
        \row
            \li -showUrl <URL>
            \li Shows the document referenced by URL.
        \row
            \li -enableRemoteControl
            \li Enables \QA to be remotely controlled.
        \row
            \li -show <widget>
            \li Shows the specified sidebar window which can be "contents", "index",
            "bookmarks" or "search".
        \row
            \li -hide <widget>
            \li Hides the specified sidebar window which can be "contents", "index",
            "bookmarks" or "search".
        \row
            \li -activate <widget>
            \li Activates the specified sidebar window which can be "contents",
            "index", "bookmarks" or "search".
        \row
            \li -register <doc.qch>
            \li Registers the specified compressed help file in the given help
            collection.
        \row
            \li -unregister <doc.qch>
            \li Unregisters the specified compressed help file from the given
               collection file.
        \row
            \li -remove-search-index
            \li Purges the help search engine's index. This option is
               useful in case the associated index files get corrupted.
               \QA will re-index the documentation at the next start-up.
        \row
            \li -rebuild-search-index
            \li Rebuilds the help search engine's index.
               Note that this operation may take a while to finish.
        \row
            \li -setCurrentFilter <filter>
            \li Sets the given filter as the active filter.
        \row
            \li -quiet
            \li Does not show any error, warning or success messages.
    \endtable

*/

/*!
    \page assistant-custom-help-viewer.html
    \title Customizing Qt Assistant

    \contentspage {Qt Assistant Manual}{Contents}
    \previouspage Using Qt Assistant

    Using \QA as custom help viewer requires more than just being able to
    display custom documentation. It is equally important that the
    appearance of \QA can be customized so that it is seen as a
    application-specific help viewer rather than \QA. This is achieved by
    changing the window title or icon, as well as some application-specific
    menu texts and actions. For a complete list of possible customizations,
    see \l{Creating a Custom Help Collection File}.

    Another requirement of a custom help viewer is the ability to receive
    actions or commands from the application it provides help for. This is
    especially important when the application offers context sensitive help.
    When used in this way, the help viewer may need to change its contents
    depending on the state the application is currently in. This means that
    the application has to communicate the current state to the help viewer.
    For more information, see \l{Using Qt Assistant Remotely}.

    The \l{Simple Text Viewer Example}{Simple Text Viewer} example uses the
    techniques described in this document to show how to use \QA as a custom
    help viewer for an application.

    \warning In order to ship Qt Assistant in your application, it is crucial
    that you include the sqlite plugin. For more information on how to include
    plugins in your application, refer to the \l{Deploying Qt Applications}
    {deployment documentation}.

    \section1 Qt Help Collection Files

    The first important point to know about \QA is that it stores all
    settings related to its appearance \e and a list of installed
    documentation in a help collection file. This means, when starting \QA
    with different collection files, \QA may look totally different. This
    complete separation of settings makes it possible to deploy \QA as a
    custom help viewer for more than one application on one machine
    without risk of interference between different instances of \QA.

    To apply a certain help collection to \QA, specify the respective
    collection file on the command line when starting it. For example:

    \snippet doc_src_assistant-manual.qdoc 8

    However, storing all settings in one collection file raises some problems.
    The collection file is usually installed in the same directory as the
    application itself, or one of its subdirectories. Depending on the
    directory and the operating system, the user may not have any permissions
    to modify this file which would happen when the user settings are stored.
    Also, it may not even be possible to give the user write permissions, for
    example when the file is located on a read-only medium like a CD-ROM.

    Even if it is possible to give everybody the right to store their settings
    in a globally available collection file, the settings from one user would
    be overwritten by another user when exiting \QA.

    To solve this dilemma, \QA creates user specific collection files which
    are more or less copied from the original collection file. The user-specific
    collection file will be saved in a subdirectory of the path returned by
    QDesktopServices::DataLocation. The subdirectory, or \e{cache directory}
    within this user-specific location, can be defined in the help collection
    project file. For example:

    \snippet doc_src_assistant-manual.qdoc 7

    So, when calling

    \snippet doc_src_assistant-manual.qdoc 8

    \QA actually uses the collection file:

    \snippet doc_src_assistant-manual.qdoc 9

    There is no need ever to start \QA with the user specific collection
    file. Instead, the collection file shipped with the application should
    always be used. Also, when adding or removing documentation from the
    collection file (see next section) always use the normal collection file.
    \QA will take care of synchronizing the user collection files when the
    list of installed documentation has changed.

    \section1 Displaying Custom Documentation

    Before \QA is able to show documentation, it has to know where it can
    find the actual documentation files, meaning that it has to know the
    location of the Qt compressed help file (*.qch). As already mentioned,
    \QA stores references to the compressed help files in the currently used
    collection file. So, when creating a new collection file you can list
    all compressed help files \QA should display.

    \snippet doc_src_assistant-manual.qdoc 5

    Sometimes, depending on the application for which \QA acts as a
    help viewer, more documentation needs to be added over time; for
    example, when installing more application components or plugins.
    This can be done manually in \QA by selecting \gui Edit > \gui Preferences
    > \gui Documentation. However, this approach has the disadvantage
    that every user has to do it manually to get access to the new
    documentation.

    The preferred way of adding documentation to an already existing collection
    file is to use the \c{-register} command line flag of \QA. When starting
    \QA with this flag, the documentation will be added and \QA will
    exit right away displaying a message if the registration was successful
    or not.

    \snippet doc_src_assistant-manual.qdoc 6

    The \c{-quiet} flag can be passed on to \QA to prevent it from writing
    out the status message.

    \note \QA shows the documentation in the \gui Contents view in the same
    order as it was registered.


    \section1 Changing the Appearance of Qt Assistant

    The appearance of \QA can be changed by passing different command line options
    on startup. However, these command line options only allow to show or hide
    specific widgets, like the contents or index view. Other customizations, such
    as changing the application title or icon, or disabling the filter functionality,
    can be done by creating a custom help collection file.

    \section2 Creating a Custom Help Collection File

    The help collection file (*.qhc) used by \QA is created when running the
    \c qcollectiongenerator tool on a help collection project file (*.qhcp).
    The project file format is XML and it supports the following tags:

    \table
        \header
            \li Tag
            \li Brief Description
        \row
            \li \c{<title>}
            \li Specifies a window title for \QA.
        \row
            \li \c{<homePage>}
            \li Specifies the page to display when selecting \gui Home in the
                \QA main window.
        \row
            \li \c{<startPage>}
            \li Specifies the page to display initially when the help collection
                is used.
        \row
            \li \c{<currentFilter>}
            \li Specifies the filter that is initially used.
            If this filter is not specified, the documentation will not be filtered. This has
            no impact if only one documentation set is installed.
        \row
            \li \c{<applicationIcon>}
            \li Describes an icon that will be used instead of the normal \QA
            application icon. This is specified as a relative path from the directory
            containing the collection file.
        \row
            \li \c{<enableFilterFunctionality>}
            \li Enables or disables user accessible filter functionality,
            making it possible to prevent the user from changing any filter when running \QA.
            It does not mean that the internal filter functionality is completely disabled.
            Set the value to \c{false} if you want to disable the filtering. If the filter
            toolbar should be shown by default, set the attribute \c{visible} to \c{true}.
        \row
            \li \c{<enableDocumentationManager>}
            \li Shows or hides the \gui Documentation tab in the \gui Preferences
            dialog. Disabling the \gui Documentation tab allows you to limit
            \QA to display a specific documentation set or make it impossible for the end user
            to accidentally remove or install documentation. To hide the \gui Documentation tab,
            set the tag value to \c{false}.
        \row
            \li \c{<enableAddressBar>}
            \li Enables or disables the address bar functionality. By default it
            is enabled. To disable it, set the tag value to \c{false}. If the
            address bar functionality is enabled, the address bar can be shown by setting the
            tag attribute \c{visible} to \c{true}.
        \row
            \li \c{<aboutMenuText>, <text>}
            \li Lists localized versions for the \gui About menu item in the
            \gui Help menu. For example, \gui {About Application}. The text is
            specified within the \c{text} tags. The \c{language} attribute takes the two
            letter language name. The text is used as the default text if no language
            attribute is specified.
        \row
            \li \c{<aboutDialog>, <file>, <icon>}
            \li Specifies the text for the \gui About dialog that can be opened
            from the \gui Help menu. The text is taken from the
            file in the \c{file} tags. It is possible to specify a different file or any
            language. The icon defined by the \c{icon} tags is applied to any language.
        \row
            \li \c{<cacheDirectory base="collection > default">}
            \li Specifies the cache directory that is used to store index files
            needed for the full text search and a copy of the collection file.
            The copy is needed because \QA stores all its settings in the
            collection file, and therefore, it must be writable for the user.
            The directory is specified as a relative path.
            If the \c{base} attribute is set to "collection", the path is
            relative to the directory the collection file resides in.
            If the attribute is set to "default" or if it is missing,
            the path is relative to the directory given by
            QDesktopServices::DataLocation. The first form is useful for
            collections that are used in a \e mobile way, such as carried around
            on a USB stick.
        \row
            \li \c{<enableFullTextSearchFallback>}
            \li Enables or disables the ability to fallback and use the full text
            search if a keyword cannot be found in the index. This functionality
            can be used while remote controlling \QA. To make it available for
            remote control, set the tag value to \c{true}.
    \endtable

    In addition to those \QA specific tags, the tags for generating and registering
    documentation can be used. See \l{Qt Help Collection Project} documentation for more information.

    An example of a help collection file that uses all the available tags is shown below:

    \snippet doc_src_assistant-manual.qdoc 1

    To create the binary collection file, run the \c qcollectiongenerator tool:

    \snippet doc_src_assistant-manual.qdoc 10

    To test the generated collection file, start \QA in the following way:

    \snippet doc_src_assistant-manual.qdoc 8

    \section1 Using Qt Assistant Remotely

    Even though the help viewer is a standalone application, it will mostly
    be launched by the application it provides help for. This approach
    gives the application the possibility to ask for specific help contents
    to be displayed as soon as the help viewer is started. Another advantage
    with this approach is that the application can communicate with the
    help viewer process and can therefore request other help contents to be
    shown depending on the current state of the application.

    So, to use \QA as the custom help viewer of your application, simply
    create a QProcess and specify the path to the \QA executable. In order
    to make \QA listen to your application, turn on its remote control
    functionality by passing the \c{-enableRemoteControl} command line option.

    The following example shows how this can be done:

    \snippet doc_src_assistant-manual.qdoc 2

    Once \QA is running, you can send commands by using the stdin channel of
    the process. The code snippet below shows how to tell \QA to show a certain
    page in the documentation.

    \snippet doc_src_assistant-manual.qdoc 3

    \note The trailing newline character is required to mark the end
    of the input.

    The following commands can be used to control \QA:

    \table
        \header
            \li Command
            \li Brief Description
        \row
            \li \c{show <Widget>}
            \li Shows the sidebar window (dock widget) specified by <Widget>. If the widget
            is already shown and this command is sent again, the widget will be
            activated, meaning that it will be raised and given the input focus.
            Possible values for <Widget> are "contents", "index", "bookmarks" or "search".
        \row
            \li \c{hide <Widget>}
            \li Hides the dock widget specified by <Widget>. Possible values for
            <Widget> are "contents", "index", "bookmarks" and "search".
        \row
            \li \c{setSource <Url>}
            \li Displays the given <Url>. The URL can be absolute or relative
            to the currently displayed page. If the URL is absolute, it has to
            be a valid Qt help system URL. That is, starting with "qthelp://".
        \row
            \li \c{activateKeyword <Keyword>}
            \li Inserts the specified <Keyword> into the line edit of the
            index dock widget and activates the corresponding item in the
            index list. If such an item has more than one link associated
            with it, a topic chooser will be shown.
        \row
            \li \c{activateIdentifier <Id>}
            \li Displays the help contents for the given <Id>. An ID is unique
            in each namespace and has only one link associated to it, so the
            topic chooser will never pop up.
        \row
            \li \c{syncContents}
            \li Selects the item in the contents widget which corresponds to
            the currently displayed page.
        \row
            \li \c{setCurrentFilter <filter>}
            \li Selects the specified filter and updates the visual representation
            accordingly.
        \row
            \li \c{expandToc <Depth>}
            \li Expands the table of contents tree to the given depth. If depth
            is 0, the tree will be collapsed completely. If depth is -1,
            the tree will be expanded completely.
        \row
            \li \c{register <help file>}
            \li Adds the given Qt compressed help file to the collection.
        \row
            \li \c{unregister <help file>}
            \li Removes the given Qt compressed help file from the collection.
    \endtable

    If you want to send several commands within a short period of time, it is
    recommended that you write only a single line to the stdin of the process
    instead of one line for every command. The commands have to be separated by
    a semicolon, as shown in the following example:

    \snippet doc_src_assistant-manual.qdoc 4

    \section1 Compatibility with Old Formats

    In Qt versions up to 4.3, the help system was based on Document Content File
    (DCF) and Qt Assistant Documentation Profile (ADP) formats.
    Unfortunately, the old file formats are not compatible with the new ones
    that are described in this manual and that are used from Qt 4.4 on, also in Qt 5.
    In general, the differences are not that big \mdash in most cases is the old
    format is just a subset of the new one. One example is the \c namespace tag in
    the Qt Help Project format, which was not part of the old format, but plays a vital
    role in the new one. To help you to move to the new file format, we have created
    a conversion wizard.

    The wizard is started by executing \c qhelpconverter. It guides you through the
    conversion of different parts of the file and generates a new \c qch or \c qhcp
    file.

    Once the wizard is finished and the files created, run the \c qhelpgenerator
    or the \c qcollectiongenerator tool to generate the binary help files used by \QA.
*/

/*
\section2 Modifying \QA with Command Line Options

    Different help collections can be shown by simply passing the help collection
    path to \QA. For example:

    \snippet doc_src_assistant-manual.qdoc 0

    Other available options the can be passed on the command line.

    \table
        \header
            \li Command Line Option
            \li Brief Description
        \row
            \li -collectionFile <file.qhc>
            \li Uses the specified collection file instead of the default one.
        \row
            \li -showUrl URL
            \li Shows the document referenced by URL.
        \row
            \li -enableRemoteControl
            \li Enables \QA to be remotly controlled.
        \row
            \li -show <widget>
            \li Shows the specified dockwidget which can be "contents", "index",
            "bookmarks" or "search".
        \row
            \li -hide <widget>
            \li Hides the specified dockwidget which can be "contents", "index",
            "bookmarks" or "search.
        \row
            \li -activate <widget>
            \li Activates the specified dockwidget which can be "contents",
            "index", "bookmarks" or "search.
        \row
            \li -register <doc.qch>
            \li Registers the specified compressed help file in the given help
            collection.
        \row
            \li -unregister <doc.qch>
            \li Unregisters the specified compressed help file from the given
            collection file.
        \row
            \li -quiet
            \li Doesn't show any error, warning or success messages.
    \endtable
    */