Version: (using KDE KDE 3.0.9) Installed from: Compiled From Sources Compiler: gcc-2.95.3 OS: Linux happens in gideon alpha 2 <p> Open "Project Options" and select "Doxygen". Select some checkboxes e.g. in tab "General". Click OK. Many settings are not written to "Doxyfile". <p> KDevelop seems to abandon settings of checkboxes that map to "yes/no" entries in Doxyfile. Other data, e.g. application name and version is written.
This can be really anoying. I'll try to fix
I've looked around and could not find it. There are to comments in the doxygenconfigwidget.cpp file that go like this: // UGLY HACK: assumes each item depends on a boolean without checking! But I don't know enough QT to fix it. anyway I updated the config.h file to the latest doxygen version. Here is the diff: Index: parts/doxygen/config.h =================================================================== RCS file: /home/kde/kdevelop/parts/doxygen/config.h,v retrieving revision 1.2 diff -u -r1.2 config.h --- parts/doxygen/config.h 23 Jun 2002 13:48:33 -0000 1.2 +++ parts/doxygen/config.h 24 Feb 2003 18:34:52 -0000 @@ -292,7 +292,7 @@ t << endl; } t << m_name << m_spaces.left(MAX_OPTION_LENGTH-m_name.length()) << "= "; - if (upd) + if (upd && !m_valueString.isEmpty()) { writeStringValue(t,m_valueString); } @@ -309,6 +309,7 @@ QCString m_valueString; }; +// some convenience macros #define Config_getString(val) Config::instance()->getString(__FILE__,__LINE__,val) #define Config_getInt(val) Config::instance()->getInt(__FILE__,__LINE__,val) #define Config_getList(val) Config::instance()->getList(__FILE__,__LINE__,val) @@ -321,6 +322,10 @@ * read from a user-supplied configuration file. * The static member instance() can be used to get * a pointer to the one and only instance. + * + * Set all variables to their default values by + * calling Config::instance()->init() + * */ class Config { @@ -335,6 +340,11 @@ if (m_instance==0) m_instance = new Config; return m_instance; } + /*! Delete the instance */ + static void deleteInstance() + { + delete m_instance; + } /*! Returns an iterator that can by used to iterate over the * configuration options. @@ -481,11 +491,34 @@ // internal API ///////////////////////////// + /*! Converts the string values read from the configuration file + * to real values for non-string type options (like int, and bools) + */ void convertStrToVal(); + + /*! Replaces references to environment variable by the actual value + * of the environment variable. + */ void substituteEnvironmentVars(); + + /*! Checks if the values of the variable are correct, adjusts them + * if needed, and report any errors. + */ void check(); + + /*! Initialize config variables to their default value */ void init(); - void parse(const QCString &config,const char *fn); + + /*! Parse a configuration file with name \a fn. + * \returns TRUE if successful, FALSE if the file could not be + * opened or read. + */ + void parse(const QCString &config, const char *fn); + + /*! Called from the constructor, will add doxygen's default options + * to the configuration object + */ + void create(); protected: Config() { @@ -500,7 +533,6 @@ delete m_options; delete m_dict; } - void create(); private: QList<ConfigOption> *m_options;
fixed in CVS, thanks for the patch!