added mime filetype in qtreeview
This commit is contained in:
parent
927c4a932a
commit
711ca7d1cd
@ -356,6 +356,7 @@ void MainWindow::populateList()
|
|||||||
hidden = this->settings.allKeys();
|
hidden = this->settings.allKeys();
|
||||||
for (i = 0; i < hidden.size(); i++)
|
for (i = 0; i < hidden.size(); i++)
|
||||||
{
|
{
|
||||||
|
//TODO detect if service is already present
|
||||||
ui->listWidget->addItem(this->settings.value(hidden.at(i)).toString() + "\n\t");
|
ui->listWidget->addItem(this->settings.value(hidden.at(i)).toString() + "\n\t");
|
||||||
}
|
}
|
||||||
QGuiApplication::restoreOverrideCursor(); //setting cursor to default
|
QGuiApplication::restoreOverrideCursor(); //setting cursor to default
|
||||||
@ -469,24 +470,22 @@ bool MainWindow::scanDir(QString server, int portN, QTreeWidgetItem *parent, QSt
|
|||||||
}
|
}
|
||||||
// extracting name, size and if is dir/file
|
// extracting name, size and if is dir/file
|
||||||
line = line.simplified();
|
line = line.simplified();
|
||||||
|
filename = line.section(" ", 4);
|
||||||
|
if (filename != '.')
|
||||||
|
{
|
||||||
|
|
||||||
size = line.section(" ", 1, 1);
|
size = line.section(" ", 1, 1);
|
||||||
fullsize = size;
|
fullsize = size;
|
||||||
fullsize.remove(",");
|
fullsize.remove(",");
|
||||||
sizeA = size.split(',');
|
sizeA = size.split(',');
|
||||||
if (sizeA.at(0) == "4")
|
|
||||||
{
|
|
||||||
cout << "test" << endl;
|
|
||||||
}
|
|
||||||
if (sizeA.count() <= 1)
|
if (sizeA.count() <= 1)
|
||||||
{
|
{
|
||||||
size = sizeA.at(0) + UnitText[0];
|
size = sizeA.at(0) + " " + UnitText[0] + " ";
|
||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
size = sizeA.at(0) + "," + sizeA.at(1).left(2) + UnitText[sizeA.count()-1];
|
size = sizeA.at(0) + "," + sizeA.at(1).left(2) + " " + UnitText[sizeA.count()-1] + " ";
|
||||||
}
|
}
|
||||||
filename = line.section(" ", 4);
|
|
||||||
if (filename != '.')
|
|
||||||
{
|
|
||||||
if (line[0] == "d")
|
if (line[0] == "d")
|
||||||
{
|
{
|
||||||
isDir = true;
|
isDir = true;
|
||||||
@ -494,6 +493,8 @@ bool MainWindow::scanDir(QString server, int portN, QTreeWidgetItem *parent, QSt
|
|||||||
{
|
{
|
||||||
isDir = false;
|
isDir = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fileType = getFileType(filename);
|
||||||
addTreeItem(filename, size, fullsize, fileType, isDir, parent);
|
addTreeItem(filename, size, fullsize, fileType, isDir, parent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -632,7 +633,7 @@ void MainWindow::addTreeItem(QString name, QString fileSize, QString fullsize, Q
|
|||||||
}else
|
}else
|
||||||
{
|
{
|
||||||
// item is a file
|
// item is a file
|
||||||
treeItem->setText(1,tr("File"));
|
treeItem->setText(1,type);
|
||||||
}
|
}
|
||||||
treeItem->setText(0, name);
|
treeItem->setText(0, name);
|
||||||
treeItem->setText(2, fileSize);
|
treeItem->setText(2, fileSize);
|
||||||
@ -645,53 +646,6 @@ void MainWindow::addTreeItem(QString name, QString fileSize, QString fullsize, Q
|
|||||||
parent->addChild(treeItem);
|
parent->addChild(treeItem);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*// add parent in treeview
|
|
||||||
QTreeWidgetItem * MainWindow::addTreeRoot(QString name, QString fileSize, QString fullsize, bool isDir)
|
|
||||||
{
|
|
||||||
QTreeWidgetItem *treeItem = new QTreeWidgetItem(ui->treeWidget);
|
|
||||||
|
|
||||||
if (isDir == true)
|
|
||||||
{
|
|
||||||
// item is a dir
|
|
||||||
treeItem->setText(1, tr("Dir"));
|
|
||||||
treeItem->setIcon(0, QIcon::fromTheme("folder"));
|
|
||||||
}else
|
|
||||||
{
|
|
||||||
// item is a file
|
|
||||||
treeItem->setText(1,tr("File"));
|
|
||||||
}
|
|
||||||
treeItem->setText(0, name);
|
|
||||||
treeItem->setText(2, fileSize);
|
|
||||||
treeItem->setText(3, fullsize);
|
|
||||||
treeItem->setTextAlignment(2, Qt::AlignRight);
|
|
||||||
|
|
||||||
return treeItem;
|
|
||||||
}
|
|
||||||
|
|
||||||
// add child in treeview
|
|
||||||
QTreeWidgetItem * MainWindow::addTreeChild(QTreeWidgetItem *parent, QString name, QString fileSize, QString fullsize, bool isDir)
|
|
||||||
{
|
|
||||||
QTreeWidgetItem *treeItem = new QTreeWidgetItem(ui->treeWidget);
|
|
||||||
|
|
||||||
if (isDir == true)
|
|
||||||
{
|
|
||||||
// item is a dir
|
|
||||||
treeItem->setText(1, tr("Dir"));
|
|
||||||
treeItem->setIcon(0, QIcon::fromTheme("folder"));
|
|
||||||
}else
|
|
||||||
{
|
|
||||||
// item is a file
|
|
||||||
treeItem->setText(1,tr("File"));
|
|
||||||
}
|
|
||||||
treeItem->setText(0, name);
|
|
||||||
treeItem->setText(2, fileSize);
|
|
||||||
treeItem->setText(3, fullsize);
|
|
||||||
treeItem->setTextAlignment(2, Qt::AlignRight);
|
|
||||||
|
|
||||||
// QTreeWidgetItem::addChild(QTreeWidgetItem * child)
|
|
||||||
parent->addChild(treeItem);
|
|
||||||
return treeItem;
|
|
||||||
}*/
|
|
||||||
|
|
||||||
// Slot activated when a service in the list is clicked
|
// Slot activated when a service in the list is clicked
|
||||||
void MainWindow::on_listWidget_clicked()
|
void MainWindow::on_listWidget_clicked()
|
||||||
|
@ -71,4 +71,10 @@ bool testRsyncReturn(MainWindow * w, QProcess * myProcess)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString getFileType(QString filename)
|
||||||
|
{
|
||||||
|
QMimeDatabase db;
|
||||||
|
QMimeType mime = db.mimeTypeForFile(filename);
|
||||||
|
QString returnValue = mime.name().section('/',1 ,1);
|
||||||
|
return returnValue;
|
||||||
|
}
|
||||||
|
3
tools.h
3
tools.h
@ -9,6 +9,8 @@
|
|||||||
#include <QMap>
|
#include <QMap>
|
||||||
#include <QTranslator>
|
#include <QTranslator>
|
||||||
#include <QProcess>
|
#include <QProcess>
|
||||||
|
#include <QMimeDatabase>
|
||||||
|
#include <QMimeType>
|
||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
@ -19,5 +21,6 @@ FILE * popen2(array<string,8> argv, string type, int & pid);
|
|||||||
int pclose2(FILE * fp, pid_t pid);
|
int pclose2(FILE * fp, pid_t pid);
|
||||||
|
|
||||||
bool testRsyncReturn(MainWindow *, QProcess *);
|
bool testRsyncReturn(MainWindow *, QProcess *);
|
||||||
|
QString getFileType(QString finename);
|
||||||
|
|
||||||
#endif // TOOLS_H
|
#endif // TOOLS_H
|
||||||
|
Loading…
Reference in New Issue
Block a user