Enale loading all image types that Qt can load
This commit is contained in:
+23
-3
@@ -26,6 +26,8 @@
|
||||
#include <sys/ioctl.h>
|
||||
#include <linux/btrfs.h>
|
||||
#include <sys/socket.h>
|
||||
#include <QImageReader>
|
||||
#include <QMimeDatabase>
|
||||
#endif
|
||||
|
||||
int MainWindow::socketPair[2] = {0, 0};
|
||||
@@ -37,6 +39,24 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
|
||||
|
||||
SettingsDialog::loadSettings();
|
||||
|
||||
QStringList nameFilter;
|
||||
_saveFilter = tr("FITS (*.fits *.fit);;XISF (*.xisf);;");
|
||||
_openFilter = tr("Images (");
|
||||
QMimeDatabase db;
|
||||
auto supportedFormats = QImageReader::supportedMimeTypes();
|
||||
QStringList filters;
|
||||
for(auto format : supportedFormats)
|
||||
{
|
||||
QMimeType mimeType = db.mimeTypeForName(format);
|
||||
_saveFilter.append(mimeType.filterString() + ";;");
|
||||
_openFilter.append("*.");
|
||||
_openFilter.append(mimeType.suffixes().join(" *."));
|
||||
_openFilter.append(" ");
|
||||
nameFilter.append(mimeType.suffixes());
|
||||
}
|
||||
_openFilter.append("*.fit *.fits *.xisf *.cr2 *.nef *.dng)");
|
||||
nameFilter.append({"fit", "fits", "xisf", "cr2", "nef", "dng"});
|
||||
|
||||
m_info = new ImageInfo(this);
|
||||
QDockWidget *infoDock = new QDockWidget(tr("Image info"), this);
|
||||
infoDock->setWidget(m_info);
|
||||
@@ -62,7 +82,7 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
|
||||
connect(m_stretchPanel, &StretchToolbar::invert, m_imageGL->imageWidget(), &ImageWidget::invert);
|
||||
connect(m_stretchPanel, &StretchToolbar::superPixel, m_imageGL->imageWidget(), &ImageWidget::superPixel);
|
||||
|
||||
m_ringList = new ImageRingList(m_database, this);
|
||||
m_ringList = new ImageRingList(m_database, nameFilter, this);
|
||||
m_filesystem = new FilesystemWidget(m_ringList, this);
|
||||
connect(m_filesystem, SIGNAL(fileSelected(int)), this, SLOT(loadFile(int)));
|
||||
|
||||
@@ -372,7 +392,7 @@ void MainWindow::loadFile()
|
||||
QString file = QFileDialog::getOpenFileName(this,
|
||||
tr("Open file"),
|
||||
_lastDir,
|
||||
tr("Images (*.jpg *.jpeg *.png *.cr2 *.nef *.dng *.fit *.fits *.xisf *.JPG *.JPEG *.PNG *.CR2 *.NEF *.DNG *.FIT *.FITS *.XISF)"),
|
||||
_openFilter,
|
||||
nullptr,
|
||||
QFileDialog::DontUseNativeDialog);
|
||||
loadFile(file);
|
||||
@@ -428,7 +448,7 @@ void MainWindow::saveAs()
|
||||
QString file = QFileDialog::getSaveFileName(this,
|
||||
tr("Save as"),
|
||||
_lastDir,
|
||||
tr("JPEG (*.jpg *.JPG);; PNG (*.png *.PNG);;FITS (*.fits *.FITS);;XISF (*.xisf *.XISF)"),
|
||||
_saveFilter,
|
||||
&selectedFilter);
|
||||
auto filterToFormat = [](const QString &file, const QString &filter) -> const char*
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user