Custom Scripts -> Plugins
Some checks failed
Build Porymap / build-linux (, 5.14.2) (push) Has been cancelled
Build Porymap / build-linux (, 6.8.*) (push) Has been cancelled
Build Porymap / build-linux (minimal, 5.14.2) (push) Has been cancelled
Build Porymap / build-macos (macos-15-intel) (push) Has been cancelled
Build Porymap / build-macos (macos-latest) (push) Has been cancelled
Build Porymap / build-static-windows (push) Has been cancelled

This commit is contained in:
GriffinR
2026-02-24 18:34:33 -05:00
parent 6d94be2396
commit ce090b27ef
31 changed files with 578 additions and 577 deletions

View File

@@ -1,63 +0,0 @@
#ifndef CUSTOMSCRIPTSEDITOR_H
#define CUSTOMSCRIPTSEDITOR_H
#include <QMainWindow>
#include <QListWidget>
#include <QAbstractButton>
#include <QMessageBox>
#include "customscriptslistitem.h"
namespace Ui {
class CustomScriptsEditor;
}
class CustomScriptsEditor : public QMainWindow
{
Q_OBJECT
public:
explicit CustomScriptsEditor(QWidget *parent = nullptr);
~CustomScriptsEditor();
signals:
void reloadScriptEngine();
public slots:
void applyUserShortcuts();
private:
Ui::CustomScriptsEditor *ui;
bool hasUnsavedChanges = false;
const QString baseDir;
void displayScript(const ScriptSettings &settings);
void displayNewScript(QString filepath);
QString chooseScript(QString dir);
void removeScript(QListWidgetItem * item);
void replaceScript(QListWidgetItem * item);
void openScript(QListWidgetItem * item);
QString getScriptFilepath(QListWidgetItem * item, bool absolutePath = true) const;
void setScriptFilepath(QListWidgetItem * item, QString filepath) const;
bool getScriptEnabled(QListWidgetItem * item) const;
void markEdited();
int prompt(const QString &text, QMessageBox::StandardButton defaultButton);
void save();
void closeEvent(QCloseEvent*);
void initShortcuts();
QObjectList shortcutableObjects() const;
void openManual();
private slots:
void dialogButtonClicked(QAbstractButton *button);
void createNewScript();
void loadScript();
bool refreshScripts();
void userRefreshScripts();
void removeSelectedScripts();
void openSelectedScripts();
};
#endif // CUSTOMSCRIPTSEDITOR_H

View File

@@ -1,40 +0,0 @@
#ifndef CUSTOMSCRIPTSLISTITEM_H
#define CUSTOMSCRIPTSLISTITEM_H
#include <QFrame>
#include "scriptsettings.h"
namespace Ui {
class CustomScriptsListItem;
}
class CustomScriptsListItem : public QFrame
{
Q_OBJECT
public:
explicit CustomScriptsListItem(QWidget *parent = nullptr);
explicit CustomScriptsListItem(const ScriptSettings& settings, QWidget *parent = nullptr);
~CustomScriptsListItem();
void setSettings(const ScriptSettings& settings);
ScriptSettings getSettings() const;
void setPath(const QString& text);
QString path() const;
void setScriptEnabled(bool enabled);
bool scriptEnabled() const;
signals:
void clickedChooseScript();
void clickedEditScript();
void clickedDeleteScript();
void toggledEnable(bool checked);
void pathEdited(const QString& text);
private:
Ui::CustomScriptsListItem *ui;
};
#endif // CUSTOMSCRIPTSLISTITEM_H

63
include/ui/plugineditor.h Normal file
View File

@@ -0,0 +1,63 @@
#ifndef PLUGINEDITOR_H
#define PLUGINEDITOR_H
#include <QMainWindow>
#include <QListWidget>
#include <QAbstractButton>
#include <QMessageBox>
#include "pluginlistitem.h"
namespace Ui {
class PluginEditor;
}
class PluginEditor : public QMainWindow
{
Q_OBJECT
public:
explicit PluginEditor(QWidget *parent = nullptr);
~PluginEditor();
signals:
void reloadScriptEngine();
public slots:
void applyUserShortcuts();
private:
Ui::PluginEditor *ui;
bool hasUnsavedChanges = false;
const QString baseDir;
void displayPlugin(const PluginSettings &settings);
void displayNewPlugin(QString filepath);
QString choosePlugin(QString dir);
void removePlugin(QListWidgetItem * item);
void replacePlugin(QListWidgetItem * item);
void openPlugin(QListWidgetItem * item);
QString getPluginFilepath(QListWidgetItem * item, bool absolutePath = true) const;
void setPluginFilepath(QListWidgetItem * item, QString filepath) const;
bool getPluginEnabled(QListWidgetItem * item) const;
void markEdited();
int prompt(const QString &text, QMessageBox::StandardButton defaultButton);
void save();
void closeEvent(QCloseEvent*);
void initShortcuts();
QObjectList shortcutableObjects() const;
void openManual();
private slots:
void dialogButtonClicked(QAbstractButton *button);
void createNewPlugin();
void loadPlugin();
bool refreshPlugins();
void userRefreshPlugins();
void removeSelectedPlugins();
void openSelectedPlugins();
};
#endif // PLUGINEDITOR_H

View File

@@ -0,0 +1,40 @@
#ifndef PLUGINLISTITEM_H
#define PLUGINLISTITEM_H
#include <QFrame>
#include "pluginsettings.h"
namespace Ui {
class PluginListItem;
}
class PluginListItem : public QFrame
{
Q_OBJECT
public:
explicit PluginListItem(QWidget *parent = nullptr);
explicit PluginListItem(const PluginSettings& settings, QWidget *parent = nullptr);
~PluginListItem();
void setSettings(const PluginSettings& settings);
PluginSettings getSettings() const;
void setPath(const QString& text);
QString path() const;
void setPluginEnabled(bool enabled);
bool pluginEnabled() const;
signals:
void clickedChoosePlugin();
void clickedEditPlugin();
void clickedDeletePlugin();
void toggledEnable(bool checked);
void pathEdited(const QString& text);
private:
Ui::PluginListItem *ui;
};
#endif // PLUGINLISTITEM_H