Created a console utilities file to hold misc functions used by the Qt/SDL port.
This commit is contained in:
parent
92724b50d3
commit
f59bf15d30
|
@ -391,6 +391,7 @@ set(SRC_DRIVERS_SDL
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/PaletteConf.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/PaletteConf.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/GuiConf.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/GuiConf.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/LuaControl.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/LuaControl.cpp
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleUtilities.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleVideoConf.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleVideoConf.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleSoundConf.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/ConsoleSoundConf.cpp
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/AboutWindow.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/drivers/Qt/AboutWindow.cpp
|
||||||
|
|
|
@ -0,0 +1,37 @@
|
||||||
|
// ConsoleUtilities.cpp
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#include "Qt/ConsoleUtilities.h"
|
||||||
|
|
||||||
|
//---------------------------------------------------------------------------
|
||||||
|
int getDirFromFile( const char *path, char *dir )
|
||||||
|
{
|
||||||
|
int i, lastSlash = -1, lastPeriod = -1;
|
||||||
|
|
||||||
|
i=0;
|
||||||
|
while ( path[i] != 0 )
|
||||||
|
{
|
||||||
|
if ( path[i] == '/' )
|
||||||
|
{
|
||||||
|
lastSlash = i;
|
||||||
|
}
|
||||||
|
else if ( path[i] == '.' )
|
||||||
|
{
|
||||||
|
lastPeriod = i;
|
||||||
|
}
|
||||||
|
dir[i] = path[i]; i++;
|
||||||
|
}
|
||||||
|
dir[i] = 0;
|
||||||
|
|
||||||
|
if ( lastPeriod >= 0 )
|
||||||
|
{
|
||||||
|
if ( lastPeriod > lastSlash )
|
||||||
|
{
|
||||||
|
dir[lastSlash] = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
//---------------------------------------------------------------------------
|
|
@ -0,0 +1,3 @@
|
||||||
|
// ConsoleUtilities.h
|
||||||
|
|
||||||
|
int getDirFromFile( const char *path, char *dir );
|
|
@ -22,6 +22,7 @@
|
||||||
#include "Qt/PaletteConf.h"
|
#include "Qt/PaletteConf.h"
|
||||||
#include "Qt/GuiConf.h"
|
#include "Qt/GuiConf.h"
|
||||||
#include "Qt/LuaControl.h"
|
#include "Qt/LuaControl.h"
|
||||||
|
#include "Qt/ConsoleUtilities.h"
|
||||||
#include "Qt/ConsoleSoundConf.h"
|
#include "Qt/ConsoleSoundConf.h"
|
||||||
#include "Qt/ConsoleVideoConf.h"
|
#include "Qt/ConsoleVideoConf.h"
|
||||||
#include "Qt/AboutWindow.h"
|
#include "Qt/AboutWindow.h"
|
||||||
|
@ -487,36 +488,6 @@ void consoleWin_t::closeApp(void)
|
||||||
qApp->quit();
|
qApp->quit();
|
||||||
}
|
}
|
||||||
//---------------------------------------------------------------------------
|
//---------------------------------------------------------------------------
|
||||||
int consoleWin_t::getDirFromFile( const char *path, char *dir )
|
|
||||||
{
|
|
||||||
int i, lastSlash = -1, lastPeriod = -1;
|
|
||||||
|
|
||||||
i=0;
|
|
||||||
while ( path[i] != 0 )
|
|
||||||
{
|
|
||||||
if ( path[i] == '/' )
|
|
||||||
{
|
|
||||||
lastSlash = i;
|
|
||||||
}
|
|
||||||
else if ( path[i] == '.' )
|
|
||||||
{
|
|
||||||
lastPeriod = i;
|
|
||||||
}
|
|
||||||
dir[i] = path[i]; i++;
|
|
||||||
}
|
|
||||||
dir[i] = 0;
|
|
||||||
|
|
||||||
if ( lastPeriod >= 0 )
|
|
||||||
{
|
|
||||||
if ( lastPeriod > lastSlash )
|
|
||||||
{
|
|
||||||
dir[lastSlash] = 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
|
|
||||||
void consoleWin_t::openROMFile(void)
|
void consoleWin_t::openROMFile(void)
|
||||||
{
|
{
|
||||||
|
@ -531,6 +502,8 @@ void consoleWin_t::openROMFile(void)
|
||||||
dialog.setNameFilter(tr("NES files (*.nes *.NES) ;; All files (*)"));
|
dialog.setNameFilter(tr("NES files (*.nes *.NES) ;; All files (*)"));
|
||||||
|
|
||||||
dialog.setViewMode(QFileDialog::List);
|
dialog.setViewMode(QFileDialog::List);
|
||||||
|
dialog.setFilter( QDir::AllEntries | QDir::Hidden );
|
||||||
|
dialog.setLabelText( QFileDialog::Accept, tr("Open") );
|
||||||
|
|
||||||
g_config->getOption ("SDL.LastOpenFile", &last );
|
g_config->getOption ("SDL.LastOpenFile", &last );
|
||||||
|
|
||||||
|
@ -593,6 +566,8 @@ void consoleWin_t::loadNSF(void)
|
||||||
dialog.setNameFilter(tr("NSF Sound Files (*.nsf *.NSF) ;; Zip Files (*.zip *.ZIP) ;; All files (*)"));
|
dialog.setNameFilter(tr("NSF Sound Files (*.nsf *.NSF) ;; Zip Files (*.zip *.ZIP) ;; All files (*)"));
|
||||||
|
|
||||||
dialog.setViewMode(QFileDialog::List);
|
dialog.setViewMode(QFileDialog::List);
|
||||||
|
dialog.setFilter( QDir::AllEntries | QDir::Hidden );
|
||||||
|
dialog.setLabelText( QFileDialog::Accept, tr("Load") );
|
||||||
|
|
||||||
g_config->getOption ("SDL.LastOpenNSF", &last );
|
g_config->getOption ("SDL.LastOpenNSF", &last );
|
||||||
|
|
||||||
|
@ -642,9 +617,11 @@ void consoleWin_t::loadStateFrom(void)
|
||||||
|
|
||||||
dialog.setFileMode(QFileDialog::ExistingFile);
|
dialog.setFileMode(QFileDialog::ExistingFile);
|
||||||
|
|
||||||
dialog.setNameFilter(tr("FCS Files (*.fc? *.FC?) ;; SAV Files (*.sav *.SAV) ;; All files (*)"));
|
dialog.setNameFilter(tr("FCS & SAV Files (*.sav *.SAV *.fc? *.FC?) ;; All files (*)"));
|
||||||
|
|
||||||
dialog.setViewMode(QFileDialog::List);
|
dialog.setViewMode(QFileDialog::List);
|
||||||
|
dialog.setFilter( QDir::AllEntries | QDir::Hidden );
|
||||||
|
dialog.setLabelText( QFileDialog::Accept, tr("Load") );
|
||||||
|
|
||||||
g_config->getOption ("SDL.LastLoadStateFrom", &last );
|
g_config->getOption ("SDL.LastLoadStateFrom", &last );
|
||||||
|
|
||||||
|
@ -697,6 +674,9 @@ void consoleWin_t::saveStateAs(void)
|
||||||
dialog.setNameFilter(tr("SAV Files (*.sav *.SAV) ;; All files (*)"));
|
dialog.setNameFilter(tr("SAV Files (*.sav *.SAV) ;; All files (*)"));
|
||||||
|
|
||||||
dialog.setViewMode(QFileDialog::List);
|
dialog.setViewMode(QFileDialog::List);
|
||||||
|
dialog.setFilter( QDir::AllEntries | QDir::Hidden );
|
||||||
|
dialog.setLabelText( QFileDialog::Accept, tr("Save") );
|
||||||
|
dialog.setDefaultSuffix( tr(".sav") );
|
||||||
|
|
||||||
g_config->getOption ("SDL.LastSaveStateAs", &last );
|
g_config->getOption ("SDL.LastSaveStateAs", &last );
|
||||||
|
|
||||||
|
@ -1022,6 +1002,8 @@ void consoleWin_t::loadGameGenieROM(void)
|
||||||
dialog.setNameFilter(tr("GG ROM File (gg.rom *Genie*.nes) ;; All files (*)"));
|
dialog.setNameFilter(tr("GG ROM File (gg.rom *Genie*.nes) ;; All files (*)"));
|
||||||
|
|
||||||
dialog.setViewMode(QFileDialog::List);
|
dialog.setViewMode(QFileDialog::List);
|
||||||
|
dialog.setFilter( QDir::AllEntries | QDir::Hidden );
|
||||||
|
dialog.setLabelText( QFileDialog::Accept, tr("Load") );
|
||||||
|
|
||||||
g_config->getOption ("SDL.LastOpenFile", &last );
|
g_config->getOption ("SDL.LastOpenFile", &last );
|
||||||
|
|
||||||
|
@ -1103,6 +1085,8 @@ void consoleWin_t::fdsLoadBiosFile(void)
|
||||||
dialog.setNameFilter(tr("ROM files (*.rom *.ROM) ;; All files (*)"));
|
dialog.setNameFilter(tr("ROM files (*.rom *.ROM) ;; All files (*)"));
|
||||||
|
|
||||||
dialog.setViewMode(QFileDialog::List);
|
dialog.setViewMode(QFileDialog::List);
|
||||||
|
dialog.setFilter( QDir::AllEntries | QDir::Hidden );
|
||||||
|
dialog.setLabelText( QFileDialog::Accept, tr("Load") );
|
||||||
|
|
||||||
g_config->getOption ("SDL.LastOpenFile", &last );
|
g_config->getOption ("SDL.LastOpenFile", &last );
|
||||||
|
|
||||||
|
@ -1168,6 +1152,8 @@ void consoleWin_t::openMovie(void)
|
||||||
dialog.setNameFilter(tr("FM2 Movies (*.fm2) ;; All files (*)"));
|
dialog.setNameFilter(tr("FM2 Movies (*.fm2) ;; All files (*)"));
|
||||||
|
|
||||||
dialog.setViewMode(QFileDialog::List);
|
dialog.setViewMode(QFileDialog::List);
|
||||||
|
dialog.setFilter( QDir::AllEntries | QDir::Hidden );
|
||||||
|
dialog.setLabelText( QFileDialog::Accept, tr("Open") );
|
||||||
|
|
||||||
g_config->getOption ("SDL.LastOpenFile", &last );
|
g_config->getOption ("SDL.LastOpenFile", &last );
|
||||||
|
|
||||||
|
@ -1251,6 +1237,8 @@ void consoleWin_t::recordMovieAs(void)
|
||||||
dialog.setNameFilter(tr("FM2 Movies (*.fm2) ;; All files (*)"));
|
dialog.setNameFilter(tr("FM2 Movies (*.fm2) ;; All files (*)"));
|
||||||
|
|
||||||
dialog.setViewMode(QFileDialog::List);
|
dialog.setViewMode(QFileDialog::List);
|
||||||
|
dialog.setFilter( QDir::AllEntries | QDir::Hidden );
|
||||||
|
dialog.setLabelText( QFileDialog::Accept, tr("Save") );
|
||||||
|
|
||||||
g_config->getOption ("SDL.LastOpenFile", &last );
|
g_config->getOption ("SDL.LastOpenFile", &last );
|
||||||
|
|
||||||
|
|
|
@ -99,8 +99,6 @@ class consoleWin_t : public QMainWindow
|
||||||
void keyReleaseEvent(QKeyEvent *event);
|
void keyReleaseEvent(QKeyEvent *event);
|
||||||
void syncActionConfig( QAction *act, const char *property );
|
void syncActionConfig( QAction *act, const char *property );
|
||||||
|
|
||||||
int getDirFromFile( const char *path, char *dir );
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void createMainMenu(void);
|
void createMainMenu(void);
|
||||||
|
|
||||||
|
|
|
@ -17,6 +17,7 @@
|
||||||
#include "Qt/config.h"
|
#include "Qt/config.h"
|
||||||
#include "Qt/keyscan.h"
|
#include "Qt/keyscan.h"
|
||||||
#include "Qt/fceuWrapper.h"
|
#include "Qt/fceuWrapper.h"
|
||||||
|
#include "Qt/ConsoleUtilities.h"
|
||||||
|
|
||||||
static bool luaScriptRunning = false;
|
static bool luaScriptRunning = false;
|
||||||
|
|
||||||
|
@ -124,7 +125,7 @@ void LuaControlDialog_t::openLuaScriptFile(void)
|
||||||
int ret, useNativeFileDialogVal;
|
int ret, useNativeFileDialogVal;
|
||||||
QString filename;
|
QString filename;
|
||||||
std::string last;
|
std::string last;
|
||||||
//char dir[512];
|
char dir[512];
|
||||||
QFileDialog dialog(this, tr("Open LUA Script") );
|
QFileDialog dialog(this, tr("Open LUA Script") );
|
||||||
|
|
||||||
dialog.setFileMode(QFileDialog::ExistingFile);
|
dialog.setFileMode(QFileDialog::ExistingFile);
|
||||||
|
@ -132,6 +133,8 @@ void LuaControlDialog_t::openLuaScriptFile(void)
|
||||||
dialog.setNameFilter(tr("LUA Scripts (*.lua *.LUA) ;; All files (*)"));
|
dialog.setNameFilter(tr("LUA Scripts (*.lua *.LUA) ;; All files (*)"));
|
||||||
|
|
||||||
dialog.setViewMode(QFileDialog::List);
|
dialog.setViewMode(QFileDialog::List);
|
||||||
|
dialog.setFilter( QDir::AllEntries | QDir::Hidden );
|
||||||
|
dialog.setLabelText( QFileDialog::Accept, tr("Load") );
|
||||||
|
|
||||||
g_config->getOption ("SDL.LastLoadLua", &last );
|
g_config->getOption ("SDL.LastLoadLua", &last );
|
||||||
|
|
||||||
|
@ -140,9 +143,9 @@ void LuaControlDialog_t::openLuaScriptFile(void)
|
||||||
last.assign( "/usr/share/fceux/luaScripts" );
|
last.assign( "/usr/share/fceux/luaScripts" );
|
||||||
}
|
}
|
||||||
|
|
||||||
//getDirFromFile( last.c_str(), dir );
|
getDirFromFile( last.c_str(), dir );
|
||||||
|
|
||||||
dialog.setDirectory( tr("/usr/share/fceux/luaScripts") );
|
dialog.setDirectory( tr(dir) );
|
||||||
|
|
||||||
// Check config option to use native file dialog or not
|
// Check config option to use native file dialog or not
|
||||||
g_config->getOption ("SDL.UseNativeFileDialog", &useNativeFileDialogVal);
|
g_config->getOption ("SDL.UseNativeFileDialog", &useNativeFileDialogVal);
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
#include "Qt/config.h"
|
#include "Qt/config.h"
|
||||||
#include "Qt/keyscan.h"
|
#include "Qt/keyscan.h"
|
||||||
#include "Qt/fceuWrapper.h"
|
#include "Qt/fceuWrapper.h"
|
||||||
|
#include "Qt/ConsoleUtilities.h"
|
||||||
|
|
||||||
#include "../../ppu.h"
|
#include "../../ppu.h"
|
||||||
|
|
||||||
|
@ -289,6 +290,8 @@ void PaletteConfDialog_t::openPaletteFile(void)
|
||||||
{
|
{
|
||||||
int ret, useNativeFileDialogVal;
|
int ret, useNativeFileDialogVal;
|
||||||
QString filename;
|
QString filename;
|
||||||
|
std::string last;
|
||||||
|
char dir[512];
|
||||||
QFileDialog dialog(this, tr("Open NES Palette") );
|
QFileDialog dialog(this, tr("Open NES Palette") );
|
||||||
|
|
||||||
dialog.setFileMode(QFileDialog::ExistingFile);
|
dialog.setFileMode(QFileDialog::ExistingFile);
|
||||||
|
@ -296,8 +299,19 @@ void PaletteConfDialog_t::openPaletteFile(void)
|
||||||
dialog.setNameFilter(tr("NES Palettes (*.pal *.PAL) ;; All files (*)"));
|
dialog.setNameFilter(tr("NES Palettes (*.pal *.PAL) ;; All files (*)"));
|
||||||
|
|
||||||
dialog.setViewMode(QFileDialog::List);
|
dialog.setViewMode(QFileDialog::List);
|
||||||
|
dialog.setFilter( QDir::AllEntries | QDir::Hidden );
|
||||||
|
dialog.setLabelText( QFileDialog::Accept, tr("Load") );
|
||||||
|
|
||||||
dialog.setDirectory( tr("/usr/share/fceux/palettes") );
|
g_config->getOption ("SDL.Palette", &last );
|
||||||
|
|
||||||
|
if ( last.size() == 0 )
|
||||||
|
{
|
||||||
|
last.assign( "/usr/share/fceux/palettes" );
|
||||||
|
}
|
||||||
|
|
||||||
|
getDirFromFile( last.c_str(), dir );
|
||||||
|
|
||||||
|
dialog.setDirectory( tr(dir) );
|
||||||
|
|
||||||
// Check config option to use native file dialog or not
|
// Check config option to use native file dialog or not
|
||||||
g_config->getOption ("SDL.UseNativeFileDialog", &useNativeFileDialogVal);
|
g_config->getOption ("SDL.UseNativeFileDialog", &useNativeFileDialogVal);
|
||||||
|
|
Loading…
Reference in New Issue