mirror of
https://github.com/overte-org/overte.git
synced 2025-04-12 18:42:12 +02:00
File filter
Display extensions
This commit is contained in:
parent
d81968df51
commit
623def0964
4 changed files with 22 additions and 17 deletions
|
@ -71,15 +71,10 @@ QTreeView QHeaderView:section {
|
|||
}
|
||||
|
||||
QTreeView::item {
|
||||
height: 30px;
|
||||
padding: 7px 0;
|
||||
}
|
||||
|
||||
QListView::item:selected,
|
||||
QListView::item:selected:active,
|
||||
QTreeView::item:selected,
|
||||
QTreeView::item:selected:active {
|
||||
QTreeView::item:selected {
|
||||
background: #BDE4E3;
|
||||
color: #333333;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
|
|
@ -72,17 +72,28 @@ QIcon HiFiIconProvider::icon(const QFileInfo &info) const {
|
|||
}
|
||||
|
||||
QFileInfo iconFile("resources/icons/" + iconsMap[ext]);
|
||||
if (iconFile.exists()) {
|
||||
if (iconFile.exists() && iconFile.isFile()) {
|
||||
return QIcon(iconFile.filePath());
|
||||
}
|
||||
|
||||
return QIcon("resources/icons/file.svg");
|
||||
}
|
||||
|
||||
QString HiFiIconProvider::type(const QFileInfo &info) const {
|
||||
if (info.isFile()) {
|
||||
if (info.suffix().size() > 4) {
|
||||
return info.suffix().at(0).toUpper() + info.suffix().mid(1);
|
||||
}
|
||||
return info.suffix().toUpper();
|
||||
}
|
||||
|
||||
return QFileIconProvider::type(info);
|
||||
}
|
||||
|
||||
ImportDialog::ImportDialog(QWidget *parent) :
|
||||
QFileDialog(parent, WINDOW_NAME, DESKTOP_LOCATION, NULL),
|
||||
_importButton(IMPORT_BUTTON_NAME, this),
|
||||
_cancelButton(CANCEL_BUTTON_NAME, this) {
|
||||
QFileDialog(parent, WINDOW_NAME, DESKTOP_LOCATION, NULL),
|
||||
_importButton(IMPORT_BUTTON_NAME, this),
|
||||
_cancelButton(CANCEL_BUTTON_NAME, this) {
|
||||
|
||||
setOption(QFileDialog::DontUseNativeDialog, true);
|
||||
setFileMode(QFileDialog::ExistingFile);
|
||||
|
@ -96,8 +107,8 @@ ImportDialog::ImportDialog(QWidget *parent) :
|
|||
gridLayout->addWidget(&_importButton, 2, 2);
|
||||
|
||||
connect(&_importButton, SIGNAL(pressed()), SLOT(import()));
|
||||
connect(this, SIGNAL(currentChanged(QString)), SLOT(saveCurrentFile(QString)));
|
||||
connect(&_cancelButton, SIGNAL(pressed()), SLOT(close()));
|
||||
connect(this, SIGNAL(currentChanged(QString)), SLOT(saveCurrentFile(QString)));
|
||||
}
|
||||
|
||||
ImportDialog::~ImportDialog() {
|
||||
|
@ -210,7 +221,7 @@ void ImportDialog::setImportTypes() {
|
|||
if (!document.isNull() && !document.isEmpty()) {
|
||||
|
||||
QString importFormatsInfo;
|
||||
QStringList importFormatsFilterList;
|
||||
QString importFormatsFilterList;
|
||||
QHash<QString, QString> iconsMap;
|
||||
|
||||
QJsonObject configObject = document.object();
|
||||
|
@ -233,7 +244,7 @@ void ImportDialog::setImportTypes() {
|
|||
importFormatsInfo.append(" or");
|
||||
}
|
||||
|
||||
importFormatsFilterList.append(QString("%1 (*.%2)").arg(description, ext));
|
||||
importFormatsFilterList.append(QString("*.%1 ").arg(ext));
|
||||
importFormatsInfo.append(" .").append(ext);
|
||||
iconsMap[ext] = icon;
|
||||
ff++;
|
||||
|
@ -242,8 +253,7 @@ void ImportDialog::setImportTypes() {
|
|||
|
||||
// set custom file icons
|
||||
setIconProvider(new HiFiIconProvider(iconsMap));
|
||||
|
||||
setNameFilters(importFormatsFilterList);
|
||||
setNameFilter(importFormatsFilterList);
|
||||
|
||||
setLabelText(QFileDialog::LookIn, QString(IMPORT_INFO).arg(importFormatsInfo));
|
||||
setLabelText(QFileDialog::FileName, INFO_LABEL_TEXT);
|
||||
|
|
|
@ -22,6 +22,7 @@ public:
|
|||
HiFiIconProvider(const QHash<QString, QString> map) { iconsMap = map; };
|
||||
virtual QIcon icon(IconType type) const;
|
||||
virtual QIcon icon(const QFileInfo &info) const;
|
||||
virtual QString type(const QFileInfo &info) const;
|
||||
QHash<QString, QString> iconsMap;
|
||||
};
|
||||
|
||||
|
|
|
@ -28,7 +28,6 @@ VoxelImporter::VoxelImporter(QWidget* parent)
|
|||
_currentTask(NULL),
|
||||
_nextTask(NULL) {
|
||||
|
||||
connect(&_importDialog, SIGNAL(previewToggled(bool)), SLOT(preImport()));
|
||||
connect(&_importDialog, SIGNAL(currentChanged(QString)), SLOT(preImport()));
|
||||
connect(&_importDialog, SIGNAL(accepted()), SLOT(import()));
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue