14: def setup_window
15: layout = Qt::VBoxLayout.new( self, 10, 10 )
16:
17: mainLayout = Qt::GridLayout.new( 5, 2, 3 )
18:
19: mainLayout.addWidget( Qt::Label.new( "Directory:", self ), 0, 0 )
20: box = Qt::HBoxLayout.new( 3 )
21: @directory = Qt::LineEdit.new( self )
22: @directory.setText( Dir.pwd )
23: connect( @directory, SIGNAL('textChanged(const QString&)'), self, SLOT('check_input()') )
24: dirChooser = Qt::PushButton.new( "...", self )
25: connect( dirChooser, SIGNAL('clicked()'), self, SLOT('choose_dir()') )
26: box.addWidget( @directory )
27: box.addWidget( dirChooser )
28: mainLayout.addLayout( box, 0, 1 )
29:
30: mainLayout.addWidget( Qt::Label.new( "Website name:", self ), 1, 0 )
31: @website = Qt::LineEdit.new( self )
32: @website.setFocus()
33: connect( @website, SIGNAL('textChanged(const QString&)'), self, SLOT('check_input()') )
34: mainLayout.addWidget( @website, 1, 1 )
35:
36: mainLayout.addWidget( Qt::Label.new( "Website template:", self ), 2, 0 )
37: @template = Qt::ComboBox.new( self )
38: @template.insertStringList( Webgen::Website.templates.sort )
39: @template.setCurrentText( 'default' )
40: mainLayout.addWidget( @template, 2, 1 )
41:
42: mainLayout.addWidget( Qt::Label.new( "Website style:", self ), 3, 0 )
43: @style = Qt::ComboBox.new( self )
44: @style.insertStringList( Webgen::Website.styles.sort )
45: @style.setCurrentText( 'default' )
46: mainLayout.addWidget( @style, 3, 1 )
47:
48: mainLayout.addWidget( Qt::Label.new( "Main language:", self ), 4, 0 )
49: @language = Qt::ComboBox.new( self )
50: @language.insertStringList( Webgen::Website.languages.collect {|l| l[1]}.sort )
51: @language.setCurrentText( 'English' )
52: mainLayout.addWidget( @language, 4, 1 )
53:
54: box = Qt::HBoxLayout.new( 3 )
55: box.addStretch( 1 )
56: @cancel = Qt::PushButton.new( "Cancel", self )
57: connect( @cancel, SIGNAL('clicked()'), self, SLOT('reject()') )
58: box.addWidget( @cancel )
59: @create = Qt::PushButton.new( "Create", self )
60: @create.setEnabled( false )
61: connect( @create, SIGNAL('clicked()'), self, SLOT('create_website()') )
62: connect( self, SIGNAL('input_valid(bool)'), @create, SLOT('setEnabled(bool)') )
63: @create.setDefault( true )
64: box.addWidget( @create )
65:
66: layout.addLayout( mainLayout )
67: layout.addLayout( box )
68: layout.setResizeMode( Qt::Layout::Fixed )
69:
70: check_input
71: end