00001 #include <kdialog.h>
00002 #include <klocale.h>
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 #include "haskellproject_optionsdlgbase.h"
00013
00014 #include <qvariant.h>
00015 #include <kdialog.h>
00016 #include <qlabel.h>
00017 #include <qcombobox.h>
00018 #include <qpushbutton.h>
00019 #include <qlineedit.h>
00020 #include <qframe.h>
00021 #include <kurlrequester.h>
00022 #include <qlayout.h>
00023 #include <qtooltip.h>
00024 #include <qwhatsthis.h>
00025
00026
00027
00028
00029
00030 HaskellProjectOptionsDlgBase::HaskellProjectOptionsDlgBase( QWidget* parent, const char* name, WFlags fl )
00031 : QWidget( parent, name, fl )
00032 {
00033 if ( !name )
00034 setName( "HaskellProjectOptionsDlgBase" );
00035 setEnabled( TRUE );
00036 HaskellProjectOptionsDlgBaseLayout = new QGridLayout( this, 1, 1, KDialog::marginHint(), KDialog::spacingHint(), "HaskellProjectOptionsDlgBaseLayout");
00037
00038 configuration_layout = new QHBoxLayout( 0, 0, KDialog::spacingHint(), "configuration_layout");
00039
00040 config_label = new QLabel( this, "config_label" );
00041 config_label->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)5, 0, 0, config_label->sizePolicy().hasHeightForWidth() ) );
00042 configuration_layout->addWidget( config_label );
00043
00044 config_combo = new QComboBox( FALSE, this, "config_combo" );
00045 config_combo->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)3, (QSizePolicy::SizeType)0, 0, 0, config_combo->sizePolicy().hasHeightForWidth() ) );
00046 config_combo->setEditable( TRUE );
00047 configuration_layout->addWidget( config_combo );
00048 Spacer17_2 = new QSpacerItem( 20, 8, QSizePolicy::Fixed, QSizePolicy::Minimum );
00049 configuration_layout->addItem( Spacer17_2 );
00050
00051 addconfig_button = new QPushButton( this, "addconfig_button" );
00052 configuration_layout->addWidget( addconfig_button );
00053
00054 removeconfig_button = new QPushButton( this, "removeconfig_button" );
00055 configuration_layout->addWidget( removeconfig_button );
00056 Spacer18_2 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
00057 configuration_layout->addItem( Spacer18_2 );
00058
00059 HaskellProjectOptionsDlgBaseLayout->addMultiCellLayout( configuration_layout, 0, 0, 0, 4 );
00060
00061 options_button = new QPushButton( this, "options_button" );
00062 options_button->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)0, (QSizePolicy::SizeType)0, 0, 0, options_button->sizePolicy().hasHeightForWidth() ) );
00063 options_button->setMaximumSize( QSize( 30, 32767 ) );
00064
00065 HaskellProjectOptionsDlgBaseLayout->addWidget( options_button, 6, 4 );
00066
00067 options_label = new QLabel( this, "options_label" );
00068 options_label->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)4, (QSizePolicy::SizeType)5, 0, 0, options_label->sizePolicy().hasHeightForWidth() ) );
00069
00070 HaskellProjectOptionsDlgBaseLayout->addWidget( options_label, 6, 0 );
00071
00072 compiler_label = new QLabel( this, "compiler_label" );
00073 compiler_label->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)4, (QSizePolicy::SizeType)5, 0, 0, compiler_label->sizePolicy().hasHeightForWidth() ) );
00074
00075 HaskellProjectOptionsDlgBaseLayout->addWidget( compiler_label, 2, 0 );
00076
00077 exec_edit = new QLineEdit( this, "exec_edit" );
00078
00079 HaskellProjectOptionsDlgBaseLayout->addMultiCellWidget( exec_edit, 4, 4, 1, 3 );
00080
00081 options_edit = new QLineEdit( this, "options_edit" );
00082
00083 HaskellProjectOptionsDlgBaseLayout->addMultiCellWidget( options_edit, 6, 6, 1, 3 );
00084
00085 compiler_box = new QComboBox( FALSE, this, "compiler_box" );
00086
00087 HaskellProjectOptionsDlgBaseLayout->addMultiCellWidget( compiler_box, 2, 2, 1, 3 );
00088
00089 exec_label = new QLabel( this, "exec_label" );
00090 exec_label->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)4, (QSizePolicy::SizeType)5, 0, 0, exec_label->sizePolicy().hasHeightForWidth() ) );
00091
00092 HaskellProjectOptionsDlgBaseLayout->addWidget( exec_label, 4, 0 );
00093
00094 configuration_line = new QFrame( this, "configuration_line" );
00095 configuration_line->setFrameShape( QFrame::HLine );
00096 configuration_line->setFrameShadow( QFrame::Sunken );
00097 configuration_line->setFrameShape( QFrame::HLine );
00098
00099 HaskellProjectOptionsDlgBaseLayout->addMultiCellWidget( configuration_line, 1, 1, 0, 4 );
00100 spacer11 = new QSpacerItem( 20, 16, QSizePolicy::Minimum, QSizePolicy::Fixed );
00101 HaskellProjectOptionsDlgBaseLayout->addItem( spacer11, 3, 1 );
00102 spacer12 = new QSpacerItem( 20, 16, QSizePolicy::Minimum, QSizePolicy::Fixed );
00103 HaskellProjectOptionsDlgBaseLayout->addItem( spacer12, 5, 3 );
00104 spacer13 = new QSpacerItem( 20, 30, QSizePolicy::Minimum, QSizePolicy::Fixed );
00105 HaskellProjectOptionsDlgBaseLayout->addItem( spacer13, 8, 2 );
00106 spacer7 = new QSpacerItem( 400, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
00107 HaskellProjectOptionsDlgBaseLayout->addMultiCell( spacer7, 7, 7, 0, 2 );
00108
00109 defaultopts_button = new QPushButton( this, "defaultopts_button" );
00110
00111 HaskellProjectOptionsDlgBaseLayout->addMultiCellWidget( defaultopts_button, 7, 7, 3, 4 );
00112
00113 mainSourceUrl = new KURLRequester( this, "mainSourceUrl" );
00114 mainSourceUrl->setMinimumSize( QSize( 0, 26 ) );
00115 mainSourceUrl->setFocusPolicy( KURLRequester::WheelFocus );
00116
00117 HaskellProjectOptionsDlgBaseLayout->addMultiCellWidget( mainSourceUrl, 9, 9, 1, 4 );
00118
00119 mainSourceLabel = new QLabel( this, "mainSourceLabel" );
00120 mainSourceLabel->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)4, (QSizePolicy::SizeType)5, 0, 0, mainSourceLabel->sizePolicy().hasHeightForWidth() ) );
00121
00122 HaskellProjectOptionsDlgBaseLayout->addWidget( mainSourceLabel, 9, 0 );
00123 spacer1 = new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
00124 HaskellProjectOptionsDlgBaseLayout->addItem( spacer1, 12, 1 );
00125 languageChange();
00126 resize( QSize(793, 480).expandedTo(minimumSizeHint()) );
00127 clearWState( WState_Polished );
00128
00129
00130 connect( compiler_box, SIGNAL( activated(const QString&) ), this, SLOT( compiler_box_activated(const QString&) ) );
00131 connect( removeconfig_button, SIGNAL( clicked() ), this, SLOT( configRemoved() ) );
00132 connect( config_combo, SIGNAL( textChanged(const QString&) ), this, SLOT( configComboTextChanged(const QString&) ) );
00133 connect( config_combo, SIGNAL( activated(const QString&) ), this, SLOT( configChanged(const QString&) ) );
00134 connect( addconfig_button, SIGNAL( clicked() ), this, SLOT( configAdded() ) );
00135 connect( options_button, SIGNAL( clicked() ), this, SLOT( optionsButtonClicked() ) );
00136 connect( exec_edit, SIGNAL( textChanged(const QString&) ), this, SLOT( setDirty() ) );
00137 connect( options_edit, SIGNAL( textChanged(const QString&) ), this, SLOT( setDirty() ) );
00138 connect( mainSourceUrl, SIGNAL( textChanged(const QString&) ), this, SLOT( setDirty() ) );
00139 connect( mainSourceUrl, SIGNAL( urlSelected(const QString&) ), this, SLOT( setDirty() ) );
00140 connect( compiler_box, SIGNAL( activated(const QString&) ), this, SLOT( setDirty() ) );
00141 connect( compiler_box, SIGNAL( textChanged(const QString&) ), this, SLOT( setDirty() ) );
00142 connect( defaultopts_button, SIGNAL( clicked() ), this, SLOT( setDefaultOptions() ) );
00143 connect( defaultopts_button, SIGNAL( clicked() ), this, SLOT( setDirty() ) );
00144
00145
00146 setTabOrder( compiler_box, exec_edit );
00147 setTabOrder( exec_edit, options_edit );
00148 setTabOrder( options_edit, options_button );
00149 setTabOrder( options_button, defaultopts_button );
00150 setTabOrder( defaultopts_button, mainSourceUrl );
00151 setTabOrder( mainSourceUrl, config_combo );
00152 setTabOrder( config_combo, addconfig_button );
00153 setTabOrder( addconfig_button, removeconfig_button );
00154
00155
00156 options_label->setBuddy( compiler_box );
00157 compiler_label->setBuddy( compiler_box );
00158 exec_label->setBuddy( compiler_box );
00159 mainSourceLabel->setBuddy( compiler_box );
00160 }
00161
00162
00163
00164
00165 HaskellProjectOptionsDlgBase::~HaskellProjectOptionsDlgBase()
00166 {
00167
00168 }
00169
00170
00171
00172
00173
00174 void HaskellProjectOptionsDlgBase::languageChange()
00175 {
00176 setCaption( tr2i18n( "Haskell Compiler/Interpreter" ) );
00177 config_label->setText( tr2i18n( "Configuration:" ) );
00178 addconfig_button->setText( tr2i18n( "Add" ) );
00179 removeconfig_button->setText( tr2i18n( "Remove" ) );
00180 options_button->setText( tr2i18n( "..." ) );
00181 options_label->setText( tr2i18n( "&Options:" ) );
00182 compiler_label->setText( tr2i18n( "Haskell &compiler/interpreter:" ) );
00183 exec_label->setText( tr2i18n( "Co&mmand:" ) );
00184 defaultopts_button->setText( tr2i18n( "Load Default Compiler Options" ) );
00185 mainSourceLabel->setText( tr2i18n( "Main &source file:" ) );
00186 }
00187
00188 void HaskellProjectOptionsDlgBase::compiler_box_activated(const QString&)
00189 {
00190 qWarning( "HaskellProjectOptionsDlgBase::compiler_box_activated(const QString&): Not implemented yet" );
00191 }
00192
00193 void HaskellProjectOptionsDlgBase::addconfig_button_clicked()
00194 {
00195 qWarning( "HaskellProjectOptionsDlgBase::addconfig_button_clicked(): Not implemented yet" );
00196 }
00197
00198 void HaskellProjectOptionsDlgBase::configRemoved()
00199 {
00200 qWarning( "HaskellProjectOptionsDlgBase::configRemoved(): Not implemented yet" );
00201 }
00202
00203 void HaskellProjectOptionsDlgBase::configComboTextChanged(const QString&)
00204 {
00205 qWarning( "HaskellProjectOptionsDlgBase::configComboTextChanged(const QString&): Not implemented yet" );
00206 }
00207
00208 void HaskellProjectOptionsDlgBase::configChanged(const QString&)
00209 {
00210 qWarning( "HaskellProjectOptionsDlgBase::configChanged(const QString&): Not implemented yet" );
00211 }
00212
00213 void HaskellProjectOptionsDlgBase::optionsButtonClicked()
00214 {
00215 qWarning( "HaskellProjectOptionsDlgBase::optionsButtonClicked(): Not implemented yet" );
00216 }
00217
00218 void HaskellProjectOptionsDlgBase::configAdded()
00219 {
00220 qWarning( "HaskellProjectOptionsDlgBase::configAdded(): Not implemented yet" );
00221 }
00222
00223 void HaskellProjectOptionsDlgBase::setDirty()
00224 {
00225 qWarning( "HaskellProjectOptionsDlgBase::setDirty(): Not implemented yet" );
00226 }
00227
00228 void HaskellProjectOptionsDlgBase::setDefaultOptions()
00229 {
00230 qWarning( "HaskellProjectOptionsDlgBase::setDefaultOptions(): Not implemented yet" );
00231 }
00232
00233 #include "haskellproject_optionsdlgbase.moc"