Merge pull request #192 from mjbudd77/master

Qt GUI Minor Fixes and Style Improvements
This commit is contained in:
mjbudd77 2020-10-18 23:07:28 -04:00 committed by GitHub
commit a6df86f7d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 71 additions and 1 deletions

View File

@ -7,6 +7,7 @@
#include "Qt/dface.h"
#include "Qt/config.h"
#include "Qt/fceuWrapper.h"
#include "Qt/ConsoleWindow.h"
#include "Qt/ConsoleVideoConf.h"
//----------------------------------------------------
@ -42,6 +43,8 @@ ConsoleVideoConfDialog_t::ConsoleVideoConfDialog_t(QWidget *parent)
setCheckBoxFromProperty( gl_LF_chkBox , "SDL.OpenGLip");
connect(gl_LF_chkBox , SIGNAL(stateChanged(int)), this, SLOT(openGL_linearFilterChanged(int)) );
main_vbox->addWidget( gl_LF_chkBox );
// Region Select
@ -164,6 +167,21 @@ void ConsoleVideoConfDialog_t::setComboBoxFromProperty( QComboBox *cbx, const c
}
}
//----------------------------------------------------
void ConsoleVideoConfDialog_t::openGL_linearFilterChanged( int value )
{
bool opt = (value != Qt::Unchecked);
g_config->setOption("SDL.OpenGLip", opt );
g_config->save ();
if ( consoleWindow != NULL )
{
if ( consoleWindow->viewport_GL )
{
consoleWindow->viewport_GL->setLinearFilterEnable( opt );
}
}
}
//----------------------------------------------------
void ConsoleVideoConfDialog_t::use_new_PPU_changed( int value )
{
//printf("Value:%i \n", value );

View File

@ -46,6 +46,7 @@ class ConsoleVideoConfDialog_t : public QDialog
void closeWindow(void);
private slots:
void openGL_linearFilterChanged( int value );
void use_new_PPU_changed( int value );
void frameskip_changed( int value );
void useSpriteLimitChanged( int value );

View File

@ -9,6 +9,7 @@
#include <QScreen>
#include "Qt/nes_shm.h"
#include "Qt/fceuWrapper.h"
#include "Qt/ConsoleViewerGL.h"
extern unsigned int gui_draw_area_width;
@ -38,6 +39,14 @@ ConsoleViewGL_t::ConsoleViewGL_t(QWidget *parent)
{
memset( localBuf, 0, localBufSize );
}
if ( g_config )
{
int opt;
g_config->getOption("SDL.OpenGLip", &opt );
linearFilter = (opt) ? true : false;
}
}
ConsoleViewGL_t::~ConsoleViewGL_t(void)
@ -122,6 +131,13 @@ void ConsoleViewGL_t::resizeGL(int w, int h)
buildTextures();
}
void ConsoleViewGL_t::setLinearFilterEnable( bool ena )
{
linearFilter = ena;
buildTextures();
}
void ConsoleViewGL_t::transfer2LocalBuffer(void)
{
memcpy( localBuf, nes_shm->pixbuf, localBufSize );

View File

@ -20,6 +20,8 @@ class ConsoleViewGL_t : public QOpenGLWidget, protected QOpenGLFunctions
void transfer2LocalBuffer(void);
void setLinearFilterEnable( bool ena );
protected:
void initializeGL(void);
void resizeGL(int w, int h);

View File

@ -1088,10 +1088,20 @@ void FCEUD_TraceInstruction(uint8 *opcode, int size)
QTraceLogView::QTraceLogView(QWidget *parent)
: QWidget(parent)
{
QPalette pal;
QColor fg("black"), bg("white");
font.setFamily("Courier New");
font.setStyle( QFont::StyleNormal );
font.setStyleHint( QFont::Monospace );
pal = this->palette();
pal.setColor(QPalette::Base , bg );
pal.setColor(QPalette::Background, bg );
pal.setColor(QPalette::WindowText, fg );
this->setPalette(pal);
calcFontData();
vbar = NULL;

View File

@ -221,7 +221,7 @@ InitConfig()
// OpenGL options
config->addOption("opengl", "SDL.OpenGL", 1);
config->addOption("openglip", "SDL.OpenGLip", 1);
config->addOption("openglip", "SDL.OpenGLip", 0);
config->addOption("SDL.SpecialFilter", 0);
config->addOption("SDL.SpecialFX", 0);
config->addOption("SDL.Vsync", 1);

View File

@ -1,3 +1,5 @@
#include <stdio.h>
#include <stdlib.h>
#include <QApplication>
#include "Qt/ConsoleWindow.h"
@ -9,6 +11,27 @@ int main( int argc, char *argv[] )
{
int retval;
QApplication app(argc, argv);
const char *styleSheetEnv = NULL;
styleSheetEnv = ::getenv("FCEUX_QT_STYLESHEET");
if ( styleSheetEnv != NULL )
{
QFile File(styleSheetEnv);
if ( File.open(QFile::ReadOnly) )
{
QString StyleSheet = QLatin1String(File.readAll());
app.setStyleSheet(StyleSheet);
printf("Using Qt Stylesheet file '%s'\n", styleSheetEnv );
}
else
{
printf("Warning: Could not open Qt Stylesheet file '%s'\n", styleSheetEnv );
}
}
fceuWrapperInit( argc, argv );