1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 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;
|