-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcloud-run.cpp
39 lines (37 loc) · 1.5 KB
/
cloud-run.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include "cloud.h"
#include "ui_cloud.h"
#include "QSettings"
#include "QDebug"
#include "QMenu"
#include <QTimer>
#include <QHttp>
#include <QBuffer>
#include <QList>
#include <QFile>
#include <QtGui>
void Cloud::on_list_itemDoubleClicked(QTreeWidgetItem* item, int column)
{
if (item->data(0, Qt::UserRole + 1).toInt() == 1)
torrent->setPrio(torrent_prio_normal, item->data(0, Qt::UserRole).toInt());
if (item->data(0, Qt::UserRole + 1).toInt() == 2)
{
qDebug() << "run" << item->data(0, Qt::UserRole + 2).toString() << item->data(0, Qt::UserRole + 1).toString() << item->data(0, Qt::UserRole).toString();
p.setWorkingDirectory(QString("%1").arg(item->data(0, Qt::UserRole + 2).toString()));
qDebug() << p.workingDirectory();
QString cmd = QString("\"%1/%2\"").arg(item->data(0, Qt::UserRole + 2).toString(), item->data(0, Qt::UserRole).toString());
cmd = QString("%1/%2").arg(item->data(0, Qt::UserRole + 2).toString(), item->data(0, Qt::UserRole).toString());
cmd = cmd.replace("\\", "/");
QString fol = QString("%1/%2").arg(QApplication::applicationDirPath(), item->data(0, Qt::UserRole + 2).toString());
QString cmd2 = QString("\"%1/%2").arg(QApplication::applicationDirPath(), cmd);
qDebug() << "run cmd" << cmd2 << "in" << fol;
if (cmd.contains(".cmd") || cmd.contains(".bat"))
{
p.startDetached(QString("%1\"").arg(cmd2), QStringList(), fol);
}
else
{
p.setWorkingDirectory(fol);
p.start(cmd2);
}
}
}