Add additional colormaps

This commit is contained in:
2025-02-28 10:40:14 +01:00
parent d545c6ca0f
commit d59ee7fddc
8 changed files with 68 additions and 11 deletions
+29
View File
@@ -207,6 +207,29 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
settings.setValue("mainwindow/bayermask", data);
});
QStringList colormaps = {"Autumn", "Bone", "Jet", "Winter", "Rainbow", "Ocean", "Summer", "Spring", "Cool", "HSV", "Pink", "Hot", "Parula", "Magma",
"Inferno", "Plasma", "Viridis", "Cividis", "Twilight", "Twilight shifted", "Turbo", "Deepgreen"};
QMenu *colormapMenu = viewMenu->addMenu(tr("Colormap"));
QActionGroup *colormapActionGroup = new QActionGroup(this);
int idx = 0;
QImage cmImg(":/colormap.png");
for(QString &colormap : colormaps)
{
QImage icon = cmImg.copy(0, idx, cmImg.width(), 1).scaled(32, 32);
QAction *action = colormapActionGroup->addAction(colormap);
action->setIcon(QPixmap::fromImage(icon));
action->setCheckable(true); action->setData(idx++);
colormapMenu->addAction(action);
}
viewMenu->addMenu(colormapMenu);
connect(colormapActionGroup, &QActionGroup::triggered, [this](QAction *action){
int data = action->data().toInt();
m_image->setColormap(data);
QSettings settings;
settings.setValue("mainwindow/colormap", data);
});
QAction *thumbnailsAction = viewMenu->addAction(tr("Thumbnails"), Qt::Key_F2, [this](bool checked){
if(SettingsDialog::loadThumbsizes())m_ringList->clearThumbnails();
m_image->allocateThumbnails(m_ringList->imageNames());
@@ -291,6 +314,12 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent)
case 3:
bggrAction->setChecked(true); break;
}
int colormap = settings.value("mainwindow/colormap", 4).toInt();
if(colormap >= 0 && colormap < colormapActionGroup->actions().size())
colormapActionGroup->actions().at(colormap)->setChecked(true);
m_image->setBayerMask(bayermask);
m_image->setColormap(colormap);
QStringList standardLocations = QStandardPaths::standardLocations(QStandardPaths::PicturesLocation);
if(standardLocations.size())