2021-12-03 11:38:00 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <memory>
|
|
|
|
|
#include <QObject>
|
2021-12-14 00:31:55 +06:00
|
|
|
#include <QMap>
|
2021-12-03 11:38:00 +01:00
|
|
|
|
|
|
|
|
class QMenu;
|
|
|
|
|
|
|
|
|
|
class MediaMenu : QObject
|
|
|
|
|
{
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
public:
|
|
|
|
|
MediaMenu(QWidget* parent);
|
|
|
|
|
|
|
|
|
|
void refresh(QMenu* parentMenu);
|
|
|
|
|
|
|
|
|
|
// because some 86box C-only code needs to call zip and
|
|
|
|
|
// mo eject directly
|
|
|
|
|
static std::shared_ptr<MediaMenu> ptr;
|
|
|
|
|
|
|
|
|
|
void cassetteNewImage();
|
|
|
|
|
void cassetteSelectImage(bool wp);
|
|
|
|
|
void cassetteMount(const QString& filename, bool wp);
|
|
|
|
|
void cassetteEject();
|
|
|
|
|
void cassetteUpdateMenu();
|
|
|
|
|
|
|
|
|
|
void cartridgeSelectImage(int i);
|
2022-05-24 12:01:11 +06:00
|
|
|
void cartridgeMount(int i, const QString& filename);
|
2021-12-03 11:38:00 +01:00
|
|
|
void cartridgeEject(int i);
|
|
|
|
|
void cartridgeUpdateMenu(int i);
|
|
|
|
|
|
|
|
|
|
void floppyNewImage(int i);
|
|
|
|
|
void floppySelectImage(int i, bool wp);
|
|
|
|
|
void floppyMount(int i, const QString& filename, bool wp);
|
|
|
|
|
void floppyEject(int i);
|
|
|
|
|
void floppyExportTo86f(int i);
|
|
|
|
|
void floppyUpdateMenu(int i);
|
|
|
|
|
|
|
|
|
|
void cdromMute(int i);
|
|
|
|
|
void cdromMount(int i);
|
2022-05-24 02:14:45 +06:00
|
|
|
void cdromMount(int i, const QString& filename);
|
2021-12-03 11:38:00 +01:00
|
|
|
void cdromEject(int i);
|
|
|
|
|
void cdromReload(int i);
|
|
|
|
|
void cdromUpdateMenu(int i);
|
|
|
|
|
|
|
|
|
|
void zipNewImage(int i);
|
|
|
|
|
void zipSelectImage(int i, bool wp);
|
|
|
|
|
void zipMount(int i, const QString& filename, bool wp);
|
|
|
|
|
void zipEject(int i);
|
|
|
|
|
void zipReload(int i);
|
|
|
|
|
void zipUpdateMenu(int i);
|
|
|
|
|
|
|
|
|
|
void moNewImage(int i);
|
|
|
|
|
void moSelectImage(int i, bool wp);
|
|
|
|
|
void moMount(int i, const QString& filename, bool wp);
|
|
|
|
|
void moEject(int i);
|
|
|
|
|
void moReload(int i);
|
|
|
|
|
void moUpdateMenu(int i);
|
2022-08-27 19:08:28 +02:00
|
|
|
|
|
|
|
|
void nicUpdateMenu(int i);
|
2021-12-03 11:38:00 +01:00
|
|
|
private:
|
|
|
|
|
QWidget* parentWidget = nullptr;
|
|
|
|
|
|
|
|
|
|
QMenu* cassetteMenu = nullptr;
|
2021-12-14 00:31:55 +06:00
|
|
|
QMap<int, QMenu*> cartridgeMenus;
|
|
|
|
|
QMap<int, QMenu*> floppyMenus;
|
|
|
|
|
QMap<int, QMenu*> cdromMenus;
|
|
|
|
|
QMap<int, QMenu*> zipMenus;
|
|
|
|
|
QMap<int, QMenu*> moMenus;
|
2022-08-27 19:08:28 +02:00
|
|
|
QMap<int, QMenu*> netMenus;
|
2021-12-03 11:38:00 +01:00
|
|
|
|
2022-07-30 14:56:44 -04:00
|
|
|
QString getMediaOpenDirectory();
|
|
|
|
|
|
2021-12-05 21:22:32 +01:00
|
|
|
int cassetteRecordPos;
|
|
|
|
|
int cassettePlayPos;
|
|
|
|
|
int cassetteRewindPos;
|
|
|
|
|
int cassetteFastFwdPos;
|
|
|
|
|
int cassetteEjectPos;
|
|
|
|
|
|
|
|
|
|
int cartridgeEjectPos;
|
|
|
|
|
|
|
|
|
|
int floppyExportPos;
|
|
|
|
|
int floppyEjectPos;
|
|
|
|
|
|
2021-12-03 11:38:00 +01:00
|
|
|
int cdromMutePos;
|
|
|
|
|
int cdromReloadPos;
|
|
|
|
|
int cdromImagePos;
|
|
|
|
|
|
|
|
|
|
int zipEjectPos;
|
|
|
|
|
int zipReloadPos;
|
|
|
|
|
|
|
|
|
|
int moEjectPos;
|
|
|
|
|
int moReloadPos;
|
2021-12-14 00:31:55 +06:00
|
|
|
|
2022-08-27 19:08:28 +02:00
|
|
|
int netDisconnPos;
|
|
|
|
|
|
2021-12-14 00:31:55 +06:00
|
|
|
friend class MachineStatus;
|
2021-12-03 11:38:00 +01:00
|
|
|
};
|