[App][Gui]Add Filter for PropertyFile in PropertyEditor
This commit is contained in:
@@ -630,7 +630,7 @@ TYPESYSTEM_SOURCE(App::PropertyFile , App::PropertyString)
|
||||
|
||||
PropertyFile::PropertyFile()
|
||||
{
|
||||
|
||||
m_filter = "";
|
||||
}
|
||||
|
||||
PropertyFile::~PropertyFile()
|
||||
@@ -638,3 +638,13 @@ PropertyFile::~PropertyFile()
|
||||
|
||||
}
|
||||
|
||||
void PropertyFile::setFilter(const std::string f)
|
||||
{
|
||||
m_filter = f;
|
||||
}
|
||||
|
||||
std::string PropertyFile::getFilter(void) const
|
||||
{
|
||||
return m_filter;
|
||||
}
|
||||
|
||||
|
||||
@@ -52,9 +52,15 @@ class AppExport PropertyFile : public PropertyString
|
||||
public:
|
||||
PropertyFile(void);
|
||||
virtual ~PropertyFile();
|
||||
|
||||
|
||||
virtual const char* getEditorName(void) const
|
||||
{ return "Gui::PropertyEditor::PropertyFileItem"; }
|
||||
|
||||
virtual void setFilter(const std::string filter);
|
||||
virtual std::string getFilter(void) const;
|
||||
|
||||
private:
|
||||
std::string m_filter;
|
||||
};
|
||||
|
||||
/** File include properties
|
||||
|
||||
@@ -3369,7 +3369,13 @@ QWidget* PropertyFileItem::createEditor(QWidget* parent, const QObject* receiver
|
||||
|
||||
void PropertyFileItem::setEditorData(QWidget *editor, const QVariant& data) const
|
||||
{
|
||||
const App::Property* prop = getFirstProperty();
|
||||
const App::PropertyFile* propFile = static_cast<const App::PropertyFile*>(prop);
|
||||
std::string filter = propFile->getFilter();
|
||||
Gui::FileChooser *fc = qobject_cast<Gui::FileChooser*>(editor);
|
||||
if (!filter.empty()) {
|
||||
fc->setFilter(Base::Tools::fromStdString(filter));
|
||||
}
|
||||
fc->setFileName(data.toString());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user