@@ -265,6 +265,16 @@ QgsOptions::QgsOptions( QWidget *parent, Qt::WindowFlags fl )
265265 mListHiddenBrowserPaths ->addItem ( newItem );
266266 }
267267
268+ // locations of the QGIS help
269+ QStringList helpPathList = mSettings ->value ( QStringLiteral ( " help/helpSearchPath" ) ).toStringList ();
270+ Q_FOREACH ( const QString& path, helpPathList )
271+ {
272+ QTreeWidgetItem* item = new QTreeWidgetItem ();
273+ item->setText ( 0 , path );
274+ item->setFlags ( Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable );
275+ mHelpPathTreeWidget ->addTopLevelItem ( item );
276+ }
277+
268278 // Network timeout
269279 mNetworkTimeoutSpinBox ->setValue ( mSettings ->value ( QStringLiteral ( " /qgis/networkAndProxy/networkTimeout" ), " 60000" ).toInt () );
270280 leUserAgent->setText ( mSettings ->value ( QStringLiteral ( " /qgis/networkAndProxy/userAgent" ), " Mozilla/5.0" ).toString () );
@@ -1096,6 +1106,17 @@ void QgsOptions::saveOptions()
10961106 }
10971107 mSettings ->setValue ( QStringLiteral ( " /browser/hiddenPaths" ), pathsList );
10981108
1109+ // QGIS help locations
1110+ QStringList helpPaths;
1111+ for ( int i = 0 ; i < mHelpPathTreeWidget ->topLevelItemCount (); ++i )
1112+ {
1113+ if ( QTreeWidgetItem* item = mHelpPathTreeWidget ->topLevelItem ( i ) )
1114+ {
1115+ helpPaths << item->text ( 0 );
1116+ }
1117+ }
1118+ mSettings ->setValue ( QStringLiteral ( " help/helpSearchPath" ), helpPaths );
1119+
10991120 // Network timeout
11001121 mSettings ->setValue ( QStringLiteral ( " /qgis/networkAndProxy/networkTimeout" ), mNetworkTimeoutSpinBox ->value () );
11011122 mSettings ->setValue ( QStringLiteral ( " /qgis/networkAndProxy/userAgent" ), leUserAgent->text () );
@@ -1713,6 +1734,59 @@ void QgsOptions::on_mBtnRemovePluginPath_clicked()
17131734 delete itemToRemove;
17141735}
17151736
1737+ void QgsOptions::on_mBtnAddHelpPath_clicked ()
1738+ {
1739+ QTreeWidgetItem* item = new QTreeWidgetItem ();
1740+ item->setText ( 0 , QString () );
1741+ item->setFlags ( Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable );
1742+ mHelpPathTreeWidget ->addTopLevelItem ( item );
1743+ }
1744+
1745+ void QgsOptions::on_mBtnRemoveHelpPath_clicked ()
1746+ {
1747+ QList<QTreeWidgetItem*> items = mHelpPathTreeWidget ->selectedItems ();
1748+ for ( int i = 0 ; i < items.size (); ++i )
1749+ {
1750+ int idx = mHelpPathTreeWidget ->indexOfTopLevelItem ( items.at ( i ) );
1751+ if ( idx >= 0 )
1752+ {
1753+ delete mHelpPathTreeWidget ->takeTopLevelItem ( idx );
1754+ }
1755+ }
1756+ }
1757+
1758+ void QgsOptions::on_mBtnMoveHelpUp_clicked ()
1759+ {
1760+ QList<QTreeWidgetItem*> selectedItems = mHelpPathTreeWidget ->selectedItems ();
1761+ QList<QTreeWidgetItem*>::iterator itemIt = selectedItems.begin ();
1762+ for ( ; itemIt != selectedItems.end (); ++itemIt )
1763+ {
1764+ int currentIndex = mHelpPathTreeWidget ->indexOfTopLevelItem ( *itemIt );
1765+ if ( currentIndex > 0 )
1766+ {
1767+ mHelpPathTreeWidget ->takeTopLevelItem ( currentIndex );
1768+ mHelpPathTreeWidget ->insertTopLevelItem ( currentIndex - 1 , *itemIt );
1769+ mHelpPathTreeWidget ->setCurrentItem ( *itemIt );
1770+ }
1771+ }
1772+ }
1773+
1774+ void QgsOptions::on_mBtnMoveHelpDown_clicked ()
1775+ {
1776+ QList<QTreeWidgetItem*> selectedItems = mHelpPathTreeWidget ->selectedItems ();
1777+ QList<QTreeWidgetItem*>::iterator itemIt = selectedItems.begin ();
1778+ for ( ; itemIt != selectedItems.end (); ++itemIt )
1779+ {
1780+ int currentIndex = mHelpPathTreeWidget ->indexOfTopLevelItem ( *itemIt );
1781+ if ( currentIndex < mHelpPathTreeWidget ->topLevelItemCount () - 1 )
1782+ {
1783+ mHelpPathTreeWidget ->takeTopLevelItem ( currentIndex );
1784+ mHelpPathTreeWidget ->insertTopLevelItem ( currentIndex + 1 , *itemIt );
1785+ mHelpPathTreeWidget ->setCurrentItem ( *itemIt );
1786+ }
1787+ }
1788+ }
1789+
17161790void QgsOptions::on_mBtnAddTemplatePath_clicked ()
17171791{
17181792 QString myDir = QFileDialog::getExistingDirectory (
0 commit comments