#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"
__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 *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;
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);
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];
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);
virtual void OnOpenDebugger(int n);
virtual void OnCloseDebugger(void);
void doBeforeCloseMainWindow(void);
- void set_screen_rotate(bool);
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_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);
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 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);