Changed PAL palette emulation sensitivity logic for Qt palette config window. Now can only be used if PAL filter is active.
This commit is contained in:
parent
38b8d8e9db
commit
39a50e46f4
|
@ -27,6 +27,7 @@
|
||||||
#include "Qt/main.h"
|
#include "Qt/main.h"
|
||||||
#include "Qt/input.h"
|
#include "Qt/input.h"
|
||||||
#include "Qt/config.h"
|
#include "Qt/config.h"
|
||||||
|
#include "Qt/nes_shm.h"
|
||||||
#include "Qt/keyscan.h"
|
#include "Qt/keyscan.h"
|
||||||
#include "Qt/fceuWrapper.h"
|
#include "Qt/fceuWrapper.h"
|
||||||
#include "Qt/ConsoleUtilities.h"
|
#include "Qt/ConsoleUtilities.h"
|
||||||
|
@ -66,7 +67,7 @@ PaletteConfDialog_t::PaletteConfDialog_t(QWidget *parent)
|
||||||
|
|
||||||
style = this->style();
|
style = this->style();
|
||||||
|
|
||||||
resize(512, 650);
|
resize(512, 600);
|
||||||
|
|
||||||
// sync with config
|
// sync with config
|
||||||
g_config->getOption("SDL.Hue", &hue);
|
g_config->getOption("SDL.Hue", &hue);
|
||||||
|
@ -79,11 +80,14 @@ PaletteConfDialog_t::PaletteConfDialog_t(QWidget *parent)
|
||||||
frame = new QGroupBox(tr("Custom Palette:"));
|
frame = new QGroupBox(tr("Custom Palette:"));
|
||||||
vbox = new QVBoxLayout();
|
vbox = new QVBoxLayout();
|
||||||
hbox1 = new QHBoxLayout();
|
hbox1 = new QHBoxLayout();
|
||||||
|
hbox2 = new QHBoxLayout();
|
||||||
|
|
||||||
useCustom = new QCheckBox(tr("Use Custom Palette"));
|
useCustom = new QCheckBox(tr("Use Custom Palette"));
|
||||||
GrayScale = new QCheckBox(tr("Force Grayscale"));
|
GrayScale = new QCheckBox(tr("Force Grayscale"));
|
||||||
deemphSwap = new QCheckBox(tr("De-emphasis Bit Swap"));
|
deemphSwap = new QCheckBox(tr("De-emphasis Bit Swap"));
|
||||||
|
|
||||||
|
hbox1->addWidget(useCustom, 50);
|
||||||
|
|
||||||
useCustom->setChecked(FCEUI_GetUserPaletteAvail());
|
useCustom->setChecked(FCEUI_GetUserPaletteAvail());
|
||||||
GrayScale->setChecked(force_grayscale);
|
GrayScale->setChecked(force_grayscale);
|
||||||
deemphSwap->setChecked(paldeemphswap);
|
deemphSwap->setChecked(paldeemphswap);
|
||||||
|
@ -92,9 +96,10 @@ PaletteConfDialog_t::PaletteConfDialog_t(QWidget *parent)
|
||||||
connect(GrayScale, SIGNAL(stateChanged(int)), this, SLOT(force_GrayScale_Changed(int)));
|
connect(GrayScale, SIGNAL(stateChanged(int)), this, SLOT(force_GrayScale_Changed(int)));
|
||||||
connect(deemphSwap, SIGNAL(stateChanged(int)), this, SLOT(deemphswap_Changed(int)));
|
connect(deemphSwap, SIGNAL(stateChanged(int)), this, SLOT(deemphswap_Changed(int)));
|
||||||
|
|
||||||
button = new QPushButton(tr("Open Palette"));
|
button = new QPushButton(tr("Load"));
|
||||||
button->setIcon(style->standardIcon(QStyle::SP_FileDialogStart));
|
button->setIcon(style->standardIcon(QStyle::SP_FileDialogStart));
|
||||||
hbox1->addWidget(button);
|
//hbox1->addStretch(10);
|
||||||
|
hbox1->addWidget(button, 25);
|
||||||
|
|
||||||
connect(button, SIGNAL(clicked(void)), this, SLOT(openPaletteFile(void)));
|
connect(button, SIGNAL(clicked(void)), this, SLOT(openPaletteFile(void)));
|
||||||
|
|
||||||
|
@ -102,20 +107,23 @@ PaletteConfDialog_t::PaletteConfDialog_t(QWidget *parent)
|
||||||
|
|
||||||
custom_palette_path = new QLineEdit();
|
custom_palette_path = new QLineEdit();
|
||||||
custom_palette_path->setReadOnly(true);
|
custom_palette_path->setReadOnly(true);
|
||||||
|
custom_palette_path->setClearButtonEnabled(false);
|
||||||
custom_palette_path->setText(paletteFile.c_str());
|
custom_palette_path->setText(paletteFile.c_str());
|
||||||
|
|
||||||
hbox = new QHBoxLayout();
|
hbox = new QHBoxLayout();
|
||||||
hbox->addWidget(GrayScale);
|
hbox->addWidget(GrayScale);
|
||||||
hbox->addWidget(deemphSwap);
|
hbox->addWidget(deemphSwap);
|
||||||
|
|
||||||
vbox->addWidget(useCustom);
|
hbox2->addWidget( custom_palette_path );
|
||||||
|
//vbox->addWidget(useCustom);
|
||||||
vbox->addLayout(hbox1);
|
vbox->addLayout(hbox1);
|
||||||
vbox->addWidget(custom_palette_path);
|
vbox->addLayout(hbox2);
|
||||||
vbox->addLayout(hbox);
|
vbox->addLayout(hbox);
|
||||||
|
|
||||||
button = new QPushButton(tr("Clear"));
|
button = new QPushButton(tr("Clear"));
|
||||||
button->setIcon(style->standardIcon(QStyle::SP_LineEditClearButton));
|
button->setIcon(style->standardIcon(QStyle::SP_LineEditClearButton));
|
||||||
hbox1->addWidget(button);
|
hbox1->addWidget(button, 25);
|
||||||
|
//hbox2->addWidget(button);
|
||||||
|
|
||||||
connect(button, SIGNAL(clicked(void)), this, SLOT(clearPalette(void)));
|
connect(button, SIGNAL(clicked(void)), this, SLOT(clearPalette(void)));
|
||||||
|
|
||||||
|
@ -162,14 +170,20 @@ PaletteConfDialog_t::PaletteConfDialog_t(QWidget *parent)
|
||||||
hbox1->addWidget(hueSlider);
|
hbox1->addWidget(hueSlider);
|
||||||
hueFrame->setLayout(hbox1);
|
hueFrame->setLayout(hbox1);
|
||||||
hbox2->addWidget(hueFrame);
|
hbox2->addWidget(hueFrame);
|
||||||
|
|
||||||
|
ntscReset = new QPushButton( tr("Reset") );
|
||||||
|
hbox2->addWidget(ntscReset);
|
||||||
vbox->addLayout(hbox2);
|
vbox->addLayout(hbox2);
|
||||||
|
|
||||||
|
connect(ntscReset, SIGNAL(clicked(void)), this, SLOT(ntscResetClicked(void)));
|
||||||
|
|
||||||
ntscFrame->setLayout(vbox);
|
ntscFrame->setLayout(vbox);
|
||||||
|
|
||||||
mainLayout->addWidget(ntscFrame);
|
mainLayout->addWidget(ntscFrame);
|
||||||
|
|
||||||
palFrame = new QGroupBox(tr("PAL Emulation:"));
|
palFrame = new QGroupBox(tr("PAL Emulation:"));
|
||||||
palFrame->setCheckable(true);
|
palFrame->setCheckable(false);
|
||||||
|
palFrame->setEnabled( nes_shm->video.preScaler == 9 );
|
||||||
|
|
||||||
grid = new QGridLayout();
|
grid = new QGridLayout();
|
||||||
|
|
||||||
|
@ -266,12 +280,19 @@ PaletteConfDialog_t::PaletteConfDialog_t(QWidget *parent)
|
||||||
mainLayout->addLayout( hbox );
|
mainLayout->addLayout( hbox );
|
||||||
|
|
||||||
setLayout(mainLayout);
|
setLayout(mainLayout);
|
||||||
|
|
||||||
|
updateTimer = new QTimer(this);
|
||||||
|
|
||||||
|
connect(updateTimer, &QTimer::timeout, this, &PaletteConfDialog_t::updatePeriodic);
|
||||||
|
|
||||||
|
updateTimer->start(500); // 2hz
|
||||||
}
|
}
|
||||||
|
|
||||||
//----------------------------------------------------
|
//----------------------------------------------------
|
||||||
PaletteConfDialog_t::~PaletteConfDialog_t(void)
|
PaletteConfDialog_t::~PaletteConfDialog_t(void)
|
||||||
{
|
{
|
||||||
printf("Destroy Palette Config Window\n");
|
printf("Destroy Palette Config Window\n");
|
||||||
|
updateTimer->stop();
|
||||||
}
|
}
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
void PaletteConfDialog_t::closeEvent(QCloseEvent *event)
|
void PaletteConfDialog_t::closeEvent(QCloseEvent *event)
|
||||||
|
@ -289,6 +310,17 @@ void PaletteConfDialog_t::closeWindow(void)
|
||||||
deleteLater();
|
deleteLater();
|
||||||
}
|
}
|
||||||
//----------------------------------------------------
|
//----------------------------------------------------
|
||||||
|
void PaletteConfDialog_t::updatePeriodic(void)
|
||||||
|
{
|
||||||
|
palFrame->setEnabled( nes_shm->video.preScaler == 9 );
|
||||||
|
}
|
||||||
|
//----------------------------------------------------
|
||||||
|
void PaletteConfDialog_t::ntscResetClicked(void)
|
||||||
|
{
|
||||||
|
hueSlider->setValue( 72 );
|
||||||
|
tintSlider->setValue( 56 );
|
||||||
|
}
|
||||||
|
//----------------------------------------------------
|
||||||
void PaletteConfDialog_t::hueChanged(int v)
|
void PaletteConfDialog_t::hueChanged(int v)
|
||||||
{
|
{
|
||||||
int c, t;
|
int c, t;
|
||||||
|
|
|
@ -32,6 +32,7 @@ protected:
|
||||||
QCheckBox *useCustom;
|
QCheckBox *useCustom;
|
||||||
QCheckBox *GrayScale;
|
QCheckBox *GrayScale;
|
||||||
QCheckBox *deemphSwap;
|
QCheckBox *deemphSwap;
|
||||||
|
QPushButton *ntscReset;
|
||||||
QPushButton *palReset;
|
QPushButton *palReset;
|
||||||
QSlider *tintSlider;
|
QSlider *tintSlider;
|
||||||
QSlider *hueSlider;
|
QSlider *hueSlider;
|
||||||
|
@ -49,15 +50,18 @@ protected:
|
||||||
QGroupBox *sharpnessFrame;
|
QGroupBox *sharpnessFrame;
|
||||||
QGroupBox *contrastFrame;
|
QGroupBox *contrastFrame;
|
||||||
QGroupBox *brightnessFrame;
|
QGroupBox *brightnessFrame;
|
||||||
|
QTimer *updateTimer;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
public slots:
|
public slots:
|
||||||
void closeWindow(void);
|
void closeWindow(void);
|
||||||
private slots:
|
private slots:
|
||||||
|
void updatePeriodic(void);
|
||||||
void hueChanged(int value);
|
void hueChanged(int value);
|
||||||
void tintChanged(int value);
|
void tintChanged(int value);
|
||||||
void openPaletteFile(void);
|
void openPaletteFile(void);
|
||||||
void clearPalette(void);
|
void clearPalette(void);
|
||||||
|
void ntscResetClicked(void);
|
||||||
void use_NTSC_Changed(bool v);
|
void use_NTSC_Changed(bool v);
|
||||||
void use_Custom_Changed(int v);
|
void use_Custom_Changed(int v);
|
||||||
void force_GrayScale_Changed(int v);
|
void force_GrayScale_Changed(int v);
|
||||||
|
|
Loading…
Reference in New Issue