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::fromLatin1("") );
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::fromLatin1("") );
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::fromLatin1("") );
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"