[kdebase/f15] Missing option to disable link underline in Konsole (kde#174261)

Rex Dieter rdieter at fedoraproject.org
Wed Sep 21 16:29:51 UTC 2011


commit c6f4ebae34c63812eb0c8f8e216b8c1dd04fd645
Author: Rex Dieter <rdieter at fedoraproject.org>
Date:   Wed Sep 21 11:29:34 2011 -0500

    Missing option to disable link underline in Konsole (kde#174261)

 kdebase-konsole_link_underline.patch |  174 ++++++++++++++++++++++++++++++++++
 kdebase.spec                         |   11 ++-
 2 files changed, 184 insertions(+), 1 deletions(-)
---
diff --git a/kdebase-konsole_link_underline.patch b/kdebase-konsole_link_underline.patch
new file mode 100644
index 0000000..5676f3b
--- /dev/null
+++ b/kdebase-konsole_link_underline.patch
@@ -0,0 +1,174 @@
+diff -up kdebase-4.6.5/konsole/src/EditProfileDialog.cpp.konsole_link_underline kdebase-4.6.5/konsole/src/EditProfileDialog.cpp
+--- kdebase-4.6.5/konsole/src/EditProfileDialog.cpp.konsole_link_underline	2011-02-28 06:50:53.000000000 -0600
++++ kdebase-4.6.5/konsole/src/EditProfileDialog.cpp	2011-09-21 11:22:11.546091958 -0500
+@@ -1000,6 +1000,8 @@ void EditProfileDialog::setupAdvancedPag
+                                  SLOT(toggleBlinkingCursor(bool)) },
+                                { _ui->tripleClickMode , Profile::TripleClickMode ,
+                                  SLOT(toggleTripleClickMode(bool)) },
++                               { _ui->underlineLinksButton , Profile::UnderlineLinksEnabled,
++                                 SLOT(toggleUnderlineLinks(bool)) },
+                                { _ui->enableBidiRenderingButton , Profile::BidiRenderingEnabled ,
+                                  SLOT(togglebidiRendering(bool)) },
+                                { 0 , 0 , 0 }
+@@ -1076,6 +1078,10 @@ void EditProfileDialog::toggleBlinkingCu
+ {
+     _tempProfile->setProperty(Profile::BlinkingCursorEnabled,enable);
+ }
++void EditProfileDialog::toggleUnderlineLinks(bool enable)
++{
++    _tempProfile->setProperty(Profile::UnderlineLinksEnabled,enable);
++}
+ void EditProfileDialog::toggleTripleClickMode(bool enable)
+ {
+     _tempProfile->setProperty(Profile::TripleClickMode,enable);
+diff -up kdebase-4.6.5/konsole/src/EditProfileDialog.h.konsole_link_underline kdebase-4.6.5/konsole/src/EditProfileDialog.h
+--- kdebase-4.6.5/konsole/src/EditProfileDialog.h.konsole_link_underline	2011-02-28 06:50:53.000000000 -0600
++++ kdebase-4.6.5/konsole/src/EditProfileDialog.h	2011-09-21 11:22:11.546091958 -0500
+@@ -166,6 +166,7 @@ private slots:
+     void togglebidiRendering(bool);
+     void toggleBlinkingCursor(bool);
+     void toggleTripleClickMode(bool);
++    void toggleUnderlineLinks(bool);
+ 
+     void setCursorShape(int);
+     void autoCursorColor();
+diff -up kdebase-4.6.5/konsole/src/EditProfileDialog.ui.konsole_link_underline kdebase-4.6.5/konsole/src/EditProfileDialog.ui
+--- kdebase-4.6.5/konsole/src/EditProfileDialog.ui.konsole_link_underline	2011-02-28 06:50:53.000000000 -0600
++++ kdebase-4.6.5/konsole/src/EditProfileDialog.ui	2011-09-21 11:22:11.546091958 -0500
+@@ -961,6 +961,16 @@
+             </property>
+            </widget>
+           </item>
++          <item>
++           <widget class="QCheckBox" name="underlineLinksButton">
++            <property name="toolTip">
++             <string>Text recognized as a link or an email address will be underlined when hovered by the mouse pointer.</string>
++            </property>
++            <property name="text">
++             <string>Underline links</string>
++            </property>
++           </widget>
++          </item>
+          </layout>
+         </widget>
+        </item>
+diff -up kdebase-4.6.5/konsole/src/Profile.cpp.konsole_link_underline kdebase-4.6.5/konsole/src/Profile.cpp
+--- kdebase-4.6.5/konsole/src/Profile.cpp.konsole_link_underline	2011-02-28 06:50:53.000000000 -0600
++++ kdebase-4.6.5/konsole/src/Profile.cpp	2011-09-21 11:22:11.547091896 -0500
+@@ -113,6 +113,7 @@ const Profile::PropertyInfo Profile::Def
+     // Interaction
+     , { WordCharacters , "WordCharacters" , INTERACTION_GROUP , QVariant::String }
+     , { TripleClickMode , "TripleClickSelectsFromCursor" , INTERACTION_GROUP , QVariant::Bool }
++    , { UnderlineLinksEnabled , "UnderlineLinksEnabled" , INTERACTION_GROUP , QVariant::Bool }
+ 
+     // Encoding
+     , { DefaultEncoding , "DefaultEncoding" , ENCODING_GROUP , QVariant::String }
+@@ -173,6 +174,7 @@ FallbackProfile::FallbackProfile()
+     setProperty(FlowControlEnabled,true);
+     setProperty(AllowProgramsToResizeWindow,true);
+     setProperty(BlinkingTextEnabled,true);
++    setProperty(UnderlineLinksEnabled,true);
+     
+     setProperty(BlinkingCursorEnabled,false);
+     setProperty(BidiRenderingEnabled,false);
+diff -up kdebase-4.6.5/konsole/src/Profile.h.konsole_link_underline kdebase-4.6.5/konsole/src/Profile.h
+--- kdebase-4.6.5/konsole/src/Profile.h.konsole_link_underline	2011-02-28 06:50:53.000000000 -0600
++++ kdebase-4.6.5/konsole/src/Profile.h	2011-09-21 11:22:11.547091896 -0500
+@@ -178,6 +178,10 @@ public:
+          * selects whole line.
+          */
+         TripleClickMode,
++        /** (bool) If true, text that matches a link or an email address is underlined when
++         * hovered by the mouse pointer.
++         */
++        UnderlineLinksEnabled,
+         /** (String) Default text codec */
+         DefaultEncoding,
+         /** (bool) Whether fonts should be aliased or not */
+diff -up kdebase-4.6.5/konsole/src/TerminalDisplay.cpp.konsole_link_underline kdebase-4.6.5/konsole/src/TerminalDisplay.cpp
+--- kdebase-4.6.5/konsole/src/TerminalDisplay.cpp.konsole_link_underline	2011-02-28 06:51:30.000000000 -0600
++++ kdebase-4.6.5/konsole/src/TerminalDisplay.cpp	2011-09-21 11:22:11.548091835 -0500
+@@ -314,6 +314,7 @@ TerminalDisplay::TerminalDisplay(QWidget
+ ,_allowBlinkingText(true)
+ ,_ctrlDrag(false)
+ ,_tripleClickMode(SelectWholeLine)
++,_underlineLinks(true)
+ ,_isFixedSize(false)
+ ,_possibleTripleClick(false)
+ ,_resizeWidget(0)
+@@ -1287,7 +1288,7 @@ void TerminalDisplay::paintFilters(QPain
+         Filter::HotSpot* spot = iter.next();
+ 
+         QRegion region;
+-        if ( spot->type() == Filter::HotSpot::Link ) {
++        if ( _underlineLinks && spot->type() == Filter::HotSpot::Link ) {
+             QRect r;
+             if (spot->startLine()==spot->endLine()) {
+                 r.setCoords( spot->startColumn()*_fontWidth + 1 + scrollBarWidth, 
+@@ -1351,7 +1352,7 @@ void TerminalDisplay::paintFilters(QPain
+                          endColumn*_fontWidth - 1 + scrollBarWidth,
+                          (line+1)*_fontHeight - 1 ); 
+             // Underline link hotspots 
+-            if ( spot->type() == Filter::HotSpot::Link )
++            if ( _underlineLinks && spot->type() == Filter::HotSpot::Link )
+             {
+                 QFontMetrics metrics(font());
+         
+@@ -1780,7 +1781,7 @@ void TerminalDisplay::mouseMoveEvent(QMo
+   // handle filters
+   // change link hot-spot appearance on mouse-over
+   Filter::HotSpot* spot = _filterChain->hotSpotAt(charLine,charColumn);
+-  if ( spot && spot->type() == Filter::HotSpot::Link)
++  if ( _underlineLinks && spot && spot->type() == Filter::HotSpot::Link)
+   {
+     QRegion previousHotspotArea = _mouseOverHotspotArea;
+     _mouseOverHotspotArea = QRegion();
+diff -up kdebase-4.6.5/konsole/src/TerminalDisplay.h.konsole_link_underline kdebase-4.6.5/konsole/src/TerminalDisplay.h
+--- kdebase-4.6.5/konsole/src/TerminalDisplay.h.konsole_link_underline	2011-02-28 06:50:53.000000000 -0600
++++ kdebase-4.6.5/konsole/src/TerminalDisplay.h	2011-09-21 11:22:11.548091835 -0500
+@@ -177,6 +177,17 @@ public:
+     void setTripleClickMode(TripleClickMode mode) { _tripleClickMode = mode; }
+     /** See setTripleClickSelectionMode() */
+     TripleClickMode tripleClickMode() { return _tripleClickMode; }
++    
++    /**
++     * Specifies whether links and email addresses should be underlined when 
++     * hovered by the mouse. Defaults to true.
++     */
++    void setUnderlineLinks(bool value) { _underlineLinks = value; }
++    /**
++     * Returns true if links and email addresses should be underlined when 
++     * hovered by the mouse.
++     */
++    bool getUnderlineLinks() { return _underlineLinks; }
+ 
+     void setLineSpacing(uint);
+     uint lineSpacing() const;
+@@ -740,6 +751,7 @@ private:
+     bool _allowBlinkingText;  // allow text to blink
+     bool _ctrlDrag;           // require Ctrl key for drag
+     TripleClickMode _tripleClickMode;
++    bool _underlineLinks;     // Underline URL and hosts on mouse hover
+     bool _isFixedSize; //Columns / lines are locked.
+     QTimer* _blinkTimer;  // active when hasBlinker
+     QTimer* _blinkCursorTimer;  // active when hasBlinkingCursor
+@@ -751,7 +763,6 @@ private:
+     bool _possibleTripleClick;  // is set in mouseDoubleClickEvent and deleted
+                                // after QApplication::doubleClickInterval() delay
+ 
+-
+     QLabel* _resizeWidget;
+     QTimer* _resizeTimer;
+ 
+diff -up kdebase-4.6.5/konsole/src/ViewManager.cpp.konsole_link_underline kdebase-4.6.5/konsole/src/ViewManager.cpp
+--- kdebase-4.6.5/konsole/src/ViewManager.cpp.konsole_link_underline	2011-09-21 11:22:11.538092452 -0500
++++ kdebase-4.6.5/konsole/src/ViewManager.cpp	2011-09-21 11:22:11.548091835 -0500
+@@ -861,6 +861,8 @@ void ViewManager::applyProfile(TerminalD
+ 
+     bool tripleClickMode = info->property<bool>(Profile::TripleClickMode);
+     view->setTripleClickMode(tripleClickMode ? TerminalDisplay::SelectForwardsFromCursor : TerminalDisplay::SelectWholeLine);
++    
++    view->setUnderlineLinks(info->property<bool>(Profile::UnderlineLinksEnabled));
+ 
+     bool bidiEnabled = info->property<bool>(Profile::BidiRenderingEnabled);
+     view->setBidiEnabled(bidiEnabled);
diff --git a/kdebase.spec b/kdebase.spec
index 702f29d..5fde981 100644
--- a/kdebase.spec
+++ b/kdebase.spec
@@ -1,8 +1,9 @@
+
 Name:    kdebase
 Summary: KDE Core Applications 
 Epoch:   6
 Version: 4.6.5
-Release: 1%{?dist}
+Release: 2%{?dist}
 
 License: GPLv2
 Group: User Interface/Desktops
@@ -25,6 +26,10 @@ Patch3: kdebase-4.4.0-konqueror-kde#228593.patch
 # Password & User account becomes non responding
 Patch4: kdebase-4.3.4-bz#609039-chfn-parse.patch
 
+## 4.7 backports
+# http://commits.kde.org/konsole/48cdd113712d9e2ebad64426429a9bfdb9b4d14e
+Patch20: kdebase-konsole_link_underline.patch
+
 ## upstream patches
 
 %ifnarch s390 s390x
@@ -107,6 +112,7 @@ Requires: kdelibs4-devel kdepimlibs4-devel
 %patch2 -p2 -b .home-icon
 %patch3 -p2 -b .kde#228593
 %patch4 -p2 -b .bz#631481
+%patch20 -p1 -b .konsole_link_underline
 
 
 %build
@@ -263,6 +269,9 @@ fi
 
 
 %changelog
+* Wed Sep 21 2011 Rex Dieter <rdieter at fedoraproject.org> 4.6.5-2
+- Missing option to disable link underline in Konsole (kde#174261)
+
 * Fri Jul 01 2011 Rex Dieter <rdieter at fedoraproject.org> 4.6.5-1
 - 4.6.5
 


More information about the scm-commits mailing list