[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