mirror of
https://github.com/qelectrotech/qelectrotech-source-mirror.git
synced 2026-09-26 03:44:14 +02:00
3a45625d69
The root of a project's embedded collection showed "Projet sans titre" whenever the project had no title, while the project panel shows the file name. Fall back to the file name the same way, and only use "Projet sans titre" for a project that has neither. The name was also computed once, so changing the project title or saving it under a new name left the pane stale until the collections were reloaded. Update it on projectTitleChanged and projectFilePathChanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
69 lines
2.1 KiB
C++
69 lines
2.1 KiB
C++
/*
|
|
Copyright 2006-2026 The QElectroTech Team
|
|
This file is part of QElectroTech.
|
|
|
|
QElectroTech is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 2 of the License, or
|
|
(at your option) any later version.
|
|
|
|
QElectroTech is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with QElectroTech. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
#ifndef XMLPROJECTELEMENTCOLLECTIONITEM2_H
|
|
#define XMLPROJECTELEMENTCOLLECTIONITEM2_H
|
|
|
|
#include "elementcollectionitem.h"
|
|
#include <QDomElement>
|
|
|
|
class QETProject;
|
|
|
|
/**
|
|
@brief The XmlProjectElementCollectionItem class
|
|
This class specialise ElementCollectionItem
|
|
for manage an xml collection embedded in a project.
|
|
*/
|
|
class XmlProjectElementCollectionItem : public ElementCollectionItem
|
|
{
|
|
public:
|
|
XmlProjectElementCollectionItem();
|
|
|
|
enum {Type = UserType+3};
|
|
int type() const override { return Type; }
|
|
|
|
bool isDir() const override;
|
|
bool isElement() const override;
|
|
QString localName() override;
|
|
QString name() const override;
|
|
QString collectionPath() const override;
|
|
virtual QString embeddedPath() const;
|
|
bool isCollectionRoot() const override;
|
|
void addChildAtPath(const QString &collection_name) override;
|
|
QETProject * project() const;
|
|
void updateProjectName();
|
|
|
|
void setProject (QETProject *project,
|
|
bool set_data = true,
|
|
bool hide_element = false);
|
|
void setUpData() override;
|
|
void setUpIcon() override;
|
|
|
|
private:
|
|
void populate(bool set_data = true, bool hide_element = false);
|
|
void setXmlElement(const QDomElement& element,
|
|
QETProject *project,
|
|
bool set_data = true,
|
|
bool hide_element = false);
|
|
|
|
private:
|
|
QETProject *m_project = nullptr;
|
|
QDomElement m_dom_element;
|
|
};
|
|
|
|
#endif // XMLPROJECTELEMENTCOLLECTIONITEM2_H
|