void ListEdit::moveItemDown() { Q3ListBoxItem * item = _list->selectedItem(); if(item) { Q3ListBoxItem * next = item->next(); if(next) { _list->insertItem(item, next); } } }
void ImportWindow::sRemove() { Q3ListBoxItem * item = _reports->firstItem(); Q3ListBoxItem * next = 0; while(item) { next = item->next(); if(item->isSelected()) delete item; item = next; } }
QList<QVariant> ListEdit::list() { QList<QVariant> varlist; Q3ListBoxItem * item = 0; QListBoxVariant * var = 0; item = _list->item(0); while(item) { if(item->rtti() == QListBoxVariant::RTTI) { var = (QListBoxVariant*)item; varlist.append(var->variant()); } item = item->next(); } return varlist; }
bool EditorCompletion::continueComplete() { if ( searchString.isEmpty() ) { completionListBox->clear(); for ( QList<CompletionEntry>::ConstIterator it = cList.begin(); it != cList.end(); ++it ) (void)new CompletionItem( completionListBox, (*it).text, (*it).type, (*it).postfix, (*it).prefix, (*it).postfix2 ); completionListBox->setCurrentItem( 0 ); completionListBox->setSelected( completionListBox->currentItem(), true ); return true; } Q3ListBoxItem *i = completionListBox->findItem( searchString ); if ( !i ) return false; QString txt1 = i->text(); QString txt2 = searchString; strip( txt1 ); strip( txt2 ); if ( txt1 == txt2 && !i->next() ) return false; QList<CompletionEntry> res; for ( QList<CompletionEntry>::ConstIterator it = cList.begin(); it != cList.end(); ++it ) { if ( (*it).text.left( searchString.length() ) == searchString ) res << *it; } if ( res.isEmpty() ) return false; completionListBox->clear(); for ( QList<CompletionEntry>::ConstIterator it2 = res.begin(); it2 != res.end(); ++it2 ) (void)new CompletionItem( completionListBox, (*it2).text, (*it2).type, (*it2).postfix, (*it2).prefix, (*it2).postfix2 ); completionListBox->setCurrentItem( 0 ); completionListBox->setSelected( completionListBox->currentItem(), true ); return true; }
void ImportWindow::sImport() { _log->append(tr("Import Started...")); Q3ListBoxItem * item = _reports->firstItem(); Q3ListBoxItem * next = 0; while(item) { next = item->next(); if(item->isSelected()) { QString xml_file = ((ListBoxReportItem*)item)->report(); QString report_name = QString::null; QString report_desc = QString::null; QString report_src = QString::null; int report_grade = ((ListBoxReportItem*)item)->grade(); if(!xml_file.isEmpty()) { QFile file(xml_file); if(file.open(QIODevice::ReadOnly)) { QDomDocument doc; QString errMsg; int errLine, errCol; if(doc.setContent(&file, &errMsg, &errLine, &errCol)) { QDomElement root = doc.documentElement(); if(root.tagName() == "report") { for(QDomNode n = root.firstChild(); !n.isNull(); n = n.nextSibling()) { if(n.nodeName() == "name") report_name = n.firstChild().nodeValue(); else if(n.nodeName() == "description") report_desc = n.firstChild().nodeValue(); } report_src = doc.toString(); if(!report_name.isEmpty()) { QSqlQuery qry; QSqlQuery query; qry.prepare("SELECT report_id " " FROM report " " WHERE ((report_name=:rptname) " " AND (report_grade=:rptgrade));"); qry.bindValue(":rptname", report_name); qry.bindValue(":rptgrade", report_grade); qry.exec(); if(qry.first()) { // update query.prepare("UPDATE report " " SET report_descrip=:rptdescr, " " report_source=:rptsrc " " where report_id=:rptid " " and report_name=:rptname;"); query.bindValue(":rptdescr", report_desc); query.bindValue(":rptsrc", report_src); query.bindValue(":rptid", qry.value(0)); query.bindValue(":rptname", report_name); } else { // insert query.prepare("INSERT INTO report " " (report_name, report_descrip, report_source, report_grade) " "VALUES (:rptname, :rptdescr, :rptsrc, :rptgrade);"); query.bindValue(":rptname", report_name); query.bindValue(":rptdescr", report_desc); query.bindValue(":rptsrc", report_src); query.bindValue(":rptgrade", report_grade); } if(!query.exec()) { QSqlError err = query.lastError(); _log->append(tr("<font color=red>The following error was encountered while trying to import %1 into the database:\n" "\t%2\n\t%3\n</font>") .arg(xml_file) .arg(err.driverText()) .arg(err.databaseText())); } else _log->append(tr("Import successful of %1").arg(xml_file)); } else _log->append(tr("<font color=orange>The document %1 does not have a report name defined\n</font>") .arg(xml_file)); } else _log->append(tr("<font color=red>XML Document %1 does not have root node of report\n</font>") .arg(xml_file)); } else _log->append(tr("<font color=red>Error parsing file %1: %2 on line %3 column %4\n</font>") .arg(xml_file).arg(errMsg).arg(errLine).arg(errCol)); } else _log->append(tr("<font color=red>Could not open the specified file: %1\n</font>") .arg(xml_file)); } else _log->append("<font color=red>Encountered and empty entry: No file name was given.\n</font>"); } item = next; } _log->append(tr("Import complete!\n\n\n")); }