summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrea Diamantini <adjam7@gmail.com>2008-12-22 01:22:23 +0100
committerAndrea Diamantini <adjam7@gmail.com>2008-12-22 01:22:23 +0100
commit44bb7b573b225d9021c1110203f4650dd79c7297 (patch)
tree2c96022c701ec719c0a59bc7838f159b41d5e088
parentPolishing code a bit.. (diff)
downloadrekonq-44bb7b573b225d9021c1110203f4650dd79c7297.tar.xz
New Config Dialog. Yeah!
-rw-r--r--src/CMakeLists.txt5
-rw-r--r--src/settings.cpp172
-rw-r--r--src/settings.h10
-rw-r--r--src/settings_appearance.ui98
-rw-r--r--src/settings_general.ui159
-rw-r--r--src/settings_privacy.ui130
-rw-r--r--src/settings_proxy.ui148
7 files changed, 663 insertions, 59 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1e2a3866..d53a7add 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -28,7 +28,10 @@ KDE4_ADD_UI_FILES( rekonq_SRCS
history.ui
passworddialog.ui
proxy.ui
- settings.ui
+ settings_general.ui
+ settings_appearance.ui
+ settings_privacy.ui
+ settings_proxy.ui
)
# include(${QT_USE_FILE})
diff --git a/src/settings.cpp b/src/settings.cpp
index 895a22d9..f8fd818f 100644
--- a/src/settings.cpp
+++ b/src/settings.cpp
@@ -30,8 +30,16 @@
#include "networkaccessmanager.h"
#include "webview.h"
+//Ui Includes
+#include "ui_settings_general.h"
+#include "ui_settings_appearance.h"
+#include "ui_settings_privacy.h"
+#include "ui_settings_proxy.h"
+
// KDE Includes
#include <KConfig>
+#include <KConfigSkeleton>
+#include <KPageWidgetItem>
#include <KFontDialog>
#include <KUrl>
@@ -39,52 +47,103 @@
#include <QtGui>
#include <QtWebKit>
-SettingsDialog::SettingsDialog(QWidget *parent)
- : KDialog(parent)
+
+class Private
{
- QWidget *widget = new QWidget;
+private:
+ Ui::general generalUi;
+ Ui::appearance appearanceUi;
+ Ui::privacy privacyUi;
+ Ui::proxy proxyUi;
+
+ Private(SettingsDialog *parent);
+
+friend class SettingsDialog;
+};
+
+
+Private::Private(SettingsDialog *parent)
+{
+ QWidget *widget;
+ KPageWidgetItem *pageItem;
+
+ widget = new QWidget;
+ generalUi.setupUi( widget );
+ widget->layout()->setMargin(0);
+ pageItem = parent->addPage( widget , i18n("General") );
+ pageItem->setIcon( KIcon("rekonq") );
+ generalUi.kurlrequester->setMode( KFile::Directory );
+
+ widget = new QWidget;
+ appearanceUi.setupUi( widget );
+ widget->layout()->setMargin(0);
+ pageItem = parent->addPage( widget , i18n("Appearance") );
+ pageItem->setIcon( KIcon("kfontview") );
+
+ widget = new QWidget;
+ privacyUi.setupUi( widget );
+ widget->layout()->setMargin(0);
+ pageItem = parent->addPage( widget , i18n("Privacy") );
+ pageItem->setIcon( KIcon("preferences-desktop-personal") );
+
+ widget = new QWidget;
+ proxyUi.setupUi( widget );
+ widget->layout()->setMargin(0);
+ pageItem = parent->addPage( widget , i18n("Proxy") );
+ pageItem->setIcon( KIcon("preferences-system-network") );
+}
- setupUi(widget);
+// -----------------------------------------------------------------------------------------------------
- setMainWidget(widget);
+SettingsDialog::SettingsDialog(QWidget *parent)
+ : KConfigDialog(parent, "Settings", new KConfigSkeleton("rekonqrc") )
+ , d(new Private(this) )
+{
+ setFaceType(KPageDialog::List);
+ setButtons(KDialog::Ok | KDialog::Cancel | KDialog::Apply);
+ showButtonSeparator(true);
setWindowTitle( i18n("Setting rekonq..") );
- setButtons( KDialog::Ok | KDialog::Close | KDialog::Apply );
- kurlrequester->setMode( KFile::Directory );
setModal(true);
connect(this, SIGNAL( okClicked() ), this, SLOT( slotOk() ) );
connect(this, SIGNAL( closeClicked() ), this, SLOT( close() ) );
connect(this, SIGNAL( applyClicked() ), this, SLOT( slotApply() ) );
- connect(exceptionsButton, SIGNAL(clicked()), this, SLOT( showExceptions() ) );
- connect(setHomeToCurrentPageButton, SIGNAL(clicked()), this, SLOT( setHomeToCurrentPage() ) );
- connect(cookiesButton, SIGNAL(clicked()), this, SLOT( showCookies() ) );
- connect(standardFontButton, SIGNAL(clicked()), this, SLOT( chooseFont() ) );
- connect(fixedFontButton, SIGNAL(clicked()), this, SLOT( chooseFixedFont() ) );
+ connect( d->generalUi.setHomeToCurrentPageButton, SIGNAL(clicked()), this, SLOT( setHomeToCurrentPage() ) );
+ connect( d->privacyUi.exceptionsButton, SIGNAL(clicked()), this, SLOT( showExceptions() ) );
+ connect( d->privacyUi.cookiesButton, SIGNAL(clicked()), this, SLOT( showCookies() ) );
+ connect( d->appearanceUi.standardFontButton, SIGNAL(clicked()), this, SLOT( chooseFont() ) );
+ connect( d->appearanceUi.fixedFontButton, SIGNAL(clicked()), this, SLOT( chooseFixedFont() ) );
loadDefaults();
loadFromSettings();
}
+SettingsDialog::~SettingsDialog()
+{
+ delete d;
+}
+
+
void SettingsDialog::loadDefaults()
{
QWebSettings *defaultSettings = QWebSettings::globalSettings();
QString standardFontFamily = defaultSettings->fontFamily(QWebSettings::StandardFont);
int standardFontSize = defaultSettings->fontSize(QWebSettings::DefaultFontSize);
m_standardFont = QFont(standardFontFamily, standardFontSize);
- standardLabel->setText(QString(QLatin1String("%1 %2")).arg( m_standardFont.family() ).arg( m_standardFont.pointSize() ));
+ d->appearanceUi.standardLabel->setText(QString(QLatin1String("%1 %2")).arg( m_standardFont.family() ).arg( m_standardFont.pointSize() ));
QString fixedFontFamily = defaultSettings->fontFamily(QWebSettings::FixedFont);
int fixedFontSize = defaultSettings->fontSize(QWebSettings::DefaultFixedFontSize);
m_fixedFont = QFont(fixedFontFamily, fixedFontSize);
- fixedLabel->setText(QString(QLatin1String("%1 %2")).arg( m_fixedFont.family() ).arg( m_fixedFont.pointSize() ));
+ d->appearanceUi.fixedLabel->setText(QString(QLatin1String("%1 %2")).arg( m_fixedFont.family() ).arg( m_fixedFont.pointSize() ));
- kurlrequester->setUrl( KUrl( "~" ) ); // QDesktopServices::storageLocation(QDesktopServices::DesktopLocation) );
+ d->generalUi.kurlrequester->setUrl( KUrl( "~" ) ); // QDesktopServices::storageLocation(QDesktopServices::DesktopLocation) );
- enableJavascript->setChecked(defaultSettings->testAttribute(QWebSettings::JavascriptEnabled));
- enablePlugins->setChecked(defaultSettings->testAttribute(QWebSettings::PluginsEnabled));
+ d->privacyUi.enableJavascript->setChecked(defaultSettings->testAttribute(QWebSettings::JavascriptEnabled));
+ d->privacyUi.enablePlugins->setChecked(defaultSettings->testAttribute(QWebSettings::PluginsEnabled));
}
@@ -94,7 +153,7 @@ void SettingsDialog::loadFromSettings()
KConfigGroup group1 = config.group("Global Settings");
QString defaultHome = QString("http://www.kde.org");
- homeLineEdit->setText( group1.readEntry(QString("home"), defaultHome) );
+ d->generalUi.homeLineEdit->setText( group1.readEntry(QString("home"), defaultHome) );
int historyExpire = group1.readEntry( QString("historyExpire"), QString().toInt() );
int idx = 0;
@@ -108,12 +167,12 @@ void SettingsDialog::loadFromSettings()
case -1: idx = 5; break;
default: idx = 5;
}
- expireHistory->setCurrentIndex(idx);
+ d->generalUi.expireHistory->setCurrentIndex(idx);
QString downloadDirectory = group1.readEntry( QString("downloadDirectory") , QString() );
- kurlrequester->setUrl( KUrl(downloadDirectory) );
+ d->generalUi.kurlrequester->setUrl( KUrl(downloadDirectory) );
- openLinksIn->setCurrentIndex( group1.readEntry( QString("openLinksIn"), openLinksIn->currentIndex() ) );
+ d->generalUi.openLinksIn->setCurrentIndex( group1.readEntry( QString("openLinksIn"), d->generalUi.openLinksIn->currentIndex() ) );
// Appearance
@@ -122,15 +181,15 @@ void SettingsDialog::loadFromSettings()
m_fixedFont = group2.readEntry( QString("fixedFont"), m_fixedFont );
m_standardFont = group2.readEntry( QString("standardFont"), m_standardFont );
- standardLabel->setText(QString(QLatin1String("%1 %2")).arg( m_standardFont.family() ).arg( m_standardFont.pointSize() ) );
- fixedLabel->setText(QString(QLatin1String("%1 %2")).arg( m_fixedFont.family() ).arg( m_fixedFont.pointSize() ) );
-
- enableJavascript->setChecked( group2.readEntry( QString("enableJavascript"), enableJavascript->isChecked() ) );
- enablePlugins->setChecked( group2.readEntry( QString("enablePlugins"), enablePlugins->isChecked() ) );
+ d->appearanceUi.standardLabel->setText(QString(QLatin1String("%1 %2")).arg( m_standardFont.family() ).arg( m_standardFont.pointSize() ) );
+ d->appearanceUi.fixedLabel->setText(QString(QLatin1String("%1 %2")).arg( m_fixedFont.family() ).arg( m_fixedFont.pointSize() ) );
// Privacy
KConfigGroup group3 = config.group("Privacy Settings");
+ d->privacyUi.enableJavascript->setChecked( group3.readEntry( QString("enableJavascript"), d->privacyUi.enableJavascript->isChecked() ) );
+ d->privacyUi.enablePlugins->setChecked( group3.readEntry( QString("enablePlugins"), d->privacyUi.enablePlugins->isChecked() ) );
+
CookieJar *jar = BrowserApplication::cookieJar();
QString value = group3.readEntry( QString("acceptCookies"), QString("AcceptOnlyFromSitesNavigatedTo") ) ;
QMetaEnum acceptPolicyEnum = jar->staticMetaObject.enumerator(jar->staticMetaObject.indexOfEnumerator("AcceptPolicy"));
@@ -140,13 +199,13 @@ void SettingsDialog::loadFromSettings()
switch(acceptCookies)
{
case CookieJar::AcceptAlways:
- acceptCombo->setCurrentIndex(0);
+ d->privacyUi.acceptCombo->setCurrentIndex(0);
break;
case CookieJar::AcceptNever:
- acceptCombo->setCurrentIndex(1);
+ d->privacyUi.acceptCombo->setCurrentIndex(1);
break;
case CookieJar::AcceptOnlyFromSitesNavigatedTo:
- acceptCombo->setCurrentIndex(2);
+ d->privacyUi.acceptCombo->setCurrentIndex(2);
break;
}
@@ -155,27 +214,28 @@ void SettingsDialog::loadFromSettings()
CookieJar::KeepPolicy keepCookies = keepPolicyEnum.keyToValue( value.toLocal8Bit() ) == -1 ?
CookieJar::KeepUntilExpire :
static_cast<CookieJar::KeepPolicy>(keepPolicyEnum.keyToValue( value.toLocal8Bit() ) );
- switch(keepCookies) {
+ switch(keepCookies)
+ {
case CookieJar::KeepUntilExpire:
- keepUntilCombo->setCurrentIndex(0);
+ d->privacyUi.keepUntilCombo->setCurrentIndex(0);
break;
case CookieJar::KeepUntilExit:
- keepUntilCombo->setCurrentIndex(1);
+ d->privacyUi.keepUntilCombo->setCurrentIndex(1);
break;
case CookieJar::KeepUntilTimeLimit:
- keepUntilCombo->setCurrentIndex(2);
+ d->privacyUi.keepUntilCombo->setCurrentIndex(2);
break;
}
// Proxy
KConfigGroup group4 = config.group("Proxy Settings");
- proxySupport->setChecked( group4.readEntry( QString("enabled"), false ) );
- proxyType->setCurrentIndex( group4.readEntry( QString("type"), 0) );
- proxyHostName->setText( group4.readEntry( QString("hostName"), QString() ) );
- proxyPort->setValue( group4.readEntry( QString("port"), QString().toInt() ) );
- proxyUserName->setText( group4.readEntry( QString("userName") , QString() ) );
- proxyPassword->setText( group4.readEntry( QString("password") , QString() ) );
+ d->proxyUi.proxySupport->setChecked( group4.readEntry( QString("enabled"), false ) );
+ d->proxyUi.proxyType->setCurrentIndex( group4.readEntry( QString("type"), 0) );
+ d->proxyUi.proxyHostName->setText( group4.readEntry( QString("hostName"), QString() ) );
+ d->proxyUi.proxyPort->setValue( group4.readEntry( QString("port"), QString().toInt() ) );
+ d->proxyUi.proxyUserName->setText( group4.readEntry( QString("userName") , QString() ) );
+ d->proxyUi.proxyPassword->setText( group4.readEntry( QString("password") , QString() ) );
}
@@ -185,11 +245,11 @@ void SettingsDialog::saveToSettings()
KConfig config("rekonqrc");
KConfigGroup group1 = config.group("Global Settings");
- group1.writeEntry(QString("home"), homeLineEdit->text() );
- group1.writeEntry(QString("openLinksIn"), openLinksIn->currentIndex() );
- group1.writeEntry(QString("downloadDirectory"), kurlrequester->url().path() );
+ group1.writeEntry(QString("home"), d->generalUi.homeLineEdit->text() );
+ group1.writeEntry(QString("openLinksIn"), d->generalUi.openLinksIn->currentIndex() );
+ group1.writeEntry(QString("downloadDirectory"), d->generalUi.kurlrequester->url().path() );
- int historyExpire = expireHistory->currentIndex();
+ int historyExpire = d->generalUi.expireHistory->currentIndex();
int idx = -1;
switch (historyExpire)
{
@@ -207,11 +267,11 @@ void SettingsDialog::saveToSettings()
group2.writeEntry(QString("standardFont"), m_standardFont);
KConfigGroup group3 = config.group("Privacy Settings");
- group3.writeEntry(QString("enableJavascript"), enableJavascript->isChecked() );
- group3.writeEntry(QString("enablePlugins"), enablePlugins->isChecked() );
+ group3.writeEntry(QString("enableJavascript"), d->privacyUi.enableJavascript->isChecked() );
+ group3.writeEntry(QString("enablePlugins"), d->privacyUi.enablePlugins->isChecked() );
CookieJar::KeepPolicy keepCookies;
- switch(acceptCombo->currentIndex())
+ switch( d->privacyUi.acceptCombo->currentIndex() )
{
default:
case 0:
@@ -229,7 +289,7 @@ void SettingsDialog::saveToSettings()
group3.writeEntry(QString("acceptCookies"), QString(acceptPolicyEnum.valueToKey(keepCookies) ) );
CookieJar::KeepPolicy keepPolicy;
- switch(keepUntilCombo->currentIndex())
+ switch( d->privacyUi.keepUntilCombo->currentIndex() )
{
default:
case 0:
@@ -248,12 +308,12 @@ void SettingsDialog::saveToSettings()
KConfigGroup group4 = config.group("Proxy Settings");
- group4.writeEntry(QString("enabled"), proxySupport->isChecked() );
- group4.writeEntry(QString("type"), proxyType->currentIndex() );
- group4.writeEntry(QString("hostName"), proxyHostName->text() );
- group4.writeEntry(QString("port"), proxyPort->text() );
- group4.writeEntry(QString("userName"), proxyUserName->text() );
- group4.writeEntry(QString("password"), proxyPassword->text() );
+ group4.writeEntry(QString("enabled"), d->proxyUi.proxySupport->isChecked() );
+ group4.writeEntry(QString("type"), d->proxyUi.proxyType->currentIndex() );
+ group4.writeEntry(QString("hostName"), d->proxyUi.proxyHostName->text() );
+ group4.writeEntry(QString("port"), d->proxyUi.proxyPort->text() );
+ group4.writeEntry(QString("userName"), d->proxyUi.proxyUserName->text() );
+ group4.writeEntry(QString("password"), d->proxyUi.proxyPassword->text() );
config.sync();
@@ -286,7 +346,7 @@ void SettingsDialog::chooseFont()
if ( result == KFontDialog::Accepted )
{
m_standardFont = myFont;
- standardLabel->setText(QString(QLatin1String("%1 %2")).arg( m_standardFont.family() ).arg( m_standardFont.pointSize() ) );
+ d->appearanceUi.standardLabel->setText(QString(QLatin1String("%1 %2")).arg( m_standardFont.family() ).arg( m_standardFont.pointSize() ) );
}
}
@@ -299,7 +359,7 @@ void SettingsDialog::chooseFixedFont()
if ( result == KFontDialog::Accepted )
{
m_fixedFont = myFont;
- fixedLabel->setText(QString(QLatin1String("%1 %2")).arg( m_fixedFont.family() ).arg( m_fixedFont.pointSize() ) );
+ d->appearanceUi.fixedLabel->setText(QString(QLatin1String("%1 %2")).arg( m_fixedFont.family() ).arg( m_fixedFont.pointSize() ) );
}
}
@@ -310,7 +370,7 @@ void SettingsDialog::setHomeToCurrentPage()
WebView *webView = mw->currentTab();
if (webView)
{
- homeLineEdit->setText( webView->url().prettyUrl() );
+ d->generalUi.homeLineEdit->setText( webView->url().prettyUrl() );
}
}
diff --git a/src/settings.h b/src/settings.h
index 39845c63..e76d6da6 100644
--- a/src/settings.h
+++ b/src/settings.h
@@ -25,18 +25,24 @@
#include "ui_settings.h"
// KDE Includes
-#include <KDialog>
+#include <KConfigDialog>
// Qt Includes
#include <QWidget>
-class SettingsDialog : public KDialog, private Ui::Settings
+class Private;
+
+class SettingsDialog : public KConfigDialog
{
Q_OBJECT
public:
SettingsDialog(QWidget *parent = 0);
+ ~SettingsDialog();
+private:
+ Private* const d;
+
private slots:
void loadDefaults();
void loadFromSettings();
diff --git a/src/settings_appearance.ui b/src/settings_appearance.ui
new file mode 100644
index 00000000..ec82297c
--- /dev/null
+++ b/src/settings_appearance.ui
@@ -0,0 +1,98 @@
+<ui version="4.0" >
+ <class>appearance</class>
+ <widget class="QWidget" name="appearance" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>445</width>
+ <height>92</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Appearance</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QLabel" name="label_5" >
+ <property name="text" >
+ <string>Standard font:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_6" >
+ <property name="text" >
+ <string>Fixed-width font:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_2" >
+ <item>
+ <widget class="QLabel" name="standardLabel" >
+ <property name="sizePolicy" >
+ <sizepolicy vsizetype="Preferred" hsizetype="Expanding" >
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="text" >
+ <string>Times 16</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="fixedLabel" >
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="text" >
+ <string>Courier 13</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_3" >
+ <item>
+ <widget class="QPushButton" name="standardFontButton" >
+ <property name="text" >
+ <string>Select...</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="fixedFontButton" >
+ <property name="text" >
+ <string>Select...</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/settings_general.ui b/src/settings_general.ui
new file mode 100644
index 00000000..4857488a
--- /dev/null
+++ b/src/settings_general.ui
@@ -0,0 +1,159 @@
+<ui version="4.0" >
+ <class>general</class>
+ <widget class="QWidget" name="general" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>575</width>
+ <height>209</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>General</string>
+ </property>
+ <layout class="QGridLayout" name="gridLayout" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_3" >
+ <property name="text" >
+ <string>Home:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" colspan="2" >
+ <widget class="KLineEdit" name="homeLineEdit" />
+ </item>
+ <item row="1" column="1" >
+ <widget class="QPushButton" name="setHomeToCurrentPageButton" >
+ <property name="text" >
+ <string>Set to current page</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="2" >
+ <spacer name="horizontalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>233</width>
+ <height>25</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_4" >
+ <property name="text" >
+ <string>Remove history items:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" colspan="2" >
+ <widget class="QComboBox" name="expireHistory" >
+ <item>
+ <property name="text" >
+ <string>After one day</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>After one week</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>After two weeks</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>After one month</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>After one year</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Manually</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="3" column="0" >
+ <widget class="QLabel" name="label_7" >
+ <property name="text" >
+ <string>Save downloads to:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1" colspan="2" >
+ <widget class="KUrlRequester" name="kurlrequester" />
+ </item>
+ <item row="4" column="0" >
+ <widget class="QLabel" name="label_8" >
+ <property name="text" >
+ <string>Open links from applications:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1" colspan="2" >
+ <widget class="QComboBox" name="openLinksIn" >
+ <item>
+ <property name="text" >
+ <string>In a tab in the current window</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>In a new window</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="5" column="1" colspan="2" >
+ <spacer name="spacer" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>384</width>
+ <height>36</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>KLineEdit</class>
+ <extends>QLineEdit</extends>
+ <header>klineedit.h</header>
+ </customwidget>
+ <customwidget>
+ <class>KUrlRequester</class>
+ <extends>QFrame</extends>
+ <header>kurlrequester.h</header>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/settings_privacy.ui b/src/settings_privacy.ui
new file mode 100644
index 00000000..dfa61998
--- /dev/null
+++ b/src/settings_privacy.ui
@@ -0,0 +1,130 @@
+<ui version="4.0" >
+ <class>privacy</class>
+ <widget class="QWidget" name="privacy" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>461</width>
+ <height>212</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Privacy</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout" >
+ <item>
+ <widget class="QGroupBox" name="groupBox" >
+ <property name="title" >
+ <string>Web Content</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2" >
+ <item>
+ <widget class="QCheckBox" name="enablePlugins" >
+ <property name="text" >
+ <string>Enable Plugins</string>
+ </property>
+ <property name="checked" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="enableJavascript" >
+ <property name="text" >
+ <string>Enable Javascript</string>
+ </property>
+ <property name="checked" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="cookiesGroupBox" >
+ <property name="title" >
+ <string>Cookies</string>
+ </property>
+ <layout class="QGridLayout" name="_2" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_2" >
+ <property name="text" >
+ <string>Accept Cookies:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" >
+ <widget class="QComboBox" name="acceptCombo" >
+ <item>
+ <property name="text" >
+ <string>Always</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Never</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Only from sites you navigate to</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="0" column="2" >
+ <widget class="QPushButton" name="exceptionsButton" >
+ <property name="text" >
+ <string>Exceptions...</string>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Keep until:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" >
+ <widget class="QComboBox" name="keepUntilCombo" >
+ <item>
+ <property name="text" >
+ <string>They expire</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>I exit the application</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>At most 90 days</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="2" >
+ <widget class="QPushButton" name="cookiesButton" >
+ <property name="text" >
+ <string>Cookies...</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/src/settings_proxy.ui b/src/settings_proxy.ui
new file mode 100644
index 00000000..c02dad27
--- /dev/null
+++ b/src/settings_proxy.ui
@@ -0,0 +1,148 @@
+<ui version="4.0" >
+ <class>proxy</class>
+ <widget class="QWidget" name="proxy" >
+ <property name="geometry" >
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>472</width>
+ <height>221</height>
+ </rect>
+ </property>
+ <property name="windowTitle" >
+ <string>Proxy</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout" >
+ <item>
+ <widget class="QGroupBox" name="proxySupport" >
+ <property name="title" >
+ <string>Enable proxy</string>
+ </property>
+ <property name="checkable" >
+ <bool>true</bool>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_6" >
+ <item row="0" column="0" >
+ <widget class="QLabel" name="label_9" >
+ <property name="text" >
+ <string>Type:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="0" column="1" colspan="2" >
+ <widget class="QComboBox" name="proxyType" >
+ <item>
+ <property name="text" >
+ <string>Socks5</string>
+ </property>
+ </item>
+ <item>
+ <property name="text" >
+ <string>Http</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ <item row="1" column="0" >
+ <widget class="QLabel" name="label_10" >
+ <property name="text" >
+ <string>Host:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="1" column="1" colspan="2" >
+ <widget class="KLineEdit" name="proxyHostName" />
+ </item>
+ <item row="2" column="0" >
+ <widget class="QLabel" name="label_11" >
+ <property name="text" >
+ <string>Port:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="1" >
+ <widget class="QSpinBox" name="proxyPort" >
+ <property name="maximum" >
+ <number>10000</number>
+ </property>
+ <property name="value" >
+ <number>1080</number>
+ </property>
+ </widget>
+ </item>
+ <item row="2" column="2" >
+ <spacer name="horizontalSpacer_2" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>293</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item row="3" column="0" >
+ <widget class="QLabel" name="label_12" >
+ <property name="text" >
+ <string>User Name:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="3" column="1" colspan="2" >
+ <widget class="KLineEdit" name="proxyUserName" />
+ </item>
+ <item row="4" column="0" >
+ <widget class="QLabel" name="label_13" >
+ <property name="text" >
+ <string>Password:</string>
+ </property>
+ <property name="alignment" >
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item row="4" column="1" colspan="2" >
+ <widget class="KLineEdit" name="proxyPassword" />
+ </item>
+ <item row="5" column="0" >
+ <spacer name="verticalSpacer_2" >
+ <property name="orientation" >
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>20</width>
+ <height>8</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <customwidgets>
+ <customwidget>
+ <class>KLineEdit</class>
+ <extends>QLineEdit</extends>
+ <header>klineedit.h</header>
+ </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>