00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
#include "debuggerconfigwidget.h"
00015
00016
#include <kurlrequester.h>
00017
00018
#include <qcheckbox.h>
00019
#include <qlineedit.h>
00020
#include <qfileinfo.h>
00021
00022
#include "kdevproject.h"
00023
#include "domutil.h"
00024
#include "debuggerpart.h"
00025
00026
namespace GDBDebugger
00027 {
00028
00029 DebuggerConfigWidget::DebuggerConfigWidget(
DebuggerPart* part,
QWidget *parent,
const char *name)
00030 :
DebuggerConfigWidgetBase(parent, name), dom(*part->projectDom())
00031 {
00032
QFontMetrics fm(programArgs_edit->fontMetrics());
00033 programArgs_edit->setMinimumWidth(fm.width(
'X')*30);
00034
00035 gdbPath_edit->
setMode(KFile::Directory);
00036
00037 programArgs_edit->setText( DomUtil::readEntry(
dom,
"/kdevdebugger/general/programargs"));
00038 gdbPath_edit->
setURL( DomUtil::readEntry(dom,
"/kdevdebugger/general/gdbpath"));
00039
00040
QString shell = DomUtil::readEntry(dom,
"/kdevdebugger/general/dbgshell",
"no_value");
00041
if( shell ==
QString(
"no_value") )
00042 {
00043
QFileInfo info( part->
project()->
buildDirectory() +
"/libtool" );
00044
if( info.exists() ) {
00045 shell =
"libtool";
00046 }
else {
00047
00048 info.setFile( part->
project()->
buildDirectory() +
"/../libtool" );
00049
if( info.exists() ) {
00050 shell =
"../libtool";
00051 }
else {
00052
00053 shell = QString::null;
00054 }
00055 }
00056 }
00057 debuggingShell_edit->
setURL( shell );
00058
00059
00060 configGdbScript_edit->setText( DomUtil::readEntry(dom,
"/kdevdebugger/general/configGdbScript"));
00061 runShellScript_edit ->setText( DomUtil::readEntry(dom,
"/kdevdebugger/general/runShellScript"));
00062 runGdbScript_edit ->setText( DomUtil::readEntry(dom,
"/kdevdebugger/general/runGdbScript"));
00063
00064 displayStaticMembers_box->setChecked( DomUtil::readBoolEntry(dom,
"/kdevdebugger/display/staticmembers",
false));
00065 asmDemangle_box->setChecked( DomUtil::readBoolEntry(dom,
"/kdevdebugger/display/demanglenames",
true));
00066 breakOnLoadingLibrary_box->setChecked( DomUtil::readBoolEntry(dom,
"/kdevdebugger/general/breakonloadinglibs",
true));
00067 dbgTerminal_box->setChecked( DomUtil::readBoolEntry(dom,
"/kdevdebugger/general/separatetty",
false));
00068 enableFloatingToolBar_box->setChecked( DomUtil::readBoolEntry(dom,
"/kdevdebugger/general/floatingtoolbar",
false));
00069
00070
00071 resize(sizeHint());
00072 }
00073
00074
00075 DebuggerConfigWidget::~DebuggerConfigWidget()
00076 {}
00077
00078
00079 void DebuggerConfigWidget::accept()
00080 {
00081 DomUtil::writeEntry(
dom,
"/kdevdebugger/general/programargs", programArgs_edit->text());
00082 DomUtil::writeEntry(
dom,
"/kdevdebugger/general/gdbpath", gdbPath_edit->
url());
00083 DomUtil::writeEntry(
dom,
"/kdevdebugger/general/dbgshell", debuggingShell_edit->
url());
00084
00085 DomUtil::writeEntry(
dom,
"/kdevdebugger/general/configGdbScript", configGdbScript_edit->text());
00086 DomUtil::writeEntry(
dom,
"/kdevdebugger/general/runShellScript", runShellScript_edit ->
text());
00087 DomUtil::writeEntry(
dom,
"/kdevdebugger/general/runGdbScript", runGdbScript_edit ->
text());
00088
00089 DomUtil::writeBoolEntry(
dom,
"/kdevdebugger/display/staticmembers", displayStaticMembers_box->isChecked());
00090 DomUtil::writeBoolEntry(
dom,
"/kdevdebugger/display/demanglenames", asmDemangle_box->isChecked());
00091 DomUtil::writeBoolEntry(
dom,
"/kdevdebugger/general/breakonloadinglibs", breakOnLoadingLibrary_box->isChecked());
00092 DomUtil::writeBoolEntry(
dom,
"/kdevdebugger/general/separatetty", dbgTerminal_box->isChecked());
00093 DomUtil::writeBoolEntry(
dom,
"/kdevdebugger/general/floatingtoolbar", enableFloatingToolBar_box->isChecked());
00094 }
00095
00096 }
00097
00098
#include "debuggerconfigwidget.moc"