00001
#include <kdialog.h>
00002
#include <klocale.h>
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
#include "astyleconfig.h"
00013
00014
#include <qvariant.h>
00015
#include <kdialog.h>
00016
#include <qpushbutton.h>
00017
#include <qtabwidget.h>
00018
#include <qbuttongroup.h>
00019
#include <qradiobutton.h>
00020
#include <qgroupbox.h>
00021
#include <qmultilineedit.h>
00022
#include <qcheckbox.h>
00023
#include <qspinbox.h>
00024
#include <qlabel.h>
00025
#include <qlayout.h>
00026
#include <qtooltip.h>
00027
#include <qwhatsthis.h>
00028
00029
00030
00031
00032
00033 AStyleConfig::AStyleConfig(
QWidget* parent,
const char* name, WFlags fl )
00034 :
QWidget( parent, name, fl )
00035 {
00036
if ( !name )
00037 setName(
"AStyleConfig" );
00038
AStyleConfigLayout =
new QGridLayout(
this, 1, 1, 0, KDialog::spacingHint(),
"AStyleConfigLayout");
00039
00040
ConfigTabs =
new QTabWidget(
this,
"ConfigTabs" );
00041
00042
tab =
new QWidget(
ConfigTabs,
"tab" );
00043
tabLayout =
new QHBoxLayout(
tab, KDialog::marginHint(), KDialog::spacingHint(),
"tabLayout");
00044
00045
StyleGroup =
new QButtonGroup(
tab,
"StyleGroup" );
00046
StyleGroup->setColumnLayout(0, Qt::Vertical );
00047
StyleGroup->layout()->setSpacing( KDialog::spacingHint() );
00048
StyleGroup->layout()->setMargin( KDialog::marginHint() );
00049
StyleGroupLayout =
new QGridLayout(
StyleGroup->layout() );
00050
StyleGroupLayout->setAlignment( Qt::AlignTop );
00051
00052
Style_ANSI =
new QRadioButton(
StyleGroup,
"Style_ANSI" );
00053
StyleGroup->insert(
Style_ANSI, 1 );
00054
00055
StyleGroupLayout->addWidget(
Style_ANSI, 1, 0 );
00056
00057
Style_Linux =
new QRadioButton(
StyleGroup,
"Style_Linux" );
00058
StyleGroup->insert(
Style_Linux, 3 );
00059
00060
StyleGroupLayout->addWidget(
Style_Linux, 3, 0 );
00061
00062
Style_GNU =
new QRadioButton(
StyleGroup,
"Style_GNU" );
00063
StyleGroup->insert(
Style_GNU, 4 );
00064
00065
StyleGroupLayout->addWidget(
Style_GNU, 4, 0 );
00066
00067
Style_JAVA =
new QRadioButton(
StyleGroup,
"Style_JAVA" );
00068
StyleGroup->insert(
Style_JAVA, 5 );
00069
00070
StyleGroupLayout->addWidget(
Style_JAVA, 5, 0 );
00071
00072
Style_UserDefined =
new QRadioButton(
StyleGroup,
"Style_UserDefined" );
00073
Style_UserDefined->setChecked( TRUE );
00074
StyleGroup->insert(
Style_UserDefined, 0 );
00075
00076
StyleGroupLayout->addWidget(
Style_UserDefined, 0, 0 );
00077
00078
Style_KR =
new QRadioButton(
StyleGroup,
"Style_KR" );
00079
StyleGroup->insert(
Style_KR, 2 );
00080
00081
StyleGroupLayout->addWidget(
Style_KR, 2, 0 );
00082
tabLayout->addWidget(
StyleGroup );
00083
00084
GroupBox4 =
new QGroupBox(
tab,
"GroupBox4" );
00085
GroupBox4->setColumnLayout(0, Qt::Vertical );
00086
GroupBox4->layout()->setSpacing( KDialog::spacingHint() );
00087
GroupBox4->layout()->setMargin( KDialog::marginHint() );
00088
GroupBox4Layout =
new QGridLayout(
GroupBox4->layout() );
00089
GroupBox4Layout->setAlignment( Qt::AlignTop );
00090
00091
StyleExample =
new QMultiLineEdit(
GroupBox4,
"StyleExample" );
00092
QPalette pal;
00093
QColorGroup cg;
00094 cg.setColor( QColorGroup::Foreground, black );
00095 cg.setColor( QColorGroup::Button,
QColor( 220, 220, 220) );
00096 cg.setColor( QColorGroup::Light, white );
00097 cg.setColor( QColorGroup::Midlight,
QColor( 237, 237, 237) );
00098 cg.setColor( QColorGroup::Dark,
QColor( 110, 110, 110) );
00099 cg.setColor( QColorGroup::Mid,
QColor( 146, 146, 146) );
00100 cg.setColor( QColorGroup::Text, black );
00101 cg.setColor( QColorGroup::BrightText, white );
00102 cg.setColor( QColorGroup::ButtonText, black );
00103 cg.setColor( QColorGroup::Base,
QColor( 217, 220, 194) );
00104 cg.setColor( QColorGroup::Background,
QColor( 220, 220, 220) );
00105 cg.setColor( QColorGroup::Shadow, black );
00106 cg.setColor( QColorGroup::Highlight,
QColor( 84, 112, 152) );
00107 cg.setColor( QColorGroup::HighlightedText, white );
00108 cg.setColor( QColorGroup::Link, black );
00109 cg.setColor( QColorGroup::LinkVisited, black );
00110 pal.setActive( cg );
00111 cg.setColor( QColorGroup::Foreground, black );
00112 cg.setColor( QColorGroup::Button,
QColor( 220, 220, 220) );
00113 cg.setColor( QColorGroup::Light, white );
00114 cg.setColor( QColorGroup::Midlight,
QColor( 253, 253, 253) );
00115 cg.setColor( QColorGroup::Dark,
QColor( 110, 110, 110) );
00116 cg.setColor( QColorGroup::Mid,
QColor( 146, 146, 146) );
00117 cg.setColor( QColorGroup::Text, black );
00118 cg.setColor( QColorGroup::BrightText, white );
00119 cg.setColor( QColorGroup::ButtonText, black );
00120 cg.setColor( QColorGroup::Base,
QColor( 217, 220, 194) );
00121 cg.setColor( QColorGroup::Background,
QColor( 220, 220, 220) );
00122 cg.setColor( QColorGroup::Shadow, black );
00123 cg.setColor( QColorGroup::Highlight,
QColor( 84, 112, 152) );
00124 cg.setColor( QColorGroup::HighlightedText, white );
00125 cg.setColor( QColorGroup::Link, black );
00126 cg.setColor( QColorGroup::LinkVisited, black );
00127 pal.setInactive( cg );
00128 cg.setColor( QColorGroup::Foreground,
QColor( 128, 128, 128) );
00129 cg.setColor( QColorGroup::Button,
QColor( 220, 220, 220) );
00130 cg.setColor( QColorGroup::Light, white );
00131 cg.setColor( QColorGroup::Midlight,
QColor( 253, 253, 253) );
00132 cg.setColor( QColorGroup::Dark,
QColor( 110, 110, 110) );
00133 cg.setColor( QColorGroup::Mid,
QColor( 146, 146, 146) );
00134 cg.setColor( QColorGroup::Text, black );
00135 cg.setColor( QColorGroup::BrightText, white );
00136 cg.setColor( QColorGroup::ButtonText,
QColor( 128, 128, 128) );
00137 cg.setColor( QColorGroup::Base,
QColor( 217, 220, 194) );
00138 cg.setColor( QColorGroup::Background,
QColor( 220, 220, 220) );
00139 cg.setColor( QColorGroup::Shadow, black );
00140 cg.setColor( QColorGroup::Highlight,
QColor( 84, 112, 152) );
00141 cg.setColor( QColorGroup::HighlightedText, white );
00142 cg.setColor( QColorGroup::Link, black );
00143 cg.setColor( QColorGroup::LinkVisited, black );
00144 pal.setDisabled( cg );
00145
StyleExample->setPalette( pal );
00146
QFont StyleExample_font(
StyleExample->font() );
00147 StyleExample_font.setFamily(
"misc-fixed" );
00148
StyleExample->setFont( StyleExample_font );
00149
StyleExample->setFrameShape( QMultiLineEdit::Box );
00150
StyleExample->setFrameShadow( QMultiLineEdit::Plain );
00151
StyleExample->setLineWidth( 0 );
00152
StyleExample->setUndoDepth( 0 );
00153
StyleExample->setReadOnly( TRUE );
00154
00155
GroupBox4Layout->addWidget(
StyleExample, 0, 0 );
00156
tabLayout->addWidget(
GroupBox4 );
00157
ConfigTabs->insertTab(
tab,
QString(
"") );
00158
00159
tab_2 =
new QWidget(
ConfigTabs,
"tab_2" );
00160
tabLayout_2 =
new QGridLayout(
tab_2, 1, 1, KDialog::marginHint(), KDialog::spacingHint(),
"tabLayout_2");
00161
00162
GroupBox1 =
new QGroupBox(
tab_2,
"GroupBox1" );
00163
GroupBox1->setColumnLayout(0, Qt::Vertical );
00164
GroupBox1->layout()->setSpacing( KDialog::spacingHint() );
00165
GroupBox1->layout()->setMargin( KDialog::marginHint() );
00166
GroupBox1Layout =
new QVBoxLayout(
GroupBox1->layout() );
00167
GroupBox1Layout->setAlignment( Qt::AlignTop );
00168
00169
Indent_Switches =
new QCheckBox(
GroupBox1,
"Indent_Switches" );
00170
GroupBox1Layout->addWidget(
Indent_Switches );
00171
00172
Indent_Cases =
new QCheckBox(
GroupBox1,
"Indent_Cases" );
00173
GroupBox1Layout->addWidget(
Indent_Cases );
00174
00175
Indent_Classes =
new QCheckBox(
GroupBox1,
"Indent_Classes" );
00176
GroupBox1Layout->addWidget(
Indent_Classes );
00177
00178
Indent_Brackets =
new QCheckBox(
GroupBox1,
"Indent_Brackets" );
00179
GroupBox1Layout->addWidget(
Indent_Brackets );
00180
00181
Indent_Namespaces =
new QCheckBox(
GroupBox1,
"Indent_Namespaces" );
00182
Indent_Namespaces->setChecked( TRUE );
00183
GroupBox1Layout->addWidget(
Indent_Namespaces );
00184
00185
Indent_Labels =
new QCheckBox(
GroupBox1,
"Indent_Labels" );
00186
Indent_Labels->setChecked( TRUE );
00187
GroupBox1Layout->addWidget(
Indent_Labels );
00188
00189
tabLayout_2->addMultiCellWidget(
GroupBox1, 1, 1, 0, 1 );
00190
00191
ButtonGroup2 =
new QButtonGroup(
tab_2,
"ButtonGroup2" );
00192
ButtonGroup2->setColumnLayout(0, Qt::Vertical );
00193
ButtonGroup2->layout()->setSpacing( KDialog::spacingHint() );
00194
ButtonGroup2->layout()->setMargin( KDialog::marginHint() );
00195
ButtonGroup2Layout =
new QGridLayout(
ButtonGroup2->layout() );
00196
ButtonGroup2Layout->setAlignment( Qt::AlignTop );
00197
00198
Fill_Spaces =
new QRadioButton(
ButtonGroup2,
"Fill_Spaces" );
00199
Fill_Spaces->setFocusPolicy( QRadioButton::NoFocus );
00200
00201
ButtonGroup2Layout->addWidget(
Fill_Spaces, 1, 0 );
00202
00203
Fill_SpaceCount =
new QSpinBox(
ButtonGroup2,
"Fill_SpaceCount" );
00204
Fill_SpaceCount->setEnabled( FALSE );
00205
Fill_SpaceCount->setMinValue( 1 );
00206
Fill_SpaceCount->setValue( 2 );
00207
00208
ButtonGroup2Layout->addWidget(
Fill_SpaceCount, 1, 1 );
00209
00210
Fill_Tabs =
new QRadioButton(
ButtonGroup2,
"Fill_Tabs" );
00211
Fill_Tabs->setChecked( TRUE );
00212
00213
ButtonGroup2Layout->addWidget(
Fill_Tabs, 0, 0 );
00214
00215
tabLayout_2->addWidget(
ButtonGroup2, 0, 0 );
00216
00217
GroupBox2 =
new QGroupBox(
tab_2,
"GroupBox2" );
00218
GroupBox2->setColumnLayout(0, Qt::Vertical );
00219
GroupBox2->layout()->setSpacing( KDialog::spacingHint() );
00220
GroupBox2->layout()->setMargin( KDialog::marginHint() );
00221
GroupBox2Layout =
new QGridLayout(
GroupBox2->layout() );
00222
GroupBox2Layout->setAlignment( Qt::AlignTop );
00223
00224
Continue_MaxStatement =
new QSpinBox(
GroupBox2,
"Continue_MaxStatement" );
00225
Continue_MaxStatement->setValue( 40 );
00226
00227
GroupBox2Layout->addWidget(
Continue_MaxStatement, 0, 1 );
00228
00229
TextLabel2 =
new QLabel(
GroupBox2,
"TextLabel2" );
00230
00231
GroupBox2Layout->addWidget(
TextLabel2, 0, 0 );
00232
00233
TextLabel3 =
new QLabel(
GroupBox2,
"TextLabel3" );
00234
00235
GroupBox2Layout->addWidget(
TextLabel3, 1, 0 );
00236
00237
Continue_MinConditional =
new QSpinBox(
GroupBox2,
"Continue_MinConditional" );
00238
Continue_MinConditional->setMinValue( -1 );
00239
Continue_MinConditional->setValue( -1 );
00240
00241
GroupBox2Layout->addWidget(
Continue_MinConditional, 1, 1 );
00242
00243
tabLayout_2->addWidget(
GroupBox2, 0, 1 );
00244
ConfigTabs->insertTab(
tab_2,
QString(
"") );
00245
00246
tab_3 =
new QWidget(
ConfigTabs,
"tab_3" );
00247
tabLayout_3 =
new QVBoxLayout(
tab_3, KDialog::marginHint(), KDialog::spacingHint(),
"tabLayout_3");
00248
00249
ButtonGroup9 =
new QButtonGroup(
tab_3,
"ButtonGroup9" );
00250
ButtonGroup9->setColumnLayout(0, Qt::Vertical );
00251
ButtonGroup9->layout()->setSpacing( KDialog::spacingHint() );
00252
ButtonGroup9->layout()->setMargin( KDialog::marginHint() );
00253
ButtonGroup9Layout =
new QVBoxLayout(
ButtonGroup9->layout() );
00254
ButtonGroup9Layout->setAlignment( Qt::AlignTop );
00255
00256
Brackets_Break =
new QRadioButton(
ButtonGroup9,
"Brackets_Break" );
00257
Brackets_Break->setChecked( TRUE );
00258
ButtonGroup9Layout->addWidget(
Brackets_Break );
00259
00260
Brackets_Attach =
new QRadioButton(
ButtonGroup9,
"Brackets_Attach" );
00261
ButtonGroup9Layout->addWidget(
Brackets_Attach );
00262
00263
Brackets_Linux =
new QRadioButton(
ButtonGroup9,
"Brackets_Linux" );
00264
ButtonGroup9Layout->addWidget(
Brackets_Linux );
00265
tabLayout_3->addWidget(
ButtonGroup9 );
00266
00267
ButtonGroup10 =
new QButtonGroup(
tab_3,
"ButtonGroup10" );
00268
ButtonGroup10->setColumnLayout(0, Qt::Vertical );
00269
ButtonGroup10->layout()->setSpacing( KDialog::spacingHint() );
00270
ButtonGroup10->layout()->setMargin( KDialog::marginHint() );
00271
ButtonGroup10Layout =
new QVBoxLayout(
ButtonGroup10->layout() );
00272
ButtonGroup10Layout->setAlignment( Qt::AlignTop );
00273
00274
Pad_Parentheses =
new QCheckBox(
ButtonGroup10,
"Pad_Parentheses" );
00275
ButtonGroup10Layout->addWidget(
Pad_Parentheses );
00276
00277
Pad_Operators =
new QCheckBox(
ButtonGroup10,
"Pad_Operators" );
00278
ButtonGroup10Layout->addWidget(
Pad_Operators );
00279
tabLayout_3->addWidget(
ButtonGroup10 );
00280
00281
GroupBox7 =
new QGroupBox(
tab_3,
"GroupBox7" );
00282
GroupBox7->setColumnLayout(0, Qt::Vertical );
00283
GroupBox7->layout()->setSpacing( KDialog::spacingHint() );
00284
GroupBox7->layout()->setMargin( KDialog::marginHint() );
00285
GroupBox7Layout =
new QVBoxLayout(
GroupBox7->layout() );
00286
GroupBox7Layout->setAlignment( Qt::AlignTop );
00287
00288
Keep_Statements =
new QCheckBox(
GroupBox7,
"Keep_Statements" );
00289
GroupBox7Layout->addWidget(
Keep_Statements );
00290
00291
Keep_Blocks =
new QCheckBox(
GroupBox7,
"Keep_Blocks" );
00292
GroupBox7Layout->addWidget(
Keep_Blocks );
00293
tabLayout_3->addWidget(
GroupBox7 );
00294
Spacer3 =
new QSpacerItem( 20, 20, QSizePolicy::Minimum, QSizePolicy::Expanding );
00295
tabLayout_3->addItem(
Spacer3 );
00296
ConfigTabs->insertTab(
tab_3,
QString(
"") );
00297
00298
AStyleConfigLayout->addWidget(
ConfigTabs, 0, 0 );
00299
languageChange();
00300 resize(
QSize(568, 365).expandedTo(minimumSizeHint()) );
00301 clearWState( WState_Polished );
00302
00303
00304 connect(
Fill_Spaces, SIGNAL( toggled(
bool) ),
Fill_SpaceCount, SLOT( setEnabled(
bool) ) );
00305
00306
00307 setTabOrder(
Style_UserDefined,
StyleExample );
00308 setTabOrder(
StyleExample,
ConfigTabs );
00309 setTabOrder(
ConfigTabs,
Fill_Tabs );
00310 setTabOrder(
Fill_Tabs,
Fill_Spaces );
00311 setTabOrder(
Fill_Spaces,
Fill_SpaceCount );
00312 setTabOrder(
Fill_SpaceCount,
Continue_MaxStatement );
00313 setTabOrder(
Continue_MaxStatement,
Continue_MinConditional );
00314 setTabOrder(
Continue_MinConditional,
Indent_Switches );
00315 setTabOrder(
Indent_Switches,
Indent_Cases );
00316 setTabOrder(
Indent_Cases,
Indent_Classes );
00317 setTabOrder(
Indent_Classes,
Indent_Brackets );
00318 setTabOrder(
Indent_Brackets,
Indent_Namespaces );
00319 setTabOrder(
Indent_Namespaces,
Indent_Labels );
00320 setTabOrder(
Indent_Labels,
Brackets_Break );
00321 setTabOrder(
Brackets_Break,
Pad_Parentheses );
00322 setTabOrder(
Pad_Parentheses,
Pad_Operators );
00323 setTabOrder(
Pad_Operators,
Keep_Statements );
00324 setTabOrder(
Keep_Statements,
Keep_Blocks );
00325 }
00326
00327
00328
00329
00330 AStyleConfig::~AStyleConfig()
00331 {
00332
00333 }
00334
00335
00336
00337
00338
00339 void AStyleConfig::languageChange()
00340 {
00341 setCaption( tr2i18n(
"Artistic Style Configuration" ) );
00342
StyleGroup->setTitle( tr2i18n(
"&Style" ) );
00343
Style_ANSI->setText( tr2i18n(
"&ANSI" ) );
00344
Style_Linux->setText( tr2i18n(
"&Linux" ) );
00345
Style_GNU->setText( tr2i18n(
"G&NU" ) );
00346
Style_JAVA->setText( tr2i18n(
"&JAVA" ) );
00347
Style_UserDefined->setText( tr2i18n(
"&User defined" ) );
00348
Style_KR->setText( tr2i18n(
"&Kernighan && Ritchie" ) );
00349
GroupBox4->setTitle( tr2i18n(
"Example" ) );
00350
StyleExample->setText( QString::null );
00351
ConfigTabs->changeTab(
tab, tr2i18n(
"&General" ) );
00352
GroupBox1->setTitle( tr2i18n(
"Indented &Entities" ) );
00353
Indent_Switches->setText( tr2i18n(
"Indent &switches" ) );
00354
Indent_Cases->setText( tr2i18n(
"Indent &cases" ) );
00355
Indent_Classes->setText( tr2i18n(
"Indent cl&asses" ) );
00356
Indent_Brackets->setText( tr2i18n(
"Indent &brackets" ) );
00357
Indent_Namespaces->setText( tr2i18n(
"Indent &namespaces" ) );
00358
Indent_Labels->setText( tr2i18n(
"Indent &labels" ) );
00359
ButtonGroup2->setTitle( tr2i18n(
"&Filling" ) );
00360
Fill_Spaces->setText( tr2i18n(
"Use s&paces:" ) );
00361
Fill_Tabs->setText( tr2i18n(
"Use &tabs" ) );
00362
GroupBox2->setTitle( tr2i18n(
"Contin&uation" ) );
00363
TextLabel2->setText( tr2i18n(
"Maximum in statement:" ) );
00364
TextLabel3->setText( tr2i18n(
"Minimum in conditional:" ) );
00365
Continue_MinConditional->setSpecialValueText( tr2i18n(
"Twice current" ) );
00366
ConfigTabs->changeTab(
tab_2, tr2i18n(
"&Indentation" ) );
00367
ButtonGroup9->setTitle( tr2i18n(
"Brackets" ) );
00368
Brackets_Break->setText( tr2i18n(
"&Break" ) );
00369
Brackets_Attach->setText( tr2i18n(
"&Attach" ) );
00370
Brackets_Linux->setText( tr2i18n(
"Li&nux style" ) );
00371
ButtonGroup10->setTitle( tr2i18n(
"Padding" ) );
00372
Pad_Parentheses->setText( tr2i18n(
"Add spaces around &parentheses" ) );
00373
Pad_Operators->setText( tr2i18n(
"Add spaces around ope&rators" ) );
00374
GroupBox7->setTitle( tr2i18n(
"One Liners" ) );
00375
Keep_Statements->setText( tr2i18n(
"Keep one-line &statements" ) );
00376
Keep_Blocks->setText( tr2i18n(
"Keep one-line b&locks" ) );
00377
ConfigTabs->changeTab(
tab_3, tr2i18n(
"&Other" ) );
00378 }
00379
00380
#include "astyleconfig.moc"