#ifndef _CSP_QT_MAINWIDGET_BASE_H
#define _CSP_QT_MAINWIDGET_BASE_H
-#include <QVariant>
-#include <QObject>
-#include <QApplication>
+//#include <QVariant>
+//#include <QObject>
+//#include <QApplication>
#include <QMainWindow>
#include <QIcon>
#include <QString>
#include <QStringList>
-#include <QMenu>
-#include <QMenuBar>
+//#include <QMenu>
+//#include <QMenuBar>
#include "common.h"
#include "config.h"
CSP_MAINWIDGET_SAVE_MOVIE_END,
};
-#define MAX_RENDER_PLATFORMS 8
+#define MAX_RENDER_PLATFORMS 12
enum {
RENDER_PLATFORMS_OPENGL3_MAIN = 0,
RENDER_PLATFORMS_OPENGL2_MAIN,
RENDER_PLATFORMS_OPENGL_CORE,
+ RENDER_PLATFORMS_OPENGL_ES_2,
RENDER_PLATFORMS_END
};
__action[_i]->setEnabled(__enabled); \
__action[_i]->binds->setValue1(_i); \
__menu->addAction(__action[_i]); \
- if(using_flags->get_config_ptr()->__cnf[_i][0]) __action[_i]->setChecked(true); \
+ if(p_config->__cnf[_i][0]) __action[_i]->setChecked(true); \
connect(__action[_i], __signal1, __action[_i], __slot1); \
connect(__action[_i], __signal2, this, __slot2); \
} \
-
+class OSD;
class QVariant;
class QAction;
class QActionGroup;
class QGraphicsView;
class QGraphicsScene;
class QHeaderView;
+class QMenu;
+class QMenuBar;
+class QApplication;
class QStatusBar;
class QWidget;
class Menu_FDClass;
class Menu_CMTClass;
class Menu_CartClass;
+class Menu_HDDClass;
class Menu_QDClass;
class Menu_BinaryClass;
class Menu_BubbleClass;
class Action_Control *actionSpeed_x4;
class Action_Control *actionSpeed_x8;
class Action_Control *actionSpeed_x16;
+ class Action_Control *actionSpeed_FULL;
class Action_Control *actionPaste_from_Clipboard;
class Action_Control *actionStop_Pasting;
QMenu *menuSave_State;
// Screen
QActionGroup *actionGroup_Stretch;
QActionGroup *actionGroup_SetRenderPlatform;
+ QActionGroup *actionGroup_RotateType;
+ class Action_Control *action_ScreenSeparateThread;
+ class Action_Control *action_ScreenUseOSD;
class Action_Control *actionZoom;
class Action_Control *actionDisplay_Mode;
class Action_Control *actionScanLine;
class Action_Control *actionGLScanLineHoriz;
class Action_Control *actionGLScanLineVert;
- class Action_Control *actionRotate;
+
+ class Action_Control *actionRotate[4];
class Action_Control *actionCRT_Filter;
class Action_Control *actionOpenGL_Filter;
class Action_Control *actionDot_by_Dot;
class Action_Control *action_DispVirtualMedias[5];
class Action_Control *action_FocusWithClick;
class Action_Control *action_UseRomaKana;
+ class Action_Control *action_NumPadEnterAsFullkey;
+ class Action_Control *action_Logging_FDC;
class Action_Control *action_LogToSyslog;
class Action_Control *action_LogToConsole;
class Action_Control *action_LogRecord;
class Action_Control *action_SetupJoystick;
class Action_Control *action_SetupKeyboard;
class Action_Control *action_LogView;
+ class Action_Control *action_PrintCpuStatistics;
QMenu *menu_EmulateCursorAs;
QActionGroup *actionGroup_EmulateCursorAs;
uint32_t osd_led_data;
// Inner functions
+
void ConfigCpuSpeed(void);
void ConfigControlMenu(void);
void connectActions_ControlMenu(void);
void ConfigFloppyMenu(void);
+ void ConfigHardDiskMenu(void);
void ConfigSoundMenu(void);
void CreateSoundMenu(void);
void CreateFloppyMenu(int drv, int drv_base);
void CreateFloppyPulldownMenu(int drv);
void ConfigFloppyMenuSub(int drv);
- // Bubble
+
+ void CreateHardDiskMenu(int drv, int drv_base);
+ void CreateHardDiskPulldownMenu(int drv);
+ void ConfigHardDiskMenuSub(int drv);
+// Bubble
void CreateBubbleMenu(int drv, int drv_base);
void CreateBubblePulldownMenu(int drv);
void ConfigBubbleMenuSub(int drv);
void ConfigBubbleMenu(void);
+ virtual int GetBubbleBankNum(int drv) { return 0; }
+ virtual int GetBubbleCurrentBankNum(int drv) { return 0; }
+ virtual bool GetBubbleCasetteIsProtected(int drv) { return false; }
+ virtual QString GetBubbleB77FileName(int drv) { return QString::fromUtf8(""); }
+ virtual QString GetBubbleB77BubbleName(int drv, int num) { return QString::fromUtf8(""); }
- void CreateCMTMenu(int drive);
+ void CreateCMTMenu(int drive, int drv_base);
void ConfigCMTMenu(void);
void ConfigQuickDiskMenu(void);
void ConfigCartMenuSub(int drv);
void ConfigCartMenu(void);
- void CreateCDROMMenu(void);
+ void CreateCDROMMenu(int drv, int drv_base);
void ConfigCDROMMenu(void);
void ConfigCDROMMenuSub(void);
void CreateCDROMPulldownMenu(void);
- void CreateLaserdiscMenu(void);
+ void CreateLaserdiscMenu(int drv, int drv_base);
void ConfigLaserdiscMenu(void);
void ConfigLaserdiscMenuSub(void);
void CreateLaserdiscPulldownMenu(void);
void ConfigDriveType(void);
void ConfigSoundDeviceType(void);
void ConfigPrinterType(void);
+ void ConfigMonitorType(void);
// About Status bar
int Calc_OSD_Wfactor(void);
QStringList listQDs[8];
QStringList listCMT[8];
bool cmt_write_protect[8];
- QStringList listCDROM;
- QStringList listLaserdisc;
+ QStringList listCDROM[8];
+ QStringList listLaserdisc[8];
QStringList listBINs[8];
QStringList listFDs[16];
+ QStringList listHDDs[16];
+
QStringList listD88[16];
QStringList listBubbles[8];
QStringList listB77[8];
class Action_Control *actionStop_Record_Movie;
class Action_Control *action_SetupMovie; // 15, 24, 30, 60
+ QMenu *menuMonitorType;
+ QActionGroup *actionGroup_MonitorType;
+ Action_Control *actionMonitorType[16];
+
// Menus
QMenu *menuControl;
QMenu *menuState;
QMenu *menuStretch_Mode;
QMenu *menuScreenSize;
QMenu *menuScreen_Render;
+ QMenu *menuScreen_Rotate;
QMenu *menuCpuType;
QMenu *menuBootMode;
Menu_FDClass *menu_fds[16];
Menu_QDClass *menu_QDs[8];
Menu_CMTClass *menu_CMT[8];
- Menu_CompactDiscClass *menu_CDROM;
- Menu_LaserdiscClass *menu_Laserdisc;
+ Menu_HDDClass *menu_hdds[16];
+ Menu_CompactDiscClass *menu_CDROM[8];
+ Menu_LaserdiscClass *menu_Laserdisc[8];
Menu_CartClass *menu_Cart[8];
Menu_BinaryClass *menu_BINs[8];
Menu_BubbleClass *menu_bubbles[8];
// Translate UIs.
void retranslateControlMenu(const char *SpecialResetTitle, bool WithSpecialReset);
void retranslateFloppyMenu(int drv, int basedrv);
+ void retranslateFloppyMenu(int drv, int basedrv, QString specName);
+ void retranslateHardDiskMenu(int drv, int basedrv);
+ void retranslateHardDiskMenu(int drv, int basedrv, QString specName);
void retranslateBubbleMenu(int drv, int basedrv);
void retranslateCMTMenu(int drive);
void retranslateQuickDiskMenu(int drv, int basedrv);
bool get_direct_load_mzt(int drive);
virtual bool GetPowerState(void);
void set_logger(CSP_Logger *logger) { csp_logger = logger; }
+
+ virtual QString get_system_version();
+ virtual QString get_build_date();
+ QString get_gui_version();
+
// Basic slots
public slots:
void delete_emu_thread(void);
void do_update_volume(int level);
void set_screen_aspect(int num);
void set_screen_size(int w, int h);
+ void do_set_screen_rotate(int type);
void OnReset(void);
void OnSpecialReset(void);
virtual void do_set_mouse_enable(bool flag);
void do_stop_saving_movie(void);
void do_start_saving_movie(void);
void do_set_state_saving_movie(bool state);
+ void set_osd_virtual_media(bool f);
virtual void OnOpenDebugger(int n);
virtual void OnCloseDebugger(void);
-
- void set_screen_rotate(bool);
+ void doBeforeCloseMainWindow(void);
void set_gl_crt_filter(bool);
void set_cpu_power(int pw) {
OnCpuPower(pw);
}
virtual void on_actionExit_triggered();
-
+ void do_emu_full_speed(bool f);
void OnStartAutoKey(void);
void OnStopAutoKey(void);
void eject_cart(int);
virtual int set_d88_slot(int drive, int num);
virtual int set_recent_disk(int, int);
+ virtual void do_update_recent_hard_disk(int);
+ virtual void _open_hard_disk(int drv, const QString fname);
+ void eject_hard_disk(int drv);
+ virtual int set_recent_hard_disk(int, int);
// Bubble Casette
int write_protect_bubble(int drv, bool flag);
- virtual int set_b77_slot(int drive, int num);
- virtual void do_update_recent_bubble(int drv);
- virtual int set_recent_bubble(int drv, int num);
+ int set_b77_slot(int drive, int num);
+ void do_update_recent_bubble(int drv);
+ int set_recent_bubble(int drv, int num);
+ void _open_bubble(int drv, const QString fname);
+ void eject_bubble(int drv);
- virtual void _open_bubble(int drv, const QString fname);
- virtual void eject_bubble(int drv);
void start_record_sound(bool rec);
void set_freq(int);
void do_set_dev_log_to_console(int id, bool f);
void do_set_dev_log_to_syslog(int id, bool f);
void do_set_roma_kana(bool f);
+ void do_set_numpad_enter_as_fullkey(bool f);
void do_set_render_mode_std(void);
void do_set_render_mode_tv(void);
void do_select_render_platform(int num);
void do_set_visible_virtual_media_right();
void do_set_emulate_cursor_as(int num);
-
+ void do_set_logging_fdc(bool onoff);
+ void do_set_separate_thread_draw(bool f);
+ void do_set_print_cpu_statistics(bool flag);
+ // ToDo: GUI
+ void do_set_state_log_to_record(bool f);
+ void do_set_state_log_to_console(bool f);
+ void do_set_state_log_to_syslog(bool f);
+
signals:
int message_changed(QString);
int quit_emu_thread();
int call_joy_thread(EMU *);
int quit_joy_thread();
int quit_draw_thread();
+ int quit_emulator_all();
int sig_quit_movie_thread();
int sig_stop_saving_movie(void);
int sig_start_saving_movie(void);
int on_insert_fd(int);
int on_eject_fd(int);
int do_open_disk(int, QString);
+
int closed(void);
int sig_quit_all(void);
int sig_vm_reset(void);
int sig_write_protect_disk(int drv, bool flag);
int sig_open_disk(int, QString, int);
int sig_close_disk(int);
+ int sig_open_hard_disk(int, QString);
+ int sig_close_hard_disk(int);
int sig_play_tape(int ,QString);
int sig_rec_tape(int, QString);
int sig_close_tape(int);
int sig_open_quickdisk(int drv, QString path);
int sig_close_cart(int drv);
int sig_open_cart(int drv, QString path);
- int sig_open_cdrom(QString path);
- int sig_close_cdrom(void);
- int sig_close_laserdisc(void);
- int sig_open_laserdisc(QString path);
+ int sig_open_cdrom(int drv, QString path);
+ int sig_close_cdrom(int drv);
+ int sig_close_laserdisc(int drv);
+ int sig_open_laserdisc(int drv, QString path);
int sig_load_binary(int drv, QString path);
int sig_save_binary(int drv, QString path);
int sig_write_protect_bubble(int, bool);
int sig_display_osd_leds(int,bool);
int sig_set_led_width(int);
int sig_set_orientation_osd(int);
-
+ int sig_set_roma_kana(bool);
int quit_debugger_thread(void);
int sig_quit_widgets(void);