KDevelop API Documentation

languages/cpp/debugger/debuggerconfigwidget.cpp

Go to the documentation of this file.
00001 /*************************************************************************** 00002 * Copyright (C) 1999-2001 by John Birch * 00003 * jbb@kdevelop.org * 00004 * Copyright (C) 2001 by Bernd Gehrmann * 00005 * bernd@kdevelop.org * 00006 * * 00007 * This program is free software; you can redistribute it and/or modify * 00008 * it under the terms of the GNU General Public License as published by * 00009 * the Free Software Foundation; either version 2 of the License, or * 00010 * (at your option) any later version. * 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 // Try one directory up. 00048 info.setFile( part->project()->buildDirectory() + "/../libtool" ); 00049 if( info.exists() ) { 00050 shell = "../libtool"; 00051 } else { 00052 // Give up. 00053 shell = QString::null; 00054 } 00055 } 00056 } 00057 debuggingShell_edit->setURL( shell ); 00058 00059 // Use setFile instead? 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 // ??? DomUtil::readEntry(dom, "/kdevdebugger/general/allowforcedbpset"); 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"
KDE Logo
This file is part of the documentation for KDevelop Version 3.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Tue Oct 19 08:01:42 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003