20 #include "runoptionswidget.h" 22 #include <tdelocale.h> 23 #include <tdefiledialog.h> 24 #include <kurlrequester.h> 25 #include <kurlcompletion.h> 26 #include <klineedit.h> 29 #include <tqlistview.h> 30 #include <tqgroupbox.h> 31 #include <tqcheckbox.h> 32 #include <tqradiobutton.h> 33 #include <tqpushbutton.h> 34 #include <tqbuttongroup.h> 38 #include "environmentvariableswidget.h" 42 const TQString &buildDirectory, TQWidget *parent,
const char *name)
43 : RunOptionsWidgetBase(parent, name),
44 m_dom(dom), m_configGroup(configGroup)
47 env_var_group->setColumnLayout( 1, Qt::Vertical );
50 mainprogram_edit->completionObject()->setMode(KURLCompletion::FileCompletion);
51 mainprogram_edit->setMode( KFile::File | KFile::ExistingOnly | KFile::LocalOnly );
52 if( DomUtil::readEntry(dom, configGroup +
"/run/mainprogram").isEmpty() && TQFileInfo( buildDirectory ).exists() )
54 mainprogram_edit->setURL( buildDirectory );
55 mainprogram_edit->fileDialog()->setURL( KURL::fromPathOrURL(buildDirectory) );
56 }
else if ( TQFileInfo( DomUtil::readEntry(dom, configGroup +
"/run/mainprogram") ).exists() )
58 TQString program = DomUtil::readEntry(dom, configGroup +
"/run/mainprogram");
59 if( TQDir::isRelativePath(program) )
60 program = buildDirectory +
"/" + program;
61 mainprogram_edit->setURL(program);
62 mainprogram_edit->fileDialog()->setURL( program );
65 mainprogram_edit->setURL(TQString());
66 mainprogram_edit->fileDialog()->setURL(TQString());
69 cwd_edit->completionObject()->setMode(KURLCompletion::DirCompletion);
70 cwd_edit->setMode( KFile::Directory | KFile::ExistingOnly | KFile::LocalOnly );
71 if( DomUtil::readEntry(dom, configGroup +
"/run/globalcwd").isEmpty() && TQFileInfo( buildDirectory ).exists() )
73 cwd_edit->setURL( buildDirectory );
74 cwd_edit->fileDialog()->setURL( KURL::fromPathOrURL(buildDirectory) );
75 }
else if( TQFileInfo( DomUtil::readEntry(dom, configGroup +
"/run/globalcwd") ).exists() )
77 cwd_edit->setURL(DomUtil::readEntry(dom, configGroup +
"/run/globalcwd"));
78 cwd_edit->fileDialog()->setURL( KURL::fromPathOrURL( DomUtil::readEntry(dom, configGroup +
"/run/globalcwd") ) );
81 cwd_edit->setURL(TQString());
82 cwd_edit->fileDialog()->setURL(TQString());
85 if( configGroup ==
"/kdevautoproject" || configGroup ==
"/kdevtrollproject" )
87 mainProgramGroupBox->setCheckable(
true);
88 mainProgramGroupBox->setChecked( DomUtil::readBoolEntry(dom, configGroup+
"/run/useglobalprogram",
false ) );
96 runargs_edit->setText(DomUtil::readEntry(dom, configGroup +
"/run/programargs"));
97 debugargs_edit->setText(DomUtil::readEntry(dom, configGroup +
"/run/globaldebugarguments"));
99 startinterminal_box->setChecked(DomUtil::readBoolEntry(dom, configGroup +
"/run/terminal"));
100 autocompile_box->setChecked(DomUtil::readBoolEntry(dom, configGroup +
"/run/autocompile",
false));
101 autoinstall_box->setChecked(DomUtil::readBoolEntry(dom, configGroup +
"/run/autoinstall",
false));
102 autotdesu_box->setChecked(DomUtil::readBoolEntry(dom, configGroup +
"/run/autotdesu",
false));
106 RunOptionsWidget::~RunOptionsWidget()
110 void RunOptionsWidget::accept()
112 DomUtil::writeEntry(m_dom, m_configGroup +
"/run/mainprogram", mainprogram_edit->url());
113 DomUtil::writeEntry(m_dom, m_configGroup +
"/run/programargs", runargs_edit->text());
114 DomUtil::writeEntry(m_dom, m_configGroup +
"/run/globaldebugarguments", debugargs_edit->text());
115 DomUtil::writeEntry(m_dom, m_configGroup +
"/run/globalcwd", cwd_edit->url());
116 DomUtil::writeBoolEntry(m_dom, m_configGroup +
"/run/useglobalprogram", mainProgramGroupBox->isChecked());
117 DomUtil::writeBoolEntry(m_dom, m_configGroup +
"/run/terminal", startinterminal_box->isChecked());
118 DomUtil::writeBoolEntry(m_dom, m_configGroup +
"/run/autocompile", autocompile_box->isChecked());
119 DomUtil::writeBoolEntry(m_dom, m_configGroup +
"/run/autoinstall", autoinstall_box->isChecked());
120 DomUtil::writeBoolEntry(m_dom, m_configGroup +
"/run/autotdesu", autotdesu_box->isChecked());
122 m_environmentVariablesWidget->accept();
125 void RunOptionsWidget::mainProgramChanged( )
128 if( mainProgramGroupBox->isChecked() && mainprogram_edit->url().isEmpty() )
130 mainprogram_label->setPaletteForegroundColor(TQColor(
"#ff0000"));
134 mainprogram_label->unsetPalette();
138 #include "runoptionswidget.moc"