From e9ae80694875f869892f13f4fcaf1170a00dea41 Mon Sep 17 00:00:00 2001
From: toma <toma@283d02a7-25f6-0310-bc7c-ecb5cbfe19da>
Date: Wed, 25 Nov 2009 17:56:58 +0000
Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features.
 BUG:215923

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdewebdev@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
---
 quanta/dialogs/settings/Makefile.am         |  13 +
 quanta/dialogs/settings/abbreviation.cpp    | 277 ++++++++++++++++++++++
 quanta/dialogs/settings/abbreviation.h      |  53 +++++
 quanta/dialogs/settings/abbreviations.ui    | 354 ++++++++++++++++++++++++++++
 quanta/dialogs/settings/codetemplatedlgs.ui |  81 +++++++
 quanta/dialogs/settings/filemasks.cpp       |  67 ++++++
 quanta/dialogs/settings/filemasks.h         |  35 +++
 quanta/dialogs/settings/filemaskss.ui       | 336 ++++++++++++++++++++++++++
 quanta/dialogs/settings/parseroptions.cpp   |  86 +++++++
 quanta/dialogs/settings/parseroptions.h     |  37 +++
 quanta/dialogs/settings/parseroptionsui.ui  | 314 ++++++++++++++++++++++++
 quanta/dialogs/settings/previewoptions.cpp  | 127 ++++++++++
 quanta/dialogs/settings/previewoptions.h    |  50 ++++
 quanta/dialogs/settings/previewoptionss.ui  | 280 ++++++++++++++++++++++
 quanta/dialogs/settings/styleoptionss.ui    | 201 ++++++++++++++++
 15 files changed, 2311 insertions(+)
 create mode 100644 quanta/dialogs/settings/Makefile.am
 create mode 100644 quanta/dialogs/settings/abbreviation.cpp
 create mode 100644 quanta/dialogs/settings/abbreviation.h
 create mode 100644 quanta/dialogs/settings/abbreviations.ui
 create mode 100644 quanta/dialogs/settings/codetemplatedlgs.ui
 create mode 100644 quanta/dialogs/settings/filemasks.cpp
 create mode 100644 quanta/dialogs/settings/filemasks.h
 create mode 100644 quanta/dialogs/settings/filemaskss.ui
 create mode 100644 quanta/dialogs/settings/parseroptions.cpp
 create mode 100644 quanta/dialogs/settings/parseroptions.h
 create mode 100644 quanta/dialogs/settings/parseroptionsui.ui
 create mode 100644 quanta/dialogs/settings/previewoptions.cpp
 create mode 100644 quanta/dialogs/settings/previewoptions.h
 create mode 100644 quanta/dialogs/settings/previewoptionss.ui
 create mode 100644 quanta/dialogs/settings/styleoptionss.ui

(limited to 'quanta/dialogs/settings')

diff --git a/quanta/dialogs/settings/Makefile.am b/quanta/dialogs/settings/Makefile.am
new file mode 100644
index 00000000..0df307eb
--- /dev/null
+++ b/quanta/dialogs/settings/Makefile.am
@@ -0,0 +1,13 @@
+noinst_LTLIBRARIES = libsettingsdialogs.la
+
+libsettingsdialogs_la_SOURCES = parseroptionsui.ui parseroptions.cpp \
+	previewoptionss.ui previewoptions.cpp filemaskss.ui filemasks.cpp styleoptionss.ui \
+	abbreviations.ui abbreviation.cpp codetemplatedlgs.ui
+
+METASOURCES = AUTO
+
+AM_CPPFLAGS = -I$(top_srcdir)/quanta/utility \
+	-I$(top_srcdir)/quanta/parsers \
+	-I$(top_srcdir)/quanta/src \
+	$(all_includes)
+
diff --git a/quanta/dialogs/settings/abbreviation.cpp b/quanta/dialogs/settings/abbreviation.cpp
new file mode 100644
index 00000000..56f81c0e
--- /dev/null
+++ b/quanta/dialogs/settings/abbreviation.cpp
@@ -0,0 +1,277 @@
+/***************************************************************************
+                          abbreviation.cpp  -  description
+                             -------------------
+    copyright            : (C) 2003 by Andras Mantia <amantia@kde.org>
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; version 2 of the License.               *
+ *                                                                         *
+ ***************************************************************************/
+
+//qt includes
+#include <qdom.h>
+#include <qfile.h>
+#include <qfileinfo.h>
+#include <qlineedit.h>
+#include <qtextedit.h>
+#include <qtextstream.h>
+#include <qtimer.h>
+
+//kde includes
+#include <kcombobox.h>
+#include <kdebug.h>
+#include <kdialogbase.h>
+#include <kglobal.h>
+#include <kinputdialog.h>
+#include <klistbox.h>
+#include <klistview.h>
+#include <klocale.h>
+#include <kmessagebox.h>
+#include <kstandarddirs.h>
+
+//app includes
+#include "abbreviation.h"
+#include "codetemplatedlgs.h"
+#include "resource.h"
+#include "quantacommon.h"
+#include "dtds.h"
+
+
+AbbreviationDlg::AbbreviationDlg(QWidget *parent, const char *name):
+    AbbreviationDlgS(parent, name)
+{
+  m_oldItem = 0L;
+  m_currentAbbrev = 0L;
+
+  QMapConstIterator<QString, Abbreviation> it;
+  for (it = qConfig.abbreviations.constBegin(); it != qConfig.abbreviations.constEnd(); ++it)
+  {
+    groupCombo->insertItem(it.key());
+  }
+  slotGroupChanged(groupCombo->currentText());
+}
+
+AbbreviationDlg::~AbbreviationDlg()
+{
+}
+
+void AbbreviationDlg::slotGroupChanged(const QString& newGroupName)
+{
+  //save the current template
+  QListViewItem *item = templatesList->currentItem();
+  if (item && m_currentAbbrev)
+     m_currentAbbrev->abbreviations.insert(item->text(0) + " " + item->text(1), codeEdit->text());
+  dtepList->clear();
+  templatesList->clear();
+  codeEdit->clear();
+  m_oldItem = 0L;
+  m_currentAbbrev = &qConfig.abbreviations[newGroupName];
+  QString templateStr;
+  QString templateName;
+  QMap<QString, QString>::ConstIterator it;
+  for ( it = m_currentAbbrev->abbreviations.constBegin(); it != m_currentAbbrev->abbreviations.constEnd(); ++it )
+  {
+    templateStr = it.key();
+    templateName = templateStr.mid(templateStr.find(' ') + 1);
+    templateStr = templateStr.left(templateStr.find(' '));
+    new KListViewItem(templatesList, templateStr, templateName);
+  }
+  for ( QStringList::ConstIterator dtepit = m_currentAbbrev->dteps.constBegin(); dtepit != m_currentAbbrev->dteps.constEnd(); ++dtepit )
+  {
+      dtepList->insertItem(DTDs::ref()->getDTDNickNameFromName(*dtepit));
+  }
+  templatesList->sort();
+  templatesList->setCurrentItem(templatesList->firstChild());
+  templatesList->setSelected(templatesList->firstChild(), true);
+}
+
+void AbbreviationDlg::slotNewGroup()
+{
+   bool ok;
+   QString groupName = KInputDialog::getText(i18n("New Abbreviation Group"), i18n("Group name:"), "", &ok, this);
+   if (ok && !groupName.isEmpty())
+   {
+      if (qConfig.abbreviations.contains(groupName))
+      {
+          KMessageBox::error(this, i18n("<qt>There is already an abbreviation group called <b>%1</b>. Choose an unique name for the new group.</qt>").arg(groupName), i18n("Group already exists"));
+          QTimer::singleShot(0, this, SLOT(slotNewGroup()));
+      } else
+      {
+         groupCombo->insertItem(groupName);
+         groupCombo->setCurrentItem(groupCombo->count()-1);
+         slotGroupChanged(groupName);
+      }
+   }
+}
+
+void AbbreviationDlg::slotAddDTEP()
+{
+  QStringList lst = DTDs::ref()->nickNameList(false);
+  for (uint i = 0; i < dtepList->count(); i++)
+     lst.remove(dtepList->text(i));
+  bool ok = false;
+  QStringList res = KInputDialog::getItemList(
+                  i18n( "Add DTEP" ),
+                  i18n( "Select a DTEP:" ), lst, 0, true, &ok, this );
+  if (ok)
+  {
+    dtepList->insertStringList(res);
+    for (QStringList::ConstIterator it = res.constBegin(); it != res.constEnd(); ++it)
+    {
+      m_currentAbbrev->dteps.append(DTDs::ref()->getDTDNameFromNickName(*it));
+    }
+  }
+}
+
+void AbbreviationDlg::slotRemoveDTEP()
+{
+  bool hasSelected = false;
+  for (uint i = 0; i < dtepList->count(); i++)
+  {
+    if (dtepList->isSelected(i))
+    {
+      m_currentAbbrev->dteps.remove(DTDs::ref()->getDTDNameFromNickName(dtepList->text(i)));
+      dtepList->removeItem(i);
+      i--;
+      hasSelected = true;
+    }
+  }
+  if (!hasSelected)
+  {
+    KMessageBox::error(this, i18n("<qt>Select a DTEP from the list before using <b>Remove</b>.</qt>"), i18n("No DTEP Selected"));
+  }
+}
+
+void AbbreviationDlg::slotTemplateSelectionChanged(QListViewItem* item)
+{
+  if (!item)
+      return;
+  //QListViewItem *m_oldItem = templatesList->currentItem();
+  if (m_oldItem)
+  {
+    QString key = m_oldItem->text(0)+" " +m_oldItem->text(1);
+    m_currentAbbrev->abbreviations.insert(key, codeEdit->text());
+  }
+
+  QString code = m_currentAbbrev->abbreviations[item->text(0)+" " +item->text(1)];
+  codeEdit->setText(code);
+  m_oldItem = item;
+}
+
+void AbbreviationDlg::slotAddTemplate()
+{
+  KDialogBase dlg(this, 0, true, i18n("Add Code Template"), KDialogBase::Ok | KDialogBase::Cancel);
+  CodeTemplateDlgS w(&dlg);
+  dlg.setMainWidget(&w);
+  w.templateEdit->setFocus();
+  if (dlg.exec())
+  {
+    QString templateName = w.templateEdit->text();
+    QString description = w.descriptionEdit->text();
+    if (!templateName.isEmpty())
+    {
+      QListViewItem *item = new KListViewItem(templatesList, templateName, description);
+      templatesList->setCurrentItem(item);
+      templatesList->setSelected(item, true);
+      templatesList->ensureItemVisible(item);
+      codeEdit->setFocus();
+    }
+  }
+}
+
+void AbbreviationDlg::slotRemoveTemplate()
+{
+  QListViewItem *item = templatesList->currentItem();
+  if (item &&
+      KMessageBox::warningContinueCancel(this, i18n("<qt>Do you really want to remove the <b>%1</b> template?</qt>").arg(item->text(1)),QString::null,KStdGuiItem::del()) == KMessageBox::Continue)
+  {
+    m_currentAbbrev->abbreviations.remove(item->text(0)+" "+item->text(1));
+    delete item;
+    m_oldItem = 0L;
+    slotTemplateSelectionChanged(templatesList->currentItem());
+  }
+}
+
+void AbbreviationDlg::slotEditTemplate()
+{
+  QListViewItem *item = templatesList->currentItem();
+  if (!item)
+      return;
+  KDialogBase dlg(this, 0, true, i18n("Edit Code Template"), KDialogBase::Ok | KDialogBase::Cancel);
+  CodeTemplateDlgS w(&dlg);
+  dlg.setMainWidget(&w);
+  w.templateEdit->setText(item->text(0));
+  w.descriptionEdit->setText(item->text(1));
+  if (dlg.exec())
+  {
+    m_currentAbbrev->abbreviations.remove(item->text(0)+" "+item->text(1));
+    item->setText(0, w.templateEdit->text());
+    item->setText(1, w.descriptionEdit->text());
+    m_currentAbbrev->abbreviations.insert(item->text(0) + " " + item->text(1), codeEdit->text());
+  }
+}
+
+
+void AbbreviationDlg::saveTemplates()
+{
+  QListViewItem *item = templatesList->currentItem();
+  if (item && m_currentAbbrev)
+     m_currentAbbrev->abbreviations.insert(item->text(0) + " " + item->text(1), codeEdit->text());
+  QString abbrevFile = KGlobal::dirs()->saveLocation("data") + resourceDir + "abbreviations.xml";
+  QString s = "<!DOCTYPE Templates>\n<Templates>\n</Templates>\n";
+  QString s2;
+  QDomDocument doc;
+  doc.setContent(s);
+  QDomNode firstNode = doc.firstChild();
+  Abbreviation abbrev;
+  QMap<QString, Abbreviation>::ConstIterator abbrevIt;
+  for (abbrevIt = qConfig.abbreviations.constBegin(); abbrevIt != qConfig.abbreviations.constEnd(); ++abbrevIt)
+  {
+    QDomElement groupEl = doc.createElement("Group");
+    groupEl.setAttribute("name", abbrevIt.key());
+    abbrev = abbrevIt.data();
+    for (QStringList::ConstIterator dtepIt = abbrev.dteps.constBegin(); dtepIt != abbrev.dteps.constEnd(); ++dtepIt)
+    {
+      QDomElement el = doc.createElement("DTEP");
+      el.setAttribute("name", *dtepIt);
+      groupEl.appendChild(el);
+    }
+    int pos;
+    QMap<QString,QString>::ConstIterator it;
+    for (it = abbrev.abbreviations.constBegin(); it != abbrev.abbreviations.constEnd(); ++it)
+    {
+      QDomElement el = doc.createElement("Template");
+      el.setAttribute("code", it.data());
+      s = it.key();
+      s2 = "";
+      pos = s.find(' ');
+      if (pos != -1)
+      {
+        s2 = s.mid(pos+1);
+        s = s.left(pos);
+      }
+      el.setAttribute("name", s);
+      el.setAttribute("description", s2);
+      groupEl.appendChild(el);
+    }
+    firstNode.appendChild(groupEl);
+  }
+
+  QFile f(abbrevFile);
+  if (f.open(IO_WriteOnly | IO_Truncate))
+  {
+    QTextStream str(&f);
+    str.setEncoding(QTextStream::UnicodeUTF8);
+    str << doc.toString();
+    f.close();
+  } else
+  {
+    KMessageBox::error(this, i18n("<qt>Cannot open the file <b>%1</b> for writing.\nModified abbreviations will be lost when you quit Quanta.</qt>").arg(s));
+  }
+}
+
+#include "abbreviation.moc"
diff --git a/quanta/dialogs/settings/abbreviation.h b/quanta/dialogs/settings/abbreviation.h
new file mode 100644
index 00000000..0e2a34c6
--- /dev/null
+++ b/quanta/dialogs/settings/abbreviation.h
@@ -0,0 +1,53 @@
+/***************************************************************************
+                          abbreviation.cpp  -  description
+                             -------------------
+    copyright            : (C) 2003 by Andras Mantia <amantia@kde.org>
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; version 2 of the License.               *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef ABBREVIATION_H
+#define ABBREVIATION_H
+
+#include <qmap.h>
+#include <qstringlist.h>
+
+#include <abbreviations.h>
+
+class QListViewItem;
+class Abbreviation;
+struct DTDStruct;
+
+class AbbreviationDlg : public AbbreviationDlgS
+{
+  Q_OBJECT
+public:
+  AbbreviationDlg(QWidget *parent, const char *name = 0);
+  ~AbbreviationDlg();
+
+  void saveTemplates();
+
+public slots:
+  void slotGroupChanged(const QString& newGroupName);
+
+private slots:
+  void slotNewGroup();
+  void slotAddDTEP();
+  void slotRemoveDTEP();
+  void slotTemplateSelectionChanged(QListViewItem*);
+  void slotAddTemplate();
+  void slotRemoveTemplate();
+  void slotEditTemplate();
+
+private:
+  QListViewItem *m_oldItem;
+  Abbreviation *m_currentAbbrev;
+};
+
+#endif
diff --git a/quanta/dialogs/settings/abbreviations.ui b/quanta/dialogs/settings/abbreviations.ui
new file mode 100644
index 00000000..9274fdc6
--- /dev/null
+++ b/quanta/dialogs/settings/abbreviations.ui
@@ -0,0 +1,354 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>AbbreviationDlgS</class>
+<comment>/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; version 2 of the License.               *
+ *                                                                         *
+ ***************************************************************************/
+</comment>
+<author>(C) 2003 Andras Mantia &lt;amantia@kde.org&gt;</author>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>AbbreviationDlgS</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>600</width>
+            <height>480</height>
+        </rect>
+    </property>
+    <property name="caption">
+        <string>Abbreviations</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="KPushButton" row="1" column="2" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>addDTEPButton</cstring>
+            </property>
+            <property name="text">
+                <string>Add...</string>
+            </property>
+        </widget>
+        <widget class="KPushButton" row="2" column="2" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>removeDTEPButton</cstring>
+            </property>
+            <property name="text">
+                <string>Remove</string>
+            </property>
+        </widget>
+        <widget class="KPushButton" row="0" column="2" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>newGroupButton</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;New...</string>
+            </property>
+        </widget>
+        <widget class="QLabel" row="0" column="0">
+            <property name="name">
+                <cstring>textLabel1_2</cstring>
+            </property>
+            <property name="sizePolicy">
+                <sizepolicy>
+                    <hsizetype>1</hsizetype>
+                    <vsizetype>1</vsizetype>
+                    <horstretch>0</horstretch>
+                    <verstretch>0</verstretch>
+                </sizepolicy>
+            </property>
+            <property name="text">
+                <string>&amp;Group:</string>
+            </property>
+            <property name="buddy" stdset="0">
+                <cstring>groupCombo</cstring>
+            </property>
+        </widget>
+        <widget class="QLabel" row="1" column="0">
+            <property name="name">
+                <cstring>textLabel1</cstring>
+            </property>
+            <property name="sizePolicy">
+                <sizepolicy>
+                    <hsizetype>1</hsizetype>
+                    <vsizetype>1</vsizetype>
+                    <horstretch>0</horstretch>
+                    <verstretch>0</verstretch>
+                </sizepolicy>
+            </property>
+            <property name="text">
+                <string>&amp;Valid for:</string>
+            </property>
+            <property name="buddy" stdset="0">
+                <cstring>dtepList</cstring>
+            </property>
+        </widget>
+        <widget class="KComboBox" row="0" column="1">
+            <property name="name">
+                <cstring>groupCombo</cstring>
+            </property>
+            <property name="sizePolicy">
+                <sizepolicy>
+                    <hsizetype>3</hsizetype>
+                    <vsizetype>0</vsizetype>
+                    <horstretch>0</horstretch>
+                    <verstretch>0</verstretch>
+                </sizepolicy>
+            </property>
+        </widget>
+        <widget class="QTextEdit" row="10" column="0" rowspan="1" colspan="4">
+            <property name="name">
+                <cstring>codeEdit</cstring>
+            </property>
+            <property name="textFormat">
+                <enum>PlainText</enum>
+            </property>
+        </widget>
+        <widget class="KListView" row="5" column="0" rowspan="4" colspan="2">
+            <column>
+                <property name="text">
+                    <string>Template</string>
+                </property>
+                <property name="clickable">
+                    <bool>true</bool>
+                </property>
+                <property name="resizable">
+                    <bool>true</bool>
+                </property>
+            </column>
+            <column>
+                <property name="text">
+                    <string>Description</string>
+                </property>
+                <property name="clickable">
+                    <bool>true</bool>
+                </property>
+                <property name="resizable">
+                    <bool>true</bool>
+                </property>
+            </column>
+            <property name="name">
+                <cstring>templatesList</cstring>
+            </property>
+            <property name="sizePolicy">
+                <sizepolicy>
+                    <hsizetype>7</hsizetype>
+                    <vsizetype>5</vsizetype>
+                    <horstretch>0</horstretch>
+                    <verstretch>0</verstretch>
+                </sizepolicy>
+            </property>
+            <property name="resizeMode">
+                <enum>LastColumn</enum>
+            </property>
+            <property name="fullWidth">
+                <bool>true</bool>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="5" column="2" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>addButton</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Add...</string>
+            </property>
+        </widget>
+        <spacer row="8" column="3">
+            <property name="name">
+                <cstring>spacer4</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Vertical</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Preferred</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>20</width>
+                    <height>30</height>
+                </size>
+            </property>
+        </spacer>
+        <widget class="QPushButton" row="6" column="2" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>removeButton</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Remove</string>
+            </property>
+        </widget>
+        <widget class="QPushButton" row="7" column="2" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>editButton</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Edit...</string>
+            </property>
+        </widget>
+        <widget class="QLabel" row="9" column="0" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>textLabel2</cstring>
+            </property>
+            <property name="frameShape">
+                <enum>NoFrame</enum>
+            </property>
+            <property name="frameShadow">
+                <enum>Plain</enum>
+            </property>
+            <property name="text">
+                <string>Expands to:</string>
+            </property>
+            <property name="buddy" stdset="0">
+                <cstring>codeEdit</cstring>
+            </property>
+        </widget>
+        <widget class="QLabel" row="4" column="0">
+            <property name="name">
+                <cstring>textLabel3</cstring>
+            </property>
+            <property name="sizePolicy">
+                <sizepolicy>
+                    <hsizetype>1</hsizetype>
+                    <vsizetype>5</vsizetype>
+                    <horstretch>0</horstretch>
+                    <verstretch>0</verstretch>
+                </sizepolicy>
+            </property>
+            <property name="text">
+                <string>&amp;Templates:</string>
+            </property>
+            <property name="buddy" stdset="0">
+                <cstring>templatesList</cstring>
+            </property>
+        </widget>
+        <widget class="KListBox" row="1" column="1" rowspan="3" colspan="1">
+            <property name="name">
+                <cstring>dtepList</cstring>
+            </property>
+            <property name="sizePolicy">
+                <sizepolicy>
+                    <hsizetype>7</hsizetype>
+                    <vsizetype>7</vsizetype>
+                    <horstretch>0</horstretch>
+                    <verstretch>0</verstretch>
+                </sizepolicy>
+            </property>
+            <property name="selectionMode">
+                <enum>Extended</enum>
+            </property>
+        </widget>
+        <spacer row="3" column="3" rowspan="2" colspan="1">
+            <property name="name">
+                <cstring>spacer2</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Vertical</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Expanding</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>20</width>
+                    <height>40</height>
+                </size>
+            </property>
+        </spacer>
+    </grid>
+</widget>
+<customwidgets>
+</customwidgets>
+<connections>
+    <connection>
+        <sender>templatesList</sender>
+        <signal>selectionChanged(QListViewItem*)</signal>
+        <receiver>AbbreviationDlgS</receiver>
+        <slot>slotTemplateSelectionChanged(QListViewItem*)</slot>
+    </connection>
+    <connection>
+        <sender>addButton</sender>
+        <signal>clicked()</signal>
+        <receiver>AbbreviationDlgS</receiver>
+        <slot>slotAddTemplate()</slot>
+    </connection>
+    <connection>
+        <sender>removeButton</sender>
+        <signal>clicked()</signal>
+        <receiver>AbbreviationDlgS</receiver>
+        <slot>slotRemoveTemplate()</slot>
+    </connection>
+    <connection>
+        <sender>editButton</sender>
+        <signal>clicked()</signal>
+        <receiver>AbbreviationDlgS</receiver>
+        <slot>slotEditTemplate()</slot>
+    </connection>
+    <connection>
+        <sender>groupCombo</sender>
+        <signal>activated(const QString&amp;)</signal>
+        <receiver>AbbreviationDlgS</receiver>
+        <slot>slotGroupChanged(const QString&amp;)</slot>
+    </connection>
+    <connection>
+        <sender>newGroupButton</sender>
+        <signal>clicked()</signal>
+        <receiver>AbbreviationDlgS</receiver>
+        <slot>slotNewGroup()</slot>
+    </connection>
+    <connection>
+        <sender>addDTEPButton</sender>
+        <signal>clicked()</signal>
+        <receiver>AbbreviationDlgS</receiver>
+        <slot>slotAddDTEP()</slot>
+    </connection>
+    <connection>
+        <sender>removeDTEPButton</sender>
+        <signal>clicked()</signal>
+        <receiver>AbbreviationDlgS</receiver>
+        <slot>slotRemoveDTEP()</slot>
+    </connection>
+    <connection>
+        <sender>templatesList</sender>
+        <signal>doubleClicked(QListViewItem*)</signal>
+        <receiver>AbbreviationDlgS</receiver>
+        <slot>slotEditTemplate()</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>templatesList</tabstop>
+    <tabstop>groupCombo</tabstop>
+    <tabstop>newGroupButton</tabstop>
+    <tabstop>dtepList</tabstop>
+    <tabstop>addDTEPButton</tabstop>
+    <tabstop>removeDTEPButton</tabstop>
+    <tabstop>addButton</tabstop>
+    <tabstop>removeButton</tabstop>
+    <tabstop>editButton</tabstop>
+    <tabstop>codeEdit</tabstop>
+</tabstops>
+<slots>
+    <slot>slotTemplateSelectionChanged(QListViewItem*)</slot>
+    <slot>dtdCombo_activated(const QString&amp;)</slot>
+    <slot>slotGroupChanged(const QString&amp;)</slot>
+    <slot>slotAddTemplate()</slot>
+    <slot>slotRemoveTemplate()</slot>
+    <slot>templatesList_currentChanged(QListViewItem*)</slot>
+    <slot>slotEditTemplate()</slot>
+    <slot>slotAddDTEP()</slot>
+    <slot>slotRemoveDTEP()</slot>
+    <slot>slotNewGroup()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+<includehints>
+    <includehint>klistview.h</includehint>
+    <includehint>klistbox.h</includehint>
+</includehints>
+</UI>
diff --git a/quanta/dialogs/settings/codetemplatedlgs.ui b/quanta/dialogs/settings/codetemplatedlgs.ui
new file mode 100644
index 00000000..5aa9254f
--- /dev/null
+++ b/quanta/dialogs/settings/codetemplatedlgs.ui
@@ -0,0 +1,81 @@
+<!DOCTYPE UI><UI version="3.1" stdsetdef="1">
+<class>CodeTemplateDlgS</class>
+<comment>/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; version 2 of the License.               *
+ *                                                                         *
+ ***************************************************************************/
+</comment>
+<author>(C) 2003 by Andras Mantia &lt;amantia@kde.org&gt;</author>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>CodeTemplateDlgS</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>400</width>
+            <height>72</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>400</width>
+            <height>70</height>
+        </size>
+    </property>
+    <property name="caption">
+        <string>Add Code Template</string>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLabel" row="0" column="0">
+            <property name="name">
+                <cstring>textLabel1</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Template:</string>
+            </property>
+            <property name="buddy" stdset="0">
+                <cstring>templateEdit</cstring>
+            </property>
+        </widget>
+        <widget class="QLabel" row="1" column="0">
+            <property name="name">
+                <cstring>textLabel2</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Description:</string>
+            </property>
+            <property name="buddy" stdset="0">
+                <cstring>descriptionEdit</cstring>
+            </property>
+        </widget>
+        <widget class="QLineEdit" row="0" column="1" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>templateEdit</cstring>
+            </property>
+        </widget>
+        <widget class="QLineEdit" row="1" column="1" rowspan="1" colspan="3">
+            <property name="name">
+                <cstring>descriptionEdit</cstring>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<tabstops>
+    <tabstop>templateEdit</tabstop>
+    <tabstop>descriptionEdit</tabstop>
+</tabstops>
+<slots>
+    <slot>accept()</slot>
+    <slot>reject()</slot>
+    <slot>pushButton4_clicked()</slot>
+</slots>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/quanta/dialogs/settings/filemasks.cpp b/quanta/dialogs/settings/filemasks.cpp
new file mode 100644
index 00000000..14e824c1
--- /dev/null
+++ b/quanta/dialogs/settings/filemasks.cpp
@@ -0,0 +1,67 @@
+/***************************************************************************
+                          filesmask.cpp  -  description
+                             -------------------
+    begin                : Fri May 19 2000
+    copyright            : (C) 2000 by Yacovlev Alexander & Dmitry Poplavsky <pdima@mail.univ.kiev.ua>
+                           (C) 2002 Andras Mantia <amantia@kde.org>
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include "filemasks.h"
+#include "filemasks.moc"
+// qt includes
+#include <qlineedit.h>
+#include <qpushbutton.h>
+
+//kde includes
+#include <kmimetype.h>
+
+FileMasks::FileMasks(QWidget *parent, const char *name)
+  :FileMasksS(parent,name)
+{
+  connect(buttonDefault, SIGNAL(clicked()), this, SLOT(setToDefault()));
+}
+
+FileMasks::~FileMasks(){
+}
+/** set masks to default */
+void FileMasks::setToDefault()
+{
+ KMimeType::List list = KMimeType::allMimeTypes();
+ KMimeType::List::iterator it;
+ QString markup, script, image, text;
+ markup = "text/css; text/html; text/sgml; text/xml; ";
+ script = "text/x-perl; text/x-python; text/x-php; text/x-java; text/x-asp; ";
+ QString name;
+ for ( it = list.begin(); it != list.end(); ++it )
+ {
+    name = (*it)->name();
+    if (name.contains("text"))
+    {
+      if (!markup.contains(name) && !script.contains(name))
+         text += name+"; ";
+    }
+    if (name.contains("image"))
+    {
+      image += name +"; ";
+    }
+ }
+ lineMarkup->setText(markup);
+ lineScript->setText(script);
+ lineImage->setText(image);
+ lineText->setText(text);
+
+/*
+   lineHTML->setText("*.*html *.*htm *.php* *.asp *.cfm *.css *.inc* *.*HTML *.*HTM *.PHP* *.ASP *.CFM *.CSS *.INC* ");
+   linePHP->setText( "*.php* *.PHP*" );
+   lineImages->setText("*.gif *.jpg *.png *.jpeg *.bmp *.GIF *.JPG *.PNG *.JPEG *.BMP ");
+   lineText->setText( "*.txt *.TXT " );
+   */
+}
diff --git a/quanta/dialogs/settings/filemasks.h b/quanta/dialogs/settings/filemasks.h
new file mode 100644
index 00000000..2d13c1f5
--- /dev/null
+++ b/quanta/dialogs/settings/filemasks.h
@@ -0,0 +1,35 @@
+/***************************************************************************
+                          filesmask.h  -  description
+                             -------------------
+    begin                : Fri May 19 2000
+    copyright            : (C) 2000 by Yacovlev Alexander & Dmitry Poplavsky <pdima@mail.univ.kiev.ua>
+                           (C) 2002 Andras Mantia <amantia@kde.org>
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef FILEMASKS_H
+#define FILEMASKS_H
+
+#include "filemaskss.h"
+
+
+class FileMasks : public FileMasksS
+{
+   Q_OBJECT
+public:
+  FileMasks(QWidget *parent=0, const char *name=0);
+  ~FileMasks();
+
+public slots:
+  void setToDefault();
+};
+
+#endif
diff --git a/quanta/dialogs/settings/filemaskss.ui b/quanta/dialogs/settings/filemaskss.ui
new file mode 100644
index 00000000..f8cdb4f6
--- /dev/null
+++ b/quanta/dialogs/settings/filemaskss.ui
@@ -0,0 +1,336 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>FileMasksS</class>
+<comment>/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+</comment>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>FileMasksS</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>571</width>
+            <height>571</height>
+        </rect>
+    </property>
+    <property name="sizePolicy">
+        <sizepolicy>
+            <hsizetype>3</hsizetype>
+            <vsizetype>3</vsizetype>
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+        </sizepolicy>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>0</width>
+            <height>0</height>
+        </size>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QComboBox" row="1" column="1">
+            <property name="name">
+                <cstring>encodingCombo</cstring>
+            </property>
+        </widget>
+        <widget class="QComboBox" row="2" column="1">
+            <property name="name">
+                <cstring>defaultDTDCombo</cstring>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>New files will have the extension and highlighting according to this setting</string>
+            </property>
+        </widget>
+        <widget class="QGroupBox" row="0" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>GroupBox1</cstring>
+            </property>
+            <property name="frameShape">
+                <enum>GroupBoxPanel</enum>
+            </property>
+            <property name="frameShadow">
+                <enum>Sunken</enum>
+            </property>
+            <property name="title">
+                <string>Mimetypes</string>
+            </property>
+            <grid>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QLineEdit" row="0" column="1" rowspan="1" colspan="2">
+                    <property name="name">
+                        <cstring>lineMarkup</cstring>
+                    </property>
+                    <property name="alignment">
+                        <set>AlignLeft</set>
+                    </property>
+                </widget>
+                <widget class="QLineEdit" row="2" column="1" rowspan="1" colspan="2">
+                    <property name="name">
+                        <cstring>lineImage</cstring>
+                    </property>
+                    <property name="alignment">
+                        <set>AlignLeft</set>
+                    </property>
+                </widget>
+                <widget class="QPushButton" row="4" column="2">
+                    <property name="name">
+                        <cstring>buttonDefault</cstring>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Reset to Default</string>
+                    </property>
+                </widget>
+                <widget class="QLabel" row="3" column="0">
+                    <property name="name">
+                        <cstring>TextLabel4_2</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Te&amp;xts:</string>
+                    </property>
+                    <property name="buddy" stdset="0">
+                        <cstring>lineText</cstring>
+                    </property>
+                </widget>
+                <widget class="QLabel" row="0" column="0">
+                    <property name="name">
+                        <cstring>TextLabel1_3</cstring>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Markups:</string>
+                    </property>
+                    <property name="buddy" stdset="0">
+                        <cstring>lineMarkup</cstring>
+                    </property>
+                </widget>
+                <widget class="QLabel" row="2" column="0">
+                    <property name="name">
+                        <cstring>TextLabel3_2</cstring>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Images:</string>
+                    </property>
+                    <property name="buddy" stdset="0">
+                        <cstring>lineImage</cstring>
+                    </property>
+                </widget>
+                <widget class="QLineEdit" row="3" column="1" rowspan="1" colspan="2">
+                    <property name="name">
+                        <cstring>lineText</cstring>
+                    </property>
+                    <property name="alignment">
+                        <set>AlignLeft</set>
+                    </property>
+                </widget>
+                <widget class="QLabel" row="1" column="0">
+                    <property name="name">
+                        <cstring>TextLabel2_2</cstring>
+                    </property>
+                    <property name="sizePolicy">
+                        <sizepolicy>
+                            <hsizetype>1</hsizetype>
+                            <vsizetype>1</vsizetype>
+                            <horstretch>0</horstretch>
+                            <verstretch>0</verstretch>
+                        </sizepolicy>
+                    </property>
+                    <property name="minimumSize">
+                        <size>
+                            <width>0</width>
+                            <height>0</height>
+                        </size>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Scripts:</string>
+                    </property>
+                    <property name="scaledContents">
+                        <bool>false</bool>
+                    </property>
+                    <property name="buddy" stdset="0">
+                        <cstring>lineScript</cstring>
+                    </property>
+                </widget>
+                <spacer row="4" column="1">
+                    <property name="name">
+                        <cstring>Spacer2_2</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>153</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                </spacer>
+                <widget class="QLineEdit" row="1" column="1" rowspan="1" colspan="2">
+                    <property name="name">
+                        <cstring>lineScript</cstring>
+                    </property>
+                    <property name="alignment">
+                        <set>AlignLeft</set>
+                    </property>
+                </widget>
+            </grid>
+        </widget>
+        <widget class="QLabel" row="1" column="0">
+            <property name="name">
+                <cstring>TextLabel1_2</cstring>
+            </property>
+            <property name="text">
+                <string>Default character &amp;encoding:</string>
+            </property>
+            <property name="alignment">
+                <set>AlignVCenter|AlignLeft</set>
+            </property>
+            <property name="buddy" stdset="0">
+                <cstring>encodingCombo</cstring>
+            </property>
+        </widget>
+        <widget class="QLabel" row="2" column="0">
+            <property name="name">
+                <cstring>TextLabel1_2_3</cstring>
+            </property>
+            <property name="text">
+                <string>Default &amp;DTD:</string>
+            </property>
+            <property name="buddy" stdset="0">
+                <cstring>defaultDTDCombo</cstring>
+            </property>
+        </widget>
+        <spacer row="6" column="0">
+            <property name="name">
+                <cstring>spacer3</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Vertical</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Expanding</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>20</width>
+                    <height>50</height>
+                </size>
+            </property>
+        </spacer>
+        <widget class="QButtonGroup" row="5" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>buttonGroup7</cstring>
+            </property>
+            <property name="title">
+                <string>Startup Options</string>
+            </property>
+            <grid>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QCheckBox" row="3" column="0">
+                    <property name="name">
+                        <cstring>reloadFiles</cstring>
+                    </property>
+                    <property name="text">
+                        <string>L&amp;oad last-opened files</string>
+                    </property>
+                </widget>
+                <widget class="QCheckBox" row="1" column="0">
+                    <property name="name">
+                        <cstring>showSplash</cstring>
+                    </property>
+                    <property name="text">
+                        <string>S&amp;how splashscreen</string>
+                    </property>
+                </widget>
+                <widget class="QCheckBox" row="2" column="0">
+                    <property name="name">
+                        <cstring>reloadProject</cstring>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Load last-opened project</string>
+                    </property>
+                </widget>
+            </grid>
+        </widget>
+        <widget class="QLayoutWidget" row="4" column="0">
+            <property name="name">
+                <cstring>layout2</cstring>
+            </property>
+            <hbox>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QLabel">
+                    <property name="name">
+                        <cstring>tlAutoSave</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Create backups every</string>
+                    </property>
+                </widget>
+                <widget class="QSpinBox">
+                    <property name="name">
+                        <cstring>sbAutoSave</cstring>
+                    </property>
+                    <property name="maxValue">
+                        <number>30000</number>
+                    </property>
+                    <property name="minValue">
+                        <number>1</number>
+                    </property>
+                    <property name="value">
+                        <number>15</number>
+                    </property>
+                </widget>
+                <widget class="QLabel">
+                    <property name="name">
+                        <cstring>textLabel1</cstring>
+                    </property>
+                    <property name="text">
+                        <string>minutes</string>
+                    </property>
+                </widget>
+            </hbox>
+        </widget>
+        <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>showDTDSelectDialog</cstring>
+            </property>
+            <property name="text">
+                <string>Show the DTD selection dialog when loading files with &amp;unknown DTD</string>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<tabstops>
+    <tabstop>lineMarkup</tabstop>
+    <tabstop>lineScript</tabstop>
+    <tabstop>lineImage</tabstop>
+    <tabstop>lineText</tabstop>
+    <tabstop>buttonDefault</tabstop>
+    <tabstop>encodingCombo</tabstop>
+    <tabstop>defaultDTDCombo</tabstop>
+    <tabstop>showDTDSelectDialog</tabstop>
+    <tabstop>sbAutoSave</tabstop>
+    <tabstop>showSplash</tabstop>
+    <tabstop>reloadProject</tabstop>
+    <tabstop>reloadFiles</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/quanta/dialogs/settings/parseroptions.cpp b/quanta/dialogs/settings/parseroptions.cpp
new file mode 100644
index 00000000..0ad00d73
--- /dev/null
+++ b/quanta/dialogs/settings/parseroptions.cpp
@@ -0,0 +1,86 @@
+/***************************************************************************
+                          parseroptions.cpp  -  description
+                             -------------------
+    begin                : Fri Aug 23 2002
+    copyright            : (C) 2002 by Andras Mantia <amantia@kde.org>
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; version 2 of the License.               *
+ *                                                                         *
+ ***************************************************************************/
+
+#include "parseroptions.h"
+#include "parseroptions.moc"
+#include <qcombobox.h>
+#include <qspinbox.h>
+
+#include <klocale.h>
+#include <kconfig.h>
+
+/*
+ *  Constructs a ParserOptions which is a child of 'parent', with the
+ *  name 'name' and widget flags set to 'f'
+ */
+ParserOptions::ParserOptions( KConfig *a_config, QWidget* parent,  const char* name )
+    : ParserOptionsUI( parent, name )
+{
+    config = a_config;
+    config->setGroup("Parser options");
+
+    QString handleLBM = config->readEntry("LBM", i18n("Find Tag & Open Tree"));
+    QString handleMBM = config->readEntry("MBM", i18n("Nothing"));
+    QString handleRBM = config->readEntry("RBM", i18n("Popup Menu"));
+    QString handleDoubleClick = config->readEntry("Double click", i18n("Select Tag Area"));
+
+
+    if ( !name )
+      setName( "ParserOptions" );
+
+    if ( handleLBM == i18n("Find Tag & Open Tree") )
+    {
+      comboLBM->setCurrentItem(1);
+    }
+    else
+    {
+      comboLBM->setCurrentItem(0);
+    }
+
+    if ( handleMBM == i18n("Find Tag & Open Tree") ) comboMBM->setCurrentItem(0);
+    if ( handleMBM == i18n("Find Tag") ) comboMBM->setCurrentItem(1);
+    if ( handleMBM == i18n("Go to End of Tag") ) comboMBM->setCurrentItem(2);
+    if ( handleMBM == i18n("Select Tag Area") ) comboMBM->setCurrentItem(3);
+    if ( handleMBM == i18n("Nothing")) comboMBM->setCurrentItem(4);
+
+    if ( handleDoubleClick == i18n("Select Tag Area") )
+    {
+      comboDoubleClick->setCurrentItem(0);
+    }
+    else
+    {
+      comboDoubleClick->setCurrentItem(1);
+    }
+}
+
+/*
+ *  Destroys the object and frees any allocated resources
+ */
+ParserOptions::~ParserOptions()
+{
+    // no need to delete child widgets, Qt does it all for us
+}
+
+
+void ParserOptions::updateConfig()
+{
+
+    config->setGroup("Parser options");
+
+    config->writeEntry("MBM",comboMBM->currentText());
+    config->writeEntry("LBM",comboLBM->currentText());
+    config->writeEntry("RBM",comboRBM->currentText());
+    config->writeEntry("Double click",comboDoubleClick->currentText());
+}
diff --git a/quanta/dialogs/settings/parseroptions.h b/quanta/dialogs/settings/parseroptions.h
new file mode 100644
index 00000000..a4bdd0f5
--- /dev/null
+++ b/quanta/dialogs/settings/parseroptions.h
@@ -0,0 +1,37 @@
+/***************************************************************************
+                          parseroptions.h  -  description
+                             -------------------
+    begin                : Fri Aug 23 2002
+    copyright            : (C) 2002 by Andras Mantia <amantia@kde.org>
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; version 2 of the License.               *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef PARSEROPTIONS_H
+#define PARSEROPTIONS_H
+
+#include "parseroptionsui.h"
+
+class KConfig;
+
+class ParserOptions : public ParserOptionsUI
+{
+    Q_OBJECT
+
+public:
+    ParserOptions( KConfig *config, QWidget* parent = 0, const char* name = 0);
+    ~ParserOptions();
+
+    void updateConfig();
+
+protected:
+    KConfig *config;
+};
+
+#endif // PARSEROPTIONS_H
diff --git a/quanta/dialogs/settings/parseroptionsui.ui b/quanta/dialogs/settings/parseroptionsui.ui
new file mode 100644
index 00000000..34a54cd6
--- /dev/null
+++ b/quanta/dialogs/settings/parseroptionsui.ui
@@ -0,0 +1,314 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>ParserOptionsUI</class>
+<comment>/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; version 2 of the License.               *
+ *                                                                         *
+ ***************************************************************************/
+</comment>
+<author>(C) 2002 Andras Mantia &lt;amantia@kde.org&gt;</author>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>ParserOptionsUI</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>470</width>
+            <height>413</height>
+        </rect>
+    </property>
+    <property name="sizePolicy">
+        <sizepolicy>
+            <hsizetype>5</hsizetype>
+            <vsizetype>5</vsizetype>
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+        </sizepolicy>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>0</width>
+            <height>0</height>
+        </size>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QButtonGroup" row="1" column="0">
+            <property name="name">
+                <cstring>buttonGroup1</cstring>
+            </property>
+            <property name="title">
+                <string>Structure Tree Look &amp;&amp; Feel</string>
+            </property>
+            <grid>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QSpinBox" row="3" column="2">
+                    <property name="name">
+                        <cstring>refreshFrequency</cstring>
+                    </property>
+                    <property name="minValue">
+                        <number>0</number>
+                    </property>
+                    <property name="value">
+                        <number>5</number>
+                    </property>
+                    <property name="toolTip" stdset="0">
+                        <string>Use 0 to disable the automatic refresh of structure tree</string>
+                    </property>
+                </widget>
+                <spacer row="4" column="1">
+                    <property name="name">
+                        <cstring>Spacer4_2</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>122</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                </spacer>
+                <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="3">
+                    <property name="name">
+                        <cstring>instantUpdate</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Instant update</string>
+                    </property>
+                    <property name="toolTip" stdset="0">
+                        <string>Update the structure tree after every keystroke</string>
+                    </property>
+                </widget>
+                <spacer row="3" column="1">
+                    <property name="name">
+                        <cstring>Spacer2</cstring>
+                    </property>
+                    <property name="orientation">
+                        <enum>Horizontal</enum>
+                    </property>
+                    <property name="sizeType">
+                        <enum>Expanding</enum>
+                    </property>
+                    <property name="sizeHint">
+                        <size>
+                            <width>122</width>
+                            <height>20</height>
+                        </size>
+                    </property>
+                </spacer>
+                <widget class="QCheckBox" row="1" column="0" rowspan="1" colspan="3">
+                    <property name="name">
+                        <cstring>showClosingTags</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Show closing tags</string>
+                    </property>
+                </widget>
+                <widget class="QCheckBox" row="0" column="0" rowspan="1" colspan="3">
+                    <property name="name">
+                        <cstring>showEmptyNodes</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Show empt&amp;y nodes and groups</string>
+                    </property>
+                </widget>
+                <widget class="QSpinBox" row="4" column="2">
+                    <property name="name">
+                        <cstring>spinExpand</cstring>
+                    </property>
+                    <property name="value">
+                        <number>4</number>
+                    </property>
+                    <property name="toolTip" stdset="0">
+                        <string>Set to 0 in order to expand the whole tree</string>
+                    </property>
+                </widget>
+                <widget class="QLabel" row="3" column="0">
+                    <property name="name">
+                        <cstring>TextLabel1_5</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Refresh frequency (in seconds):</string>
+                    </property>
+                </widget>
+                <widget class="QLabel" row="4" column="0">
+                    <property name="name">
+                        <cstring>TextLabel2_2</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Expand tree when reparse to level:</string>
+                    </property>
+                </widget>
+            </grid>
+        </widget>
+        <widget class="QGroupBox" row="0" column="0">
+            <property name="name">
+                <cstring>GroupBox1</cstring>
+            </property>
+            <property name="title">
+                <string>Clicks on Structure Tree Items</string>
+            </property>
+            <property name="toolTip" stdset="0">
+                <string>Update the structure tree after every keystroke</string>
+            </property>
+            <grid>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QComboBox" row="3" column="1">
+                    <item>
+                        <property name="text">
+                            <string>Select Tag Area</string>
+                        </property>
+                    </item>
+                    <item>
+                        <property name="text">
+                            <string>Nothing</string>
+                        </property>
+                    </item>
+                    <property name="name">
+                        <cstring>comboDoubleClick</cstring>
+                    </property>
+                </widget>
+                <widget class="QComboBox" row="0" column="1">
+                    <item>
+                        <property name="text">
+                            <string>Find Tag</string>
+                        </property>
+                    </item>
+                    <item>
+                        <property name="text">
+                            <string>Find Tag &amp; Open Tree</string>
+                        </property>
+                    </item>
+                    <property name="name">
+                        <cstring>comboLBM</cstring>
+                    </property>
+                </widget>
+                <widget class="QLabel" row="0" column="0">
+                    <property name="name">
+                        <cstring>TextLabel1</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Left button:</string>
+                    </property>
+                </widget>
+                <widget class="QComboBox" row="2" column="1">
+                    <item>
+                        <property name="text">
+                            <string>Popup Menu</string>
+                        </property>
+                    </item>
+                    <property name="name">
+                        <cstring>comboRBM</cstring>
+                    </property>
+                </widget>
+                <widget class="QLabel" row="3" column="0">
+                    <property name="name">
+                        <cstring>TextLabel1_4</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Double click:</string>
+                    </property>
+                </widget>
+                <widget class="QLabel" row="1" column="0">
+                    <property name="name">
+                        <cstring>TextLabel1_2</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Middle button:</string>
+                    </property>
+                </widget>
+                <widget class="QLabel" row="2" column="0">
+                    <property name="name">
+                        <cstring>TextLabel1_3</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Right button:</string>
+                    </property>
+                </widget>
+                <widget class="QComboBox" row="1" column="1">
+                    <item>
+                        <property name="text">
+                            <string>Find Tag &amp; Open Tree</string>
+                        </property>
+                    </item>
+                    <item>
+                        <property name="text">
+                            <string>Find Tag</string>
+                        </property>
+                    </item>
+                    <item>
+                        <property name="text">
+                            <string>Go to End of Tag</string>
+                        </property>
+                    </item>
+                    <item>
+                        <property name="text">
+                            <string>Select Tag Area</string>
+                        </property>
+                    </item>
+                    <item>
+                        <property name="text">
+                            <string>Nothing</string>
+                        </property>
+                    </item>
+                    <property name="name">
+                        <cstring>comboMBM</cstring>
+                    </property>
+                </widget>
+            </grid>
+        </widget>
+        <spacer row="2" column="0">
+            <property name="name">
+                <cstring>spacer3</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Vertical</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Expanding</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>20</width>
+                    <height>40</height>
+                </size>
+            </property>
+        </spacer>
+    </grid>
+</widget>
+<connections>
+    <connection>
+        <sender>instantUpdate</sender>
+        <signal>toggled(bool)</signal>
+        <receiver>refreshFrequency</receiver>
+        <slot>setDisabled(bool)</slot>
+    </connection>
+</connections>
+<tabstops>
+    <tabstop>comboLBM</tabstop>
+    <tabstop>comboMBM</tabstop>
+    <tabstop>comboRBM</tabstop>
+    <tabstop>comboDoubleClick</tabstop>
+    <tabstop>showEmptyNodes</tabstop>
+    <tabstop>showClosingTags</tabstop>
+    <tabstop>instantUpdate</tabstop>
+    <tabstop>refreshFrequency</tabstop>
+    <tabstop>spinExpand</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/quanta/dialogs/settings/previewoptions.cpp b/quanta/dialogs/settings/previewoptions.cpp
new file mode 100644
index 00000000..c445c52d
--- /dev/null
+++ b/quanta/dialogs/settings/previewoptions.cpp
@@ -0,0 +1,127 @@
+/***************************************************************************
+                          previewoptions.cpp  -  description
+                             -------------------
+    begin                : Fri Aug 4 2000
+    copyright            : (C) 2000 by Dmitry Poplavsky & Alexander Yakovlev & Eric Laffoon <pdima@users.sourceforge.net,yshurik@penguinpowered.com,sequitur@easystreet.com>
+                           (C) 2002, 2004 Andras Mantia <amantia@kde.org>
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+#include "previewoptions.h"
+#include "previewoptions.moc"
+// qt includes
+#include <qradiobutton.h>
+#include <qcheckbox.h>
+// kde includes
+#include <klocale.h>
+#include <kmessagebox.h>
+
+PreviewOptions::PreviewOptions(QWidget *parent, const char *name)
+  : PreviewOptionsS(parent,name)
+{
+}
+
+PreviewOptions::~PreviewOptions(){
+}
+
+void PreviewOptions::setWindowLayout(const QString& layout )
+{
+  if ( layout == "Default") resetLayout->setChecked(true);
+  else resetLayout->setChecked(false);
+}
+
+void PreviewOptions::setPosition(const QString& position )
+{
+  radioEditor->setChecked(true);
+  if ( position == "Toolview"  ) radioToolview->setChecked(true);
+}
+
+QString PreviewOptions::position()
+{
+  QString position = "Editor";
+  if ( radioToolview->isChecked() )
+      position = "Toolview";
+  return position;
+}
+
+void PreviewOptions::setDocPosition(const QString &position)
+{
+    radioNewDocTab->setChecked(true);
+    if (position == "Toolview") radioSeparateDocView->setChecked(true);
+}
+
+QString PreviewOptions::docPosition()
+{
+   QString position = "Tab";
+   if (radioSeparateDocView->isChecked()) position = "Toolview";
+   return position;
+}
+
+QString PreviewOptions::layout()
+{
+  QString layout = "Custom";
+  if ( resetLayout->isChecked() )
+      layout = "Default";
+  return layout;
+}
+
+QString PreviewOptions::closeButtons()
+{
+   QString closeButtonState = "ShowAlways";
+   if (radioDelayedCloseButtons->isChecked())
+       closeButtonState = "ShowDelayed";
+   if (radioNoCloseButtons->isChecked())
+       closeButtonState = "Disabled";
+   return closeButtonState;
+}
+
+void PreviewOptions::setCloseButtons(const QString &state)
+{
+   if (state == "ShowAlways")  radioShowCloseButtons->setChecked(true);
+   if (state == "ShowDelayed")  radioDelayedCloseButtons->setChecked(true);
+   if (state == "Disabled")  radioNoCloseButtons->setChecked(true);
+}
+
+void PreviewOptions::setToolviewTabs(uint state)
+{
+   radioIcon->setChecked(true);
+   if (state == 3) radioIconText->setChecked(true);
+   if (state == 1) radioText->setChecked(true);
+   m_toolviewTabs = state;
+}
+
+uint PreviewOptions::toolviewTabs()
+{
+  uint state = 0;
+  if (radioIconText->isChecked()) state = 3;
+  if (radioText->isChecked()) state = 1;
+  return state;
+}
+
+void PreviewOptions::setHiddenFiles(bool show)
+{
+  showHidden->setChecked(show);
+}
+
+bool PreviewOptions::hiddenFiles()
+{
+  return showHidden->isChecked();
+}
+
+
+void PreviewOptions::setSaveTrees(bool show)
+{
+  saveLocalTrees->setChecked(show);
+}
+
+bool PreviewOptions::saveTrees()
+{
+  return saveLocalTrees->isChecked();
+}
diff --git a/quanta/dialogs/settings/previewoptions.h b/quanta/dialogs/settings/previewoptions.h
new file mode 100644
index 00000000..cb1f6719
--- /dev/null
+++ b/quanta/dialogs/settings/previewoptions.h
@@ -0,0 +1,50 @@
+/***************************************************************************
+                          previewoptions.h  -  description
+                             -------------------
+    begin                : Fri Aug 4 2000
+    copyright            : (C) 2000 by Dmitry Poplavsky & Alexander Yakovlev & Eric Laffoon <pdima@users.sourceforge.net,yshurik@penguinpowered.com,sequitur@easystreet.com>
+                           (C) 2002, 2004 Andras Mantia <amantia@kde.org>
+ ***************************************************************************/
+
+/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+
+#ifndef PREVIEWOPTIONS_H
+#define PREVIEWOPTIONS_H
+
+#include "previewoptionss.h"
+
+class KConfig;
+
+class PreviewOptions : public PreviewOptionsS  {
+   Q_OBJECT
+public:
+  PreviewOptions(QWidget *parent=0, const char *name=0);
+  ~PreviewOptions();
+
+  QString position();
+  QString layout();
+  QString closeButtons();
+  QString docPosition();
+  uint toolviewTabs();
+  bool hiddenFiles();
+  bool saveTrees();
+  void setPosition(const QString&);
+  void setWindowLayout(const QString&);
+  void setCloseButtons(const QString&);
+  void setToolviewTabs(uint);
+  void setDocPosition(const QString&);
+  void setHiddenFiles(bool show);
+  void setSaveTrees(bool show);
+
+private:
+  uint m_toolviewTabs;
+};
+
+#endif
diff --git a/quanta/dialogs/settings/previewoptionss.ui b/quanta/dialogs/settings/previewoptionss.ui
new file mode 100644
index 00000000..a27a164b
--- /dev/null
+++ b/quanta/dialogs/settings/previewoptionss.ui
@@ -0,0 +1,280 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>PreviewOptionsS</class>
+<comment>/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+</comment>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>PreviewOptionsS</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>498</width>
+            <height>512</height>
+        </rect>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>350</width>
+            <height>220</height>
+        </size>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QCheckBox" row="2" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>resetLayout</cstring>
+            </property>
+            <property name="text">
+                <string>Reset window layout to the default on the next startup</string>
+            </property>
+        </widget>
+        <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>showHidden</cstring>
+            </property>
+            <property name="text">
+                <string>Show hidden files in files tree</string>
+            </property>
+        </widget>
+        <widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>saveLocalTrees</cstring>
+            </property>
+            <property name="text">
+                <string>Save tree status for local trees</string>
+            </property>
+        </widget>
+        <widget class="QButtonGroup" row="1" column="0">
+            <property name="name">
+                <cstring>buttonGroup3</cstring>
+            </property>
+            <property name="title">
+                <string>Close Buttons on Tabs</string>
+            </property>
+            <grid>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QRadioButton" row="1" column="0">
+                    <property name="name">
+                        <cstring>radioShowCloseButtons</cstring>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Always show</string>
+                    </property>
+                    <property name="checked">
+                        <bool>true</bool>
+                    </property>
+                </widget>
+                <widget class="QRadioButton" row="0" column="0">
+                    <property name="name">
+                        <cstring>radioNoCloseButtons</cstring>
+                    </property>
+                    <property name="text">
+                        <string>&amp;Do not show</string>
+                    </property>
+                </widget>
+                <widget class="QRadioButton" row="2" column="0">
+                    <property name="name">
+                        <cstring>radioDelayedCloseButtons</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Show dela&amp;yed</string>
+                    </property>
+                </widget>
+            </grid>
+        </widget>
+        <widget class="QButtonGroup" row="0" column="1">
+            <property name="name">
+                <cstring>buttonGroup3_2</cstring>
+            </property>
+            <property name="title">
+                <string>Documentation</string>
+            </property>
+            <grid>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QRadioButton" row="0" column="0">
+                    <property name="name">
+                        <cstring>radioNewDocTab</cstring>
+                    </property>
+                    <property name="text">
+                        <string>New tab</string>
+                    </property>
+                    <property name="checked">
+                        <bool>true</bool>
+                    </property>
+                </widget>
+                <widget class="QRadioButton" row="1" column="0">
+                    <property name="name">
+                        <cstring>radioSeparateDocView</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Separate toolview</string>
+                    </property>
+                </widget>
+            </grid>
+        </widget>
+        <widget class="QButtonGroup" row="1" column="1">
+            <property name="name">
+                <cstring>buttonGroup4</cstring>
+            </property>
+            <property name="title">
+                <string>Toolview Tabs</string>
+            </property>
+            <grid>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QRadioButton" row="0" column="0">
+                    <property name="name">
+                        <cstring>radioIconText</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Icon and text</string>
+                    </property>
+                    <property name="checked">
+                        <bool>true</bool>
+                    </property>
+                </widget>
+                <widget class="QRadioButton" row="2" column="0">
+                    <property name="name">
+                        <cstring>radioText</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Text</string>
+                    </property>
+                </widget>
+                <widget class="QRadioButton" row="1" column="0">
+                    <property name="name">
+                        <cstring>radioIcon</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Icon</string>
+                    </property>
+                </widget>
+            </grid>
+        </widget>
+        <widget class="QButtonGroup" row="0" column="0">
+            <property name="name">
+                <cstring>ButtonGroup1</cstring>
+            </property>
+            <property name="title">
+                <string>Preview</string>
+            </property>
+            <grid>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <property name="margin">
+                    <number>11</number>
+                </property>
+                <property name="spacing">
+                    <number>6</number>
+                </property>
+                <widget class="QRadioButton" row="1" column="0">
+                    <property name="name">
+                        <cstring>radioToolview</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Separate toolview</string>
+                    </property>
+                </widget>
+                <widget class="QRadioButton" row="0" column="0">
+                    <property name="name">
+                        <cstring>radioEditor</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Editor area</string>
+                    </property>
+                    <property name="checked">
+                        <bool>true</bool>
+                    </property>
+                </widget>
+            </grid>
+        </widget>
+        <spacer row="6" column="0">
+            <property name="name">
+                <cstring>Spacer1</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Vertical</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Expanding</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>20</width>
+                    <height>30</height>
+                </size>
+            </property>
+        </spacer>
+        <widget class="QButtonGroup" row="5" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>buttonGroup1</cstring>
+            </property>
+            <property name="title">
+                <string>&amp;Warning Messages</string>
+            </property>
+            <grid>
+                <property name="name">
+                    <cstring>unnamed</cstring>
+                </property>
+                <widget class="QCheckBox" row="0" column="0">
+                    <property name="name">
+                        <cstring>warnBinaryOpening</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Warn about opening binar&amp;y/unknown files</string>
+                    </property>
+                </widget>
+                <widget class="QCheckBox" row="1" column="0">
+                    <property name="name">
+                        <cstring>warnEventActions</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Warn when executing &amp;actions associated with events</string>
+                    </property>
+                </widget>
+                <widget class="QCheckBox" row="2" column="0">
+                    <property name="name">
+                        <cstring>warnAll</cstring>
+                    </property>
+                    <property name="text">
+                        <string>Show all warning messages</string>
+                    </property>
+                </widget>
+            </grid>
+        </widget>
+    </grid>
+</widget>
+<tabstops>
+    <tabstop>radioEditor</tabstop>
+    <tabstop>radioNewDocTab</tabstop>
+    <tabstop>radioShowCloseButtons</tabstop>
+    <tabstop>radioIconText</tabstop>
+    <tabstop>resetLayout</tabstop>
+    <tabstop>showHidden</tabstop>
+    <tabstop>saveLocalTrees</tabstop>
+    <tabstop>warnBinaryOpening</tabstop>
+    <tabstop>warnEventActions</tabstop>
+    <tabstop>warnAll</tabstop>
+    <tabstop>radioToolview</tabstop>
+    <tabstop>radioNoCloseButtons</tabstop>
+    <tabstop>radioDelayedCloseButtons</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
diff --git a/quanta/dialogs/settings/styleoptionss.ui b/quanta/dialogs/settings/styleoptionss.ui
new file mode 100644
index 00000000..13ed198d
--- /dev/null
+++ b/quanta/dialogs/settings/styleoptionss.ui
@@ -0,0 +1,201 @@
+<!DOCTYPE UI><UI version="3.2" stdsetdef="1">
+<class>StyleOptionsS</class>
+<comment>/***************************************************************************
+ *                                                                         *
+ *   This program is free software; you can redistribute it and/or modify  *
+ *   it under the terms of the GNU General Public License as published by  *
+ *   the Free Software Foundation; either version 2 of the License, or     *
+ *   (at your option) any later version.                                   *
+ *                                                                         *
+ ***************************************************************************/
+</comment>
+<widget class="QWidget">
+    <property name="name">
+        <cstring>StyleOptionsS</cstring>
+    </property>
+    <property name="geometry">
+        <rect>
+            <x>0</x>
+            <y>0</y>
+            <width>410</width>
+            <height>300</height>
+        </rect>
+    </property>
+    <property name="sizePolicy">
+        <sizepolicy>
+            <hsizetype>3</hsizetype>
+            <vsizetype>3</vsizetype>
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+        </sizepolicy>
+    </property>
+    <property name="minimumSize">
+        <size>
+            <width>410</width>
+            <height>250</height>
+        </size>
+    </property>
+    <grid>
+        <property name="name">
+            <cstring>unnamed</cstring>
+        </property>
+        <widget class="QLabel" row="2" column="0">
+            <property name="name">
+                <cstring>TextLabel3</cstring>
+            </property>
+            <property name="text">
+                <string>Attribute quotation:</string>
+            </property>
+        </widget>
+        <widget class="QComboBox" row="2" column="1">
+            <item>
+                <property name="text">
+                    <string>Double Quotes</string>
+                </property>
+            </item>
+            <item>
+                <property name="text">
+                    <string>Single Quotes</string>
+                </property>
+            </item>
+            <property name="name">
+                <cstring>attributeQuotation</cstring>
+            </property>
+        </widget>
+        <widget class="QLabel" row="0" column="0">
+            <property name="name">
+                <cstring>TextLabel1</cstring>
+            </property>
+            <property name="text">
+                <string>Tag case:</string>
+            </property>
+        </widget>
+        <widget class="QLabel" row="1" column="0">
+            <property name="name">
+                <cstring>TextLabel2</cstring>
+            </property>
+            <property name="text">
+                <string>Attribute case:</string>
+            </property>
+        </widget>
+        <widget class="QComboBox" row="1" column="1">
+            <item>
+                <property name="text">
+                    <string>Default Case</string>
+                </property>
+            </item>
+            <item>
+                <property name="text">
+                    <string>Lower Case</string>
+                </property>
+            </item>
+            <item>
+                <property name="text">
+                    <string>Upper Case</string>
+                </property>
+            </item>
+            <property name="name">
+                <cstring>attributeCase</cstring>
+            </property>
+        </widget>
+        <widget class="QCheckBox" row="3" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>optionalTagAutoClose</cstring>
+            </property>
+            <property name="text">
+                <string>Auto-close o&amp;ptional tags</string>
+            </property>
+        </widget>
+        <widget class="QComboBox" row="0" column="1">
+            <item>
+                <property name="text">
+                    <string>Default Case</string>
+                </property>
+            </item>
+            <item>
+                <property name="text">
+                    <string>Lower Case</string>
+                </property>
+            </item>
+            <item>
+                <property name="text">
+                    <string>Upper Case</string>
+                </property>
+            </item>
+            <property name="name">
+                <cstring>tagCase</cstring>
+            </property>
+        </widget>
+        <widget class="QCheckBox" row="4" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>tagAutoClose</cstring>
+            </property>
+            <property name="text">
+                <string>Auto-close &amp;non single and non optional tags</string>
+            </property>
+        </widget>
+        <spacer row="8" column="0">
+            <property name="name">
+                <cstring>spacer1</cstring>
+            </property>
+            <property name="orientation">
+                <enum>Vertical</enum>
+            </property>
+            <property name="sizeType">
+                <enum>Expanding</enum>
+            </property>
+            <property name="sizeHint">
+                <size>
+                    <width>20</width>
+                    <height>30</height>
+                </size>
+            </property>
+        </spacer>
+        <widget class="QCheckBox" row="6" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>tagUpdateClosing</cstring>
+            </property>
+            <property name="text">
+                <string>&amp;Update opening/closing tag automatically</string>
+            </property>
+        </widget>
+        <widget class="QCheckBox" row="5" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>useAutoCompletion</cstring>
+            </property>
+            <property name="sizePolicy">
+                <sizepolicy>
+                    <hsizetype>1</hsizetype>
+                    <vsizetype>0</vsizetype>
+                    <horstretch>0</horstretch>
+                    <verstretch>0</verstretch>
+                </sizepolicy>
+            </property>
+            <property name="text">
+                <string>Use &amp;auto-completion</string>
+            </property>
+        </widget>
+        <widget class="QCheckBox" row="7" column="0" rowspan="1" colspan="2">
+            <property name="name">
+                <cstring>replaceAccented</cstring>
+            </property>
+            <property name="text">
+                <string>Automatic &amp;replacement of the accented characters</string>
+            </property>
+            <property name="whatsThis" stdset="0">
+                <string>If this option is turned on the accented characters, like &lt;b&gt;&amp;#225;&lt;/b&gt;, will be automatically replaced  by their unicode style notation, for the above case with &lt;b&gt;&amp;#038;#225;&lt;/b&gt;.&lt;br&gt;
+We suggest to leave this option off and use an unicode or locale encoding for your documents.</string>
+            </property>
+        </widget>
+    </grid>
+</widget>
+<tabstops>
+    <tabstop>tagCase</tabstop>
+    <tabstop>attributeCase</tabstop>
+    <tabstop>attributeQuotation</tabstop>
+    <tabstop>optionalTagAutoClose</tabstop>
+    <tabstop>tagAutoClose</tabstop>
+    <tabstop>useAutoCompletion</tabstop>
+</tabstops>
+<layoutdefaults spacing="6" margin="11"/>
+</UI>
-- 
cgit v1.2.1