00001
#include <kdialog.h>
00002
#include <klocale.h>
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
#include "runoptionswidgetbase.h"
00013
00014
#include <qvariant.h>
00015
#include <kdialog.h>
00016
#include <qpushbutton.h>
00017
#include <qbuttongroup.h>
00018
#include <qradiobutton.h>
00019
#include <ksqueezedtextlabel.h>
00020
#include <qlineedit.h>
00021
#include <qgroupbox.h>
00022
#include <qlabel.h>
00023
#include <qcheckbox.h>
00024
#include <qlayout.h>
00025
#include <qtooltip.h>
00026
#include <qwhatsthis.h>
00027
00028
00029
00030
00031
00032 RunOptionsWidgetBase::RunOptionsWidgetBase(
QWidget* parent,
const char* name, WFlags fl )
00033 :
QWidget( parent, name, fl )
00034 {
00035
if ( !name )
00036 setName(
"run_options_widget" );
00037
run_options_widgetLayout =
new QVBoxLayout(
this, KDialog::marginHint(), KDialog::spacingHint(),
"run_options_widgetLayout");
00038
00039
directoryButtonGroup =
new QButtonGroup(
this,
"directoryButtonGroup" );
00040
directoryButtonGroup->setColumnLayout(0, Qt::Vertical );
00041
directoryButtonGroup->layout()->setSpacing( KDialog::spacingHint() );
00042
directoryButtonGroup->layout()->setMargin( KDialog::marginHint() );
00043
directoryButtonGroupLayout =
new QGridLayout(
directoryButtonGroup->layout() );
00044
directoryButtonGroupLayout->setAlignment( Qt::AlignTop );
00045
00046
executableDirectory_radio =
new QRadioButton(
directoryButtonGroup,
"executableDirectory_radio" );
00047
executableDirectory_radio->setChecked( FALSE );
00048
directoryButtonGroup->insert(
executableDirectory_radio, 0 );
00049
00050
directoryButtonGroupLayout->addMultiCellWidget(
executableDirectory_radio, 0, 0, 0, 3 );
00051
00052
layout2 =
new QHBoxLayout( 0, 0, KDialog::spacingHint(),
"layout2");
00053
00054
buildDirectory_radio =
new QRadioButton(
directoryButtonGroup,
"buildDirectory_radio" );
00055
directoryButtonGroup->insert(
buildDirectory_radio, 1 );
00056
layout2->addWidget(
buildDirectory_radio );
00057
00058
buildDirectory_label =
new KSqueezedTextLabel(
directoryButtonGroup,
"buildDirectory_label" );
00059
layout2->addWidget(
buildDirectory_label );
00060
00061
directoryButtonGroupLayout->addMultiCellLayout(
layout2, 1, 1, 0, 3 );
00062
00063
customDirectory_radio =
new QRadioButton(
directoryButtonGroup,
"customDirectory_radio" );
00064
directoryButtonGroup->insert(
customDirectory_radio, 2 );
00065
00066
directoryButtonGroupLayout->addWidget(
customDirectory_radio, 2, 0 );
00067
00068
customRunDirectory_edit =
new QLineEdit(
directoryButtonGroup,
"customRunDirectory_edit" );
00069
customRunDirectory_edit->setEnabled( FALSE );
00070
customRunDirectory_edit->setReadOnly( FALSE );
00071
00072
directoryButtonGroupLayout->addMultiCellWidget(
customRunDirectory_edit, 2, 2, 1, 2 );
00073
00074
browseCustomButton =
new QPushButton(
directoryButtonGroup,
"browseCustomButton" );
00075
browseCustomButton->setEnabled( FALSE );
00076
00077
directoryButtonGroupLayout->addWidget(
browseCustomButton, 2, 3 );
00078
run_options_widgetLayout->addWidget(
directoryButtonGroup );
00079
00080
programGroupBox =
new QGroupBox(
this,
"programGroupBox" );
00081
programGroupBox->setFrameShape( QGroupBox::Box );
00082
programGroupBox->setFrameShadow( QGroupBox::Sunken );
00083
programGroupBox->setColumnLayout(0, Qt::Vertical );
00084
programGroupBox->layout()->setSpacing( KDialog::spacingHint() );
00085
programGroupBox->layout()->setMargin( KDialog::marginHint() );
00086
programGroupBoxLayout =
new QGridLayout(
programGroupBox->layout() );
00087
programGroupBoxLayout->setAlignment( Qt::AlignTop );
00088
00089
mainprogram_label =
new QLabel(
programGroupBox,
"mainprogram_label" );
00090
00091
programGroupBoxLayout->addMultiCellWidget(
mainprogram_label, 0, 0, 0, 1 );
00092
00093
mainProgram_relativeness_label =
new QLabel(
programGroupBox,
"mainProgram_relativeness_label" );
00094
00095
programGroupBoxLayout->addMultiCellWidget(
mainProgram_relativeness_label, 0, 0, 2, 3 );
00096
00097
mainprogram_edit =
new QLineEdit(
programGroupBox,
"mainprogram_edit" );
00098
00099
programGroupBoxLayout->addMultiCellWidget(
mainprogram_edit, 1, 1, 0, 2 );
00100
00101
browseMainButton =
new QPushButton(
programGroupBox,
"browseMainButton" );
00102
00103
programGroupBoxLayout->addWidget(
browseMainButton, 1, 3 );
00104
00105
progargs_label =
new QLabel(
programGroupBox,
"progargs_label" );
00106
00107
programGroupBoxLayout->addMultiCellWidget(
progargs_label, 2, 2, 0, 1 );
00108
00109
progargs_edit =
new QLineEdit(
programGroupBox,
"progargs_edit" );
00110
00111
programGroupBoxLayout->addMultiCellWidget(
progargs_edit, 3, 3, 0, 3 );
00112
run_options_widgetLayout->addWidget(
programGroupBox );
00113
00114
env_var_group =
new QGroupBox(
this,
"env_var_group" );
00115
run_options_widgetLayout->addWidget(
env_var_group );
00116
00117
layout1 =
new QHBoxLayout( 0, 0, KDialog::spacingHint(),
"layout1");
00118
00119
startinterminal_box =
new QCheckBox(
this,
"startinterminal_box" );
00120
layout1->addWidget(
startinterminal_box );
00121
00122
autocompile_box =
new QCheckBox(
this,
"autocompile_box" );
00123
layout1->addWidget(
autocompile_box );
00124
run_options_widgetLayout->addLayout(
layout1 );
00125
languageChange();
00126 resize(
QSize(679, 449).expandedTo(minimumSizeHint()) );
00127 clearWState( WState_Polished );
00128
00129
00130 connect(
directoryButtonGroup, SIGNAL( clicked(
int) ),
this, SLOT(
directoryRadioChanged() ) );
00131 connect(
browseCustomButton, SIGNAL( clicked() ),
this, SLOT(
browseCustomDirectory() ) );
00132 connect(
browseMainButton, SIGNAL( clicked() ),
this, SLOT(
browseMainProgram() ) );
00133
00134
00135 setTabOrder(
executableDirectory_radio,
buildDirectory_radio );
00136 setTabOrder(
buildDirectory_radio,
customDirectory_radio );
00137 setTabOrder(
customDirectory_radio,
customRunDirectory_edit );
00138 setTabOrder(
customRunDirectory_edit,
browseCustomButton );
00139 setTabOrder(
browseCustomButton,
mainprogram_edit );
00140 setTabOrder(
mainprogram_edit,
browseMainButton );
00141 setTabOrder(
browseMainButton,
progargs_edit );
00142 setTabOrder(
progargs_edit,
startinterminal_box );
00143 setTabOrder(
startinterminal_box,
autocompile_box );
00144
00145
00146
buildDirectory_label->setBuddy(
buildDirectory_radio );
00147
mainprogram_label->setBuddy(
mainprogram_edit );
00148
mainProgram_relativeness_label->setBuddy(
mainprogram_edit );
00149
progargs_label->setBuddy(
progargs_edit );
00150 }
00151
00152
00153
00154
00155 RunOptionsWidgetBase::~RunOptionsWidgetBase()
00156 {
00157
00158 }
00159
00160
00161
00162
00163
00164 void RunOptionsWidgetBase::languageChange()
00165 {
00166 setCaption( tr2i18n(
"Run Options" ) );
00167
directoryButtonGroup->setTitle( tr2i18n(
"Directory" ) );
00168
executableDirectory_radio->setText( tr2i18n(
"Run from the directory where the &executable is" ) );
00169
buildDirectory_radio->setText( tr2i18n(
"Run from the &BUILD directory:" ) );
00170 QToolTip::add(
buildDirectory_radio, tr2i18n(
"The build directory depends on the currenty selected configuration (in Configure Options page)" ) );
00171
customDirectory_radio->setText( tr2i18n(
"C&ustom directory:" ) );
00172 QToolTip::add(
customRunDirectory_edit, tr2i18n(
"A relative to the project root directory path or an absolute path" ) );
00173
browseCustomButton->setText( tr2i18n(
"Browse..." ) );
00174
programGroupBox->setTitle( tr2i18n(
"Program" ) );
00175
mainprogram_label->setText( tr2i18n(
"&Main program:" ) );
00176 QToolTip::add(
mainprogram_edit, tr2i18n(
"The path to the main program, defined relative to the above currently selected run directory" ) );
00177
browseMainButton->setText( tr2i18n(
"Browse..." ) );
00178
progargs_label->setText( tr2i18n(
"Program &arguments:" ) );
00179 QToolTip::add(
progargs_edit, tr2i18n(
"The command line arguments to pass to the main program" ) );
00180
env_var_group->setTitle( tr2i18n(
"Environment &Variables" ) );
00181
startinterminal_box->setText( tr2i18n(
"Start in external &terminal" ) );
00182 QToolTip::add(
startinterminal_box, tr2i18n(
"Start the main program in an external terminal (konsole)" ) );
00183
autocompile_box->setText( tr2i18n(
"Automatically com&pile before execution" ) );
00184 QToolTip::add(
autocompile_box, tr2i18n(
"If the program is not up-to-date with the source code, compile it before starting it's execution" ) );
00185 }
00186
00187 void RunOptionsWidgetBase::directoryRadioChanged()
00188 {
00189 qWarning(
"RunOptionsWidgetBase::directoryRadioChanged(): Not implemented yet" );
00190 }
00191
00192 void RunOptionsWidgetBase::browseCustomDirectory()
00193 {
00194 qWarning(
"RunOptionsWidgetBase::browseCustomDirectory(): Not implemented yet" );
00195 }
00196
00197 void RunOptionsWidgetBase::browseMainProgram()
00198 {
00199 qWarning(
"RunOptionsWidgetBase::browseMainProgram(): Not implemented yet" );
00200 }
00201
00202
#include "runoptionswidgetbase.moc"