Example #1
0
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));
}
Example #6
0
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);
}