Files
GoldenCheetah/src/FileIO/FixPyScriptsDialog.h
Joachim Kohlhammer 000a76983d "Automated only"-flagging for DataProcessors
* Options > Data Fields > Processors & Automation (renamed from
  "Processing")
  * Modernized the UI
  * Added UI to set Automation (None, On Import, On Save) for all
    processors
  * Added UI to set Automated execution only for all processors
  * Showing the processors description
  * Showing the processors setting (if available) in a more userfriendly
    way
  * Added option to add / delete / edit custom Python processors
  * Enabled editing of Python processors via double click
  * Added option to hide code processors
* Removed the submenu to manage Python Fixes from the Edit-menu
* Renamed the Edit-menu to "Process"
* Hiding "automated only"-processors from Process-menu and
  Batchprocessing-dialog
* DataProcessors
  * Turned configuration of all core processors into forms
  * Changed the technical name of all core processors to match their
    classname
  * Added legacy technical name to all core processors to support existing
    scripts
  * Moved description from config-class to DataProcessor
  * Implemented a migration path for existing persisted processor
    configurations
* GSettings
  * Added method to remove settings by key
2024-11-26 20:04:33 -03:00

78 lines
1.4 KiB
C++

#ifndef FIXPYSCRIPTSDIALOG_H
#define FIXPYSCRIPTSDIALOG_H
#include <QDialog>
#include <QListWidget>
#include "GoldenCheetah.h"
#include "PythonChart.h"
#include "FixPySettings.h"
class ManageFixPyScriptsWidget : public QGroupBox
{
Q_OBJECT
public:
ManageFixPyScriptsWidget(Context *context, QWidget *parent = nullptr);
private slots:
void newClicked();
void editClicked();
void delClicked();
void scriptSelected();
private:
void reload();
void reload(int selRow);
void reload(const QString &selName);
Context *context;
QListWidget *scripts;
QPushButton *edit, *del;
};
class ManageFixPyScriptsDialog : public QDialog
{
Q_OBJECT
public:
ManageFixPyScriptsDialog(Context *context);
};
class EditFixPyScriptDialog : public QDialog, public PythonHost
{
Q_OBJECT
public:
EditFixPyScriptDialog(Context *, FixPyScript *fix, QWidget *parent);
PythonChart *chart() { return nullptr; }
bool readOnly() { return false; }
QString getName() const;
protected:
void closeEvent(QCloseEvent *event);
private slots:
void saveClicked();
void runClicked();
private:
void setScript(QString string);
bool isModified();
Context *context;
FixPyScript *pyFixScript;
FixPyRunner *pyRunner;
PythonConsole *console;
QLineEdit *scriptName;
QTextEdit *script;
QString text; // dummy if no python
};
#endif // FIXPYSCRIPTSDIALOG_H