KDevelop API Documentation

parts/abbrev/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.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Oct 6 17:39:09 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003