From 9636dd4ca1ea3dc4d3ad4768c8a601fadd76eb3a Mon Sep 17 00:00:00 2001 From: Ernie Pasveer Date: Mon, 2 Sep 2024 14:48:10 -0500 Subject: [PATCH] Save 'wrap text' to config file. --- src/SeerConsoleWidget.cpp | 44 ++++++++++++++++++++++++++++----------- src/SeerConsoleWidget.h | 8 +++++-- 2 files changed, 38 insertions(+), 14 deletions(-) diff --git a/src/SeerConsoleWidget.cpp b/src/SeerConsoleWidget.cpp index 809f696..61be214 100644 --- a/src/SeerConsoleWidget.cpp +++ b/src/SeerConsoleWidget.cpp @@ -27,6 +27,7 @@ SeerConsoleWidget::SeerConsoleWidget (QWidget* parent) : QWidget(parent) { _ptsListener = 0; _mode = "attached"; _enableStdout = false; + _enableWrap = false; // Set up UI. setupUi(this); @@ -190,9 +191,13 @@ void SeerConsoleWidget::handleWrapTextCheckBox () { if (wrapTextCheckBox->checkState() == Qt::Unchecked) { textEdit->setLineWrapMode(QPlainTextEdit::NoWrap); // No wrap + _enableWrap = false; }else{ textEdit->setLineWrapMode(QPlainTextEdit::WidgetWidth); // Wrap at end of widget + _enableWrap = true; } + + writeSettings(); } void SeerConsoleWidget::handleStdoutCheckBox () { @@ -374,7 +379,7 @@ int SeerConsoleWidget::scrollLines () const { return textEdit->maximumBlockCount(); } -void SeerConsoleWidget::setMode (const QString& mode, bool saveSettings) { +void SeerConsoleWidget::setMode (const QString& mode) { //qDebug() << mode; @@ -403,9 +408,7 @@ void SeerConsoleWidget::setMode (const QString& mode, bool saveSettings) { setWindowState(Qt::WindowNoState); } - if (saveSettings) { - writeSettings(); - } + writeModeSettings(); emit modeChanged(_mode); } @@ -419,28 +422,44 @@ QString SeerConsoleWidget::mode () const { return _mode; } -void SeerConsoleWidget::enableStdout (bool flag, bool saveSettings) { +void SeerConsoleWidget::enableStdout (bool flag) { _enableStdout = flag; stdoutCheckBox->setChecked(_enableStdout); - - if (saveSettings) { - writeSettings(); - } } bool SeerConsoleWidget::isStdoutEnabled () const { return _enableStdout; } +void SeerConsoleWidget::enableWrap (bool flag) { + + _enableWrap = flag; + + wrapTextCheckBox->setChecked(_enableWrap); +} + +bool SeerConsoleWidget::isWrapEnabled () const { + return _enableWrap; +} + void SeerConsoleWidget::writeSettings() { QSettings settings; settings.beginGroup("consolewindow"); { - settings.setValue("mode", mode()); settings.setValue("stdout", isStdoutEnabled()); + settings.setValue("wrap", isWrapEnabled()); + }settings.endGroup(); +} + +void SeerConsoleWidget::writeModeSettings() { + + QSettings settings; + + settings.beginGroup("consolewindow"); { + settings.setValue("mode", mode()); }settings.endGroup(); } @@ -468,9 +487,10 @@ void SeerConsoleWidget::readSettings() { settings.beginGroup("consolewindow"); { - setMode(settings.value("mode", "attached").toString(), false); + setMode(settings.value("mode", "attached").toString()); resize(settings.value("size", QSize(800, 600)).toSize()); - enableStdout(settings.value("stdout", false).toBool(), false); + enableStdout(settings.value("stdout", false).toBool()); + enableWrap(settings.value("wrap", false).toBool()); QFont f; if (settings.contains("font")) { diff --git a/src/SeerConsoleWidget.h b/src/SeerConsoleWidget.h index 5f33ae1..8a1df40 100644 --- a/src/SeerConsoleWidget.h +++ b/src/SeerConsoleWidget.h @@ -22,10 +22,12 @@ class SeerConsoleWidget : public QWidget, protected Ui::SeerConsoleWidgetForm { void setScrollLines (int count); int scrollLines () const; - void setMode (const QString& mode, bool saveSettings=true); + void setMode (const QString& mode); QString mode () const; - void enableStdout (bool flag, bool saveSettings=true); + void enableStdout (bool flag); bool isStdoutEnabled () const; + void enableWrap (bool flag); + bool isWrapEnabled () const; public slots: void handleChangeWindowTitle (QString title); @@ -48,6 +50,7 @@ class SeerConsoleWidget : public QWidget, protected Ui::SeerConsoleWidgetForm { void createConsole (); void deleteConsole (); void writeSettings (); + void writeModeSettings (); void writeFontSettings (); void writeSizeSettings (); void readSettings (); @@ -59,5 +62,6 @@ class SeerConsoleWidget : public QWidget, protected Ui::SeerConsoleWidgetForm { int _ptsFD; QSocketNotifier* _ptsListener; bool _enableStdout; + bool _enableWrap; };