-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtabwidget2.cpp
More file actions
43 lines (35 loc) · 1.46 KB
/
Copy pathtabwidget2.cpp
File metadata and controls
43 lines (35 loc) · 1.46 KB
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
40
41
42
43
#include "tabwidget2.h"
Tabwidget2::Tabwidget2(QString explanation_, const QString &label, QWidget *parent, const QString &name, const std::function<QStringList(const QFileInfo &info, const QStringList &ext)> &command, QString command_name)
:Tabwidget(explanation_,label,parent, name, command, command_name){}
void Tabwidget2::processar() {
input_box->setVisible(false);
button->setVisible(false);
status->setText("Processing...");
image_label->setVisible(false);
QString exe = QStandardPaths::findExecutable(command_name);
if(exe.isEmpty()){
status->setText(command_name + " not installed!");
button->setVisible(false);
input_box->setVisible(true);
button->setVisible(true);
return;
}
else{
QProcess *p = new QProcess;
connect(p, &QProcess::finished, this, &Tabwidget2::ProcessingDone);
connect(p, &QProcess::finished, p, &QObject::deleteLater);
p->start(command_name, command(QFileInfo(), {line_edit->text(), QString::number(count)}));
}
}
void Tabwidget2::ProcessingDone() {
count++;
QProcess *p = qobject_cast<QProcess*>(sender());
qDebug() << p->exitCode();
qDebug() << p->readAllStandardError();
status->setText("Finished");
button->setVisible(true);
input_box->setVisible(true);
image->load(QDir::homePath() + "/qr_"+ QString::number(count - 1) + ".png");
image_label->setPixmap(*image);
image_label->setVisible(true);
}