Changeset 992d5ed7faf1…
Parent 0383783f5e75…
by
Changes to 4 files · Browse files at 992d5ed7faf1 Showing diff from parent 0383783f5e75 Diff from another changeset...
|
@@ -32,14 +32,13 @@ """
def __init__(self, parent=None):
QtGui.QWidget.__init__(self, parent)
+ self._message = None
vb = QtGui.QVBoxLayout()
vb.setMargin(0)
self._header = w = QtGui.QLabel()
vb.addWidget(w)
- self._message = w = QtGui.QTextBrowser()
- vb.addWidget(w)
self.setLayout(vb)
@@ -49,6 +48,15 @@ SIGNAL('linkActivated(const QString&)'),
self.anchorClicked)
+ def sizeHint(self):
+ return self.minimumSizeHint()
+
+ def minimumSizeHint(self):
+ return self._header.minimumSizeHint()
+
+ def setMessageWidget(self, w):
+ self._message = w
+
def anchorClicked(self, qurl):
"""
Callback called when a link is clicked in the text browser
@@ -82,7 +90,7 @@ self.mqseries = []
self.mqunapplied = []
self.mqpatch = None
-
+
self.refreshDisplay()
def selectNone(self):
@@ -188,7 +196,52 @@ buf += "</table>\n"
self._header.setText(buf)
+ self._message.displayRevision(ctx)
+
+
+class RevMessage(QtGui.QWidget):
+
+ def __init__(self, parent=None):
+ QtGui.QWidget.__init__(self, parent)
+
+ vb = QtGui.QVBoxLayout()
+ vb.setMargin(0)
+
+ self._message = w = QtGui.QTextBrowser()
+ vb.addWidget(w)
+
+ self.setLayout(vb)
+
+ def displayRevision(self, ctx):
+ self.ctx = ctx
desc = xml_escape(unicode(ctx.description(), 'utf-8', 'replace'))
desc = desc.replace('\n', '<br/>\n')
buf = '<div class="diff_desc"><p>%s</p></div>' % desc
self._message.setHtml(buf)
+
+ def selectNone(self):
+ cursor = self.textCursor()
+ cursor.clearSelection()
+ cursor.setPosition(0)
+ self.setTextCursor(cursor)
+ self.setExtraSelections([])
+
+ def searchString(self, text):
+ self.selectNone()
+ if text in unicode(self.toPlainText()):
+ clist = []
+ while self.find(text):
+ eselect = self.ExtraSelection()
+ eselect.cursor = self.textCursor()
+ eselect.format.setBackground(QtGui.QColor('#ffffbb'))
+ clist.append(eselect)
+ self.selectNone()
+ self.setExtraSelections(clist)
+ def finditer(self, text):
+ if text:
+ while True:
+ if self.find(text):
+ yield self.ctx.rev(), None
+ else:
+ break
+ return finditer(self, text)
|
@@ -74,6 +74,8 @@ connect(self.tableView_revisions, SIGNAL('showMessage'),
self.statusBar().showMessage)
+ self.textview_header.setMessageWidget(self.message)
+
# setup tables and views
self.setupHeaderTextview()
connect(self.textview_status, SIGNAL('fileDisplayed'),
|
|
@@ -6,8 +6,8 @@ <rect>
<x>0</x>
<y>0</y>
- <width>730</width>
- <height>646</height>
+ <width>698</width>
+ <height>642</height>
</rect>
</property>
<property name="windowTitle">
@@ -44,36 +44,115 @@ <property name="frameShadow">
<enum>QFrame::Plain</enum>
</property>
- <layout class="QVBoxLayout" name="verticalLayout">
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="spacing">
+ <number>0</number>
+ </property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QSplitter" name="splitter_2">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<widget class="HgFileListView" name="tableView_filelist"/>
- <widget class="QSplitter" name="splitter">
- <property name="orientation">
- <enum>Qt::Vertical</enum>
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
</property>
- <widget class="RevDisplay" name="textview_header">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
- <horstretch>0</horstretch>
- <verstretch>1</verstretch>
- </sizepolicy>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>0</number>
</property>
- </widget>
- <widget class="HgFileView" name="textview_status" native="true">
- <property name="sizePolicy">
- <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
- <horstretch>0</horstretch>
- <verstretch>2</verstretch>
- </sizepolicy>
+ <property name="sizeConstraint">
+ <enum>QLayout::SetDefaultConstraint</enum>
</property>
- </widget>
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="RevDisplay" name="textview_header" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSplitter" name="splitter">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>50</width>
+ <height>50</height>
+ </size>
+ </property>
+ <property name="frameShape">
+ <enum>QFrame::NoFrame</enum>
+ </property>
+ <property name="lineWidth">
+ <number>0</number>
+ </property>
+ <property name="midLineWidth">
+ <number>0</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="opaqueResize">
+ <bool>true</bool>
+ </property>
+ <widget class="RevMessage" name="message" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ </widget>
+ <widget class="HgFileView" name="textview_status" native="true">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>0</height>
+ </size>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ </layout>
</widget>
</widget>
</item>
@@ -88,8 +167,8 @@ <rect>
<x>0</x>
<y>0</y>
- <width>730</width>
- <height>26</height>
+ <width>698</width>
+ <height>19</height>
</rect>
</property>
<widget class="QMenu" name="menuFile">
@@ -247,6 +326,12 @@ <header>fileview.h</header>
<container>1</container>
</customwidget>
+ <customwidget>
+ <class>RevMessage</class>
+ <extends>QWidget</extends>
+ <header>changeset.h</header>
+ <container>1</container>
+ </customwidget>
</customwidgets>
<resources>
<include location="workbench.qrc"/>
|
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file 'C:\Users\adi\hgrepos\thg-qt\tortoisehg\hgqt\workbench.ui'
#
-# Created: Mon May 03 14:42:54 2010
+# Created: Tue May 04 10:56:11 2010
# by: PyQt4 UI code generator 4.7.3
#
# WARNING! All changes made in this file will be lost!
@@ -12,7 +12,7 @@class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
- MainWindow.resize(730, 646)
+ MainWindow.resize(698, 642)
self.centralwidget = QtGui.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.verticalLayout_3 = QtGui.QVBoxLayout(self.centralwidget)
@@ -34,36 +34,72 @@ self.frame_maincontent.setFrameShape(QtGui.QFrame.NoFrame)
self.frame_maincontent.setFrameShadow(QtGui.QFrame.Plain)
self.frame_maincontent.setObjectName("frame_maincontent")
- self.verticalLayout = QtGui.QVBoxLayout(self.frame_maincontent)
- self.verticalLayout.setMargin(0)
- self.verticalLayout.setObjectName("verticalLayout")
+ self.verticalLayout_2 = QtGui.QVBoxLayout(self.frame_maincontent)
+ self.verticalLayout_2.setSpacing(0)
+ self.verticalLayout_2.setMargin(0)
+ self.verticalLayout_2.setObjectName("verticalLayout_2")
self.splitter_2 = QtGui.QSplitter(self.frame_maincontent)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.splitter_2.sizePolicy().hasHeightForWidth())
+ self.splitter_2.setSizePolicy(sizePolicy)
self.splitter_2.setOrientation(QtCore.Qt.Horizontal)
self.splitter_2.setObjectName("splitter_2")
self.tableView_filelist = HgFileListView(self.splitter_2)
self.tableView_filelist.setObjectName("tableView_filelist")
- self.splitter = QtGui.QSplitter(self.splitter_2)
- self.splitter.setOrientation(QtCore.Qt.Vertical)
- self.splitter.setObjectName("splitter")
- self.textview_header = RevDisplay(self.splitter)
- sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Preferred)
+ self.frame = QtGui.QFrame(self.splitter_2)
+ self.frame.setFrameShape(QtGui.QFrame.NoFrame)
+ self.frame.setObjectName("frame")
+ self.verticalLayout = QtGui.QVBoxLayout(self.frame)
+ self.verticalLayout.setSpacing(0)
+ self.verticalLayout.setSizeConstraint(QtGui.QLayout.SetDefaultConstraint)
+ self.verticalLayout.setMargin(0)
+ self.verticalLayout.setObjectName("verticalLayout")
+ self.textview_header = RevDisplay(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(1)
+ sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.textview_header.sizePolicy().hasHeightForWidth())
self.textview_header.setSizePolicy(sizePolicy)
+ self.textview_header.setMinimumSize(QtCore.QSize(0, 0))
self.textview_header.setObjectName("textview_header")
+ self.verticalLayout.addWidget(self.textview_header)
+ self.splitter = QtGui.QSplitter(self.frame)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Preferred, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.splitter.sizePolicy().hasHeightForWidth())
+ self.splitter.setSizePolicy(sizePolicy)
+ self.splitter.setMinimumSize(QtCore.QSize(50, 50))
+ self.splitter.setFrameShape(QtGui.QFrame.NoFrame)
+ self.splitter.setLineWidth(0)
+ self.splitter.setMidLineWidth(0)
+ self.splitter.setOrientation(QtCore.Qt.Vertical)
+ self.splitter.setOpaqueResize(True)
+ self.splitter.setObjectName("splitter")
+ self.message = RevMessage(self.splitter)
+ sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
+ sizePolicy.setHorizontalStretch(0)
+ sizePolicy.setVerticalStretch(0)
+ sizePolicy.setHeightForWidth(self.message.sizePolicy().hasHeightForWidth())
+ self.message.setSizePolicy(sizePolicy)
+ self.message.setMinimumSize(QtCore.QSize(0, 0))
+ self.message.setObjectName("message")
self.textview_status = HgFileView(self.splitter)
sizePolicy = QtGui.QSizePolicy(QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Expanding)
sizePolicy.setHorizontalStretch(0)
- sizePolicy.setVerticalStretch(2)
+ sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.textview_status.sizePolicy().hasHeightForWidth())
self.textview_status.setSizePolicy(sizePolicy)
+ self.textview_status.setMinimumSize(QtCore.QSize(0, 0))
self.textview_status.setObjectName("textview_status")
- self.verticalLayout.addWidget(self.splitter_2)
+ self.verticalLayout.addWidget(self.splitter)
+ self.verticalLayout_2.addWidget(self.splitter_2)
self.verticalLayout_3.addWidget(self.splitter_3)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtGui.QMenuBar(MainWindow)
- self.menubar.setGeometry(QtCore.QRect(0, 0, 730, 26))
+ self.menubar.setGeometry(QtCore.QRect(0, 0, 698, 19))
self.menubar.setObjectName("menubar")
self.menuFile = QtGui.QMenu(self.menubar)
self.menuFile.setObjectName("menuFile")
@@ -141,7 +177,7 @@ self.actionDisplayAllBranches.setText(QtGui.QApplication.translate("MainWindow", "displayAllBranches", None, QtGui.QApplication.UnicodeUTF8))
self.actionHelp.setText(QtGui.QApplication.translate("MainWindow", "Help", None, QtGui.QApplication.UnicodeUTF8))
-from changeset import RevDisplay
+from changeset import RevDisplay, RevMessage
from filelistview import HgFileListView
from fileview import HgFileView
from repoview import HgRepoView
|
Loading...