void EventEditor::currentItemChanged(QTreeWidgetItem * it,QTreeWidgetItem *) { KVI_ASSERT(m_bOneTimeSetupDone); saveLastEditedItem(); if(!it) { m_pNameEditor->setText(__tr2qs_ctx("No item selected","editor")); m_pEditor->setText(""); m_pEditor->setEnabled(false); return; } if(it->parent()) { m_pLastEditedItem = (EventEditorHandlerTreeWidgetItem *)it; m_pNameEditor->setEnabled(true); m_pNameEditor->setText(m_pLastEditedItem->name()); m_pEditor->setEnabled(true); m_pEditor->setFocus(); m_pEditor->setText(m_pLastEditedItem->m_szBuffer); m_pEditor->setCursorPosition(((EventEditorHandlerTreeWidgetItem *)it)->cursorPosition()); } else { m_pLastEditedItem = 0; m_pNameEditor->setEnabled(false); m_pNameEditor->setText(""); m_pEditor->setEnabled(false); QString parms = ((EventEditorEventTreeWidgetItem *)it)->m_szParams; if(parms.isEmpty())parms = __tr2qs_ctx("none","editor"); KviCommandFormatter::indent(parms); KviCommandFormatter::indent(parms); QString szTmp = QString(__tr2qs_ctx("\n\nEvent:\n%1\n\nParameters:\n%2","editor")).arg(((EventEditorEventTreeWidgetItem *)it)->m_szName,parms); m_pEditor->setText(szTmp); } }
void EventEditor::exportCurrentHandler() { if(!m_pLastEditedItem)return; saveLastEditedItem(); if(!m_pLastEditedItem)return; QString szName = QDir::homePath(); if(!szName.endsWith(QString(KVI_PATH_SEPARATOR)))szName += KVI_PATH_SEPARATOR; szName += ((EventEditorEventTreeWidgetItem *)(m_pLastEditedItem->parent()))->m_szName; szName += "."; szName += m_pLastEditedItem->m_szName; szName += ".kvs"; QString szFile; if(!KviFileDialog::askForSaveFileName(szFile,__tr2qs_ctx("Choose a Filename - KVIrc","editor"),szName,KVI_FILTER_SCRIPT,true,true,true))return; QString szOut; getExportEventBuffer(szOut,m_pLastEditedItem); if(!KviFileUtils::writeFile(szFile,szOut)) { QMessageBox::warning(this,__tr2qs_ctx("Write Failed - KVIrc","editor"),__tr2qs_ctx("Unable to write to the event file.","editor"),__tr2qs_ctx("&OK","editor")); } }
void RawEditorWidget::exportAllEvents() { saveLastEditedItem(); RawTreeWidgetItem * it; QString out; for (int i=0;i<m_pTreeWidget->topLevelItemCount();i++) { it=(RawTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); RawHandlerTreeWidgetItem * item; for (int j=0;j<it->childCount();j++) { QString tmp; item=(RawHandlerTreeWidgetItem *)it->child(j); getExportEventBuffer(tmp,item); out += tmp; out += "\n"; } } QString szName = QDir::homePath(); if(!szName.endsWith(QString(KVI_PATH_SEPARATOR)))szName += KVI_PATH_SEPARATOR; szName += "rawevents.kvs"; QString szFile; if(!KviFileDialog::askForSaveFileName(szFile,__tr2qs_ctx("Choose a Filename - KVIrc","editor"),szName,KVI_FILTER_SCRIPT,true,true,true,this))return; if(!KviFileUtils::writeFile(szFile,out)) { QMessageBox::warning(this,__tr2qs_ctx("Writing to File Failed - KVIrc","editor"),__tr2qs_ctx("Unable to write to the RAW events file.","editor"),__tr2qs_ctx("OK","editor")); } }
void EventEditor::commit() { if(!m_bOneTimeSetupDone)return; // nothing to commit saveLastEditedItem(); KviKvsEventManager::instance()->removeAllScriptAppHandlers(); int count=m_pTreeWidget->topLevelItemCount(); for (int i=0;i<count;i++) { QTreeWidgetItem * it = m_pTreeWidget->topLevelItem(i); int ccount = it->childCount(); if(ccount > 0) { QString szContext; for(int j=0;j<ccount;j++) { QTreeWidgetItem * ch = it->child(j); szContext = QString("%1::%2").arg(((EventEditorEventTreeWidgetItem *)it)->m_szName,((EventEditorHandlerTreeWidgetItem *)ch)->m_szName); KviKvsScriptEventHandler * s = KviKvsScriptEventHandler::createInstance( // msvc workaround ((EventEditorHandlerTreeWidgetItem *)ch)->m_szName, szContext, ((EventEditorHandlerTreeWidgetItem *)ch)->m_szBuffer, ((EventEditorHandlerTreeWidgetItem *)ch)->m_bEnabled ); KviKvsEventManager::instance()->addAppHandler(((EventEditorEventTreeWidgetItem *)it)->m_uEventIdx,s); } } } g_pApp->saveAppEvents(); }
void RawEditorWidget::commit() { if(!m_bOneTimeSetupDone)return; // nothing to commit saveLastEditedItem(); KviKvsEventManager::instance()->removeAllScriptRawHandlers(); QTreeWidgetItem * it; for(int i=0;i<m_pTreeWidget->topLevelItemCount();i++) { it=(QTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); if(it->childCount()) { QString szContext; QTreeWidgetItem * ch; for (int j=0;j<it->childCount();j++) { ch=(QTreeWidgetItem *)it->child(j); qDebug("Commit handler %s",((RawHandlerTreeWidgetItem *)ch)->text(0).toUtf8().data()); //int a=(RawTreeWidgetItem *)it)->m_iIdx; szContext = QString("RawEvent%1::%2").arg(((RawTreeWidgetItem *)it)->m_iIdx).arg(((RawHandlerTreeWidgetItem *)ch)->text(0)); KviKvsScriptEventHandler * s = new KviKvsScriptEventHandler( ((RawHandlerTreeWidgetItem *)ch)->text(0), szContext, ((RawHandlerTreeWidgetItem *)ch)->m_szBuffer, ((RawHandlerTreeWidgetItem *)ch)->m_bEnabled ); KviKvsEventManager::instance()->addRawHandler(((RawTreeWidgetItem *)it)->m_iIdx,s); } } } g_pApp->saveRawEvents(); // otherwise this page has never been shown }
void PopupEditorWidget::currentItemChanged(QTreeWidgetItem * it, QTreeWidgetItem *) { saveLastEditedItem(); m_pLastEditedItem = (MenuTreeWidgetItem *)it; m_pEditor->edit(m_pLastEditedItem); }
void PopupEditorWidget::exportCurrentPopup() { if(!m_pLastEditedItem) return; saveLastEditedItem(); if(!m_pLastEditedItem) return; QString szName = QDir::homePath(); if(!szName.endsWith(QString(KVI_PATH_SEPARATOR))) szName += KVI_PATH_SEPARATOR; szName += m_pLastEditedItem->popup()->popupName(); szName += ".kvs"; QString szFile; if(!KviFileDialog::askForSaveFileName(szFile, __tr2qs_ctx("Enter a Filename - KVIrc", "editor"), szName, KVI_FILTER_SCRIPT, true, true, true, this)) return; QString szOut; m_pLastEditedItem->popup()->generateDefPopup(szOut); if(!KviFileUtils::writeFile(szFile, szOut)) { QMessageBox::warning(this, __tr2qs_ctx("Writing to File Failed - KVIrc", "editor"), __tr2qs_ctx("Unable to write to the popups file.", "editor"), __tr2qs_ctx("OK", "editor")); } }
void RawEditorWidget::currentItemChanged(QTreeWidgetItem * it,QTreeWidgetItem *) { KVI_ASSERT(m_bOneTimeSetupDone); saveLastEditedItem(); if(it->parent()) { m_pLastEditedItem = (RawHandlerTreeWidgetItem *)it; m_pNameEditor->setEnabled(true); m_pNameEditor->setText(it->text(0)); m_pEditor->setEnabled(true); m_pEditor->setText(((RawHandlerTreeWidgetItem *)it)->m_szBuffer); } else { m_pLastEditedItem = 0; m_pNameEditor->setEnabled(false); m_pNameEditor->setText(""); m_pEditor->setEnabled(false); QString szTmp = QString(__tr2qs_ctx("\n\nRAW Event:\n%1","editor")).arg(((RawHandlerTreeWidgetItem *)it)->text(0)); m_pEditor->setText(szTmp); } }
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")); } }
void PopupEditorWidget::commit() { m_bSaving = true; if(!m_bOneTimeSetupDone) return; saveLastEditedItem(); int topcount = m_pTreeWidget->topLevelItemCount(); // Copy the original popup dict KviPointerHashTable<QString, KviKvsPopupMenu> copy(*(KviKvsPopupManager::instance()->popupDict())); copy.setAutoDelete(false); for(int i = 0; i < topcount; i++) { MenuTreeWidgetItem * it = (MenuTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); KviKvsPopupMenu * p = KviKvsPopupManager::instance()->get(it->m_pPopup->popupName()); p->doClear(); p->copyFrom(it->m_pPopup); // remove it from the original copy copy.remove(p->popupName()); } // the remaining elements in the copy need to be removed from // the "new" dictionary (they are no longer used) KviPointerHashTableIterator<QString, KviKvsPopupMenu> iter(copy); while(iter.current()) { KviKvsPopupManager::instance()->remove(iter.currentKey()); ++iter; } g_pApp->savePopups(); m_bSaving = false; }
void PopupEditorWidget::exportPopups(bool bSelectedOnly) { saveLastEditedItem(); QString out; int count = 0, topcount = m_pTreeWidget->topLevelItemCount(); for(int i = 0; i < topcount; i++) { MenuTreeWidgetItem * it = (MenuTreeWidgetItem *)m_pTreeWidget->topLevelItem(i); if((it->isSelected()) || (bSelectedOnly == true)) { count++; QString tmp; it->popup()->generateDefPopup(tmp); out += tmp; out += "\n"; } } if(!count && !bSelectedOnly) return; QString szName = QDir::homePath(); if(!szName.endsWith(QString(KVI_PATH_SEPARATOR))) szName += KVI_PATH_SEPARATOR; szName += "popups.kvs"; QString szFile; if(!KviFileDialog::askForSaveFileName(szFile, __tr2qs_ctx("Enter a Filename - KVIrc", "editor"), szName, KVI_FILTER_SCRIPT, true, true, true, this)) return; if(!KviFileUtils::writeFile(szFile, out)) { QMessageBox::warning(this, __tr2qs_ctx("Writing to File Failed - KVIrc", "editor"), __tr2qs_ctx("Unable to write to the popups file.", "editor"), __tr2qs_ctx("OK", "editor")); } }