diff --git a/src/ui/viewers/applesoftfileviewer.cxx b/src/ui/viewers/applesoftfileviewer.cxx index a147c93..4883282 100644 --- a/src/ui/viewers/applesoftfileviewer.cxx +++ b/src/ui/viewers/applesoftfileviewer.cxx @@ -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) { diff --git a/src/ui/viewers/applesoftfileviewer.h b/src/ui/viewers/applesoftfileviewer.h index eedf4da..50e56c5 100644 --- a/src/ui/viewers/applesoftfileviewer.h +++ b/src/ui/viewers/applesoftfileviewer.h @@ -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();