diff options
Diffstat (limited to 'quanta/dialogs/settings')
-rw-r--r-- | quanta/dialogs/settings/Makefile.am | 13 | ||||
-rw-r--r-- | quanta/dialogs/settings/abbreviation.cpp | 277 | ||||
-rw-r--r-- | quanta/dialogs/settings/abbreviation.h | 53 | ||||
-rw-r--r-- | quanta/dialogs/settings/abbreviations.ui | 354 | ||||
-rw-r--r-- | quanta/dialogs/settings/codetemplatedlgs.ui | 81 | ||||
-rw-r--r-- | quanta/dialogs/settings/filemasks.cpp | 67 | ||||
-rw-r--r-- | quanta/dialogs/settings/filemasks.h | 35 | ||||
-rw-r--r-- | quanta/dialogs/settings/filemaskss.ui | 336 | ||||
-rw-r--r-- | quanta/dialogs/settings/parseroptions.cpp | 86 | ||||
-rw-r--r-- | quanta/dialogs/settings/parseroptions.h | 37 | ||||
-rw-r--r-- | quanta/dialogs/settings/parseroptionsui.ui | 314 | ||||
-rw-r--r-- | quanta/dialogs/settings/previewoptions.cpp | 127 | ||||
-rw-r--r-- | quanta/dialogs/settings/previewoptions.h | 50 | ||||
-rw-r--r-- | quanta/dialogs/settings/previewoptionss.ui | 280 | ||||
-rw-r--r-- | quanta/dialogs/settings/styleoptionss.ui | 201 |
15 files changed, 2311 insertions, 0 deletions
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 <amantia@kde.org></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>&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>&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>&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>&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>&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>&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>&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&)</signal> + <receiver>AbbreviationDlgS</receiver> + <slot>slotGroupChanged(const QString&)</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&)</slot> + <slot>slotGroupChanged(const QString&)</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 <amantia@kde.org></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>&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>&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>&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&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>&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>&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>&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 &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 &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&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&how splashscreen</string> + </property> + </widget> + <widget class="QCheckBox" row="2" column="0"> + <property name="name"> + <cstring>reloadProject</cstring> + </property> + <property name="text"> + <string>&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 &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 <amantia@kde.org></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 && 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&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 & 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 & 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>&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>&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&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>&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&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 &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&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 &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>&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 &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 &replacement of the accented characters</string> + </property> + <property name="whatsThis" stdset="0"> + <string>If this option is turned on the accented characters, like <b>&#225;</b>, will be automatically replaced by their unicode style notation, for the above case with <b>&#038;#225;</b>.<br> +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> |