Add option to enable linewrap mode
authorPete Beardmore <pete.beardmore@msn.com>
Wed, 28 Aug 2013 10:42:36 +0000 (11:42 +0100)
committerManuel Nickschas <sputnick@quassel-irc.org>
Tue, 18 Feb 2014 20:30:14 +0000 (21:30 +0100)
Implements #1081.

src/qtui/inputwidget.cpp
src/qtui/inputwidget.h
src/qtui/settingspages/inputwidgetsettingspage.ui
src/qtui/topicwidget.cpp
src/uisupport/multilineedit.cpp
src/uisupport/multilineedit.h

index 5f5f0a0..bbdbc12 100644 (file)
@@ -123,6 +123,9 @@ InputWidget::InputWidget(QWidget *parent)
     s.notify("EnableScrollBars", this, SLOT(setScrollBarsEnabled(QVariant)));
     setScrollBarsEnabled(s.value("EnableScrollBars", true));
 
     s.notify("EnableScrollBars", this, SLOT(setScrollBarsEnabled(QVariant)));
     setScrollBarsEnabled(s.value("EnableScrollBars", true));
 
+    s.notify("EnableLineWrap", this, SLOT(setLineWrapEnabled(QVariant)));
+    setLineWrapEnabled(s.value("EnableLineWrap", false));
+
     s.notify("EnableMultiLine", this, SLOT(setMultiLineEnabled(QVariant)));
     setMultiLineEnabled(s.value("EnableMultiLine", true));
 
     s.notify("EnableMultiLine", this, SLOT(setMultiLineEnabled(QVariant)));
     setMultiLineEnabled(s.value("EnableMultiLine", true));
 
@@ -210,6 +213,12 @@ void InputWidget::setScrollBarsEnabled(const QVariant &v)
 }
 
 
 }
 
 
+void InputWidget::setLineWrapEnabled(const QVariant &v)
+{
+    ui.inputEdit->setLineWrapEnabled(v.toBool());
+}
+
+
 void InputWidget::setMultiLineEnabled(const QVariant &v)
 {
     ui.inputEdit->setMode(v.toBool() ? MultiLineEdit::MultiLine : MultiLineEdit::SingleLine);
 void InputWidget::setMultiLineEnabled(const QVariant &v)
 {
     ui.inputEdit->setMode(v.toBool() ? MultiLineEdit::MultiLine : MultiLineEdit::SingleLine);
index 2730605..f6bdf2e 100644 (file)
@@ -61,6 +61,7 @@ private slots:
     void setShowStyleButtons(const QVariant &);
     void setEnablePerChatHistory(const QVariant &);
     void setMaxLines(const QVariant &);
     void setShowStyleButtons(const QVariant &);
     void setEnablePerChatHistory(const QVariant &);
     void setMaxLines(const QVariant &);
+    void setLineWrapEnabled(const QVariant &);
     void setMultiLineEnabled(const QVariant &);
     void setScrollBarsEnabled(const QVariant &);
     void onTextEntered(const QString &text);
     void setMultiLineEnabled(const QVariant &);
     void setScrollBarsEnabled(const QVariant &);
     void onTextEntered(const QString &text);
index 41b2d05..b7415ec 100644 (file)
      </property>
     </widget>
    </item>
      </property>
     </widget>
    </item>
+   <item>
+    <widget class="QCheckBox" name="enableLineWrapMode">
+     <property name="toolTip">
+      <string>Enables line wrapping for input.</string>
+     </property>
+     <property name="text">
+      <string>Line wrapping</string>
+     </property>
+     <property name="settingsKey" stdset="0">
+      <string notr="true">EnableLineWrap</string>
+     </property>
+     <property name="defaultValue" stdset="0">
+      <bool>false</bool>
+     </property>
+    </widget>
+   </item>
    <item>
     <widget class="QGroupBox" name="groupBox">
      <property name="title">
    <item>
     <widget class="QGroupBox" name="groupBox">
      <property name="title">
index 2df4fac..ed02936 100644 (file)
@@ -32,7 +32,7 @@ TopicWidget::TopicWidget(QWidget *parent)
 {
     ui.setupUi(this);
     ui.topicEditButton->setIcon(SmallIcon("edit-rename"));
 {
     ui.setupUi(this);
     ui.topicEditButton->setIcon(SmallIcon("edit-rename"));
-    ui.topicLineEdit->setWordWrapEnabled(true);
+    ui.topicLineEdit->setLineWrapEnabled(true);
     ui.topicLineEdit->installEventFilter(this);
 
     connect(ui.topicLabel, SIGNAL(clickableActivated(Clickable)), SLOT(clickableActivated(Clickable)));
     ui.topicLineEdit->installEventFilter(this);
 
     connect(ui.topicLabel, SIGNAL(clickableActivated(Clickable)), SLOT(clickableActivated(Clickable)));
index fa9eddf..54558b5 100644 (file)
@@ -53,7 +53,7 @@ MultiLineEdit::MultiLineEdit(QWidget *parent)
 #endif
 
     setMode(SingleLine);
 #endif
 
     setMode(SingleLine);
-    setWordWrapEnabled(false);
+    setLineWrapEnabled(false);
     reset();
 
     connect(this, SIGNAL(textChanged()), this, SLOT(on_textChanged()));
     reset();
 
     connect(this, SIGNAL(textChanged()), this, SLOT(on_textChanged()));
@@ -98,6 +98,13 @@ void MultiLineEdit::setMode(Mode mode)
 }
 
 
 }
 
 
+void MultiLineEdit::setLineWrapEnabled(bool enable)
+{
+    setLineWrapMode(enable ? WidgetWidth : NoWrap);
+    updateSizeHint();
+}
+
+
 void MultiLineEdit::setMinHeight(int lines)
 {
     if (lines == _minHeight)
 void MultiLineEdit::setMinHeight(int lines)
 {
     if (lines == _minHeight)
@@ -207,13 +214,6 @@ void MultiLineEdit::setSpellCheckEnabled(bool enable)
 }
 
 
 }
 
 
-void MultiLineEdit::setWordWrapEnabled(bool enable)
-{
-    setLineWrapMode(enable ? WidgetWidth : NoWrap);
-    updateSizeHint();
-}
-
-
 void MultiLineEdit::setPasteProtectionEnabled(bool enable, QWidget *)
 {
     _pasteProtectionEnabled = enable;
 void MultiLineEdit::setPasteProtectionEnabled(bool enable, QWidget *)
 {
     _pasteProtectionEnabled = enable;
index d02c6cf..899cc07 100644 (file)
@@ -81,9 +81,7 @@ public slots:
     void setScrollBarsEnabled(bool enable = true);
     void setSpellCheckEnabled(bool enable = true);
     void setPasteProtectionEnabled(bool enable = true, QWidget *msgBoxParent = 0);
     void setScrollBarsEnabled(bool enable = true);
     void setSpellCheckEnabled(bool enable = true);
     void setPasteProtectionEnabled(bool enable = true, QWidget *msgBoxParent = 0);
-
-    // Note: Enabling wrap will make isSingleLine() not work correctly, so only use this if minHeight() > 1!
-    void setWordWrapEnabled(bool enable = true);
+    void setLineWrapEnabled(bool enable = false);
 
     inline void setHistory(QStringList history) { _history = history; }
     inline void setTempHistory(QHash<int, QString> tempHistory) { _tempHistory = tempHistory; }
 
     inline void setHistory(QStringList history) { _history = history; }
     inline void setTempHistory(QHash<int, QString> tempHistory) { _tempHistory = tempHistory; }