<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hello,<div><br></div><div>my question was answered at the QGIS hackfest by Matteo Ghetta with a <span style="color:rgb(84,84,84);font-family:arial,sans-serif">DataPlotly</span><span style="color:rgb(84,84,84);font-family:arial,sans-serif"> code snippet</span>. (-: You can add your own entries into the "Processing Settings" menu under the "Providers" section by following the example below in your own Provider class.</div><div><br></div><div>from processing.core.ProcessingConfig import Setting, ProcessingConfig<br></div><div><br></div><div><div>class LAStoolsProvider(QgsProcessingProvider):</div><div><br></div><div>    def __init__(self):</div><div>        QgsProcessingProvider.__init__(self)</div><div><br></div><div>    def load(self):</div><div>        ProcessingConfig.settingIcons[<a href="http://self.name" target="_blank">self.name</a>()] = self.icon()</div><div>        ProcessingConfig.addSetting(Setting(<a href="http://self.name" target="_blank">self.name</a>(), 'LASTOOLS_ACTIVATED', 'Activate', True))</div><div>        ProcessingConfig.addSetting(Setting(<a href="http://self.name" target="_blank">self.name</a>(), 'LASTOOLS_FOLDER', 'LAStools folder', "C:\LAStools", valuetype=Setting.FOLDER))</div><div>        ProcessingConfig.addSetting(Setting(<a href="http://self.name" target="_blank">self.name</a>(), 'WINE_FOLDER', 'Wine folder', "", valuetype=Setting.FOLDER))</div><div>        ProcessingConfig.readSettings()</div><div>        self.refreshAlgorithms()</div><div>        return True</div><div><br></div><div>    def unload(self):</div><div>        ProcessingConfig.removeSetting('LASTOOLS_ACTIVATED')</div><div>        ProcessingConfig.removeSetting('LASTOOLS_FOLDER')</div><div>        ProcessingConfig.removeSetting('WINE_FOLDER')</div><div>        pass</div><div><br></div><div>    def isActive(self):</div><div>        return ProcessingConfig.getSetting('LASTOOLS_ACTIVATED')</div><div><br></div><div>    def setActive(self, active):</div><div>        ProcessingConfig.setSettingValue('LASTOOLS_ACTIVATED', active)        </div><div>        </div><div>    def loadAlgorithms(self):</div></div><div>       [...]</div><div><br></div><div>and you can always query those settings with code snippets such as</div><div><br></div><div><div>from processing.core.ProcessingConfig import ProcessingConfig</div><div>from processing.tools.system import isWindows</div><div> </div><div>    @staticmethod</div><div>    def hasWine():</div><div>        wine_folder = ProcessingConfig.getSetting("WINE_FOLDER")</div><div>        return (wine_folder is not None) and (wine_folder != "")</div><div><br></div><div>    @staticmethod</div><div>    def LAStoolsPath():</div><div>        lastools_folder = ProcessingConfig.getSetting("LASTOOLS_FOLDER")<span style="white-space:pre-wrap">   </span></div><div>        if isWindows():</div><div>            wine_folder = ""</div><div>        else:</div><div>            wine_folder = ProcessingConfig.getSetting("WINE_FOLDER")</div><div>        if (wine_folder is None) or (wine_folder == ""):</div><div>            folder = lastools_folder</div><div>        else:</div><div>            folder = wine_folder + "/wine " + lastools_folder</div><div>        return folder</div></div><div><br></div><div>Regards,</div><div><br></div><div>Martin</div><div><br></div></div></div></div></div></div><br><div class="gmail_quote"><div dir="ltr">On Fri, Aug 24, 2018 at 7:11 PM Martin Isenburg <<a href="mailto:martin.isenburg@gmail.com" target="_blank">martin.isenburg@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Hello,</div><div><br></div><div>when the LAStools toolboxes were part of the "built-in" scripts of Processing I had was able to have two entries (i.e. the folder path to the "Wine" and the "LAStools" installation) in the "Processing Settings" menu under the "Providers" section. You can see as an example how GRASS still has such options in the attached screen shot. How can I place these two options back there now that I load the LAStools toolboxes as Processing plugins?</div><div><br></div><div>Off for beers at the Zanzi-bar ... (-;</div><div><br></div><div>Martin </div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"></div><div class="m_-6984386405362841762m_-8728795448392101341gmail-HOEnZb"><div class="m_-6984386405362841762m_-8728795448392101341gmail-h5"><div class="gmail_extra"><div class="gmail_quote">On Thu, Aug 23, 2018 at 8:26 PM, Alexander Bruy <span dir="ltr"><<a href="mailto:alexander.bruy@gmail.com" target="_blank">alexander.bruy@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Martin,<br>
<br>
It is up to you how to distribute your plugin. You can publish it in<br>
QGIS Official<br>
plugins repository, or setup your own repository as many other developers do.<br>
It is even possible to share just a ZIP with the plugin via web-site,<br>
pretty much<br>
similar to how LAStools distributed.<br></blockquote></div></div></div></div></blockquote></div></div></div>
</blockquote></div>