void TransfersContentsWidget::openTransferFolder(const QModelIndex &index) { Transfer *transfer = getTransfer(index.isValid() ? index : m_ui->transfersViewWidget->currentIndex()); if (transfer) { Utils::runApplication(QString(), QUrl::fromLocalFile(QFileInfo(transfer->getTarget()).dir().canonicalPath())); } }
void TransfersContentsWidget::openTransfer(QAction *action) { Transfer *transfer = getTransfer(m_ui->transfersViewWidget->currentIndex()); if (transfer && action && !action->data().isNull()) { Utils::runApplication(action->data().toString(), QUrl::fromLocalFile(transfer->getTarget())); } }
void Updater::transferFinished() { Transfer *transfer = qobject_cast<Transfer*>(sender()); if (transfer) { const QString path = transfer->getTarget(); if ((transfer->getState() == Transfer::FinishedState) && QFile::exists(path)) { if (QFileInfo(path).suffix() == QLatin1String("xml")) { QFile file(SessionsManager::getWritableDataPath(QLatin1String("update.txt"))); if (file.open(QIODevice::ReadWrite | QIODevice::Text)) { QTextStream stream(&file); stream << path; file.close(); } } } else { Console::addMessage(QCoreApplication::translate("main", "Unable to download update: %1\nError: %2").arg(transfer->getSource().url()).arg(transfer->getState()), OtherMessageCategory, ErrorMessageLevel); m_transfersSuccessful = false; } transfer->deleteLater(); } else { m_transfersSuccessful = false; } ++m_transfersCount; if (m_transfersCount == 2) { if (!m_transfersSuccessful) { clearUpdate(); } emit finished(m_transfersSuccessful); deleteLater(); } }
void TransfersManager::transferFinished() { Transfer *transfer = qobject_cast<Transfer*>(sender()); if (transfer) { if (transfer->getState() == Transfer::FinishedState) { connect(NotificationsManager::createNotification(NotificationsManager::TransferCompletedEvent, tr("Transfer completed:\n%1").arg(QFileInfo(transfer->getTarget()).fileName()), Notification::InformationLevel, this), SIGNAL(clicked()), transfer, SLOT(openTarget())); } emit transferFinished(transfer); if (!m_privateTransfers.contains(transfer)) { scheduleSave(); } } }