Source Code (Use browser search to find items of interest.)

Class Index

kcontrol'KAdvancedOptions (./kdebase/kcontrol/konqhtml/htmlopts.h:93)

class KAdvancedOptions : public KCModule
{
  Q_OBJECT
public:
  KAdvancedOptions(KConfig *config, QString group, QWidget *parent=0, const char *name=0);

  virtual void load();
  virtual void save();
  virtual void defaults();


private slots:

  void toggleJavaControls();
  void changed();


private:

  KConfig *m_pConfig;
  QString m_groupname;

  QLabel    *lb_JavaPath;
  QLineEdit *le_JavaPath;
  QLabel    *lb_JavaArgs;
  QLineEdit *le_JavaArgs;
  QCheckBox *cb_showJavaConsole;
  QCheckBox *cb_enableJava;
  QCheckBox *cb_enableJavaScript;
  QRadioButton *rb_autoDetect;
  QRadioButton *rb_userDetect;


};

kcontrol'KAdvancedOptions::KAdvancedOptions() (./kdebase/kcontrol/konqhtml/htmlopts.cpp:390)

KAdvancedOptions::KAdvancedOptions(KConfig *config, QString group, QWidget *parent, const char *name )
    : KCModule( parent, name ), m_pConfig(config), m_groupname(group)
{
    QVBoxLayout *lay = new QVBoxLayout(this, 10, 5);

    QGroupBox *javaScript = new QGroupBox(i18n("Java Script"), this);
    cb_enableJavaScript = new QCheckBox(i18n("Enable Java&Script"), javaScript);

    QVBoxLayout *vbox = new QVBoxLayout(javaScript, 5, 5);
    vbox->addSpacing(10);
    vbox->addWidget(cb_enableJavaScript);

    QWhatsThis::add( cb_enableJavaScript, i18n("Enables the execution of scripts written in ECMA-Script "
        "(as known as JavaScript) that can be contained in HTML pages. Be aware that JavaScript support "
        "is not yet finished. Note that, as with any browser, enabling scripting languages can be a security problem.") );

    lay->addWidget(javaScript);

    connect(cb_enableJavaScript, SIGNAL(clicked()), this, SLOT(changed()));

    lay->setSpacing(10);

    QGroupBox *java = new QGroupBox(i18n("Java"), this);
    cb_enableJava = new QCheckBox(i18n("Enable &Java"), java);
    cb_showJavaConsole = new QCheckBox(i18n("Show Java Console"), java);
    lb_JavaArgs = new QLabel(i18n("Additional Java arguments"), java);
    le_JavaArgs = new QLineEdit(java);
    QButtonGroup *bg = new QButtonGroup();
    rb_autoDetect = new QRadioButton( i18n("Automatically detect Java"), java );
    rb_userDetect = new QRadioButton( i18n("Use user-specified Java"), java );
    bg->insert(rb_autoDetect);
    bg->insert(rb_userDetect);

    bg->setExclusive( TRUE );

    lb_JavaPath = new QLabel(i18n("Path to JDK"),java);
    le_JavaPath = new QLineEdit(java);

    QVBoxLayout *vbox2 = new QVBoxLayout(java, 5, 5);
    vbox2->addSpacing(10);
    vbox2->addWidget(cb_enableJava);
    vbox2->addWidget(cb_showJavaConsole);

    QHBoxLayout *hlay3 = new QHBoxLayout(10);
    hlay3->addWidget(rb_autoDetect);
    hlay3->addWidget(rb_userDetect);
    vbox2->addLayout(hlay3);

    QHBoxLayout *hlay = new QHBoxLayout(10);
    hlay->addWidget(lb_JavaPath, 1);
    hlay->addWidget(le_JavaPath, 5);

    vbox2->addLayout(hlay);

    QHBoxLayout *hlay2 = new QHBoxLayout(10);
    hlay2->addWidget(lb_JavaArgs, 1);
    hlay2->addWidget(le_JavaArgs, 5);

    vbox2->addLayout(hlay2);

    QWhatsThis::add( cb_enableJava, i18n("This option enables konqueror's support for java applets.") );
    QWhatsThis::add( cb_showJavaConsole, i18n("FIXME: what is this exactly?") );
    QString wtstr = i18n("If 'Automatically detect Java' is selected, konqueror will try to find "
       "your java installation on its own (this should normally work, if java is somewhere in your path). "
       "Select 'Use user-specified Java' if konqueror can't find your Java installation or if you have "
       "several virtual machines installed and want to use a special one. In this case, enter the full path "
       "to your java installation in the edit field below.");
    QWhatsThis::add( rb_autoDetect, wtstr );
    QWhatsThis::add( rb_userDetect, wtstr );
    wtstr = i18n("If 'Use user-specified Java' is selected, you'll need to enter the path to "
       "your Java installation here (i.e. /usr/lib/jdk ).");
    QWhatsThis::add( lb_JavaPath, wtstr );
    QWhatsThis::add( le_JavaPath, wtstr );
    wtstr = i18n("If you want special arguments to be passed to the virtual machine, enter them here.");
    QWhatsThis::add( lb_JavaArgs, wtstr );
    QWhatsThis::add( le_JavaArgs, wtstr );

    lay->addWidget(java);

    // Change
    connect(bg, SIGNAL(clicked(int)), this, SLOT(changed()));
    connect(cb_enableJava, SIGNAL(clicked()), this, SLOT(changed()));
    connect(cb_showJavaConsole, SIGNAL(clicked()), this, SLOT(changed()));
    connect(le_JavaPath, SIGNAL(textChanged(const QString&)), this, SLOT(changed()));
    connect(le_JavaArgs, SIGNAL(textChanged(const QString&)), this, SLOT(changed()));

    connect(cb_enableJava, SIGNAL(clicked()), this, SLOT(toggleJavaControls()));
    connect(bg, SIGNAL(clicked(int)), this, SLOT(toggleJavaControls()));

    lay->addStretch(10);
    lay->activate();

    load();
}


kcontrol'KAdvancedOptions::load() (./kdebase/kcontrol/konqhtml/htmlopts.cpp:485)

void KAdvancedOptions::load()
{
    // *** load ***
    m_pConfig->setGroup(m_groupname);
    bool bJavaScript = m_pConfig->readBoolEntry( "EnableJavaScript", false);
    bool bJava = m_pConfig->readBoolEntry( "EnableJava", false);
    bool bJavaConsole = m_pConfig->readBoolEntry( "ShowJavaConsole", false);
    bool bJavaAutoDetect = m_pConfig->readBoolEntry( "JavaAutoDetect", true);
    QString sJDKArgs = m_pConfig->readEntry( "JavaArgs", "" );
    QString sJDK = m_pConfig->readEntry( "JavaPath", "/usr/lib/jdk" );

    // *** apply to GUI ***

    cb_enableJavaScript->setChecked(bJavaScript);
    cb_enableJava->setChecked(bJava);
    cb_showJavaConsole->setChecked(bJavaConsole);

    if(bJavaAutoDetect)
      rb_autoDetect->setChecked(true);
    else
      rb_userDetect->setChecked(true);

    le_JavaArgs->setText(sJDKArgs);
    le_JavaPath->setText(sJDK);

    toggleJavaControls();
}


kcontrol'KAdvancedOptions::defaults() (./kdebase/kcontrol/konqhtml/htmlopts.cpp:513)

void KAdvancedOptions::defaults()
{
    cb_enableJavaScript->setChecked(false);
    cb_enableJava->setChecked(false);
    cb_showJavaConsole->setChecked(false);
    rb_autoDetect->setChecked(true);
    le_JavaPath->setText("/usr/lib/jdk");
    le_JavaArgs->setText("");

    toggleJavaControls();
}


kcontrol'KAdvancedOptions::save() (./kdebase/kcontrol/konqhtml/htmlopts.cpp:525)

void KAdvancedOptions::save()
{
    m_pConfig->setGroup(m_groupname);
    m_pConfig->writeEntry( "EnableJavaScript", cb_enableJavaScript->isChecked());
    m_pConfig->writeEntry( "EnableJava", cb_enableJava->isChecked());
    m_pConfig->writeEntry( "ShowJavaConsole", cb_showJavaConsole->isChecked());
    m_pConfig->writeEntry( "JavaAutoDetect", rb_autoDetect->isChecked());
    m_pConfig->writeEntry( "JavaArgs", le_JavaArgs->text());
    m_pConfig->writeEntry( "JavaPath", le_JavaPath->text());
    m_pConfig->sync();
}


kcontrol'KAdvancedOptions::changed() (./kdebase/kcontrol/konqhtml/htmlopts.cpp:537)

void KAdvancedOptions::changed()
{
  emit KCModule::changed(true);
}


kcontrol'KAdvancedOptions::toggleJavaControls() (./kdebase/kcontrol/konqhtml/htmlopts.cpp:542)

void KAdvancedOptions::toggleJavaControls()
{
  bool isEnabled = cb_enableJava->isChecked();
  cb_showJavaConsole->setEnabled(isEnabled);
  lb_JavaArgs->setEnabled(isEnabled);
  le_JavaArgs->setEnabled(isEnabled);
  rb_autoDetect->setEnabled(isEnabled);
  rb_userDetect->setEnabled(isEnabled);
  lb_JavaPath->setEnabled(isEnabled && rb_userDetect->isChecked());
  le_JavaPath->setEnabled(isEnabled && rb_userDetect->isChecked());
}