add label.txt content to project name
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"Id": "projectfilesystemplugin",
|
||||
"Name" : "ProjectFilesystemPlugin",
|
||||
"Version" : "2.0.0",
|
||||
"Version" : "3.0.0",
|
||||
"CompatVersion" : "${IDE_VERSION_COMPAT}",
|
||||
"VendorId" : "peri4",
|
||||
"Vendor" : "Peri4",
|
||||
|
||||
@@ -40,6 +40,15 @@ const int roleFullPath = Qt::UserRole;
|
||||
const int roleItemType = Qt::UserRole + 1;
|
||||
const int roleIsDir = Qt::UserRole + 2;
|
||||
const int roleProject = Qt::UserRole + 3;
|
||||
const int roleLabel = Qt::UserRole + 4;
|
||||
|
||||
|
||||
void setItemProjectName(ProjectExplorer::Project * pr, QTreeWidgetItem * item) {
|
||||
if (!pr || !item) return;
|
||||
QString dn = pr->displayName(), l = item->data(0, roleLabel).toString();
|
||||
if (!l.isEmpty()) dn += " (" + l + ")";
|
||||
item->setText(0, dn);
|
||||
}
|
||||
|
||||
|
||||
QAction * newSeparator() {
|
||||
@@ -48,6 +57,7 @@ QAction * newSeparator() {
|
||||
return sep;
|
||||
}
|
||||
|
||||
|
||||
ProjectFilesystemWidget::ProjectFilesystemWidget(QWidget * parent): QWidget(parent) {
|
||||
setupUi(this);
|
||||
item_target = nullptr;
|
||||
@@ -146,7 +156,7 @@ void ProjectFilesystemWidget::projectNameChanged() {
|
||||
for (int i = 0; i < tree->topLevelItemCount(); ++i) {
|
||||
ProjectExplorer::Project * p = (ProjectExplorer::Project *)itemProject(tree->topLevelItem(i));
|
||||
if (!p) continue;
|
||||
tree->topLevelItem(i)->setText(0, p->displayName());
|
||||
setItemProjectName(p, tree->topLevelItem(i));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -300,16 +310,22 @@ void ProjectFilesystemWidget::createProjectTree(void * p) {
|
||||
ProjectExplorer::Project * pr = (ProjectExplorer::Project *)p;
|
||||
QTreeWidgetItem * ri = new QTreeWidgetItem();
|
||||
QString dir = pr->projectDirectory().toString();
|
||||
ri->setText(0, pr->displayName());
|
||||
QFile logo(dir + "/logo.png");
|
||||
if (logo.exists())
|
||||
ri->setIcon(0, QIcon(logo.fileName()));
|
||||
else
|
||||
ri->setIcon(0, Utils::FileIconProvider::icon(QFileIconProvider::Folder));
|
||||
QFile label(dir + "/label.txt");
|
||||
if (label.exists()) {
|
||||
label.open(QIODevice::ReadOnly);
|
||||
ri->setData(0, roleLabel, QString::fromUtf8(label.readAll()).trimmed());
|
||||
} else
|
||||
ri->setData(0, roleLabel, QString());
|
||||
ri->setData(0, roleProject, (qulonglong)pr);
|
||||
ri->setData(0, roleFullPath, dir);
|
||||
ri->setData(0, roleIsDir, true);
|
||||
ri->setData(0, roleItemType, itProject);
|
||||
setItemProjectName(pr, ri);
|
||||
createTree(ri, dir);
|
||||
tree->addTopLevelItem(ri);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user