void ChatSearchFromController::rebuildRows() { auto ms = getms(); auto wasEmpty = !delegate()->peerListFullRowsCount(); auto now = unixtime(); QMultiMap<int32, UserData*> ordered; if (_chat->noParticipantInfo()) { AuthSession::Current().api().requestFullPeer(_chat); } else if (!_chat->participants.isEmpty()) { for (auto i = _chat->participants.cbegin(), e = _chat->participants.cend(); i != e; ++i) { auto user = i.key(); ordered.insertMulti(App::onlineForSort(user, now), user); } } for_const (auto user, _chat->lastAuthors) { if (user->isInaccessible()) continue; appendRow(user); if (!ordered.isEmpty()) { ordered.remove(App::onlineForSort(user, now), user); } } if (!ordered.isEmpty()) { for (auto i = ordered.cend(), b = ordered.cbegin(); i != b;) { appendRow(*(--i)); } } checkForEmptyRows(); delegate()->peerListRefreshRows(); }
/*! \internal Returns a lazily-initialized singleton. Ownership is granted to the QPlatformPrinterSupportPlugin, which is never unloaded or destroyed until application exit, i.e. you can expect this pointer to always be valid and multiple calls to this function will always return the same pointer. */ QPlatformPrinterSupport *QPlatformPrinterSupportPlugin::get() { if (!printerSupport) { const QMultiMap<int, QString> keyMap = loader()->keyMap(); if (!keyMap.isEmpty()) printerSupport = qLoadPlugin<QPlatformPrinterSupport, QPlatformPrinterSupportPlugin>(loader(), keyMap.constBegin().value()); if (printerSupport) qAddPostRoutine(cleanupPrinterSupport); } return printerSupport; }
QString BlackBerryCertificate::command() const { QString command; // TOOD: Give user choice to select NDK from where to get commands QMultiMap<QString, QString> qnxEnv = BlackBerryConfigurationManager::instance().defaultQnxEnv(); if (!qnxEnv.isEmpty()) { command = qnxEnv.value(QLatin1String("QNX_HOST")) + QLatin1String("/usr/bin/blackberry-keytool"); if (Utils::HostOsInfo::isWindowsHost()) command += QLatin1String(".bat"); } return command; }
double Snapper::snappedOffsetForLines(const SnapLineMap &snappingLineMap, double value) const { QMultiMap<double, double> minimumSnappingLineMap; SnapLineMapIterator snappingLineIterator(snappingLineMap); while (snappingLineIterator.hasNext()) { snappingLineIterator.next(); double snapLine = snappingLineIterator.key(); double offset = value - snapLine; double distance = qAbs(offset); if (distance < snappingDistance()) minimumSnappingLineMap.insert(distance, offset); } if (!minimumSnappingLineMap.isEmpty()) return minimumSnappingLineMap.begin().value(); return std::numeric_limits<double>::max(); }
double Snapper::snappedOffsetForOffsetLines(const SnapLineMap &snappingOffsetMap, Qt::Orientation orientation, double value, double lowerLimit, double upperLimit) const { QMultiMap<double, double> minimumSnappingLineMap; SnapLineMapIterator snappingOffsetIterator(snappingOffsetMap); while (snappingOffsetIterator.hasNext()) { snappingOffsetIterator.next(); double snapLine = snappingOffsetIterator.key(); const QRectF &formEditorItemRect(snappingOffsetIterator.value().first); double formEditorItemRectLowerLimit; double formEditorItemRectUpperLimit; if (orientation == Qt::Horizontal) { formEditorItemRectLowerLimit = formEditorItemRect.left(); formEditorItemRectUpperLimit = formEditorItemRect.right(); } else { formEditorItemRectLowerLimit = formEditorItemRect.top(); formEditorItemRectUpperLimit = formEditorItemRect.bottom(); } double offset = value - snapLine; double distance = qAbs(offset); if (distance < snappingDistance() && !(lowerLimit > formEditorItemRectUpperLimit || upperLimit < formEditorItemRectLowerLimit)) { minimumSnappingLineMap.insert(distance, offset); } } if (!minimumSnappingLineMap.isEmpty()) { return minimumSnappingLineMap.begin().value(); } return std::numeric_limits<double>::max(); }
void Connector::dumpCertificate( const QSslCertificate &cert ) { qDebug() << cert.toPem(); qDebug() << "== Subject Info ==\b"; qDebug() << "CommonName:\t\t" << cert.subjectInfo( QSslCertificate::CommonName ); qDebug() << "Organization:\t\t" << cert.subjectInfo( QSslCertificate::Organization ); qDebug() << "LocalityName:\t\t" << cert.subjectInfo( QSslCertificate::LocalityName ); qDebug() << "OrganizationalUnitName:\t" << cert.subjectInfo( QSslCertificate::OrganizationalUnitName ); qDebug() << "StateOrProvinceName:\t" << cert.subjectInfo( QSslCertificate::StateOrProvinceName ); QMultiMap<QSsl::AlternateNameEntryType, QString> altNames = cert.alternateSubjectNames(); if ( !altNames.isEmpty() ) { qDebug() << "Alternate Subject Names (DNS):"; foreach (const QString &altName, altNames.values(QSsl::DnsEntry)) { qDebug() << altName; } qDebug() << "Alternate Subject Names (Email):"; foreach (const QString &altName, altNames.values(QSsl::EmailEntry)) { qDebug() << altName; } }
const QMultiMap<QString, GBFeatureKey>& GBFeatureUtils::getKeyGroups() { QMutexLocker locker(&getKeyGroups_mutex); static QMultiMap<QString, GBFeatureKey> groups; if (groups.isEmpty()) { QString genes = QObject::tr("Genes"); groups.insert(genes, GBFeatureKey_CDS); groups.insert(genes, GBFeatureKey_exon); groups.insert(genes, GBFeatureKey_gene); groups.insert(genes, GBFeatureKey_intron); groups.insert(genes, GBFeatureKey_mRNA); groups.insert(genes, GBFeatureKey_polyA_site); groups.insert(genes, GBFeatureKey_precursor_RNA); groups.insert(genes, GBFeatureKey_prim_transcript); groups.insert(genes, GBFeatureKey_promoter); groups.insert(genes, GBFeatureKey_3_clip); groups.insert(genes, GBFeatureKey_3_UTR); groups.insert(genes, GBFeatureKey_5_clip); groups.insert(genes, GBFeatureKey_5_UTR); QString signls = QObject::tr("Signals"); groups.insert(signls, GBFeatureKey_attenuator); groups.insert(signls, GBFeatureKey_CAAT_signal); groups.insert(signls, GBFeatureKey_GC_signal); groups.insert(signls, GBFeatureKey_enhancer); groups.insert(signls, GBFeatureKey_mat_peptide); groups.insert(signls, GBFeatureKey_misc_signal); groups.insert(signls, GBFeatureKey_oriT); groups.insert(signls, GBFeatureKey_rep_origin); groups.insert(signls, GBFeatureKey_polyA_site); groups.insert(signls, GBFeatureKey_polyA_signal); groups.insert(signls, GBFeatureKey_promoter); groups.insert(signls, GBFeatureKey_RBS); groups.insert(signls, GBFeatureKey_sig_peptide); groups.insert(signls, GBFeatureKey_terminator); groups.insert(signls, GBFeatureKey_transit_peptide); groups.insert(signls, GBFeatureKey_TATA_signal); groups.insert(signls, GBFeatureKey__35_signal); groups.insert(signls, GBFeatureKey__10_signal); groups.insert(signls, GBFeatureKey_regulatory); QString binding = QObject::tr("Binding"); groups.insert(binding, GBFeatureKey_misc_binding); groups.insert(binding, GBFeatureKey_primer_bind); groups.insert(binding, GBFeatureKey_protein_bind); groups.insert(binding, GBFeatureKey_bond); QString variation = QObject::tr("Variation"); groups.insert(variation, GBFeatureKey_conflict); groups.insert(variation, GBFeatureKey_misc_difference); groups.insert(variation, GBFeatureKey_modified_base); groups.insert(variation, GBFeatureKey_old_sequence); groups.insert(variation, GBFeatureKey_STS); groups.insert(variation, GBFeatureKey_unsure); groups.insert(variation, GBFeatureKey_variation); QString repeats = QObject::tr("Repeats"); groups.insert(repeats, GBFeatureKey_LTR); groups.insert(repeats, GBFeatureKey_repeat_region); groups.insert(repeats, GBFeatureKey_repeat_unit); groups.insert(repeats, GBFeatureKey_satellite); groups.insert(repeats, GBFeatureKey_transposon); //TODO: recheck grouping QString rna = QObject::tr("RNA"); groups.insert(rna, GBFeatureKey_ncRNA); groups.insert(rna, GBFeatureKey_misc_RNA); groups.insert(rna, GBFeatureKey_mRNA); groups.insert(rna, GBFeatureKey_rRNA); groups.insert(rna, GBFeatureKey_scRNA); groups.insert(rna, GBFeatureKey_snRNA); groups.insert(rna, GBFeatureKey_tRNA); groups.insert(rna, GBFeatureKey_tmRNA); QString misc = QObject::tr("Misc"); groups.insert(misc, GBFeatureKey_assembly_gap); groups.insert(misc, GBFeatureKey_centromere); groups.insert(misc, GBFeatureKey_D_loop); groups.insert(misc, GBFeatureKey_gap); groups.insert(misc, GBFeatureKey_iDNA); groups.insert(misc, GBFeatureKey_misc_binding); groups.insert(misc, GBFeatureKey_misc_feature); groups.insert(misc, GBFeatureKey_misc_recomb); groups.insert(misc, GBFeatureKey_misc_structure); groups.insert(misc, GBFeatureKey_mobile_element); groups.insert(misc, GBFeatureKey_operon); groups.insert(misc, GBFeatureKey_primer); //TODO: recheck grouping groups.insert(misc, GBFeatureKey_source); groups.insert(misc, GBFeatureKey_stem_loop); groups.insert(misc, GBFeatureKey_telomere); groups.insert(misc, GBFeatureKey_Protein); groups.insert(misc, GBFeatureKey_Region); groups.insert(misc, GBFeatureKey_Site); QString spans = QObject::tr("Spans"); groups.insert(spans, GBFeatureKey_C_region); groups.insert(spans, GBFeatureKey_D_segment); groups.insert(spans, GBFeatureKey_J_region); groups.insert(spans, GBFeatureKey_J_segment); groups.insert(spans, GBFeatureKey_N_region); groups.insert(spans, GBFeatureKey_S_region); groups.insert(spans, GBFeatureKey_V_region); groups.insert(spans, GBFeatureKey_V_segment); #ifdef _DEBUG //check that no feature lost QVector<bool> featureInGroup(GBFeatureKey_NUM_KEYS, false); foreach(const QString& groupName, groups.keys()) { QList<GBFeatureKey> values = groups.values(groupName); foreach (GBFeatureKey k, values) { featureInGroup[k] = true; } } for (int i=0; i<GBFeatureKey_NUM_KEYS; i++) { GBFeatureKey fk = GBFeatureKey(i); assert(featureInGroup[fk]); } #endif }