-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAccessListThread.cpp
More file actions
91 lines (82 loc) · 2.56 KB
/
AccessListThread.cpp
File metadata and controls
91 lines (82 loc) · 2.56 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
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
#include "AccessListThread.h"
#include "mainwindow.h"
#include "CheckHostThread.h"
AccessListThread::AccessListThread()
{
//QSettings *read_ini = new QSettings("host.ini", QSettings::IniFormat);
selected=false;
stopped=false;
}
AccessListThread::~AccessListThread()
{
//must define..or it is errorful....
}
void AccessListThread::run()
{
while(!stopped){
// have selected a host (on the listwidget) and want to read its shared list
if (selected)
{
int row=list1->currentRow();
QString host=list1->item(row)->text();
//QString dir="Shared_List/";
QSettings *hostini=new QSettings("host.ini",QSettings::IniFormat);
hostini->beginGroup(host);
QString filename=hostini->value("filename").toString();
hostini->endGroup();
//const QStringList childGroups=read_ini->childGroups();
QSettings *read_sharedini=NULL;
//QString dir="./Shared_List/";
//filename=dir+filename;
read_sharedini=new QSettings(filename, QSettings::IniFormat);
read_shared(read_sharedini);
if(this->isFinished())
stop();
return;
}
//read host list when pressing read hosts button
QSettings *read_hostini=new QSettings("host.ini", QSettings::IniFormat);
QStringList hosts=read_host(read_hostini);
if(this->isFinished())
stop();
}
}
void AccessListThread::stop()
{
stopped=true;
}
QStringList AccessListThread::read_host(QSettings* read_ini)
{
const QStringList childGroups=read_ini->childGroups();
int i=0;
//return a QStringList hosts
QStringList hosts;
foreach (const QString &childGroup, childGroups){
//show host list
//check hosts whether have shared files
list1->addItem(childGroup);
hosts.append(childGroup);
i++;
}
return hosts;
}
QStringList AccessListThread::read_shared(QSettings* read_ini)
{
QStringList sharedfiles;
const QStringList childGroups=read_ini->childGroups();
int i=0;
foreach (const QString &childGroup, childGroups){
read_ini->beginGroup(childGroup);
const QStringList childKeys=read_ini->childKeys();
int j=0;
//return a QStringList
QStringList sharedfiles;
foreach (const QString &childKey, childKeys){
this->list2->addItem(read_ini->value(childKey).toString());
j++;
}
read_ini->endGroup();
i++;
}
return sharedfiles;
}