1
/***************************************************************************
2
* Copyright (C) 1999-2001 by John Birch *
4
* Copyright (C) 2001 by Bernd Gehrmann *
7
* This program is free software; you can redistribute it and/or modify *
8
* it under the terms of the GNU General Public License as published by *
9
* the Free Software Foundation; either version 2 of the License, or *
10
* (at your option) any later version. *
12
***************************************************************************/
14
#include "debuggerconfigwidget.h"
16
#include "debuggerpart.h"
17
#include "kdevproject.h"
20
#include <kurlrequester.h>
22
#include <qcheckbox.h>
23
#include <qfileinfo.h>
24
#include <qlineedit.h>
25
#include <qradiobutton.h>
30
DebuggerConfigWidget::DebuggerConfigWidget(DebuggerPart* part, QWidget *parent, const char *name)
31
: DebuggerConfigWidgetBase(parent, name), dom(*part->projectDom())
33
QFontMetrics fm(programArgs_edit->fontMetrics());
34
programArgs_edit->setMinimumWidth(fm.width('X')*30);
36
gdbPath_edit->setMode(KFile::Directory);
38
programArgs_edit->setText( DomUtil::readEntry(dom, "/kdevdebugger/general/programargs"));
39
gdbPath_edit->setURL( DomUtil::readEntry(dom, "/kdevdebugger/general/gdbpath"));
41
QString shell = DomUtil::readEntry(dom, "/kdevdebugger/general/dbgshell","no_value");
42
if( shell == QString("no_value") )
44
QFileInfo info( part->project()->buildDirectory() + "/libtool" );
48
// Try one directory up.
49
info.setFile( part->project()->buildDirectory() + "/../libtool" );
54
shell = QString::null;
58
debuggingShell_edit->setURL( shell );
60
// Use setFile instead?
61
configGdbScript_edit->setURL( DomUtil::readEntry(dom, "/kdevdebugger/general/configGdbScript"));
62
runShellScript_edit ->setURL( DomUtil::readEntry(dom, "/kdevdebugger/general/runShellScript"));
63
runGdbScript_edit ->setURL( DomUtil::readEntry(dom, "/kdevdebugger/general/runGdbScript"));
65
displayStaticMembers_box->setChecked( DomUtil::readBoolEntry(dom, "/kdevdebugger/display/staticmembers", false));
66
asmDemangle_box->setChecked( DomUtil::readBoolEntry(dom, "/kdevdebugger/display/demanglenames", true));
67
breakOnLoadingLibrary_box->setChecked( DomUtil::readBoolEntry(dom, "/kdevdebugger/general/breakonloadinglibs", true));
68
dbgTerminal_box->setChecked( DomUtil::readBoolEntry(dom, "/kdevdebugger/general/separatetty", false));
69
enableFloatingToolBar_box->setChecked( DomUtil::readBoolEntry(dom, "/kdevdebugger/general/floatingtoolbar", false));
70
int outputRadix = DomUtil::readIntEntry(dom, "/kdevdebugger/display/outputradix", 10);
75
outputRadixOctal->setChecked(true);
78
outputRadixHexadecimal->setChecked(true);
82
outputRadixDecimal->setChecked(true);
87
// ??? DomUtil::readEntry(dom, "/kdevdebugger/general/allowforcedbpset");
93
DebuggerConfigWidget::~DebuggerConfigWidget()
97
void DebuggerConfigWidget::accept()
99
DomUtil::writeEntry(dom, "/kdevdebugger/general/programargs", programArgs_edit->text());
100
DomUtil::writeEntry(dom, "/kdevdebugger/general/gdbpath", gdbPath_edit->url());
101
DomUtil::writeEntry(dom, "/kdevdebugger/general/dbgshell", debuggingShell_edit->url());
103
DomUtil::writeEntry(dom, "/kdevdebugger/general/configGdbScript", configGdbScript_edit->url());
104
DomUtil::writeEntry(dom, "/kdevdebugger/general/runShellScript", runShellScript_edit ->url());
105
DomUtil::writeEntry(dom, "/kdevdebugger/general/runGdbScript", runGdbScript_edit ->url());
107
DomUtil::writeBoolEntry(dom, "/kdevdebugger/display/staticmembers", displayStaticMembers_box->isChecked());
108
DomUtil::writeBoolEntry(dom, "/kdevdebugger/display/demanglenames", asmDemangle_box->isChecked());
109
DomUtil::writeBoolEntry(dom, "/kdevdebugger/general/breakonloadinglibs", breakOnLoadingLibrary_box->isChecked());
110
DomUtil::writeBoolEntry(dom, "/kdevdebugger/general/separatetty", dbgTerminal_box->isChecked());
111
DomUtil::writeBoolEntry(dom, "/kdevdebugger/general/floatingtoolbar", enableFloatingToolBar_box->isChecked());
114
if (outputRadixOctal->isChecked())
116
else if (outputRadixHexadecimal->isChecked())
121
DomUtil::writeIntEntry(dom, "/kdevdebugger/display/outputradix", outputRadix);
126
#include "debuggerconfigwidget.moc"