void EventEditor::oneTimeSetup() { if(m_bOneTimeSetupDone)return; m_bOneTimeSetupDone = true; EventEditorEventTreeWidgetItem * it; for(unsigned int i = 0;i < KVI_KVS_NUM_APP_EVENTS;i++) { KviKvsEvent * e = KviKvsEventManager::instance()->appEvent(i); it = new EventEditorEventTreeWidgetItem(m_pTreeWidget,i,e->name(),e->parameterDescription()); if(KviPointerList<KviKvsEventHandler> * l = e->handlers()) { for(KviKvsEventHandler * s = l->first();s;s = l->next()) { if(s->type() == KviKvsEventHandler::Script) { new EventEditorHandlerTreeWidgetItem(it,((KviKvsScriptEventHandler *)s)->name(), ((KviKvsScriptEventHandler *)s)->code(),((KviKvsScriptEventHandler *)s)->isEnabled()); } } } it->setIcon(0,QIcon(*(g_pIconManager->getSmallIcon(it->childCount() ? KviIconManager::Event : KviIconManager::EventNoHandlers)))); } connect(m_pTreeWidget,SIGNAL(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *)),this,SLOT(currentItemChanged(QTreeWidgetItem *,QTreeWidgetItem *))); connect(m_pTreeWidget,SIGNAL(rightButtonPressed(QTreeWidgetItem *,QPoint)), this,SLOT(itemPressed(QTreeWidgetItem *,QPoint))); connect(KviKvsEventManager::instance(),SIGNAL(eventHandlerDisabled(const QString &)),this,SLOT(eventHandlerDisabled(const QString &))); m_pContextPopup = new QMenu(this); m_pTreeWidget->sortItems(0,Qt::AscendingOrder); }
void EventEditor::eventHandlerDisabled(const QString & szHandler) { QString szEventName = szHandler.split("::")[0]; QString szHandlerName = szHandler.split("::")[1]; qDebug("Handler %s of event %s : disabled", szHandlerName.toUtf8().data(), szEventName.toUtf8().data()); for(int i = 0; i < m_pTreeWidget->topLevelItemCount(); i++) { EventEditorEventTreeWidgetItem * pItem = (EventEditorEventTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); if(!KviQString::equalCI(szEventName, pItem->name())) continue; for(int j = 0; j < pItem->childCount(); j++) { if(KviQString::equalCI(szHandlerName, ((EventEditorHandlerTreeWidgetItem *)pItem->child(j))->name())) { ((EventEditorHandlerTreeWidgetItem *)pItem->child(j))->setEnabled(false); return; } } } }
void EventEditor::exportAllEvents() { saveLastEditedItem(); QString out; int count = m_pTreeWidget->topLevelItemCount(); for(int i = 0; i < count; i++) { EventEditorEventTreeWidgetItem * it = (EventEditorEventTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); int ccount = it->childCount(); for(int j = 0; j < ccount; j++) { EventEditorHandlerTreeWidgetItem * item = (EventEditorHandlerTreeWidgetItem *)it->child(j); QString tmp; getExportEventBuffer(tmp, item); out += tmp; out += "\n"; } } QString szName = QDir::homePath(); if(!szName.endsWith(QString(KVI_PATH_SEPARATOR))) szName += KVI_PATH_SEPARATOR; szName += "events.kvs"; QString szFile; if(!KviFileDialog::askForSaveFileName(szFile, __tr2qs_ctx("Enter a Filename - KVIrc", "editor"), szName, QString(), true, true, true, this)) return; if(!KviFileUtils::writeFile(szFile, out)) { QMessageBox::warning(this, __tr2qs_ctx("Writing to File Failed", "editor"), __tr2qs_ctx("Unable to write to the events file.", "editor"), __tr2qs_ctx("OK", "editor")); } }