Add support for sub-editor shortcut customization

This commit is contained in:
BigBahss
2020-11-09 05:50:15 -05:00
parent 9a3609ee6d
commit f044672d2e
8 changed files with 165 additions and 33 deletions

View File

@@ -310,6 +310,11 @@ private:
void closeSupplementaryWindows();
void setWindowDisabled(bool);
void initTilesetEditor();
bool initRegionMapEditor();
void initShortcutsEditor();
void connectSubEditorsToShortcutsEditor();
bool isProjectOpen();
void showExportMapImageWindow(bool stitchMode);
void redrawMetatileSelection();

View File

@@ -47,6 +47,11 @@ public:
void resize(int width, int height);
QObjectList shortcutableObjects() const;
public slots:
void applyUserShortcuts();
private:
Ui::RegionMapEditor *ui;
Project *project;
@@ -81,6 +86,7 @@ private:
RegionMapPixmapItem *region_map_item = nullptr;
CityMapPixmapItem *city_map_item = nullptr;
void initShortcuts();
void displayRegionMap();
void displayRegionMapImage();
void displayRegionMapLayout();

View File

@@ -23,9 +23,12 @@ class ShortcutsEditor : public QMainWindow
Q_OBJECT
public:
explicit ShortcutsEditor(const QObjectList &objectList, QWidget *parent = nullptr);
explicit ShortcutsEditor(QWidget *parent = nullptr);
explicit ShortcutsEditor(const QObjectList &shortcutableObjects, QWidget *parent = nullptr);
~ShortcutsEditor();
void setShortcutableObjects(const QObjectList &shortcutableObjects);
signals:
void shortcutsSaved();

View File

@@ -42,6 +42,11 @@ public:
void updateTilesets(QString primaryTilsetLabel, QString secondaryTilesetLabel);
bool selectMetatile(uint16_t metatileId);
QObjectList shortcutableObjects() const;
public slots:
void applyUserShortcuts();
private slots:
void onHoveredMetatileChanged(uint16_t);
void onHoveredMetatileCleared();
@@ -102,6 +107,7 @@ private:
void initTileSelector();
void initSelectedTileItem();
void initMetatileLayersItem();
void initShortcuts();
void restoreWindowState();
void initMetatileHistory();
void setTilesets(QString primaryTilesetLabel, QString secondaryTilesetLabel);
@@ -112,6 +118,7 @@ private:
void refresh();
void saveMetatileLabel();
void closeEvent(QCloseEvent*);
Ui::TilesetEditor *ui;
History<MetatileHistoryItem*> metatileHistory;
TilesetEditorMetatileSelector *metatileSelector = nullptr;