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
|
/****************************************************************************
** 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" );
bgParserCheckbox->setChecked( config->readBoolEntry("EnableCppBgParser", true) );
delaySlider->setEnabled( bgParserCheckbox->isChecked() );
delaySlider->setValue( config->readNumEntry("CppBgParserDelay", 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( "EnableCppBgParser", bgParserCheckbox->isChecked() );
if( bgParserCheckbox->isChecked() )
config->writeEntry( "CppBgParserDelay", delaySlider->value() );
config->sync();
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 ) );
}
|