summaryrefslogtreecommitdiffstats
path: root/languages/cpp/configproblemreporter.ui.h
diff options
context:
space:
mode:
Diffstat (limited to 'languages/cpp/configproblemreporter.ui.h')
-rw-r--r--languages/cpp/configproblemreporter.ui.h98
1 files changed, 98 insertions, 0 deletions
diff --git a/languages/cpp/configproblemreporter.ui.h b/languages/cpp/configproblemreporter.ui.h
new file mode 100644
index 00000000..d5952b95
--- /dev/null
+++ b/languages/cpp/configproblemreporter.ui.h
@@ -0,0 +1,98 @@
+/****************************************************************************
+** ui.h extension file, included from the uic-generated form implementation.
+**
+** If you wish to add, delete or rename slots use Qt Designer which will
+** update this file, preserving your code. Create an init() slot in place of
+** a constructor, and a destroy() slot in place of a destructor.
+*****************************************************************************/
+
+#include "cppsupportpart.h"
+
+#include <kdevproject.h>
+
+#include <kconfig.h>
+#include <kapplication.h>
+#include <klocale.h>
+#include <kdebug.h>
+
+#include <qfile.h>
+#include <qtextstream.h>
+
+void ConfigureProblemReporter::init()
+{
+ m_part = 0;
+ KConfig* config = kapp->config();
+ config->setGroup( "General Options" );
+ problemReporterCheckbox->setChecked( config->readBoolEntry( "EnableProblemReporter", true ) );
+ bgParserCheckbox->setChecked( config->readBoolEntry( "EnableCppBgParser", true ) );
+ delaySlider->setEnabled( bgParserCheckbox->isChecked() );
+ delaySlider->setValue( config->readNumEntry( "BgParserDelay", 500 ) );
+ setDelayLabel( delaySlider->value() );
+}
+
+void ConfigureProblemReporter::destroy()
+{}
+
+void ConfigureProblemReporter::setPart( CppSupportPart* part )
+{
+ m_part = part;
+ if ( !m_part )
+ return ;
+
+ QString conf_file_name = m_part->specialHeaderName();
+ if ( QFile::exists( conf_file_name ) )
+ {
+ QFile f( conf_file_name );
+ if ( f.open( IO_ReadOnly ) )
+ {
+ QTextStream stream( &f );
+ specialHeader->setText( stream.read() );
+ f.close();
+ }
+ }
+}
+
+void ConfigureProblemReporter::accept()
+{
+ KConfig * config = kapp->config();
+ config->setGroup( "General Options" );
+ config->writeEntry( "EnableProblemReporter", problemReporterCheckbox->isChecked() );
+ config->writeEntry( "EnableCppBgParser", bgParserCheckbox->isChecked() );
+ if ( bgParserCheckbox->isChecked() )
+ config->writeEntry( "BgParserDelay", delaySlider->value() );
+ config->sync();
+
+ m_part->updateBackgroundParserConfig();
+
+
+ if ( m_part && specialHeader->isModified() )
+ {
+ QString conf_file_name = m_part->specialHeaderName( true );
+ QFile f( conf_file_name );
+ if ( f.open( IO_WriteOnly ) )
+ {
+ QTextStream stream( &f );
+ stream << specialHeader->text();
+ f.close();
+
+ m_part->updateParserConfiguration();
+ }
+ }
+}
+
+void ConfigureProblemReporter::bgParserCheckbox_toggled( bool b )
+{
+ delaySlider->setEnabled( b );
+ if ( b == TRUE )
+ delayLabel->show();
+ else
+ delayLabel->hide();
+}
+
+
+void ConfigureProblemReporter::setDelayLabel( int delay )
+{
+ delayLabel->setText( i18n( "delay: %1 msec" ).arg( delay ) );
+}
+// kate: indent-mode csands; tab-width 4;
+