-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmainwindow.cpp
executable file
·109 lines (97 loc) · 3 KB
/
mainwindow.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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
#include "dialogfile.h"
#include "dialogprocess.h"
#include "dialogstruct.h"
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QMessageBox>
#include <qstandarditemmodel.h>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
this->vm_name = NULL;
this->isListing = false;
this->thread_listing_int3 = NULL;
this->initTreeView();
ui->textBrowser->append("software is working!");
ui->textBrowser->append("XEN is working!");
this->model = new QStandardItemModel(ui->treeView_2);
model->setHorizontalHeaderLabels(QStringList()<<QStringLiteral("序号")<<QStringLiteral("进程名")<<QStringLiteral("当前位置"));
ui->treeView_2->setModel(model);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_2_clicked()
{
ui->textBrowser->append("show Dialogstruct");
Dialogstruct* dialog = new Dialogstruct(this);
dialog->show();
}
void MainWindow::on_pushButton_clicked()
{
ui->textBrowser->append("show Dialogfile");
Dialogfile* dialog = new Dialogfile(this);
dialog->show();
}
void MainWindow::on_pushButton_3_clicked()
{
ui->textBrowser->append("show Dialogprocess");
Dialogprocess* dialog = new Dialogprocess(this);
dialog->show();
}
void MainWindow::on_listing_triggered()
{
if(isListing) {
if(thread_listing_int3 != NULL) {
ui->textBrowser->append("stop listing");
closeListingInt3();
}
if(pthread != NULL){
stopListingPro();
}
isListing = false;
} else {
ui->textBrowser->append("start listing");
openListingInt3();
openListingPro();
isListing = true;
}
// QMessageBox::about(this,"asd","asdas");
}
void MainWindow::on_action_4_triggered()
{
Dialogstruct* dialog = new Dialogstruct(this);
dialog->show();
}
void MainWindow::on_action_6_triggered()
{
Dialogfile* dialog = new Dialogfile(this);
dialog->show();
}
void MainWindow::on_textBrowser_2_textChanged()
{
ui->textBrowser_2->moveCursor(QTextCursor::End);
}
void MainWindow::refreshlist(vector<process_struct> proclist){
// vector<process_struct> proclist = data.value<vector<process_struct>>();
qDebug("%d",proclist.size());
model->clear();
for(int i = 0 ;i< proclist.size(); i++) {
//qDebug()<<this_procList.at(i).process_name;
model->setHorizontalHeaderLabels(QStringList()<<QStringLiteral("序号")<<QStringLiteral("进程名")<<QStringLiteral("当前位置"));
QStandardItem* itemProject = new QStandardItem(QString::number(proclist.at(i).pid));
model->appendRow(itemProject);
model->setItem(i,1,new QStandardItem(QString::fromStdString(proclist.at(i).process_name)));
model->setItem(i,2,new QStandardItem(QString("%1").arg(proclist.at(i).current_proc,4,16,QLatin1Char('0'))));
}
ui->treeView_2->setModel(model);
}
void MainWindow::updateText(QString s)
{
ui->textBrowser_2->append(s);
}