/// \brief reads and interprets current solution form application obejct
        private void UpdateConfigFile()
        {
            var slnFile  = "";
            var solution = this.ApplicationObject.Solution;

            if (solution != null)
            {
                slnFile = solution.FileName;
            }

            var doxPreviewTempl = ExtensionContext.DoxygenPreviewTemplatePath;

            // TODO $$$ read global doxygen settings

            bool slnChanged = _solutionFile == null || _solutionFile != slnFile;

            _solutionFile = slnFile;
            if (slnChanged == false)
            {
                return;
            }

            var slnFileName = Path.GetFileName(SolutionFile);
            var slnRootPath = SolutionFile.Substring(0, SolutionFile.Length - slnFileName.Length);

            // TODO $$$ read doxygen configuration from solution project

            // find 'doxygen_config.xml' file
            var doxConfigXMLName = "doxygen_config.xml";
            var doxConfigXMLPath = slnRootPath;
            var doxConfigXML     = doxConfigXMLPath + doxConfigXMLName;

            if (File.Exists(doxConfigXML) == false)
            {
#if DEBUG
                doxConfigXMLPath = "C:\\source\\model3dviewer\\VSDoxExt\\test\\";                 // TODO $$$ test only
                doxConfigXML     = doxConfigXMLPath + doxConfigXMLName;
#endif
            }

            // read doxgan configuration paths from 'doxygen_config.xml'
            CDoxSrcConfigXML xConfig = new CDoxSrcConfigXML(doxConfigXML);
            if (xConfig.Read())
            {
                var sourceBrowser = xConfig.GetSource();
                COptions.DefaultSourceBrowser = sourceBrowser;

                var configFileRel = xConfig.GetConfigFile();
                var configFileAbs = Path.Combine(doxConfigXMLPath, configFileRel);
                COptions.DefaultConfigFile = configFileAbs;

                return;
            }

            // try to find find elitecad doxygen project
            var doxTestFile = slnRootPath + "/dox_src/Doxyfile.preview";
            if (File.Exists(doxTestFile))
            {
                COptions.DefaultSourceBrowser = ExtensionCommon.ExtensionContext.constDoxygenSourceBrowserURL;
                COptions.DefaultConfigFile    = doxTestFile;
            }

            // ...
        }