/****************************************************************************
** Form implementation generated from reading ui file './kchmsetupdialog.ui'
**
** Created: Sat Jun 16 22:08:58 2007
**      by: The User Interface Compiler ($Id: qt/main.cpp   3.3.8   edited Jan 11 14:47 $)
**
** WARNING! All changes made in this file will be lost!
****************************************************************************/

#include "kchmsetupdialog.h"

#include <qvariant.h>
#include <qpushbutton.h>
#include <qtabwidget.h>
#include <qwidget.h>
#include <qbuttongroup.h>
#include <qradiobutton.h>
#include <qlabel.h>
#include <qspinbox.h>
#include <qcheckbox.h>
#include <qgroupbox.h>
#include <qlineedit.h>
#include <qlayout.h>
#include <qtooltip.h>
#include <qwhatsthis.h>

/*
 *  Constructs a KCHMSetupDialog as a child of 'parent', with the
 *  name 'name' and widget flags set to 'f'.
 *
 *  The dialog will by default be modeless, unless you set 'modal' to
 *  TRUE to construct a modal dialog.
 */
KCHMSetupDialog::KCHMSetupDialog( QWidget* parent, const char* name, bool modal, WFlags fl )
    : QDialog( parent, name, modal, fl )
{
    if ( !name )
	setName( "MyDialog1" );
    setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)1, 0, 0, sizePolicy().hasHeightForWidth() ) );
    setSizeGripEnabled( FALSE );
    setModal( TRUE );
    MyDialog1Layout = new QVBoxLayout( this, 11, 6, "MyDialog1Layout"); 
    MyDialog1Layout->setResizeMode( QLayout::Minimum );

    tabWidget = new QTabWidget( this, "tabWidget" );

    Widget8 = new QWidget( tabWidget, "Widget8" );
    Widget8Layout = new QVBoxLayout( Widget8, 11, 6, "Widget8Layout"); 

    layout4 = new QHBoxLayout( 0, 0, 6, "layout4"); 

    buttonGroup1 = new QButtonGroup( Widget8, "buttonGroup1" );
    buttonGroup1->setColumnLayout(0, Qt::Vertical );
    buttonGroup1->layout()->setSpacing( 6 );
    buttonGroup1->layout()->setMargin( 11 );
    buttonGroup1Layout = new QVBoxLayout( buttonGroup1->layout() );
    buttonGroup1Layout->setAlignment( Qt::AlignTop );

    m_radioOnBeginOpenDialog = new QRadioButton( buttonGroup1, "m_radioOnBeginOpenDialog" );
    buttonGroup1Layout->addWidget( m_radioOnBeginOpenDialog );

    m_radioOnBeginOpenLast = new QRadioButton( buttonGroup1, "m_radioOnBeginOpenLast" );
    buttonGroup1Layout->addWidget( m_radioOnBeginOpenLast );
    layout4->addWidget( buttonGroup1 );

    buttonGroup2 = new QButtonGroup( Widget8, "buttonGroup2" );
    buttonGroup2->setColumnLayout(0, Qt::Vertical );
    buttonGroup2->layout()->setSpacing( 6 );
    buttonGroup2->layout()->setMargin( 11 );
    buttonGroup2Layout = new QVBoxLayout( buttonGroup2->layout() );
    buttonGroup2Layout->setAlignment( Qt::AlignTop );

    layout3 = new QHBoxLayout( 0, 0, 6, "layout3"); 

    textLabel1 = new QLabel( buttonGroup2, "textLabel1" );
    layout3->addWidget( textLabel1 );

    m_historySize = new QSpinBox( buttonGroup2, "m_historySize" );
    m_historySize->setValue( 10 );
    layout3->addWidget( m_historySize );

    textLabel2 = new QLabel( buttonGroup2, "textLabel2" );
    layout3->addWidget( textLabel2 );
    buttonGroup2Layout->addLayout( layout3 );

    m_rememberHistoryInfo = new QCheckBox( buttonGroup2, "m_rememberHistoryInfo" );
    buttonGroup2Layout->addWidget( m_rememberHistoryInfo );
    layout4->addWidget( buttonGroup2 );
    Widget8Layout->addLayout( layout4 );

    groupBox1 = new QGroupBox( Widget8, "groupBox1" );
    groupBox1->setColumnLayout(0, Qt::Vertical );
    groupBox1->layout()->setSpacing( 6 );
    groupBox1->layout()->setMargin( 11 );
    groupBox1Layout = new QHBoxLayout( groupBox1->layout() );
    groupBox1Layout->setAlignment( Qt::AlignTop );

    buttonGroup4 = new QButtonGroup( groupBox1, "buttonGroup4" );
    buttonGroup4->setColumnLayout(0, Qt::Vertical );
    buttonGroup4->layout()->setSpacing( 6 );
    buttonGroup4->layout()->setMargin( 11 );
    buttonGroup4Layout = new QVBoxLayout( buttonGroup4->layout() );
    buttonGroup4Layout->setAlignment( Qt::AlignTop );

    m_radioExtLinkOpenAlways = new QRadioButton( buttonGroup4, "m_radioExtLinkOpenAlways" );
    buttonGroup4Layout->addWidget( m_radioExtLinkOpenAlways );

    m_radioExtLinkAsk = new QRadioButton( buttonGroup4, "m_radioExtLinkAsk" );
    buttonGroup4Layout->addWidget( m_radioExtLinkAsk );

    m_radioExtLinkOpenNever = new QRadioButton( buttonGroup4, "m_radioExtLinkOpenNever" );
    buttonGroup4Layout->addWidget( m_radioExtLinkOpenNever );
    groupBox1Layout->addWidget( buttonGroup4 );

    buttonGroup5 = new QButtonGroup( groupBox1, "buttonGroup5" );
    buttonGroup5->setColumnLayout(0, Qt::Vertical );
    buttonGroup5->layout()->setSpacing( 6 );
    buttonGroup5->layout()->setMargin( 11 );
    buttonGroup5Layout = new QVBoxLayout( buttonGroup5->layout() );
    buttonGroup5Layout->setAlignment( Qt::AlignTop );

    m_radioNewChmOpenAlways = new QRadioButton( buttonGroup5, "m_radioNewChmOpenAlways" );
    buttonGroup5Layout->addWidget( m_radioNewChmOpenAlways );

    m_radioNewChmAsk = new QRadioButton( buttonGroup5, "m_radioNewChmAsk" );
    buttonGroup5Layout->addWidget( m_radioNewChmAsk );

    m_radioNewChmOpenNever = new QRadioButton( buttonGroup5, "m_radioNewChmOpenNever" );
    buttonGroup5Layout->addWidget( m_radioNewChmOpenNever );
    groupBox1Layout->addWidget( buttonGroup5 );
    Widget8Layout->addWidget( groupBox1 );
    tabWidget->insertTab( Widget8, QString::fromLatin1("") );

    Widget9 = new QWidget( tabWidget, "Widget9" );
    Widget9Layout = new QVBoxLayout( Widget9, 11, 6, "Widget9Layout"); 

    m_groupQtsettings = new QGroupBox( Widget9, "m_groupQtsettings" );
    m_groupQtsettings->setColumnLayout(0, Qt::Vertical );
    m_groupQtsettings->layout()->setSpacing( 6 );
    m_groupQtsettings->layout()->setMargin( 11 );
    m_groupQtsettingsLayout = new QHBoxLayout( m_groupQtsettings->layout() );
    m_groupQtsettingsLayout->setAlignment( Qt::AlignTop );

    textLabel1_2 = new QLabel( m_groupQtsettings, "textLabel1_2" );
    textLabel1_2->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)7, 0, 0, textLabel1_2->sizePolicy().hasHeightForWidth() ) );
    textLabel1_2->setLineWidth( 1 );
    textLabel1_2->setAlignment( int( QLabel::WordBreak | QLabel::AlignVCenter ) );
    m_groupQtsettingsLayout->addWidget( textLabel1_2 );

    m_qtBrowserPath = new QLineEdit( m_groupQtsettings, "m_qtBrowserPath" );
    m_qtBrowserPath->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)1, (QSizePolicy::SizeType)0, 0, 0, m_qtBrowserPath->sizePolicy().hasHeightForWidth() ) );
    m_groupQtsettingsLayout->addWidget( m_qtBrowserPath );
    Widget9Layout->addWidget( m_groupQtsettings );

    m_groupKDEsettings = new QGroupBox( Widget9, "m_groupKDEsettings" );
    m_groupKDEsettings->setColumnLayout(0, Qt::Vertical );
    m_groupKDEsettings->layout()->setSpacing( 6 );
    m_groupKDEsettings->layout()->setMargin( 11 );
    m_groupKDEsettingsLayout = new QHBoxLayout( m_groupKDEsettings->layout() );
    m_groupKDEsettingsLayout->setAlignment( Qt::AlignTop );

    buttonGroup5_2 = new QButtonGroup( m_groupKDEsettings, "buttonGroup5_2" );
    buttonGroup5_2->setColumnLayout(0, Qt::Vertical );
    buttonGroup5_2->layout()->setSpacing( 6 );
    buttonGroup5_2->layout()->setMargin( 11 );
    buttonGroup5_2Layout = new QVBoxLayout( buttonGroup5_2->layout() );
    buttonGroup5_2Layout->setAlignment( Qt::AlignTop );

    m_radioUseQtextBrowser = new QRadioButton( buttonGroup5_2, "m_radioUseQtextBrowser" );
    buttonGroup5_2Layout->addWidget( m_radioUseQtextBrowser );

    m_radioUseKHTMLPart = new QRadioButton( buttonGroup5_2, "m_radioUseKHTMLPart" );
    buttonGroup5_2Layout->addWidget( m_radioUseKHTMLPart );
    m_groupKDEsettingsLayout->addWidget( buttonGroup5_2 );

    groupKhtmlSecurity = new QGroupBox( m_groupKDEsettings, "groupKhtmlSecurity" );
    groupKhtmlSecurity->setColumnLayout(0, Qt::Vertical );
    groupKhtmlSecurity->layout()->setSpacing( 6 );
    groupKhtmlSecurity->layout()->setMargin( 11 );
    groupKhtmlSecurityLayout = new QGridLayout( groupKhtmlSecurity->layout() );
    groupKhtmlSecurityLayout->setAlignment( Qt::AlignTop );

    m_enableJS = new QCheckBox( groupKhtmlSecurity, "m_enableJS" );

    groupKhtmlSecurityLayout->addWidget( m_enableJS, 0, 0 );

    m_enablePlugins = new QCheckBox( groupKhtmlSecurity, "m_enablePlugins" );

    groupKhtmlSecurityLayout->addWidget( m_enablePlugins, 0, 1 );

    m_enableJava = new QCheckBox( groupKhtmlSecurity, "m_enableJava" );

    groupKhtmlSecurityLayout->addWidget( m_enableJava, 1, 0 );

    m_enableRefresh = new QCheckBox( groupKhtmlSecurity, "m_enableRefresh" );

    groupKhtmlSecurityLayout->addWidget( m_enableRefresh, 1, 1 );
    m_groupKDEsettingsLayout->addWidget( groupKhtmlSecurity );
    Widget9Layout->addWidget( m_groupKDEsettings );
    tabWidget->insertTab( Widget9, QString::fromLatin1("") );

    TabPage = new QWidget( tabWidget, "TabPage" );
    TabPageLayout = new QVBoxLayout( TabPage, 11, 6, "TabPageLayout"); 

    buttonGroup7 = new QButtonGroup( TabPage, "buttonGroup7" );
    buttonGroup7->setColumnLayout(0, Qt::Vertical );
    buttonGroup7->layout()->setSpacing( 6 );
    buttonGroup7->layout()->setMargin( 11 );
    buttonGroup7Layout = new QVBoxLayout( buttonGroup7->layout() );
    buttonGroup7Layout->setAlignment( Qt::AlignTop );

    m_advViewSourceInternal = new QRadioButton( buttonGroup7, "m_advViewSourceInternal" );
    buttonGroup7Layout->addWidget( m_advViewSourceInternal );

    m_advViewSourceExternal = new QRadioButton( buttonGroup7, "m_advViewSourceExternal" );
    buttonGroup7Layout->addWidget( m_advViewSourceExternal );

    layout4_2 = new QHBoxLayout( 0, 0, 6, "layout4_2"); 

    textLabel1_3 = new QLabel( buttonGroup7, "textLabel1_3" );
    layout4_2->addWidget( textLabel1_3 );

    m_advExternalProgramName = new QLineEdit( buttonGroup7, "m_advExternalProgramName" );
    layout4_2->addWidget( m_advExternalProgramName );
    buttonGroup7Layout->addLayout( layout4_2 );
    TabPageLayout->addWidget( buttonGroup7 );

    groupBox6 = new QButtonGroup( TabPage, "groupBox6" );
    groupBox6->setColumnLayout(0, Qt::Vertical );
    groupBox6->layout()->setSpacing( 6 );
    groupBox6->layout()->setMargin( 11 );
    groupBox6Layout = new QGridLayout( groupBox6->layout() );
    groupBox6Layout->setAlignment( Qt::AlignTop );

    m_useSearchEngineInternal = new QRadioButton( groupBox6, "m_useSearchEngineInternal" );

    groupBox6Layout->addWidget( m_useSearchEngineInternal, 1, 0 );

    m_labelUseSearchEngineInternal = new QLabel( groupBox6, "m_labelUseSearchEngineInternal" );
    m_labelUseSearchEngineInternal->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, 10, 0, m_labelUseSearchEngineInternal->sizePolicy().hasHeightForWidth() ) );
    m_labelUseSearchEngineInternal->setAlignment( int( QLabel::WordBreak | QLabel::AlignVCenter ) );

    groupBox6Layout->addWidget( m_labelUseSearchEngineInternal, 1, 1 );

    m_useSearchEngineNew = new QRadioButton( groupBox6, "m_useSearchEngineNew" );

    groupBox6Layout->addWidget( m_useSearchEngineNew, 0, 0 );

    m_labelUseSearchEngineNew = new QLabel( groupBox6, "m_labelUseSearchEngineNew" );
    m_labelUseSearchEngineNew->setSizePolicy( QSizePolicy( (QSizePolicy::SizeType)5, (QSizePolicy::SizeType)5, 10, 0, m_labelUseSearchEngineNew->sizePolicy().hasHeightForWidth() ) );
    m_labelUseSearchEngineNew->setAlignment( int( QLabel::WordBreak | QLabel::AlignVCenter ) );

    groupBox6Layout->addWidget( m_labelUseSearchEngineNew, 0, 1 );
    TabPageLayout->addWidget( groupBox6 );
    tabWidget->insertTab( TabPage, QString::fromLatin1("") );
    MyDialog1Layout->addWidget( tabWidget );

    Layout1 = new QHBoxLayout( 0, 0, 6, "Layout1"); 

    buttonHelp = new QPushButton( this, "buttonHelp" );
    buttonHelp->setAutoDefault( TRUE );
    Layout1->addWidget( buttonHelp );
    Horizontal_Spacing2 = new QSpacerItem( 20, 20, QSizePolicy::Expanding, QSizePolicy::Minimum );
    Layout1->addItem( Horizontal_Spacing2 );

    buttonOk = new QPushButton( this, "buttonOk" );
    buttonOk->setAutoDefault( TRUE );
    buttonOk->setDefault( TRUE );
    Layout1->addWidget( buttonOk );

    buttonCancel = new QPushButton( this, "buttonCancel" );
    buttonCancel->setAutoDefault( TRUE );
    Layout1->addWidget( buttonCancel );
    MyDialog1Layout->addLayout( Layout1 );
    languageChange();
    resize( QSize(654, 343).expandedTo(minimumSizeHint()) );
    clearWState( WState_Polished );

    // signals and slots connections
    connect( buttonOk, SIGNAL( clicked() ), this, SLOT( accept() ) );
    connect( buttonCancel, SIGNAL( clicked() ), this, SLOT( reject() ) );
    connect( m_radioUseKHTMLPart, SIGNAL( toggled(bool) ), groupKhtmlSecurity, SLOT( setEnabled(bool) ) );
    connect( m_advViewSourceExternal, SIGNAL( toggled(bool) ), m_advExternalProgramName, SLOT( setEnabled(bool) ) );
    connect( m_radioUseQtextBrowser, SIGNAL( toggled(bool) ), groupKhtmlSecurity, SLOT( setDisabled(bool) ) );

    // tab order
    setTabOrder( m_advViewSourceInternal, m_advViewSourceExternal );
    setTabOrder( m_advViewSourceExternal, m_useSearchEngineNew );
    setTabOrder( m_useSearchEngineNew, m_useSearchEngineInternal );
    setTabOrder( m_useSearchEngineInternal, tabWidget );
    setTabOrder( tabWidget, m_radioOnBeginOpenDialog );
    setTabOrder( m_radioOnBeginOpenDialog, m_radioOnBeginOpenLast );
    setTabOrder( m_radioOnBeginOpenLast, m_historySize );
    setTabOrder( m_historySize, m_rememberHistoryInfo );
    setTabOrder( m_rememberHistoryInfo, m_radioExtLinkOpenAlways );
    setTabOrder( m_radioExtLinkOpenAlways, m_radioExtLinkAsk );
    setTabOrder( m_radioExtLinkAsk, m_radioExtLinkOpenNever );
    setTabOrder( m_radioExtLinkOpenNever, m_radioNewChmOpenAlways );
    setTabOrder( m_radioNewChmOpenAlways, m_radioNewChmAsk );
    setTabOrder( m_radioNewChmAsk, m_radioNewChmOpenNever );
    setTabOrder( m_radioNewChmOpenNever, m_qtBrowserPath );
    setTabOrder( m_qtBrowserPath, m_radioUseQtextBrowser );
    setTabOrder( m_radioUseQtextBrowser, m_radioUseKHTMLPart );
    setTabOrder( m_radioUseKHTMLPart, m_enableJS );
    setTabOrder( m_enableJS, m_enablePlugins );
    setTabOrder( m_enablePlugins, m_enableJava );
    setTabOrder( m_enableJava, m_enableRefresh );
    setTabOrder( m_enableRefresh, m_advExternalProgramName );
    setTabOrder( m_advExternalProgramName, buttonHelp );
    setTabOrder( buttonHelp, buttonOk );
    setTabOrder( buttonOk, buttonCancel );
}

/*
 *  Destroys the object and frees any allocated resources
 */
KCHMSetupDialog::~KCHMSetupDialog()
{
    // no need to delete child widgets, Qt does it all for us
}

/*
 *  Sets the strings of the subwidgets using the current
 *  language.
 */
void KCHMSetupDialog::languageChange()
{
    setCaption( tr( "KchmViewer settings" ) );
    buttonGroup1->setTitle( tr( "If no arguments given on load" ) );
    m_radioOnBeginOpenDialog->setText( tr( "Open the 'open CHM file' dialog" ) );
    m_radioOnBeginOpenLast->setText( tr( "Open the &last used CHM file, if exist" ) );
    m_radioOnBeginOpenLast->setAccel( QKeySequence( tr( "Alt+L" ) ) );
    buttonGroup2->setTitle( tr( "History" ) );
    textLabel1->setText( tr( "Store history information for" ) );
    m_historySize->setPrefix( QString::null );
    textLabel2->setText( tr( "latest files" ) );
    m_rememberHistoryInfo->setText( tr( "R&emember extra information for history files" ) );
    m_rememberHistoryInfo->setAccel( QKeySequence( tr( "Alt+E" ) ) );
    QToolTip::add( m_rememberHistoryInfo, tr( "Remembers the information about the files, which were opened. Remembers last opened page, search history, font size, bookmarks and so on." ) );
    groupBox1->setTitle( tr( "CHM security settings" ) );
    buttonGroup4->setTitle( tr( "When external link clicked" ) );
    m_radioExtLinkOpenAlways->setText( tr( "Alwa&ys open it in external browser" ) );
    m_radioExtLinkOpenAlways->setAccel( QKeySequence( tr( "Alt+Y" ) ) );
    m_radioExtLinkAsk->setText( tr( "Ask for confirmation" ) );
    m_radioExtLinkOpenNever->setText( tr( "Do not open the link" ) );
    m_radioExtLinkOpenNever->setAccel( QKeySequence( QString::null ) );
    buttonGroup5->setTitle( tr( "When link pointed to a new CHM file clicked" ) );
    m_radioNewChmOpenAlways->setText( tr( "Always open a new CHM file" ) );
    m_radioNewChmAsk->setText( tr( "Ask for confirmation" ) );
    m_radioNewChmOpenNever->setText( tr( "Do not open a new CHM file" ) );
    tabWidget->changeTab( Widget8, tr( "General behavior" ) );
    m_groupQtsettings->setTitle( tr( "Qt version settings" ) );
    textLabel1_2->setText( tr( "Enter the path to the program, which will be used as a browser for external links.  A <i>%s</i> symbol will be replaced by the URL clicked." ) );
    m_groupKDEsettings->setTitle( tr( "KDE version settings" ) );
    buttonGroup5_2->setTitle( tr( "To show HTML content, use" ) );
    m_radioUseQtextBrowser->setText( tr( "&QTextBrowser-based widget" ) );
    m_radioUseQtextBrowser->setAccel( QKeySequence( tr( "Alt+Q" ) ) );
    m_radioUseKHTMLPart->setText( tr( "&KHTMLPart-based widget" ) );
    m_radioUseKHTMLPart->setAccel( QKeySequence( tr( "Alt+K" ) ) );
    groupKhtmlSecurity->setTitle( tr( "KHTMLPart security" ) );
    m_enableJS->setText( tr( "Enable Java&Script" ) );
    m_enableJS->setAccel( QKeySequence( tr( "Alt+S" ) ) );
    m_enablePlugins->setText( tr( "Enable &plugins" ) );
    m_enablePlugins->setAccel( QKeySequence( tr( "Alt+P" ) ) );
    m_enableJava->setText( tr( "Enable &Java" ) );
    m_enableJava->setAccel( QKeySequence( tr( "Alt+J" ) ) );
    m_enableRefresh->setText( tr( "Enable &refresh" ) );
    m_enableRefresh->setAccel( QKeySequence( tr( "Alt+R" ) ) );
    tabWidget->changeTab( Widget9, tr( "Version-specific settings" ) );
    buttonGroup7->setTitle( tr( "View HTML source command uses" ) );
    m_advViewSourceInternal->setText( tr( "Built-in HTML source viewer" ) );
    m_advViewSourceInternal->setAccel( QKeySequence( QString::null ) );
    m_advViewSourceExternal->setText( tr( "E&xternal program, specified below" ) );
    m_advViewSourceExternal->setAccel( QKeySequence( tr( "Alt+X" ) ) );
    textLabel1_3->setText( tr( "External program:" ) );
    groupBox6->setTitle( tr( "Search engine to use" ) );
    m_useSearchEngineInternal->setText( QString::null );
    m_labelUseSearchEngineInternal->setText( tr( "Use the search based on internal CHM index. This engine cannot search for any symbols except underscode, does not support multibyte languages, and is not always available." ) );
    m_useSearchEngineNew->setText( QString::null );
    m_labelUseSearchEngineNew->setText( tr( "Use new kchmviewer internal  search engine (recommended). This engine indexes symbols, so it is possible to search for special symbols (like \"C++\"). All languages are supported. The index will be generated before the first search." ) );
    tabWidget->changeTab( TabPage, tr( "Advanced" ) );
    buttonHelp->setText( tr( "&Help" ) );
    buttonHelp->setAccel( QKeySequence( tr( "F1" ) ) );
    buttonOk->setText( tr( "&OK" ) );
    buttonOk->setAccel( QKeySequence( QString::null ) );
    buttonCancel->setText( tr( "&Cancel" ) );
    buttonCancel->setAccel( QKeySequence( QString::null ) );
}

void KCHMSetupDialog::m_radioUseKHTMLPart_toggled(bool)
{
    qWarning( "KCHMSetupDialog::m_radioUseKHTMLPart_toggled(bool): Not implemented yet" );
}

#include "kchmsetupdialog.moc"
