Added the capability to search in the output to the Diff dialog.

Thu, 15 Jan 2015 19:29:38 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Thu, 15 Jan 2015 19:29:38 +0100
changeset 4039
661167a99aef
parent 4038
175f13f4eb9d
child 4040
9c1d7c7d3100

Added the capability to search in the output to the Diff dialog.

APIs/Python3/eric6.api file | annotate | diff | comparison | revisions
APIs/Python3/eric6.bas file | annotate | diff | comparison | revisions
Documentation/Help/source.qch file | annotate | diff | comparison | revisions
Documentation/Help/source.qhp file | annotate | diff | comparison | revisions
Documentation/Source/eric6.E5Gui.E5TextEditSearchWidget.html file | annotate | diff | comparison | revisions
Documentation/Source/index-eric6.E5Gui.html file | annotate | diff | comparison | revisions
E5Gui/E5TextEditSearchWidget.py file | annotate | diff | comparison | revisions
E5Gui/E5TextEditSearchWidget.ui file | annotate | diff | comparison | revisions
UI/DiffDialog.py file | annotate | diff | comparison | revisions
UI/DiffDialog.ui file | annotate | diff | comparison | revisions
changelog file | annotate | diff | comparison | revisions
eric6.e4p file | annotate | diff | comparison | revisions
--- a/APIs/Python3/eric6.api	Wed Jan 14 19:47:29 2015 +0100
+++ b/APIs/Python3/eric6.api	Thu Jan 15 19:29:38 2015 +0100
@@ -1508,6 +1508,12 @@
 eric6.E5Gui.E5TableView.E5TableView.keyPressEvent?4(evt)
 eric6.E5Gui.E5TableView.E5TableView.removeAll?4()
 eric6.E5Gui.E5TableView.E5TableView.removeSelected?4()
+eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget.attachTextEdit?4(textedit)
+eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget.keyPressEvent?4(event)
+eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget.on_findNextButton_clicked?4()
+eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget.on_findPrevButton_clicked?4()
+eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget.on_findtextCombo_editTextChanged?4(txt)
+eric6.E5Gui.E5TextEditSearchWidget.E5TextEditSearchWidget?1(parent=None)
 eric6.E5Gui.E5TextSpinBox.E5TextSpinBox.addItem?4(txt, data=None)
 eric6.E5Gui.E5TextSpinBox.E5TextSpinBox.currentIndex?4()
 eric6.E5Gui.E5TextSpinBox.E5TextSpinBox.itemData?4(index)
--- a/APIs/Python3/eric6.bas	Wed Jan 14 19:47:29 2015 +0100
+++ b/APIs/Python3/eric6.bas	Thu Jan 15 19:29:38 2015 +0100
@@ -179,6 +179,7 @@
 E5StringListCompleter QCompleter
 E5TabWidget QTabWidget
 E5TableView QTableView
+E5TextEditSearchWidget QWidget Ui_E5TextEditSearchWidget
 E5TextSpinBox QSpinBox
 E5ToolBarDialog QDialog Ui_E5ToolBarDialog
 E5ToolBarManager QObject
Binary file Documentation/Help/source.qch has changed
--- a/Documentation/Help/source.qhp	Wed Jan 14 19:47:29 2015 +0100
+++ b/Documentation/Help/source.qhp	Thu Jan 15 19:29:38 2015 +0100
@@ -139,6 +139,7 @@
             <section title="eric6.E5Gui.E5SqueezeLabels" ref="eric6.E5Gui.E5SqueezeLabels.html" />
             <section title="eric6.E5Gui.E5TabWidget" ref="eric6.E5Gui.E5TabWidget.html" />
             <section title="eric6.E5Gui.E5TableView" ref="eric6.E5Gui.E5TableView.html" />
+            <section title="eric6.E5Gui.E5TextEditSearchWidget" ref="eric6.E5Gui.E5TextEditSearchWidget.html" />
             <section title="eric6.E5Gui.E5TextSpinBox" ref="eric6.E5Gui.E5TextSpinBox.html" />
             <section title="eric6.E5Gui.E5ToolBarDialog" ref="eric6.E5Gui.E5ToolBarDialog.html" />
             <section title="eric6.E5Gui.E5ToolBarManager" ref="eric6.E5Gui.E5ToolBarManager.html" />
@@ -3939,6 +3940,17 @@
       <keyword name="E5TableView.keyPressEvent" id="E5TableView.keyPressEvent" ref="eric6.E5Gui.E5TableView.html#E5TableView.keyPressEvent" />
       <keyword name="E5TableView.removeAll" id="E5TableView.removeAll" ref="eric6.E5Gui.E5TableView.html#E5TableView.removeAll" />
       <keyword name="E5TableView.removeSelected" id="E5TableView.removeSelected" ref="eric6.E5Gui.E5TableView.html#E5TableView.removeSelected" />
+      <keyword name="E5TextEditSearchWidget" id="E5TextEditSearchWidget" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget" />
+      <keyword name="E5TextEditSearchWidget (Constructor)" id="E5TextEditSearchWidget (Constructor)" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget.__init__" />
+      <keyword name="E5TextEditSearchWidget (Module)" id="E5TextEditSearchWidget (Module)" ref="eric6.E5Gui.E5TextEditSearchWidget.html" />
+      <keyword name="E5TextEditSearchWidget.__find" id="E5TextEditSearchWidget.__find" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget.__find" />
+      <keyword name="E5TextEditSearchWidget.__findByReturnPressed" id="E5TextEditSearchWidget.__findByReturnPressed" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget.__findByReturnPressed" />
+      <keyword name="E5TextEditSearchWidget.__setSearchButtons" id="E5TextEditSearchWidget.__setSearchButtons" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget.__setSearchButtons" />
+      <keyword name="E5TextEditSearchWidget.attachTextEdit" id="E5TextEditSearchWidget.attachTextEdit" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget.attachTextEdit" />
+      <keyword name="E5TextEditSearchWidget.keyPressEvent" id="E5TextEditSearchWidget.keyPressEvent" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget.keyPressEvent" />
+      <keyword name="E5TextEditSearchWidget.on_findNextButton_clicked" id="E5TextEditSearchWidget.on_findNextButton_clicked" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget.on_findNextButton_clicked" />
+      <keyword name="E5TextEditSearchWidget.on_findPrevButton_clicked" id="E5TextEditSearchWidget.on_findPrevButton_clicked" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget.on_findPrevButton_clicked" />
+      <keyword name="E5TextEditSearchWidget.on_findtextCombo_editTextChanged" id="E5TextEditSearchWidget.on_findtextCombo_editTextChanged" ref="eric6.E5Gui.E5TextEditSearchWidget.html#E5TextEditSearchWidget.on_findtextCombo_editTextChanged" />
       <keyword name="E5TextSpinBox" id="E5TextSpinBox" ref="eric6.E5Gui.E5TextSpinBox.html#E5TextSpinBox" />
       <keyword name="E5TextSpinBox (Constructor)" id="E5TextSpinBox (Constructor)" ref="eric6.E5Gui.E5TextSpinBox.html#E5TextSpinBox.__init__" />
       <keyword name="E5TextSpinBox (Module)" id="E5TextSpinBox (Module)" ref="eric6.E5Gui.E5TextSpinBox.html" />
@@ -13666,6 +13678,7 @@
       <file>eric6.E5Gui.E5SqueezeLabels.html</file>
       <file>eric6.E5Gui.E5TabWidget.html</file>
       <file>eric6.E5Gui.E5TableView.html</file>
+      <file>eric6.E5Gui.E5TextEditSearchWidget.html</file>
       <file>eric6.E5Gui.E5TextSpinBox.html</file>
       <file>eric6.E5Gui.E5ToolBarDialog.html</file>
       <file>eric6.E5Gui.E5ToolBarManager.html</file>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Documentation/Source/eric6.E5Gui.E5TextEditSearchWidget.html	Thu Jan 15 19:29:38 2015 +0100
@@ -0,0 +1,171 @@
+<!DOCTYPE html>
+<html><head>
+<title>eric6.E5Gui.E5TextEditSearchWidget</title>
+<meta charset="UTF-8">
+<style>
+body {
+    background: #EDECE6;
+    margin: 0em 1em 10em 1em;
+    color: black;
+}
+
+h1 { color: white; background: #85774A; }
+h2 { color: white; background: #85774A; }
+h3 { color: white; background: #9D936E; }
+h4 { color: white; background: #9D936E; }
+    
+a { color: #BA6D36; }
+
+</style>
+</head>
+<body><a NAME="top" ID="top"></a>
+<h1>eric6.E5Gui.E5TextEditSearchWidget</h1>
+<p>
+Module implementing a horizontal search widget for QTextEdit.
+</p>
+<h3>Global Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Classes</h3>
+<table>
+<tr>
+<td><a href="#E5TextEditSearchWidget">E5TextEditSearchWidget</a></td>
+<td>Class implementing a horizontal search widget for QTextEdit.</td>
+</tr>
+</table>
+<h3>Functions</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<hr /><hr />
+<a NAME="E5TextEditSearchWidget" ID="E5TextEditSearchWidget"></a>
+<h2>E5TextEditSearchWidget</h2>
+<p>
+    Class implementing a horizontal search widget for QTextEdit.
+</p>
+<h3>Derived from</h3>
+QWidget, Ui_E5TextEditSearchWidget
+<h3>Class Attributes</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Class Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<h3>Methods</h3>
+<table>
+<tr>
+<td><a href="#E5TextEditSearchWidget.__init__">E5TextEditSearchWidget</a></td>
+<td>Constructor</td>
+</tr><tr>
+<td><a href="#E5TextEditSearchWidget.__find">__find</a></td>
+<td>Private method to search the associated text edit.</td>
+</tr><tr>
+<td><a href="#E5TextEditSearchWidget.__findByReturnPressed">__findByReturnPressed</a></td>
+<td>Private slot to handle the returnPressed signal of the findtext combobox.</td>
+</tr><tr>
+<td><a href="#E5TextEditSearchWidget.__setSearchButtons">__setSearchButtons</a></td>
+<td>Private slot to set the state of the search buttons.</td>
+</tr><tr>
+<td><a href="#E5TextEditSearchWidget.attachTextEdit">attachTextEdit</a></td>
+<td>Public method to attach a QTextEdit widget.</td>
+</tr><tr>
+<td><a href="#E5TextEditSearchWidget.keyPressEvent">keyPressEvent</a></td>
+<td>Protected slot to handle key press events.</td>
+</tr><tr>
+<td><a href="#E5TextEditSearchWidget.on_findNextButton_clicked">on_findNextButton_clicked</a></td>
+<td>Private slot to find the next occurrence.</td>
+</tr><tr>
+<td><a href="#E5TextEditSearchWidget.on_findPrevButton_clicked">on_findPrevButton_clicked</a></td>
+<td>Private slot to find the previous occurrence.</td>
+</tr><tr>
+<td><a href="#E5TextEditSearchWidget.on_findtextCombo_editTextChanged">on_findtextCombo_editTextChanged</a></td>
+<td>Private slot to enable/disable the find buttons.</td>
+</tr>
+</table>
+<h3>Static Methods</h3>
+<table>
+<tr><td>None</td></tr>
+</table>
+<a NAME="E5TextEditSearchWidget.__init__" ID="E5TextEditSearchWidget.__init__"></a>
+<h4>E5TextEditSearchWidget (Constructor)</h4>
+<b>E5TextEditSearchWidget</b>(<i>parent=None</i>)
+<p>
+        Constructor
+</p><dl>
+<dt><i>parent</i></dt>
+<dd>
+reference to the parent widget (QWidget)
+</dd>
+</dl><a NAME="E5TextEditSearchWidget.__find" ID="E5TextEditSearchWidget.__find"></a>
+<h4>E5TextEditSearchWidget.__find</h4>
+<b>__find</b>(<i>backwards</i>)
+<p>
+        Private method to search the associated text edit.
+</p><dl>
+<dt><i>backwards</i></dt>
+<dd>
+flag indicating a backwards search (boolean)
+</dd>
+</dl><a NAME="E5TextEditSearchWidget.__findByReturnPressed" ID="E5TextEditSearchWidget.__findByReturnPressed"></a>
+<h4>E5TextEditSearchWidget.__findByReturnPressed</h4>
+<b>__findByReturnPressed</b>(<i></i>)
+<p>
+        Private slot to handle the returnPressed signal of the findtext
+        combobox.
+</p><a NAME="E5TextEditSearchWidget.__setSearchButtons" ID="E5TextEditSearchWidget.__setSearchButtons"></a>
+<h4>E5TextEditSearchWidget.__setSearchButtons</h4>
+<b>__setSearchButtons</b>(<i>enabled</i>)
+<p>
+        Private slot to set the state of the search buttons.
+</p><dl>
+<dt><i>enabled</i></dt>
+<dd>
+flag indicating the state (boolean)
+</dd>
+</dl><a NAME="E5TextEditSearchWidget.attachTextEdit" ID="E5TextEditSearchWidget.attachTextEdit"></a>
+<h4>E5TextEditSearchWidget.attachTextEdit</h4>
+<b>attachTextEdit</b>(<i>textedit</i>)
+<p>
+        Public method to attach a QTextEdit widget.
+</p><dl>
+<dt><i>textedit</i></dt>
+<dd>
+reference to the QTextEdit to be attached (QTextEdit)
+</dd>
+</dl><a NAME="E5TextEditSearchWidget.keyPressEvent" ID="E5TextEditSearchWidget.keyPressEvent"></a>
+<h4>E5TextEditSearchWidget.keyPressEvent</h4>
+<b>keyPressEvent</b>(<i>event</i>)
+<p>
+        Protected slot to handle key press events.
+</p><dl>
+<dt><i>event</i></dt>
+<dd>
+reference to the key press event (QKeyEvent)
+</dd>
+</dl><a NAME="E5TextEditSearchWidget.on_findNextButton_clicked" ID="E5TextEditSearchWidget.on_findNextButton_clicked"></a>
+<h4>E5TextEditSearchWidget.on_findNextButton_clicked</h4>
+<b>on_findNextButton_clicked</b>(<i></i>)
+<p>
+        Private slot to find the next occurrence.
+</p><a NAME="E5TextEditSearchWidget.on_findPrevButton_clicked" ID="E5TextEditSearchWidget.on_findPrevButton_clicked"></a>
+<h4>E5TextEditSearchWidget.on_findPrevButton_clicked</h4>
+<b>on_findPrevButton_clicked</b>(<i></i>)
+<p>
+        Private slot to find the previous occurrence.
+</p><a NAME="E5TextEditSearchWidget.on_findtextCombo_editTextChanged" ID="E5TextEditSearchWidget.on_findtextCombo_editTextChanged"></a>
+<h4>E5TextEditSearchWidget.on_findtextCombo_editTextChanged</h4>
+<b>on_findtextCombo_editTextChanged</b>(<i>txt</i>)
+<p>
+        Private slot to enable/disable the find buttons.
+</p><dl>
+<dt><i>txt</i></dt>
+<dd>
+text of the combobox (string)
+</dd>
+</dl>
+<div align="right"><a href="#top">Up</a></div>
+<hr />
+</body></html>
\ No newline at end of file
--- a/Documentation/Source/index-eric6.E5Gui.html	Wed Jan 14 19:47:29 2015 +0100
+++ b/Documentation/Source/index-eric6.E5Gui.html	Thu Jan 15 19:29:38 2015 +0100
@@ -105,6 +105,9 @@
 <td><a href="eric6.E5Gui.E5TableView.html">E5TableView</a></td>
 <td>Module implementing specialized table views.</td>
 </tr><tr>
+<td><a href="eric6.E5Gui.E5TextEditSearchWidget.html">E5TextEditSearchWidget</a></td>
+<td>Module implementing a horizontal search widget for QTextEdit.</td>
+</tr><tr>
 <td><a href="eric6.E5Gui.E5TextSpinBox.html">E5TextSpinBox</a></td>
 <td>Module implementing a spinbox with textual entries.</td>
 </tr><tr>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/E5Gui/E5TextEditSearchWidget.py	Thu Jan 15 19:29:38 2015 +0100
@@ -0,0 +1,141 @@
+# -*- coding: utf-8 -*-
+
+# Copyright (c) 2012 - 2015 Detlev Offenbach <detlev@die-offenbachs.de>
+#
+
+"""
+Module implementing a horizontal search widget for QTextEdit.
+"""
+
+from __future__ import unicode_literals
+
+from PyQt5.QtCore import pyqtSlot, Qt
+from PyQt5.QtGui import QTextDocument
+from PyQt5.QtWidgets import QWidget
+
+from E5Gui import E5MessageBox
+
+from .Ui_E5TextEditSearchWidget import Ui_E5TextEditSearchWidget
+
+import UI.PixmapCache
+
+
+class E5TextEditSearchWidget(QWidget, Ui_E5TextEditSearchWidget):
+    """
+    Class implementing a horizontal search widget for QTextEdit.
+    """
+    def __init__(self, parent=None):
+        """
+        Constructor
+        
+        @param parent reference to the parent widget (QWidget)
+        """
+        super(E5TextEditSearchWidget, self).__init__(parent)
+        self.setupUi(self)
+        
+        self.__textedit = None
+        self.__findBackwards = True
+        
+        self.findPrevButton.setIcon(UI.PixmapCache.getIcon("1leftarrow.png"))
+        self.findNextButton.setIcon(UI.PixmapCache.getIcon("1rightarrow.png"))
+        
+        self.findHistory = []
+        
+        self.findtextCombo.setCompleter(None)
+        self.findtextCombo.lineEdit().returnPressed.connect(
+            self.__findByReturnPressed)
+        
+        self.__setSearchButtons(False)
+    
+    def attachTextEdit(self, textedit):
+        """
+        Public method to attach a QTextEdit widget.
+        
+        @param textedit reference to the QTextEdit to be attached (QTextEdit)
+        """
+        self.__textedit = textedit
+    
+    def keyPressEvent(self, event):
+        """
+        Protected slot to handle key press events.
+        
+        @param event reference to the key press event (QKeyEvent)
+        """
+        if self.__textedit and event.key() == Qt.Key_Escape:
+            self.__textedit.setFocus(Qt.ActiveWindowFocusReason)
+            event.accept()
+    
+    @pyqtSlot(str)
+    def on_findtextCombo_editTextChanged(self, txt):
+        """
+        Private slot to enable/disable the find buttons.
+        
+        @param txt text of the combobox (string)
+        """
+        self.__setSearchButtons(txt != "")
+    
+    def __setSearchButtons(self, enabled):
+        """
+        Private slot to set the state of the search buttons.
+        
+        @param enabled flag indicating the state (boolean)
+        """
+        self.findPrevButton.setEnabled(enabled)
+        self.findNextButton.setEnabled(enabled)
+    
+    def __findByReturnPressed(self):
+        """
+        Private slot to handle the returnPressed signal of the findtext
+        combobox.
+        """
+        self.__find(self.__findBackwards)
+    
+    @pyqtSlot()
+    def on_findPrevButton_clicked(self):
+        """
+        Private slot to find the previous occurrence.
+        """
+        self.__find(True)
+    
+    @pyqtSlot()
+    def on_findNextButton_clicked(self):
+        """
+        Private slot to find the next occurrence.
+        """
+        self.__find(False)
+    
+    def __find(self, backwards):
+        """
+        Private method to search the associated text edit.
+        
+        @param backwards flag indicating a backwards search (boolean)
+        """
+        if not self.__textedit:
+            return
+        
+        txt = self.findtextCombo.currentText()
+        self.__findBackwards = backwards
+        
+        # This moves any previous occurrence of this statement to the head
+        # of the list and updates the combobox
+        if txt in self.findHistory:
+            self.findHistory.remove(txt)
+        self.findHistory.insert(0, txt)
+        self.findtextCombo.clear()
+        self.findtextCombo.addItems(self.findHistory)
+        
+        if backwards:
+            flags = QTextDocument.FindFlags(QTextDocument.FindBackward)
+        else:
+            flags = QTextDocument.FindFlags()
+        if self.caseCheckBox.isChecked():
+            flags |= QTextDocument.FindCaseSensitively
+        if self.wordCheckBox.isChecked():
+            flags |= QTextDocument.FindWholeWords
+        ok = self.__textedit.find(txt, flags)
+        
+        if not ok:
+            E5MessageBox.information(
+                self,
+                self.tr("Find"),
+                self.tr("""'{0}' was not found.""").format(txt))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/E5Gui/E5TextEditSearchWidget.ui	Thu Jan 15 19:29:38 2015 +0100
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>E5TextEditSearchWidget</class>
+ <widget class="QWidget" name="E5TextEditSearchWidget">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>475</width>
+    <height>22</height>
+   </rect>
+  </property>
+  <layout class="QHBoxLayout" name="horizontalLayout">
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
+    <number>0</number>
+   </property>
+   <item>
+    <widget class="QLabel" name="label">
+     <property name="text">
+      <string>Find:</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="E5ClearableComboBox" name="findtextCombo">
+     <property name="sizePolicy">
+      <sizepolicy hsizetype="Expanding" vsizetype="Fixed">
+       <horstretch>0</horstretch>
+       <verstretch>0</verstretch>
+      </sizepolicy>
+     </property>
+     <property name="minimumSize">
+      <size>
+       <width>200</width>
+       <height>0</height>
+      </size>
+     </property>
+     <property name="editable">
+      <bool>true</bool>
+     </property>
+     <property name="insertPolicy">
+      <enum>QComboBox::InsertAtTop</enum>
+     </property>
+     <property name="duplicatesEnabled">
+      <bool>false</bool>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QCheckBox" name="caseCheckBox">
+     <property name="text">
+      <string>Match case</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QCheckBox" name="wordCheckBox">
+     <property name="text">
+      <string>Whole word</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QToolButton" name="findPrevButton">
+     <property name="toolTip">
+      <string>Press to find the previous occurrence</string>
+     </property>
+    </widget>
+   </item>
+   <item>
+    <widget class="QToolButton" name="findNextButton">
+     <property name="toolTip">
+      <string>Press to find the next occurrence</string>
+     </property>
+    </widget>
+   </item>
+  </layout>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>E5ClearableComboBox</class>
+   <extends>QComboBox</extends>
+   <header>E5Gui/E5ComboBox.h</header>
+  </customwidget>
+ </customwidgets>
+ <tabstops>
+  <tabstop>findtextCombo</tabstop>
+  <tabstop>caseCheckBox</tabstop>
+  <tabstop>wordCheckBox</tabstop>
+  <tabstop>findPrevButton</tabstop>
+  <tabstop>findNextButton</tabstop>
+ </tabstops>
+ <resources/>
+ <connections/>
+</ui>
--- a/UI/DiffDialog.py	Wed Jan 14 19:47:29 2015 +0100
+++ b/UI/DiffDialog.py	Thu Jan 15 19:29:38 2015 +0100
@@ -232,6 +232,8 @@
         self.saveButton.setEnabled(False)
         self.diffButton.setDefault(True)
         
+        self.searchWidget.attachTextEdit(self.contents)
+        
         self.filename1 = ''
         self.filename2 = ''
         
--- a/UI/DiffDialog.ui	Wed Jan 14 19:47:29 2015 +0100
+++ b/UI/DiffDialog.ui	Thu Jan 15 19:29:38 2015 +0100
@@ -7,7 +7,7 @@
     <x>0</x>
     <y>0</y>
     <width>750</width>
-    <height>600</height>
+    <height>800</height>
    </rect>
   </property>
   <property name="windowTitle">
@@ -125,6 +125,9 @@
     </widget>
    </item>
    <item>
+    <widget class="E5TextEditSearchWidget" name="searchWidget" native="true"/>
+   </item>
+   <item>
     <widget class="QTextEdit" name="contents">
      <property name="lineWrapMode">
       <enum>QTextEdit::NoWrap</enum>
@@ -152,6 +155,14 @@
    </item>
   </layout>
  </widget>
+ <customwidgets>
+  <customwidget>
+   <class>E5TextEditSearchWidget</class>
+   <extends>QWidget</extends>
+   <header>E5Gui/E5TextEditSearchWidget.h</header>
+   <container>1</container>
+  </customwidget>
+ </customwidgets>
  <tabstops>
   <tabstop>file1Edit</tabstop>
   <tabstop>file1Button</tabstop>
--- a/changelog	Wed Jan 14 19:47:29 2015 +0100
+++ b/changelog	Thu Jan 15 19:29:38 2015 +0100
@@ -7,6 +7,9 @@
 - Task Viewer
   -- added capability to add sub-tasks (i.e. a task hierarchy) for
      manually generated tasks
+- Tools
+  -- Diff Dialog
+     --- added capability to search in the output
 
 Version 6.0.0:
 - bug fixes
--- a/eric6.e4p	Wed Jan 14 19:47:29 2015 +0100
+++ b/eric6.e4p	Thu Jan 15 19:29:38 2015 +0100
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE Project SYSTEM "Project-5.1.dtd">
 <!-- eric project file for project eric6 -->
-<!-- Copyright (C) 2014 Detlev Offenbach, detlev@die-offenbachs.de -->
+<!-- Copyright (C) 2015 Detlev Offenbach, detlev@die-offenbachs.de -->
 <Project version="5.1">
   <Language>en_US</Language>
   <ProjectWordList>Dictionaries/words.dic</ProjectWordList>
@@ -1150,6 +1150,7 @@
     <Source>DebugClients/Python/eric6dbgstub.py</Source>
     <Source>DebugClients/Python3/eric6dbgstub.py</Source>
     <Source>Toolbox/PyQt4ImportHook.py</Source>
+    <Source>E5Gui/E5TextEditSearchWidget.py</Source>
   </Sources>
   <Forms>
     <Form>PyUnit/UnittestDialog.ui</Form>
@@ -1479,6 +1480,7 @@
     <Form>Plugins/VcsPlugins/vcsMercurial/HgBookmarksInOutDialog.ui</Form>
     <Form>Plugins/VcsPlugins/vcsMercurial/HgBookmarksListDialog.ui</Form>
     <Form>Plugins/VcsPlugins/vcsMercurial/HgConflictsListDialog.ui</Form>
+    <Form>E5Gui/E5TextEditSearchWidget.ui</Form>
   </Forms>
   <Translations>
     <Translation>i18n/eric6_cs.qm</Translation>

eric ide

mercurial