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/input.h"
|
||||
#include "Qt/config.h"
|
||||
#include "Qt/nes_shm.h"
|
||||
#include "Qt/keyscan.h"
|
||||
#include "Qt/fceuWrapper.h"
|
||||
#include "Qt/ConsoleUtilities.h"
|
||||
|
@ -66,7 +67,7 @@ PaletteConfDialog_t::PaletteConfDialog_t(QWidget *parent)
|
|||
|
||||
style = this->style();
|
||||
|
||||
resize(512, 650);
|
||||
resize(512, 600);
|
||||
|
||||
// sync with config
|
||||
g_config->getOption("SDL.Hue", &hue);
|
||||
|
@ -79,11 +80,14 @@ PaletteConfDialog_t::PaletteConfDialog_t(QWidget *parent)
|
|||
frame = new QGroupBox(tr("Custom Palette:"));
|
||||
vbox = new QVBoxLayout();
|
||||
hbox1 = new QHBoxLayout();
|
||||
hbox2 = new QHBoxLayout();
|
||||
|
||||
useCustom = new QCheckBox(tr("Use Custom Palette"));
|
||||
GrayScale = new QCheckBox(tr("Force Grayscale"));
|
||||
deemphSwap = new QCheckBox(tr("De-emphasis Bit Swap"));
|
||||
|
||||
hbox1->addWidget(useCustom, 50);
|
||||
|
||||
useCustom->setChecked(FCEUI_GetUserPaletteAvail());
|
||||
GrayScale->setChecked(force_grayscale);
|
||||
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(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));
|
||||
hbox1->addWidget(button);
|
||||
//hbox1->addStretch(10);
|
||||
hbox1->addWidget(button, 25);
|
||||
|
||||
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->setReadOnly(true);
|
||||
custom_palette_path->setClearButtonEnabled(false);
|
||||
custom_palette_path->setText(paletteFile.c_str());
|
||||
|
||||
hbox = new QHBoxLayout();
|
||||
hbox->addWidget(GrayScale);
|
||||
hbox->addWidget(deemphSwap);
|
||||
|
||||
vbox->addWidget(useCustom);
|
||||
hbox2->addWidget( custom_palette_path );
|
||||
//vbox->addWidget(useCustom);
|
||||
vbox->addLayout(hbox1);
|
||||
vbox->addWidget(custom_palette_path);
|
||||
vbox->addLayout(hbox2);
|
||||
vbox->addLayout(hbox);
|
||||
|
||||
button = new QPushButton(tr("Clear"));
|
||||
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)));
|
||||
|
||||
|
@ -162,14 +170,20 @@ PaletteConfDialog_t::PaletteConfDialog_t(QWidget *parent)
|
|||
hbox1->addWidget(hueSlider);
|
||||
hueFrame->setLayout(hbox1);
|
||||
hbox2->addWidget(hueFrame);
|
||||
|
||||
ntscReset = new QPushButton( tr("Reset") );
|
||||
hbox2->addWidget(ntscReset);
|
||||
vbox->addLayout(hbox2);
|
||||
|
||||
connect(ntscReset, SIGNAL(clicked(void)), this, SLOT(ntscResetClicked(void)));
|
||||
|
||||
ntscFrame->setLayout(vbox);
|
||||
|
||||
mainLayout->addWidget(ntscFrame);
|
||||
|
||||
palFrame = new QGroupBox(tr("PAL Emulation:"));
|
||||
palFrame->setCheckable(true);
|
||||
palFrame->setCheckable(false);
|
||||
palFrame->setEnabled( nes_shm->video.preScaler == 9 );
|
||||
|
||||
grid = new QGridLayout();
|
||||
|
||||
|
@ -266,12 +280,19 @@ PaletteConfDialog_t::PaletteConfDialog_t(QWidget *parent)
|
|||
mainLayout->addLayout( hbox );
|
||||
|
||||
setLayout(mainLayout);
|
||||
|
||||
updateTimer = new QTimer(this);
|
||||
|
||||
connect(updateTimer, &QTimer::timeout, this, &PaletteConfDialog_t::updatePeriodic);
|
||||
|
||||
updateTimer->start(500); // 2hz
|
||||
}
|
||||
|
||||
//----------------------------------------------------
|
||||
PaletteConfDialog_t::~PaletteConfDialog_t(void)
|
||||
{
|
||||
printf("Destroy Palette Config Window\n");
|
||||
updateTimer->stop();
|
||||
}
|
||||
//----------------------------------------------------------------------------
|
||||
void PaletteConfDialog_t::closeEvent(QCloseEvent *event)
|
||||
|
@ -289,6 +310,17 @@ void PaletteConfDialog_t::closeWindow(void)
|
|||
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)
|
||||
{
|
||||
int c, t;
|
||||
|
|
|
@ -32,6 +32,7 @@ protected:
|
|||
QCheckBox *useCustom;
|
||||
QCheckBox *GrayScale;
|
||||
QCheckBox *deemphSwap;
|
||||
QPushButton *ntscReset;
|
||||
QPushButton *palReset;
|
||||
QSlider *tintSlider;
|
||||
QSlider *hueSlider;
|
||||
|
@ -49,15 +50,18 @@ protected:
|
|||
QGroupBox *sharpnessFrame;
|
||||
QGroupBox *contrastFrame;
|
||||
QGroupBox *brightnessFrame;
|
||||
QTimer *updateTimer;
|
||||
|
||||
private:
|
||||
public slots:
|
||||
void closeWindow(void);
|
||||
private slots:
|
||||
void updatePeriodic(void);
|
||||
void hueChanged(int value);
|
||||
void tintChanged(int value);
|
||||
void openPaletteFile(void);
|
||||
void clearPalette(void);
|
||||
void ntscResetClicked(void);
|
||||
void use_NTSC_Changed(bool v);
|
||||
void use_Custom_Changed(int v);
|
||||
void force_GrayScale_Changed(int v);
|
||||
|
|
Loading…
Reference in New Issue