From 051eb3aaf36821d6825101a22d01f0a6681eeac2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florian=20M=C3=A4rkl?= Date: Fri, 17 May 2019 19:48:59 +0200 Subject: [PATCH] Save Console Wrap in QSettings (#1550) --- src/widgets/ConsoleWidget.cpp | 14 +++++++++++--- src/widgets/ConsoleWidget.h | 1 + 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/src/widgets/ConsoleWidget.cpp b/src/widgets/ConsoleWidget.cpp index 63d8acd6..529846cc 100644 --- a/src/widgets/ConsoleWidget.cpp +++ b/src/widgets/ConsoleWidget.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include "core/Cutter.h" #include "ConsoleWidget.h" @@ -15,6 +16,7 @@ static const int invalidHistoryPos = -1; +static const char *consoleWrapSettingsKey = "console.wrap"; ConsoleWidget::ConsoleWidget(MainWindow *main, QAction *action) : CutterDockWidget(main, action), @@ -40,8 +42,9 @@ ConsoleWidget::ConsoleWidget(MainWindow *main, QAction *action) : actionWrapLines = new QAction(tr("Wrap Lines"), ui->outputTextEdit); actionWrapLines->setCheckable(true); + setWrap(QSettings().value(consoleWrapSettingsKey, true).toBool()); connect(actionWrapLines, &QAction::triggered, this, [this] (bool checked) { - ui->outputTextEdit->setLineWrapMode(checked ? QPlainTextEdit::WidgetWidth: QPlainTextEdit::NoWrap); + setWrap(checked); }); actions.append(actionWrapLines); @@ -55,8 +58,6 @@ ConsoleWidget::ConsoleWidget(MainWindow *main, QAction *action) : connect(ui->inputLineEdit, &QLineEdit::textChanged, this, &ConsoleWidget::updateCompletion); updateCompletion(); - ui->outputTextEdit->setLineWrapMode(QPlainTextEdit::WidgetWidth); - // Set console output context menu ui->outputTextEdit->setContextMenuPolicy(Qt::CustomContextMenu); connect(ui->outputTextEdit, SIGNAL(customContextMenuRequested(const QPoint &)), @@ -160,6 +161,13 @@ void ConsoleWidget::executeCommand(const QString &command) Core()->getAsyncTaskManager()->start(commandTask); } +void ConsoleWidget::setWrap(bool wrap) +{ + QSettings().setValue(consoleWrapSettingsKey, wrap); + actionWrapLines->setChecked(wrap); + ui->outputTextEdit->setLineWrapMode(wrap ? QPlainTextEdit::WidgetWidth: QPlainTextEdit::NoWrap); +} + void ConsoleWidget::on_inputLineEdit_returnPressed() { QString input = ui->inputLineEdit->text(); diff --git a/src/widgets/ConsoleWidget.h b/src/widgets/ConsoleWidget.h index e91584d7..829d0498 100644 --- a/src/widgets/ConsoleWidget.h +++ b/src/widgets/ConsoleWidget.h @@ -62,6 +62,7 @@ private: void invalidateHistoryPosition(); void removeLastLine(); void executeCommand(const QString &command); + void setWrap(bool wrap); QSharedPointer commandTask;