void QueuedUsers::slotContextMenu(){ QModelIndexList indexes = treeView_USERS->selectionModel()->selectedRows(0); if (indexes.isEmpty()) return; QMenu *m = new QMenu(this); m->addAction(tr("Grant slot")); if (m->exec(QCursor::pos())){ for (const auto &i : indexes){ QueuedUserItem *item = reinterpret_cast<QueuedUserItem*>(i.internalPointer()); if (!item) continue; QString id = item->cid; if (!id.isEmpty()){ UserPtr user = ClientManager::getInstance()->findUser(CID(id.toStdString())); if (user){ try { UploadManager::getInstance()->reserveSlot(HintedUser(user, _tq(item->hub))); } catch ( ... ) {} } } } } m->deleteLater(); }
QString HashManagerScript::getTTH(const QString &aFileName) const{ const dcpp::TTHValue *v = HM->getFileTTHif(_tq(aFileName)); if (v) return _q(v->toBase32()); else return ""; }
void QuickConnect::slotAccept() { QString hub = comboBox_HUB->currentText(); QString encoding = ""; hub.replace(" ", ""); if (hub.isEmpty()){ accept(); return; } if (hub.startsWith("adc://") || hub.startsWith("adcs://")) encoding = "UTF-8"; if (!hub.isEmpty()) { if (encoding.isEmpty()){//Has favorite entry for hub? FavoriteHubEntry* entry = FavoriteManager::getInstance()->getFavoriteHubEntry(_tq(hub)); if (entry) encoding = WulforUtil::getInstance()->dcEnc2QtEnc(_q(entry->getEncoding())); } MainWindow::getInstance()->newHubFrame(hub, (encoding.isEmpty())? (WSGET(WS_DEFAULT_LOCALE)) : (encoding)); QStringList list = WulforSettings::getInstance()->getStr(WS_QCONNECT_HISTORY).split(" ", QString::SkipEmptyParts); if (!list.contains(hub)) list.push_back(hub); else{ accept(); return; } QString hist = ""; foreach (const QString &i, list) hist += (i + " "); WulforSettings::getInstance()->setStr(WS_QCONNECT_HISTORY, hist); } accept(); }
QString HashManagerScript::getTTH(const QString &aFileName, quint64 size) const{ dcpp::TTHValue val = HM->getTTH(_tq(aFileName), size); return _q(val.toBase32()); }
void HashManagerScript::stopHashing(const QString &baseDir) { HM->stopHashing(_tq(baseDir)); }
void SideBarView::slotSideBarDblClicked(const QModelIndex &index){ if (index.column()) return; SideBarItem *item = reinterpret_cast<SideBarItem*>(index.internalPointer()); if (!_model->isRootItem(item) || item->childCount() > 0) return; switch (_model->rootItemRole(item)){ case ArenaWidget::Search: { ArenaWidgetFactory().create<SearchFrame>(); break; } case ArenaWidget::Hub: { QuickConnect qc; qc.exec(); break; } //FIXME: Next code duplicates methods from MainWindow case ArenaWidget::ShareBrowser: { QString file = QFileDialog::getOpenFileName ( this, tr ( "Choose file to open" ), QString::fromStdString ( Util::getPath ( Util::PATH_FILE_LISTS ) ), tr ( "Modern XML Filelists" ) + " (*.xml.bz2);;" + tr ( "Modern XML Filelists uncompressed" ) + " (*.xml);;" + tr ( "All files" ) + " (*)" ); if ( file.isEmpty() ) return; file = QDir::toNativeSeparators ( file ); UserPtr user = dcpp::DirectoryListing::getUserFromFilename ( _tq ( file ) ); if ( user ) ArenaWidgetFactory().create<ShareBrowser, UserPtr, QString, QString> ( user, file, "" ); break; } case ArenaWidget::PrivateMessage: { QString f = QFileDialog::getOpenFileName(this, tr("Open log file"),_q(SETTING(LOG_DIRECTORY)), tr("Log files (*.log);;All files (*.*)")); if ( !f.isEmpty() ) { f = QDir::toNativeSeparators ( f ); if ( f.startsWith ( "/" ) ) f = "file://" + f; else f = "file:///" + f; QDesktopServices::openUrl ( QUrl(f) ); } break; } default: break; } setExpanded(index, true); }