Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

katedialogs.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002                           katedialogs.cpp  -  description
00003                              -------------------
00004     copyright            : (C) 2001 by The Kate Team
00005                            (C) 2002 by Joseph Wenninger
00006     email                : kwrite-devel@kde.org
00007                            jowenn@kde.org
00008 
00009  ***************************************************************************/
00010 
00011 /***************************************************************************
00012  *                                                                         *
00013  *   This program is free software; you can redistribute it and/or modify  *
00014  *   it under the terms of the GNU General Public License as published by  *
00015  *   the Free Software Foundation; either version 2 of the License, or     *
00016  *   (at your option) any later version.                                   *
00017  *                                                                         *
00018  ***************************************************************************/
00019 #include "katedialogs.h"
00020 #include <klocale.h>
00021 #include <kdebug.h>
00022 #include <qgroupbox.h>
00023 #include <qvgroupbox.h>
00024 #include <qhgroupbox.h>
00025 #include <qhbox.h>
00026 #include <qvbox.h>
00027 #include <qlayout.h>
00028 #include <qpushbutton.h>
00029 #include <qwidgetstack.h>
00030 #include <qlabel.h>
00031 #include <qlistview.h>
00032 #include <qlineedit.h>
00033 #include <qcombobox.h>
00034 #include <qcheckbox.h>
00035 //FIXME #include <kcharsets.h>
00036 #include <kglobal.h>
00037 #include <qmap.h>
00038 #include <kmessagebox.h>
00039 #include <kstddirs.h>
00040 
00041 
00042 /*******************************************************************************************************************
00043 *                                        Context Editor                                                            *
00044 *******************************************************************************************************************/
00045 
00046 StyleChanger::StyleChanger( QWidget *parent )
00047   : QWidget(parent)
00048 {
00049   QLabel *label;
00050 
00051   QGridLayout *glay = new QGridLayout( this, 4, 3, 0, KDialog::spacingHint() );
00052   CHECK_PTR(glay);
00053   glay->addColSpacing( 1, KDialog::spacingHint() ); // Looks better
00054   glay->setColStretch( 2, 10 );
00055 
00056   col = new KColorButton(this);
00057   CHECK_PTR(col);
00058   connect(col,SIGNAL(changed(const QColor&)),this,SLOT(changed()));
00059   label = new QLabel(col,i18n("Normal:"),this);
00060   CHECK_PTR(label);
00061   glay->addWidget(label,0,0);
00062   glay->addWidget(col,1,0);
00063 
00064   selCol = new KColorButton(this);
00065   CHECK_PTR(selCol);
00066   connect(selCol,SIGNAL(changed(const QColor&)),this,SLOT(changed()));
00067   label = new QLabel(selCol,i18n("Selected:"),this);
00068   CHECK_PTR(label);
00069   glay->addWidget(label,2,0);
00070   glay->addWidget(selCol,3,0);
00071 
00072   bold = new QCheckBox(i18n("Bold"),this);
00073   CHECK_PTR(bold);
00074   connect(bold,SIGNAL(clicked()),SLOT(changed()));
00075   glay->addWidget(bold,1,2);
00076 
00077   italic = new QCheckBox(i18n("Italic"),this);
00078   CHECK_PTR(italic);
00079   connect(italic,SIGNAL(clicked()),SLOT(changed()));
00080   glay->addWidget(italic,2,2);
00081 }
00082 
00083 void StyleChanger::setRef(ItemStyle *s) {
00084 
00085   style = s;
00086   col->setColor(style->col);
00087   selCol->setColor(style->selCol);
00088   bold->setChecked(style->bold);
00089   italic->setChecked(style->italic);
00090 
00091 }
00092 
00093 void StyleChanger::setEnabled(bool enable) {
00094 
00095   col->setEnabled(enable);
00096   selCol->setEnabled(enable);
00097   bold->setEnabled(enable);
00098   italic->setEnabled(enable);
00099 }
00100 
00101 void StyleChanger::changed() {
00102 
00103   if (style) {
00104     style->col = col->color();
00105     style->selCol = selCol->color();
00106     style->bold = bold->isChecked();
00107     style->italic = italic->isChecked();
00108   }
00109 }
00110 
00111 HighlightDialog::HighlightDialog( HlManager *hlManager, ItemStyleList *styleList,
00112                                   HlDataList *highlightDataList,
00113                                   int hlNumber, QWidget *parent,
00114                                   const char *name, bool modal )
00115   :KDialogBase(parent,name,modal,i18n("Highlight Settings"), Ok|Cancel, Ok)
00116 {
00117 //  QVBox *page = makeVBoxMainWidget();
00118   QFrame *page=addPage("FIXME");
00119   (new QVBoxLayout(page))->setAutoAdd(true);
00120   content=new HighlightDialogPage(hlManager,styleList,highlightDataList,hlNumber,page);
00121 }
00122 
00123 void HighlightDialog::done(int r)
00124 {
00125   kdDebug(13010)<<"HighlightDialod done"<<endl;
00126   content->saveData();
00127   KDialogBase::done(r);
00128 }
00129 
00130 HighlightDialogPage::HighlightDialogPage(HlManager *hlManager, ItemStyleList *styleList,
00131                               HlDataList* highlightDataList,
00132                               int hlNumber,QWidget *parent, const char *name)
00133    :QTabWidget(parent,name),defaultItemStyleList(styleList),hlData(0L)
00134 
00135 {
00136 
00137   // defaults =========================================================
00138 
00139   QFrame *page1 = new QFrame(this);
00140   addTab(page1,i18n("&Defaults"));
00141   QGridLayout *grid = new QGridLayout(page1, 1, 1);
00142 
00143   QVGroupBox *dvbox1 = new QVGroupBox( i18n("Default Item Styles"), page1 );
00144   /*QLabel *label = */new QLabel( i18n("Item:"), dvbox1 );
00145   QComboBox *styleCombo = new QComboBox( false, dvbox1 );
00146   defaultStyleChanger = new StyleChanger( dvbox1 );
00147   for( int i = 0; i < hlManager->defaultStyles(); i++ ) {
00148     styleCombo->insertItem(hlManager->defaultStyleName(i));
00149   }
00150   connect(styleCombo, SIGNAL(activated(int)), this, SLOT(defaultChanged(int)));
00151   grid->addWidget(dvbox1, 0,0);
00152 
00153   defaultChanged(0);
00154 
00155   // highlight modes =====================================================
00156 
00157   QFrame *page2 = new QFrame(this);
00158   addTab(page2,i18n("&Highlight Modes"));
00159   //grid = new QGridLayout(page2,2,2);
00160   QVBoxLayout *bl=new QVBoxLayout(page2);
00161   bl->setAutoAdd(true);
00162   QHGroupBox *hbox1 = new QHGroupBox( i18n("Config Select"), page2 );
00163   hbox1->layout()->setMargin(5);
00164   QVBox *vbox1=new QVBox(hbox1);
00165 //  grid->addMultiCellWidget(vbox1,0,0,0,1);
00166   QVGroupBox *vbox2 = new QVGroupBox( i18n("Item Style"), page2 );
00167 //  grid->addWidget(vbox2,1,0);
00168   QVGroupBox *vbox3 = new QVGroupBox( i18n("Highlight Auto Select"), hbox1 );
00169   //grid->addWidget(vbox3,1,1);
00170 
00171   QLabel *label = new QLabel( i18n("Highlight:"), vbox1 );
00172   hlCombo = new QComboBox( false, vbox1 );
00173   QHBox *modHl = new QHBox(vbox1);
00174 //  connect(new QPushButton(i18n("New"),modHl),SIGNAL(clicked()),this,SLOT(hlNew()));
00175 //  connect(new QPushButton(i18n("Edit"),modHl),SIGNAL(clicked()),this,SLOT(hlEdit()));
00176   connect( hlCombo, SIGNAL(activated(int)),
00177            this, SLOT(hlChanged(int)) );
00178   for( int i = 0; i < hlManager->highlights(); i++) {
00179     hlCombo->insertItem(hlManager->hlName(i));
00180   }
00181   hlCombo->setCurrentItem(hlNumber);
00182 
00183 
00184   label = new QLabel( i18n("Item:"), vbox2 );
00185   itemCombo = new QComboBox( false, vbox2 );
00186   connect( itemCombo, SIGNAL(activated(int)), this, SLOT(itemChanged(int)) );
00187 
00188   label = new QLabel( i18n("File Extensions:"), vbox3 );
00189   wildcards  = new QLineEdit( vbox3 );
00190   label = new QLabel( i18n("Mime Types:"), vbox3 );
00191   mimetypes = new QLineEdit( vbox3 );
00192 
00193 
00194   styleDefault = new QCheckBox(i18n("Default"), vbox2 );
00195   connect(styleDefault,SIGNAL(clicked()),SLOT(changed()));
00196   styleChanger = new StyleChanger( vbox2 );
00197 
00198   hlDataList = highlightDataList;
00199   hlChanged(hlNumber);
00200 }
00201 
00202 
00203 void HighlightDialogPage::defaultChanged(int z)
00204 {
00205   defaultStyleChanger->setRef(defaultItemStyleList->at(z));
00206 }
00207 
00208 
00209 void HighlightDialogPage::hlChanged(int z)
00210 {
00211   writeback();
00212 
00213   hlData = hlDataList->at(z);
00214 
00215   wildcards->setText(hlData->wildcards);
00216   mimetypes->setText(hlData->mimetypes);
00217 
00218   itemCombo->clear();
00219   for (ItemData *itemData = hlData->itemDataList.first(); itemData != 0L;
00220     itemData = hlData->itemDataList.next()) {
00221     kdDebug(13010) << itemData->name << endl;
00222     itemCombo->insertItem(i18n(itemData->name.latin1()));
00223   }
00224 
00225   itemChanged(0);
00226 }
00227 
00228 void HighlightDialogPage::itemChanged(int z)
00229 {
00230   itemData = hlData->itemDataList.at(z);
00231 
00232   styleDefault->setChecked(itemData->defStyle);
00233   styleChanger->setRef(itemData);
00234 }
00235 
00236 void HighlightDialogPage::changed()
00237 {
00238   itemData->defStyle = styleDefault->isChecked();
00239 }
00240 
00241 void HighlightDialogPage::writeback() {
00242   if (hlData) {
00243     hlData->wildcards = wildcards->text();
00244     hlData->mimetypes = mimetypes->text();
00245   }
00246 }
00247 
00248 void HighlightDialogPage::saveData() {
00249   kdDebug(13010)<<"HighlightDialogPage::saveData()"<<endl;
00250   writeback();
00251 }
00252 
00253 
00254 void HighlightDialogPage::hlEdit() {
00255   HlEditDialog diag(0,0,"hlEdit", true,hlData);
00256   diag.show();
00257 }
00258 
00259 void HighlightDialogPage::hlNew() {
00260   HlEditDialog diag(0,0,"hlEdit",true,0);
00261   diag.show();
00262 }
00263 
00264 
00265 HlEditDialog::HlEditDialog(HlManager *,QWidget *parent, const char *name, bool modal,HlData *data)
00266   :KDialogBase(KDialogBase::Swallow, i18n("Highlight Conditions"), Ok|Cancel, Ok, parent, name, modal)
00267 {
00268   currentItem=0;
00269     transTableCnt=0;
00270   QHBox *wid=new QHBox(this);
00271   QVBox *lbox=new QVBox(wid);
00272     contextList=new KListView(lbox);
00273     contextList->setRootIsDecorated(true);
00274     contextList->addColumn(i18n("Syntax structure"));
00275     contextList->setSorting(-1);
00276     QHBox *bbox=new QHBox(lbox);
00277     QPushButton *addContext=new QPushButton(i18n("New Context"),bbox);
00278     QPushButton *addItem=new QPushButton(i18n("New Item"),bbox);
00279     QVGroupBox *opt  = new QVGroupBox( i18n("Options"), wid);
00280     stack=new QWidgetStack(opt);
00281     initContextOptions(contextOptions=new QVBox(stack));
00282     stack->addWidget(contextOptions,HlEContext);
00283     initItemOptions(itemOptions=new QVBox(stack));
00284     stack->addWidget(itemOptions,HlEItem);
00285     stack->raiseWidget(HlEContext);
00286     setMainWidget(wid);
00287     if (data!=0) loadFromDocument(data);
00288     else newDocument();
00289     connect(contextList,SIGNAL(currentChanged(QListViewItem*)),this,SLOT(currentSelectionChanged(QListViewItem*)));
00290     connect(addContext,SIGNAL(clicked()),this,SLOT(contextAddNew()));
00291     connect(addItem,SIGNAL(clicked()),this,SLOT(ItemAddNew()));
00292     }
00293 
00294 void HlEditDialog::newDocument()
00295 {
00296   KStandardDirs *dirs = KGlobal::dirs();
00297   QStringList list=dirs->findAllResources("data","kate/syntax/syntax.template",false,true);
00298   for ( QStringList::Iterator it = list.begin(); it != list.end(); ++it )
00299       {
00300         HlData data("","",*it);
00301         loadFromDocument(&data);
00302         return;
00303       }
00304   KMessageBox::error(this,i18n("Can't find template file"));
00305 }
00306 
00307 
00308 void HlEditDialog::initContextOptions(QVBox *co)
00309 {
00310   if( co!=0)
00311     {
00312         QHBox *tmp = new QHBox(co);
00313         (void) new QLabel(i18n("Description:"),tmp);
00314         ContextDescr=new QLineEdit(tmp);
00315         tmp= new QHBox(co);
00316         (void) new QLabel(i18n("Attribute:"),tmp);
00317         ContextAttribute=new QComboBox(tmp);
00318         tmp= new QHBox(co);
00319         (void) new QLabel(i18n("LineEnd:"),tmp);
00320         ContextLineEnd = new QComboBox(tmp);
00321         connect(ContextDescr,SIGNAL(textChanged(const QString&)),this,SLOT(contextDescrChanged(const QString&)));
00322         connect(ContextLineEnd,SIGNAL(activated(int)),this,SLOT(contextLineEndChanged(int)));
00323         connect(ContextAttribute,SIGNAL(activated(int)),this,SLOT(contextAttributeChanged(int)));
00324     }
00325    else
00326      kdDebug(13010)<<"initContextOptions: Widget is 0"<<endl;
00327 }
00328 
00329 
00330 void HlEditDialog::insertTranslationList(QString tag, QString trans,int length)
00331   {
00332     ItemInfo data(trans,length);
00333     id2tag.insert(transTableCnt,tag);
00334     id2info.insert(transTableCnt,data);
00335     tag2id.insert(tag,transTableCnt);
00336     transTableCnt++;
00337   }
00338 
00339 
00340 void HlEditDialog::initItemOptions(QVBox *co)
00341 {
00342   if (co!=0)
00343     {
00344         QHBox *tmp = new QHBox(co);
00345         (void) new QLabel(i18n("Type:"),tmp);
00346         ItemType = new QComboBox(tmp);
00347         tmp= new QHBox(co);
00348         (void) new QLabel(i18n("Parameter:"),tmp);
00349         ItemParameter=  new QLineEdit(tmp);
00350         tmp= new QHBox(co);
00351         (void) new QLabel(i18n("Attribute:"),tmp);
00352         ItemAttribute= new QComboBox(tmp);
00353         (void) new QLabel(i18n("Context switch:"),tmp);
00354         ItemContext = new QComboBox(tmp);
00355         co->setSpacing(15);
00356         QPushButton *delItem=new QPushButton(i18n("Delete this item"),co);
00357 
00358         /* init translation lists */
00359         insertTranslationList("CharDetect","CharDetect",1);
00360         insertTranslationList("2CharDetect","2CharDetect",2);
00361         insertTranslationList("RangeDetect","RangeDetect",2);
00362         insertTranslationList("StringDetect","StringDetect",-1);
00363         insertTranslationList("AnyChar","AnyChar",-1);
00364         insertTranslationList("RegExpr","RegExpr",-1);
00365         insertTranslationList("Int","Int",0);
00366         insertTranslationList("Float","Float",0);
00367         insertTranslationList("keyword","keyword",0);
00368         insertTranslationList("dataType","dataType",0);
00369         ItemType->clear();
00370         for (int i=0; i<transTableCnt; i++) ItemType->insertItem(id2info[i].trans_i18n);
00371         connect(ItemType,SIGNAL(activated(int)),this,SLOT(ItemTypeChanged(int)));
00372         connect(ItemParameter,SIGNAL(textChanged(const QString&)),this,SLOT(ItemParameterChanged(const QString&)));
00373         connect(ItemAttribute,SIGNAL(activated(int)),this,SLOT(ItemAttributeChanged(int)));
00374         connect(ItemContext,SIGNAL(activated(int)),this,SLOT(ItemContextChanged(int)));
00375     }
00376   else
00377     kdDebug(13010)<<"initItemOptions: Widget is 0"<<endl;
00378 }
00379 
00380 void HlEditDialog::loadFromDocument(HlData *hl)
00381 {
00382   struct syntaxContextData *data;
00383   QListViewItem *last=0,*lastsub=0;
00384 
00385   HlManager::self()->syntax->setIdentifier(hl->identifier);
00386   data=HlManager::self()->syntax->getGroupInfo("highlighting","context");
00387   int i=0;
00388   if (data)
00389     {
00390       while (HlManager::self()->syntax->nextGroup(data)) //<context tags>
00391         {
00392         kdDebug(13010)<< "Adding context to list"<<endl;
00393           last= new QListViewItem(contextList,last,
00394                  HlManager::self()->syntax->groupData(data,QString("name")),
00395                  QString("%1").arg(i),
00396                  HlManager::self()->syntax->groupData(data,QString("attribute")),
00397                  HlManager::self()->syntax->groupData(data,QString("lineEndContext")));
00398           i++;
00399           lastsub=0;
00400           while (HlManager::self()->syntax->nextItem(data))
00401               {
00402                 kdDebug(13010)<< "Adding item to list"<<endl;
00403                 lastsub=addContextItem(last,lastsub,data);
00404               }
00405 
00406 
00407          }
00408        if (data) HlManager::self()->syntax->freeGroupInfo(data);
00409    }
00410   ContextAttribute->clear();
00411   ItemAttribute->clear();
00412   data=HlManager::self()->syntax->getGroupInfo("highlighting","itemData");
00413   while (HlManager::self()->syntax->nextGroup(data))
00414     {
00415         ContextAttribute->insertItem(HlManager::self()->syntax->groupData(data,QString("name")));
00416         ItemAttribute->insertItem(HlManager::self()->syntax->groupData(data,QString("name")));
00417     }
00418   if (data) HlManager::self()->syntax->freeGroupInfo(data);
00419 }
00420 
00421 QListViewItem *HlEditDialog::addContextItem(QListViewItem *_parent,QListViewItem *prev,struct syntaxContextData *data)
00422   {
00423 
00424                 kdDebug(13010)<<HlManager::self()->syntax->groupItemData(data,QString("name")) << endl;
00425 
00426                 QString dataname=HlManager::self()->syntax->groupItemData(data,QString(""));
00427                 QString attr=(HlManager::self()->syntax->groupItemData(data,QString("attribute")));
00428                 QString context=(HlManager::self()->syntax->groupItemData(data,QString("context")));
00429                 char chr;
00430                 if (! HlManager::self()->syntax->groupItemData(data,QString("char")).isEmpty())
00431                   chr= (HlManager::self()->syntax->groupItemData(data,QString("char")).latin1())[0];
00432                 else
00433                   chr=0;
00434                 QString stringdata=HlManager::self()->syntax->groupItemData(data,QString("String"));
00435                 char chr1;
00436                 if (! HlManager::self()->syntax->groupItemData(data,QString("char1")).isEmpty())
00437                   chr1= (HlManager::self()->syntax->groupItemData(data,QString("char1")).latin1())[0];
00438                 else
00439                   chr1=0;
00440                 bool insensitive=(HlManager::self()->syntax->groupItemData(data,QString("insensitive"))==QString("TRUE"));
00441                 QString param("");
00442                 if ((dataname=="keyword") || (dataname=="dataType")) param=dataname;
00443                   else if (dataname=="CharDetect") param=chr;
00444                     else if ((dataname=="2CharDetect") || (dataname=="RangeDetect")) param=QString("%1%2").arg(chr).arg(chr1);
00445                       else if ((dataname=="StringDetect") || (dataname=="AnyChar") || (dataname=="RegExpr")) param=stringdata;
00446                         else                     kdDebug(13010)<<"***********************************"<<endl<<"Unknown entry for Context:"<<dataname<<endl;
00447                 kdDebug(13010)<<dataname << endl;
00448                 return new QListViewItem(_parent,prev,i18n(dataname.latin1())+" "+param,dataname,param,attr,context);
00449  }
00450 
00451 
00452 void HlEditDialog::currentSelectionChanged ( QListViewItem *it)
00453   {
00454      kdDebug(13010)<<"Update data view"<<endl<<"Depth:"<<it->depth()<<endl;
00455      currentItem=it;
00456      if (it->depth()==0) showContext();
00457         else showItem();
00458   }
00459 
00460 
00461 /****************************************************************************/
00462 /*                              CONTEXTS                                    */
00463 /****************************************************************************/
00464 
00465 
00466 void HlEditDialog::showContext()
00467   {
00468     stack->raiseWidget(HlEContext);
00469     ContextDescr->setText(currentItem->text(0));
00470     ContextAttribute->setCurrentItem(currentItem->text(2).toInt());
00471     ContextLineEnd->clear();
00472     for (QListViewItem *it=contextList->firstChild();it;it=it->nextSibling())
00473         ContextLineEnd->insertItem(it->text(0));
00474     ContextLineEnd->setCurrentItem(currentItem->text(3).toInt());
00475 //    ContextAttribute->setText(currentItem->text(1));
00476 //    ContextLineEnd->setText(currentItem->text(2));
00477   }
00478 
00479 void HlEditDialog::contextDescrChanged(const QString& name)
00480   {
00481     if (currentItem)
00482       {
00483         currentItem->setText(0,name);
00484         ContextLineEnd->changeItem(name,currentItem->text(3).toInt());
00485       }
00486   }
00487 
00488 void HlEditDialog::contextAttributeChanged(int id)
00489 {
00490   if (currentItem)
00491      {
00492      currentItem->setText(2,QString("%1").arg(id));
00493      }
00494 }
00495 
00496 void HlEditDialog::contextLineEndChanged(int id)
00497 {
00498   kdDebug(13010)<<"contextLineEndChanged"<<endl;
00499   if (currentItem)
00500      {
00501      currentItem->setText(3,QString("%1").arg(id));
00502      }
00503 }
00504 
00505 void HlEditDialog::contextAddNew()
00506 {
00507   QListViewItem *it=contextList->firstChild();
00508   for (;it->nextSibling()!=0;it=it->nextSibling());
00509   it=new QListViewItem(contextList,it,i18n("New Context"),QString("%1").arg(it->text(1).toInt()),"0","0");
00510   contextList->setSelected(it,true);
00511 }
00512 
00513 /****************************************************************************/
00514 /*                              ITEMS                                       */
00515 /****************************************************************************/
00516 
00517 void HlEditDialog::showItem()
00518   {
00519     stack->raiseWidget(HlEItem);
00520     ItemContext->clear();
00521     for (QListViewItem *it=contextList->firstChild();it;it=it->nextSibling())
00522         ItemContext->insertItem(it->text(0));
00523     ItemContext->setCurrentItem(currentItem->text(4).toInt());
00524     ItemAttribute->setCurrentItem(currentItem->text(3).toInt());
00525     QMap<QString,int>::Iterator iter=tag2id.find(currentItem->text(1));
00526     if (iter==tag2id.end())
00527       kdDebug(13010)<<"Oops, unknown itemtype in showItem: "<<currentItem->text(1)<<endl;
00528     else
00529       {
00530         ItemType->setCurrentItem(*iter);
00531         if (id2info[*iter].length==0) ItemParameter->hide();
00532           else
00533            {
00534              ItemParameter->setMaxLength(id2info[*iter].length);
00535              ItemParameter->show();
00536              ItemParameter->setText(currentItem->text(2));
00537            }
00538       }
00539 
00540   }
00541 
00542 void HlEditDialog::ItemTypeChanged(int id)
00543 {
00544   if (currentItem)
00545      {
00546      currentItem->setText(1,id2tag[id]);
00547      ItemParameter->setMaxLength(id2info[id].length);
00548      ItemParameterChanged(ItemParameter->text());
00549      }
00550 }
00551 
00552 void HlEditDialog::ItemParameterChanged(const QString& name)
00553 {
00554   if (currentItem)
00555     {
00556       currentItem->setText(2,name);
00557       currentItem->setText(0,id2info[ItemType->currentItem()].trans_i18n+" "+currentItem->text(2));
00558     }
00559 }
00560 
00561 void HlEditDialog::ItemAttributeChanged(int attr)
00562 {
00563    if (currentItem)
00564      {
00565        currentItem->setText(3,QString("%1").arg(attr));
00566      }
00567 }
00568 
00569 void HlEditDialog::ItemContextChanged(int cont)
00570 {
00571    if (currentItem)
00572      {
00573        currentItem->setText(4,QString("%1").arg(cont));
00574      }
00575 }
00576 
00577 void HlEditDialog::ItemAddNew()
00578 {
00579   QListViewItem *it;
00580   if (currentItem)
00581     {
00582       if (currentItem->depth()==0) it=currentItem->firstChild();
00583         else
00584           it=currentItem;
00585       if (it) for (;it->nextSibling();it=it->nextSibling());
00586       (void) new QListViewItem(it ? it->parent() : currentItem,it,"StringDetect "+i18n("New Item"),"StringDetect",i18n("New Item"),0,it ? it->parent()->text(1) : currentItem->text(1));
00587     }
00588 }

Generated on Sat Nov 5 16:17:09 2005 for OPIE by  doxygen 1.4.2