summaryrefslogtreecommitdiffstats
path: root/parts/abbrev/abbrevconfigwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'parts/abbrev/abbrevconfigwidget.cpp')
-rw-r--r--parts/abbrev/abbrevconfigwidget.cpp121
1 files changed, 121 insertions, 0 deletions
diff --git a/parts/abbrev/abbrevconfigwidget.cpp b/parts/abbrev/abbrevconfigwidget.cpp
new file mode 100644
index 00000000..d7729249
--- /dev/null
+++ b/parts/abbrev/abbrevconfigwidget.cpp
@@ -0,0 +1,121 @@
+/***************************************************************************
+ * Copyright (C) 2002 Roberto Raggi *
+ * Copyright (C) 2002 by Bernd Gehrmann *
+ * Copyright (C) 2003 by Alexander Dymo *
+ * *
+ * 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 "abbrevconfigwidget.h"
+
+#include <kconfig.h>
+#include <kiconloader.h>
+
+#include <qlistview.h>
+#include <qmultilineedit.h>
+#include <qcheckbox.h>
+
+#include "addtemplatedlg.h"
+#include "abbrevpart.h"
+
+AbbrevConfigWidget::AbbrevConfigWidget(AbbrevPart *part, QWidget *parent, const char *name)
+ : AbbrevConfigWidgetBase(parent, name)
+{
+ m_part = part;
+
+ qWarning("creating abbrevconfigwidget for %d abbrevs", part->templates().allTemplates().count());
+ QPtrList<CodeTemplate> templates = part->templates().allTemplates();
+ CodeTemplate *templ;
+ for (templ = templates.first(); templ; templ = templates.next())
+ {
+ qWarning("creating item for code template ");
+ QListViewItem *it = new QListViewItem( listTemplates,
+ templ->name,
+ templ->description,
+ templ->suffixes,
+ templ->code,
+ templ->code );
+ it->setPixmap( 0, SmallIcon("template_source"));
+ }
+
+ checkWordCompletion->setChecked( part->autoWordCompletionEnabled() );
+ listTemplates->setSorting(2);
+}
+
+
+AbbrevConfigWidget::~AbbrevConfigWidget()
+{}
+
+
+void AbbrevConfigWidget::addTemplate()
+{
+ QStringList suffixesList = m_part->templates().suffixes();
+
+ AddTemplateDialog dlg( suffixesList, this );
+ if( dlg.exec() ){
+ QString templ = dlg.templ();
+ QString description = dlg.description();
+ QString suffixes = dlg.suffixes();
+ if( !(templ.isEmpty() || description.isEmpty()) || suffixes.isEmpty()) {
+ QListViewItem* item = new QListViewItem( listTemplates, templ, description, suffixes );
+ listTemplates->setSelected( item, true );
+ editCode->setFocus();
+ }
+ }
+}
+
+
+void AbbrevConfigWidget::removeTemplate()
+{
+ if (!listTemplates->selectedItem())
+ return;
+ delete listTemplates->selectedItem();
+}
+
+
+void AbbrevConfigWidget::selectionChanged()
+{
+ QListViewItem* item = listTemplates->selectedItem();
+ if( item ){
+ editCode->setText( item->text(3) );
+ }
+}
+
+
+void AbbrevConfigWidget::codeChanged()
+{
+ QListViewItem* item = listTemplates->selectedItem();
+ if( item ){
+ item->setText( 3, editCode->text() );
+ if (item->text(3) == item->text(4))
+ item->setPixmap( 0, SmallIcon("template_source") );
+ else
+ item->setPixmap( 0, SmallIcon("filesave") );
+ }
+}
+
+
+void AbbrevConfigWidget::accept()
+{
+ m_part->clearTemplates();
+
+ QListViewItem* item = listTemplates->firstChild();
+ while( item ){
+ m_part->addTemplate( item->text(0),
+ item->text(1),
+ item->text(2),
+ item->text(3) );
+ item = item->nextSibling();
+ }
+
+ m_part->setAutoWordCompletionEnabled( checkWordCompletion->isChecked() );
+}
+
+#include "abbrevconfigwidget.moc"