mirror of
https://github.com/markdavidlong/AppleSAWS.git
synced 2024-12-27 15:29:29 +00:00
Fixed issue with AppleSoft code needlessly reformatting multiple times
This commit is contained in:
parent
e4c81ee70c
commit
f4c871c9b9
@ -27,6 +27,9 @@ ApplesoftFileViewer::ApplesoftFileViewer(QWidget *parent) :
|
||||
ui->textArea->setUndoRedoEnabled(true);
|
||||
|
||||
toggleWordWrap(settings.value("ASViewer.WordWrap",true).toBool());
|
||||
|
||||
setIndentCode(settings.value("ASViewer.indentCode",false).toBool(), NoReformat);
|
||||
setIntsAsHex(settings.value("ASViewer.intsAsHex",false).toBool(), NoReformat);
|
||||
}
|
||||
|
||||
ApplesoftFileViewer::~ApplesoftFileViewer()
|
||||
@ -34,6 +37,8 @@ ApplesoftFileViewer::~ApplesoftFileViewer()
|
||||
delete ui;
|
||||
}
|
||||
|
||||
|
||||
|
||||
bool ApplesoftFileViewer::makeMenuOptions(QMenu *menu)
|
||||
{
|
||||
QSettings settings;
|
||||
@ -41,7 +46,7 @@ bool ApplesoftFileViewer::makeMenuOptions(QMenu *menu)
|
||||
QAction *action = new QAction("Show &Ints as Hex",menu);
|
||||
action->setCheckable(true);
|
||||
action->setChecked(settings.value("ASViewer.intsAsHex",false).toBool());
|
||||
setIntsAsHex(settings.value("ASViewer.intsAsHex",false).toBool());
|
||||
setIntsAsHex(settings.value("ASViewer.intsAsHex",false).toBool(),NoReformat);
|
||||
connect(action, SIGNAL(toggled(bool)), ui->findText,SLOT(clear()));
|
||||
connect(action, SIGNAL(toggled(bool)),SLOT(setIntsAsHex(bool)));
|
||||
menu->addAction(action);
|
||||
@ -49,7 +54,7 @@ bool ApplesoftFileViewer::makeMenuOptions(QMenu *menu)
|
||||
action = new QAction("&Reindent code",menu);
|
||||
action->setCheckable(true);
|
||||
action->setChecked(settings.value("ASViewer.indentCode",false).toBool());
|
||||
setIndentCode(settings.value("ASViewer.indentCode",false).toBool());
|
||||
setIndentCode(settings.value("ASViewer.indentCode",false).toBool(),NoReformat);
|
||||
connect(action, SIGNAL(toggled(bool)), ui->findText,SLOT(clear()));
|
||||
connect(action, SIGNAL(toggled(bool)),SLOT(setIndentCode(bool)));
|
||||
menu->addAction(action);
|
||||
@ -92,7 +97,7 @@ void ApplesoftFileViewer::toggleWordWrap(bool enabled)
|
||||
settings.setValue("ASViewer.WordWrap",enabled);
|
||||
}
|
||||
|
||||
void ApplesoftFileViewer::setIndentCode(bool enabled)
|
||||
void ApplesoftFileViewer::setIndentCode(bool enabled, ReformatRule reformat)
|
||||
{
|
||||
if (enabled)
|
||||
{
|
||||
@ -104,10 +109,11 @@ void ApplesoftFileViewer::setIndentCode(bool enabled)
|
||||
}
|
||||
QSettings settings;
|
||||
settings.setValue("ASViewer.indentCode",enabled);
|
||||
reformatText();
|
||||
if (reformat == ForceReformat)
|
||||
reformatText();
|
||||
}
|
||||
|
||||
void ApplesoftFileViewer::setIntsAsHex(bool enabled)
|
||||
void ApplesoftFileViewer::setIntsAsHex(bool enabled, ReformatRule reformat)
|
||||
{
|
||||
if (enabled)
|
||||
{
|
||||
@ -119,12 +125,14 @@ void ApplesoftFileViewer::setIntsAsHex(bool enabled)
|
||||
}
|
||||
QSettings settings;
|
||||
settings.setValue("ASViewer.intsAsHex",enabled);
|
||||
reformatText();
|
||||
if (reformat == ForceReformat)
|
||||
reformatText();
|
||||
}
|
||||
|
||||
void ApplesoftFileViewer::reformatText()
|
||||
{
|
||||
ui->textArea->setText(m_formatter->formatText());
|
||||
qDebug() << m_formatter->flowTargets();
|
||||
}
|
||||
|
||||
void ApplesoftFileViewer::setFile(GenericFile *file) {
|
||||
|
@ -18,6 +18,12 @@ class ApplesoftFileViewer : public FileViewerInterface
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
|
||||
typedef enum {
|
||||
ForceReformat,
|
||||
NoReformat
|
||||
} ReformatRule;
|
||||
|
||||
ApplesoftFileViewer(QWidget *parent = 0);
|
||||
~ApplesoftFileViewer();
|
||||
|
||||
@ -28,6 +34,7 @@ public:
|
||||
virtual bool canPrint() const;
|
||||
|
||||
bool canExport() const;
|
||||
|
||||
public slots:
|
||||
void setFile(GenericFile *file);
|
||||
void setFile(ApplesoftFile *m_file);
|
||||
@ -39,8 +46,8 @@ public slots:
|
||||
|
||||
protected slots:
|
||||
void toggleWordWrap(bool enabled);
|
||||
void setIndentCode(bool enabled);
|
||||
void setIntsAsHex(bool enabled);
|
||||
void setIndentCode(bool enabled, ReformatRule reformat = ForceReformat);
|
||||
void setIntsAsHex(bool enabled, ReformatRule reformat = ForceReformat);
|
||||
void launchVarBrowser();
|
||||
void reformatText();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user