Thanks for your answer.
Actually I agree with you - filter must only filter, nothing more...
but there was a demand from users, so I solved this issue with the following code, maybe it will be helpful for someone else:
Q_OBJECT
public:
MyFileDialog
(QWidget *parent
= 0);
virtual ~MyFileDialog();
private slots:
void appendExtension( const QString& filter);
};
connect(this, SIGNAL(filterSelected( const QString& )), this, SLOT(appendExtension( const QString& )));
}
MyFileDialog::~MyFileDialog()
{
}
void MyFileDialog::appendExtension( const QString& filter)
{
setDefaultSuffix("png");
if (filter.contains("xpm") && !filter.contains("png") ) setDefaultSuffix("xpm");
else if (filter.contains("jpg") && !filter.contains("png") ) setDefaultSuffix("jpg");
qDebug() << defaultSuffix();
}
class MyFileDialog : public QFileDialog {
Q_OBJECT
public:
MyFileDialog (QWidget *parent = 0);
virtual ~MyFileDialog();
private slots:
void appendExtension( const QString& filter);
};
MyFileDialog::MyFileDialog(QWidget *parent): QFileDialog(parent) {
connect(this, SIGNAL(filterSelected( const QString& )), this, SLOT(appendExtension( const QString& )));
}
MyFileDialog::~MyFileDialog()
{
}
void MyFileDialog::appendExtension( const QString& filter)
{
setDefaultSuffix("png");
if (filter.contains("xpm") && !filter.contains("png") ) setDefaultSuffix("xpm");
else if (filter.contains("jpg") && !filter.contains("png") ) setDefaultSuffix("jpg");
qDebug() << defaultSuffix();
}
To copy to clipboard, switch view to plain text mode
Bookmarks