SF.net SVN: fclient:[749] trunk/fclient/src/fclient
Status: Pre-Alpha
Brought to you by:
jurner
|
From: <jU...@us...> - 2008-07-25 22:41:15
|
Revision: 749
http://fclient.svn.sourceforge.net/fclient/?rev=749&view=rev
Author: jUrner
Date: 2008-07-25 22:41:24 +0000 (Fri, 25 Jul 2008)
Log Message:
-----------
add a basic search bar
Modified Paths:
--------------
trunk/fclient/src/fclient/Ui_ViewBrowser.py
trunk/fclient/src/fclient/tpls/Ui_ViewBrowserWidgetTpl.py
trunk/fclient/src/fclient/tpls/ViewBrowserWidgetTpl.ui
Modified: trunk/fclient/src/fclient/Ui_ViewBrowser.py
===================================================================
--- trunk/fclient/src/fclient/Ui_ViewBrowser.py 2008-07-25 22:40:45 UTC (rev 748)
+++ trunk/fclient/src/fclient/Ui_ViewBrowser.py 2008-07-25 22:41:24 UTC (rev 749)
@@ -300,7 +300,7 @@
trigger=parent.onZoomOut,
)
- # dummy actions to replace default browser actions
+ # default browser actions
self.action(
name='ActionBack',
text=self.trUtf8('Back'),
@@ -340,6 +340,15 @@
icon=config.resources.getIcon('button_cancel', iconSize, iconTheme=iconTheme),
trigger=None,
)
+
+ # search actions
+ self.action(
+ parent=parent,
+ name='ActionSearch',
+ text=self.trUtf8('Search'),
+ shortcut=QtGui.QKeySequence(self.trUtf8('Ctrl+F')),
+ trigger=parent.onSearch,
+ )
def intertwineBrowserActions(self, browser=None):
"""intertwines Browser actions with BrowserWidget actions
@@ -407,6 +416,12 @@
IdBtReload = 'btReload'
IdBtStop = 'btStop'
+ IdFrameSearch = 'frameSearch'
+ IdEdSearch = 'edSearch'
+ IdBtSearchUpwards = 'btSearchUpwards'
+ IdBtSearchDownwards = 'btSearchDownwards'
+ IdCkSearchCaseSensitive = 'ckSearchCaseSensitive'
+
ForcedMinBrowserTabText = 5 # forced minimum number of chars on browser tabBar
def __init__(self, parent, idGlobalFeedback=config.IdMainWindow):
@@ -439,6 +454,16 @@
self.controlById(self.IdBtReload).setDefaultAction(self.fcActions['ActionReload'])
self.controlById(self.IdBtStop).setDefaultAction(self.fcActions['ActionStop'])
+ # setupp search bar
+ bt = self.controlById(self.IdBtSearchUpwards)
+ self.connect(bt, QtCore.SIGNAL('clicked()'), self.onSearchUpwards)
+ bt = self.controlById(self.IdBtSearchDownwards)
+ self.connect(bt, QtCore.SIGNAL('clicked()'), self.onSearchDownwards)
+ ed = self.controlById(self.IdEdSearch)
+ self.connect(ed, QtCore.SIGNAL('returnPressed()'), self.onSearchDownwards)
+ frameSearch = self.controlById(self.IdFrameSearch)
+ frameSearch.setVisible(False)
+
# fire up a new broser to make a start
self.newBrowser(title=self.trUtf8('Waiting for fproxy'))
self.fcActions['ActionGoToHomePage'].trigger()
@@ -632,6 +657,7 @@
menu.addAction(self.fcActions['ActionOpenNewTab'])
menu.addAction(self.fcActions['ActionZoomIn'])
menu.addAction(self.fcActions['ActionZoomOut'])
+ menu.addAction(self.fcActions['ActionSearch'])
return menu
#########################################
@@ -863,6 +889,32 @@
if browser is not None and act is browser.pageAction(browser.page().Back):
self._adjustBackIsClose()
+ def onSearch(self, action):
+ frameSearch = self.controlById(self.IdFrameSearch)
+ frameSearch.setVisible(not frameSearch.isVisible())
+
+ def onSearchDownwards(self):
+ browser = self.currentBrowser()
+ if browser is not None:
+ page = browser.page()
+ ed = self.controlById(self.IdEdSearch)
+ ck = self.controlById(self.IdCkSearchCaseSensitive)
+ flags = page.FindWrapsAroundDocument
+ if ck.checkState() == QtCore.Qt.Checked:
+ flags |= page.FindCaseSensitively
+ browser.findText(ed.text(), flags)
+
+ def onSearchUpwards(self):
+ browser = self.currentBrowser()
+ if browser is not None:
+ page = browser.page()
+ ed = self.controlById(self.IdEdSearch)
+ ck = self.controlById(self.IdCkSearchCaseSensitive)
+ flags = page.FindWrapsAroundDocument | page.FindBackward
+ if ck.checkState() == QtCore.Qt.Checked:
+ flags |= page.FindCaseSensitively
+ browser.findText(ed.text(), flags)
+
def onTabContextMenuEvent(self, pt):
menu = QtGui.QMenu()
tabWidget = self.controlById(self.IdTabBrowsers)
Modified: trunk/fclient/src/fclient/tpls/Ui_ViewBrowserWidgetTpl.py
===================================================================
--- trunk/fclient/src/fclient/tpls/Ui_ViewBrowserWidgetTpl.py 2008-07-25 22:40:45 UTC (rev 748)
+++ trunk/fclient/src/fclient/tpls/Ui_ViewBrowserWidgetTpl.py 2008-07-25 22:41:24 UTC (rev 749)
@@ -2,7 +2,7 @@
# Form implementation generated from reading ui file '/home/me/src/proj/fclient/trunk/fclient/src/fclient/tpls/ViewBrowserWidgetTpl.ui'
#
-# Created: Fri Jul 25 19:05:55 2008
+# Created: Sat Jul 26 00:36:50 2008
# by: PyQt4 UI code generator 4.4.3-snapshot-20080705
#
# WARNING! All changes made in this file will be lost!
@@ -12,11 +12,9 @@
class Ui_ViewBrowserWidget(object):
def setupUi(self, ViewBrowserWidget):
ViewBrowserWidget.setObjectName("ViewBrowserWidget")
- ViewBrowserWidget.resize(570, 516)
- self.gridLayout_3 = QtGui.QGridLayout(ViewBrowserWidget)
- self.gridLayout_3.setMargin(0)
- self.gridLayout_3.setSpacing(0)
- self.gridLayout_3.setObjectName("gridLayout_3")
+ ViewBrowserWidget.resize(710, 794)
+ self.gridLayout_4 = QtGui.QGridLayout(ViewBrowserWidget)
+ self.gridLayout_4.setObjectName("gridLayout_4")
self.horizontalLayout = QtGui.QHBoxLayout()
self.horizontalLayout.setSpacing(0)
self.horizontalLayout.setObjectName("horizontalLayout")
@@ -59,14 +57,42 @@
self.edAddressBar.setObjectName("edAddressBar")
self.gridLayout.addWidget(self.edAddressBar, 0, 0, 1, 1)
self.horizontalLayout.addWidget(self.frameAddressBar)
- self.gridLayout_3.addLayout(self.horizontalLayout, 0, 0, 1, 1)
+ self.gridLayout_4.addLayout(self.horizontalLayout, 0, 0, 1, 1)
self.tabBrowsers = QtGui.QTabWidget(ViewBrowserWidget)
self.tabBrowsers.setObjectName("tabBrowsers")
self.tab = QtGui.QWidget()
- self.tab.setGeometry(QtCore.QRect(0, 0, 566, 458))
+ self.tab.setGeometry(QtCore.QRect(0, 0, 688, 654))
self.tab.setObjectName("tab")
self.tabBrowsers.addTab(self.tab, "")
- self.gridLayout_3.addWidget(self.tabBrowsers, 1, 0, 1, 1)
+ self.gridLayout_4.addWidget(self.tabBrowsers, 1, 0, 1, 1)
+ self.frameSearch = QtGui.QFrame(ViewBrowserWidget)
+ self.frameSearch.setFrameShape(QtGui.QFrame.StyledPanel)
+ self.frameSearch.setFrameShadow(QtGui.QFrame.Raised)
+ self.frameSearch.setObjectName("frameSearch")
+ self.gridLayout_3 = QtGui.QGridLayout(self.frameSearch)
+ self.gridLayout_3.setObjectName("gridLayout_3")
+ self.horizontalLayout_2 = QtGui.QHBoxLayout()
+ self.horizontalLayout_2.setObjectName("horizontalLayout_2")
+ self.label = QtGui.QLabel(self.frameSearch)
+ self.label.setObjectName("label")
+ self.horizontalLayout_2.addWidget(self.label)
+ self.edSearch = QtGui.QLineEdit(self.frameSearch)
+ self.edSearch.setDragEnabled(True)
+ self.edSearch.setObjectName("edSearch")
+ self.horizontalLayout_2.addWidget(self.edSearch)
+ self.btSearchDownwards = QtGui.QPushButton(self.frameSearch)
+ self.btSearchDownwards.setObjectName("btSearchDownwards")
+ self.horizontalLayout_2.addWidget(self.btSearchDownwards)
+ self.btSearchUpwards = QtGui.QPushButton(self.frameSearch)
+ self.btSearchUpwards.setObjectName("btSearchUpwards")
+ self.horizontalLayout_2.addWidget(self.btSearchUpwards)
+ self.ckSearchCaseSensitive = QtGui.QCheckBox(self.frameSearch)
+ self.ckSearchCaseSensitive.setObjectName("ckSearchCaseSensitive")
+ self.horizontalLayout_2.addWidget(self.ckSearchCaseSensitive)
+ spacerItem = QtGui.QSpacerItem(48, 25, QtGui.QSizePolicy.Expanding, QtGui.QSizePolicy.Minimum)
+ self.horizontalLayout_2.addItem(spacerItem)
+ self.gridLayout_3.addLayout(self.horizontalLayout_2, 0, 0, 1, 1)
+ self.gridLayout_4.addWidget(self.frameSearch, 2, 0, 1, 1)
self.retranslateUi(ViewBrowserWidget)
self.tabBrowsers.setCurrentIndex(0)
@@ -79,6 +105,10 @@
self.btReload.setText(QtGui.QApplication.translate("ViewBrowserWidget", "Reload", None, QtGui.QApplication.UnicodeUTF8))
self.btStop.setText(QtGui.QApplication.translate("ViewBrowserWidget", "Stop", None, QtGui.QApplication.UnicodeUTF8))
self.tabBrowsers.setTabText(self.tabBrowsers.indexOf(self.tab), QtGui.QApplication.translate("ViewBrowserWidget", "Tab 1", None, QtGui.QApplication.UnicodeUTF8))
+ self.label.setText(QtGui.QApplication.translate("ViewBrowserWidget", "Search:", None, QtGui.QApplication.UnicodeUTF8))
+ self.btSearchDownwards.setText(QtGui.QApplication.translate("ViewBrowserWidget", "Down", None, QtGui.QApplication.UnicodeUTF8))
+ self.btSearchUpwards.setText(QtGui.QApplication.translate("ViewBrowserWidget", "Up", None, QtGui.QApplication.UnicodeUTF8))
+ self.ckSearchCaseSensitive.setText(QtGui.QApplication.translate("ViewBrowserWidget", "Case sensitive", None, QtGui.QApplication.UnicodeUTF8))
if __name__ == "__main__":
Modified: trunk/fclient/src/fclient/tpls/ViewBrowserWidgetTpl.ui
===================================================================
--- trunk/fclient/src/fclient/tpls/ViewBrowserWidgetTpl.ui 2008-07-25 22:40:45 UTC (rev 748)
+++ trunk/fclient/src/fclient/tpls/ViewBrowserWidgetTpl.ui 2008-07-25 22:41:24 UTC (rev 749)
@@ -5,20 +5,14 @@
<rect>
<x>0</x>
<y>0</y>
- <width>570</width>
- <height>516</height>
+ <width>710</width>
+ <height>794</height>
</rect>
</property>
<property name="windowTitle" >
<string>Form</string>
</property>
- <layout class="QGridLayout" name="gridLayout_3" >
- <property name="margin" >
- <number>0</number>
- </property>
- <property name="spacing" >
- <number>0</number>
- </property>
+ <layout class="QGridLayout" name="gridLayout_4" >
<item row="0" column="0" >
<layout class="QHBoxLayout" name="horizontalLayout" >
<property name="spacing" >
@@ -120,8 +114,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>566</width>
- <height>458</height>
+ <width>688</width>
+ <height>654</height>
</rect>
</property>
<attribute name="title" >
@@ -130,6 +124,70 @@
</widget>
</widget>
</item>
+ <item row="2" column="0" >
+ <widget class="QFrame" name="frameSearch" >
+ <property name="frameShape" >
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow" >
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QGridLayout" name="gridLayout_3" >
+ <item row="0" column="0" >
+ <layout class="QHBoxLayout" name="horizontalLayout_2" >
+ <item>
+ <widget class="QLabel" name="label" >
+ <property name="text" >
+ <string>Search:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="edSearch" >
+ <property name="dragEnabled" >
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="btSearchDownwards" >
+ <property name="text" >
+ <string>Down</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPushButton" name="btSearchUpwards" >
+ <property name="text" >
+ <string>Up</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QCheckBox" name="ckSearchCaseSensitive" >
+ <property name="text" >
+ <string>Case sensitive</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer" >
+ <property name="orientation" >
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0" >
+ <size>
+ <width>48</width>
+ <height>25</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
</layout>
</widget>
<resources/>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|