KDevelop API Documentation

abbrevconfigwidget.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2002 Roberto Raggi                                      *
00003  *   roberto@kdevelop.org                                                  *
00004  *   Copyright (C) 2002 by Bernd Gehrmann                                  *
00005  *   bernd@kdevelop.org                                                    *
00006  *   Copyright (C) 2003 by Alexander Dymo                                  *
00007  *   cloudtemple@mksat.net                                                 *
00008  *                                                                         *
00009  *   This program is free software; you can redistribute it and/or modify  *
00010  *   it under the terms of the GNU General Public License as published by  *
00011  *   the Free Software Foundation; either version 2 of the License, or     *
00012  *   (at your option) any later version.                                   *
00013  *                                                                         *
00014  ***************************************************************************/
00015 
00016 #include "abbrevconfigwidget.h"
00017 
00018 #include <kconfig.h>
00019 
00020 #include <qlistview.h>
00021 #include <qmultilineedit.h>
00022 #include <qcheckbox.h>
00023 
00024 #include "addtemplatedlg.h"
00025 #include "abbrevpart.h"
00026 
00027 AbbrevConfigWidget::AbbrevConfigWidget(AbbrevPart *part, QWidget *parent, const char *name)
00028     : AbbrevConfigWidgetBase(parent, name)
00029 {
00030     m_part = part;
00031 
00032     qWarning("creating abbrevconfigwidget for %d abbrevs", part->templates().allTemplates().count());
00033     QPtrList<CodeTemplate> templates = part->templates().allTemplates();
00034     CodeTemplate *templ;
00035     for (templ = templates.first(); templ; templ = templates.next())
00036     {
00037         qWarning("creating item for code template ");
00038         new QListViewItem( listTemplates,
00039                            templ->name,
00040                            templ->description,
00041                            templ->suffixes,
00042                            templ->code );
00043     }
00044 
00045     checkWordCompletion->setChecked( part->autoWordCompletionEnabled() );
00046     listTemplates->setSorting(2);
00047 }
00048 
00049 
00050 AbbrevConfigWidget::~AbbrevConfigWidget()
00051 {}
00052 
00053 
00054 void AbbrevConfigWidget::addTemplate()
00055 {
00056     QStringList suffixesList = m_part->templates().suffixes();
00057 
00058     AddTemplateDialog dlg( suffixesList, this );
00059     if( dlg.exec() ){
00060         QString templ = dlg.templ();
00061         QString description = dlg.description();
00062         QString suffixes = dlg.suffixes();
00063         if( !(templ.isEmpty() || description.isEmpty()) || suffixes.isEmpty()) {
00064             QListViewItem* item = new QListViewItem( listTemplates, templ, description, suffixes );
00065             listTemplates->setSelected( item, true );
00066             editCode->setFocus();
00067         }
00068     }
00069 }
00070 
00071 
00072 void AbbrevConfigWidget::removeTemplate()
00073 {
00074     if (!listTemplates->selectedItem())
00075         return;
00076     delete listTemplates->selectedItem();
00077 }
00078 
00079 
00080 void AbbrevConfigWidget::selectionChanged()
00081 {
00082     QListViewItem* item = listTemplates->selectedItem();
00083     if( item ){
00084         editCode->setText( item->text(3) );
00085     }
00086 }
00087 
00088 
00089 void AbbrevConfigWidget::codeChanged()
00090 {
00091     QListViewItem* item = listTemplates->selectedItem();
00092     if( item ){
00093         item->setText( 3, editCode->text() );
00094     }
00095 }
00096 
00097 
00098 void AbbrevConfigWidget::accept()
00099 {
00100     m_part->clearTemplates();
00101 
00102     QListViewItem* item = listTemplates->firstChild();
00103     while( item ){
00104         m_part->addTemplate( item->text(0),
00105                              item->text(1),
00106                              item->text(2),
00107                              item->text(3) );
00108         item = item->nextSibling();
00109     }
00110 
00111     m_part->setAutoWordCompletionEnabled( checkWordCompletion->isChecked() );
00112 }
00113 
00114 #include "abbrevconfigwidget.moc"
KDE Logo
This file is part of the documentation for KDevelop Version 3.1.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Mar 23 00:03:53 2005 by doxygen 1.3.9.1 written by Dimitri van Heesch, © 1997-2003