Compare commits
3 Commits
20250915
...
6eda2c4e48
| Author | SHA1 | Date | |
|---|---|---|---|
| 6eda2c4e48 | |||
| b16ae3a9ee | |||
| 56bba27ae3 |
+1
-1
Submodule libXISF updated: c6581e1122...2e74d94641
@@ -113,12 +113,8 @@ BatchProcessing::BatchProcessing(Database *database, QWidget *parent) : QDialog(
|
||||
|
||||
_engine = new Script::ScriptEngine(_database, this);
|
||||
connect(_engine, &Script::ScriptEngine::newMessage, this, &BatchProcessing::newMessage);
|
||||
QStringList apiList;
|
||||
apiList << "core.log" << "core.mark" << "core.unmark" << "core.isMarked" << "core.getObjects" << "core.setMaxthread";
|
||||
apiList << "core.sync" << "core.getString" << "core.getInt" << "core.getFloat" << "core.question" << "core.plot";
|
||||
apiList << "fileName" << "absoluteFileName";
|
||||
|
||||
_completerModel = new QStringListModel(this);
|
||||
_completerModel->setStringList(apiList);
|
||||
_completer = new QCompleter(_completerModel, this);
|
||||
_ui->consoleLineEdit->setCompleter(_completer);
|
||||
connect(_ui->executeButton, &QPushButton::clicked, _ui->consoleLineEdit, &QLineEdit::returnPressed);
|
||||
@@ -128,13 +124,13 @@ BatchProcessing::BatchProcessing(Database *database, QWidget *parent) : QDialog(
|
||||
QString program = _ui->consoleLineEdit->text();
|
||||
QJSValue val = _engine->eval(program);
|
||||
_ui->consoleLineEdit->addLine();
|
||||
qDebug() << val.toString();
|
||||
//qDebug() << val.toString();
|
||||
}
|
||||
});
|
||||
|
||||
connect(_ui->consoleLineEdit, &QLineEdit::textEdited, [this](const QString &text){
|
||||
QStringList comp = _engine->complete(text);
|
||||
qDebug() << comp;
|
||||
//qDebug() << comp;
|
||||
_completerModel->setStringList(comp);
|
||||
});
|
||||
|
||||
|
||||
+14
-2
@@ -3,6 +3,7 @@
|
||||
#include <QSurfaceFormat>
|
||||
#include <QTranslator>
|
||||
#include <QCommandLineParser>
|
||||
#include <QSettings>
|
||||
#include <stdlib.h>
|
||||
#include "../thumbnailer/genthumbnail.h"
|
||||
|
||||
@@ -76,8 +77,19 @@ int main(int argc, char *argv[])
|
||||
|
||||
QTranslator translator;
|
||||
QTranslator translator2;
|
||||
if(translator.load(QLocale(), "tenmon", "_", ":/translations"))
|
||||
a.installTranslator(&translator);
|
||||
QSettings settings;
|
||||
QString lang = settings.value("settings/lang").toString();
|
||||
if(lang.isEmpty())
|
||||
{
|
||||
if(translator.load(QLocale(), "tenmon", "_", ":/translations"))
|
||||
a.installTranslator(&translator);
|
||||
}
|
||||
else
|
||||
{
|
||||
if(translator.load("tenmon_" + lang, ":/translations"))
|
||||
a.installTranslator(&translator);
|
||||
}
|
||||
|
||||
if(translator2.load(QLocale(), "tenmon", "_", a.applicationDirPath()))
|
||||
a.installTranslator(&translator2);
|
||||
|
||||
|
||||
+14
-3
@@ -18,6 +18,7 @@
|
||||
#include <QThreadPool>
|
||||
#include <QStatusBar>
|
||||
#include <QImageReader>
|
||||
#include <QImageWriter>
|
||||
#include <QMimeDatabase>
|
||||
#include <QDesktopServices>
|
||||
#include <QJsonDocument>
|
||||
@@ -57,12 +58,18 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
|
||||
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());
|
||||
}
|
||||
auto supportedWrite = QImageWriter::supportedMimeTypes();
|
||||
for(auto format : supportedWrite)
|
||||
{
|
||||
QMimeType mimeType = db.mimeTypeForName(format);
|
||||
_saveFilter.append(mimeType.filterString() + ";;");
|
||||
}
|
||||
|
||||
_openFilter.append("*.fit *.fits *.fts *.fz *.xisf *.cr2 *.cr3 *.nef *.dng)");
|
||||
_openFilter.append(tr(";;All files (*)"));
|
||||
nameFilter.append({"fit", "fits", "fts", "fz", "xisf", "cr2", "cr3", "nef", "dng"});
|
||||
@@ -618,7 +625,7 @@ void MainWindow::saveAs()
|
||||
_lastDir,
|
||||
_saveFilter,
|
||||
&selectedFilter);
|
||||
auto filterToFormat = [](const QString &file, const QString &filter) -> const char*
|
||||
auto filterToFormat = [](const QString &file, const QString &filter) -> const QString
|
||||
{
|
||||
QString suffix = QFileInfo(file).suffix();
|
||||
if(!suffix.compare("jpg", Qt::CaseInsensitive) || !suffix.compare("jpeg", Qt::CaseInsensitive))return "jpeg";
|
||||
@@ -628,6 +635,10 @@ void MainWindow::saveAs()
|
||||
if(filter.contains("png"))return "png";
|
||||
if(filter.contains("fits"))return "fits";
|
||||
if(filter.contains("xisf"))return "xisf";
|
||||
QRegularExpression suf("\\(\\*\\.([a-zA-Z]+).*\\)");
|
||||
auto match = suf.match(filter);
|
||||
if(match.hasMatch())
|
||||
return match.captured(1);
|
||||
return "jpeg";
|
||||
};
|
||||
|
||||
@@ -643,7 +654,7 @@ void MainWindow::saveAs()
|
||||
{
|
||||
QImage img = m_image->renderToImage();
|
||||
if(!img.isNull())
|
||||
img.save(file, filterToFormat(file, selectedFilter));
|
||||
img.save(file, filterToFormat(file, selectedFilter).toLatin1().data());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+29
-1
@@ -129,11 +129,30 @@ SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent)
|
||||
delete item;
|
||||
});
|
||||
|
||||
m_lang = new QComboBox(this);
|
||||
m_lang->addItems({"English", "Français", "Slovenčina", "Português"});
|
||||
QString lang;
|
||||
switch(QLocale().language())
|
||||
{
|
||||
default:
|
||||
case QLocale::English: lang = "en"; break;
|
||||
case QLocale::French: lang = "fr"; break;
|
||||
case QLocale::Slovak: lang = "sk"; break;
|
||||
case QLocale::Portuguese: lang = "pt_BR"; break;
|
||||
}
|
||||
|
||||
lang = settings.value("settings/lang", lang).toString();
|
||||
if(lang == "en")m_lang->setCurrentIndex(0);
|
||||
else if(lang == "fr")m_lang->setCurrentIndex(1);
|
||||
else if(lang == "sk")m_lang->setCurrentIndex(2);
|
||||
else if(lang == "pt_BR")m_lang->setCurrentIndex(3);
|
||||
|
||||
layout->addRow(tr("Image preload count"), m_preloadImages);
|
||||
layout->addRow(tr("Thumbnails size"), m_thumSize);
|
||||
layout->addRow(tr("Saturation"), m_saturation);
|
||||
layout->addRow(tr("Slideshow interval"), m_slideShowTime);
|
||||
layout->addRow(tr("Image interpolation"), m_filtering);
|
||||
layout->addRow(tr("Language"), m_lang);
|
||||
layout->addRow(m_qualityThumbnail);
|
||||
layout->addRow(m_useNativeDialog);
|
||||
layout->addRow(m_bestFit);
|
||||
@@ -150,7 +169,6 @@ SettingsDialog::SettingsDialog(QWidget *parent) : QDialog(parent)
|
||||
#endif
|
||||
//layout->addRow(new QLabel(tr("Changes in settings will take effect after program restart.")));
|
||||
|
||||
|
||||
QDialogButtonBox *buttonBox = new QDialogButtonBox(this);
|
||||
buttonBox->setStandardButtons(QDialogButtonBox::Ok | QDialogButtonBox::Cancel);
|
||||
connect(buttonBox, &QDialogButtonBox::accepted, this, &QDialog::accept);
|
||||
@@ -237,4 +255,14 @@ void SettingsDialog::saveSettings()
|
||||
}
|
||||
settings.setValue("settings/headerhighlightkeywords", headerHighlight.keys());
|
||||
settings.setValue("settings/headerhighlightcolors", colors);
|
||||
QString lang;
|
||||
int langIdx = m_lang->currentIndex();
|
||||
switch(langIdx)
|
||||
{
|
||||
case 0: lang = "en"; break;
|
||||
case 1: lang = "fr"; break;
|
||||
case 2: lang = "sk"; break;
|
||||
case 3: lang = "pt_BR"; break;
|
||||
}
|
||||
settings.setValue("settings/lang", lang);
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ private:
|
||||
QListWidget *m_headerHighlight;
|
||||
QColor m_color = Qt::yellow;
|
||||
QLineEdit *m_keyword;
|
||||
QComboBox *m_lang;
|
||||
};
|
||||
|
||||
#endif // SETTINGSDIALOG_H
|
||||
|
||||
Reference in New Issue
Block a user