Helpviewer/HelpBrowserWV.py

changeset 3702
dabc69b82c7c
parent 3670
f0cb7579c0b4
child 3734
e642b2099fc8
equal deleted inserted replaced
3701:864226db1abe 3702:dabc69b82c7c
1529 searchUrl = QUrl(self.page().mainFrame().baseUrl().resolved( 1529 searchUrl = QUrl(self.page().mainFrame().baseUrl().resolved(
1530 QUrl(formElement.attribute("action")))) 1530 QUrl(formElement.attribute("action"))))
1531 if searchUrl.scheme() != "http": 1531 if searchUrl.scheme() != "http":
1532 return 1532 return
1533 1533
1534 searchUrlQuery = UrlQuery()
1534 searchEngines = {} 1535 searchEngines = {}
1535 inputFields = formElement.findAll("input") 1536 inputFields = formElement.findAll("input")
1536 for inputField in inputFields.toList(): 1537 for inputField in inputFields.toList():
1537 type_ = inputField.attribute("type", "text") 1538 type_ = inputField.attribute("type", "text")
1538 name = inputField.attribute("name") 1539 name = inputField.attribute("name")
1541 if type_ == "submit": 1542 if type_ == "submit":
1542 searchEngines[value] = name 1543 searchEngines[value] = name
1543 elif type_ == "text": 1544 elif type_ == "text":
1544 if inputField == element: 1545 if inputField == element:
1545 value = "{searchTerms}" 1546 value = "{searchTerms}"
1546 searchUrl.addQueryItem(name, value) 1547 searchUrlQuery.addQueryItem(name, value)
1547 elif type_ == "checkbox" or type_ == "radio": 1548 elif type_ == "checkbox" or type_ == "radio":
1548 if inputField.evaluateJavaScript("this.checked"): 1549 if inputField.evaluateJavaScript("this.checked"):
1549 searchUrl.addQueryItem(name, value) 1550 searchUrlQuery.addQueryItem(name, value)
1550 elif type_ == "hidden": 1551 elif type_ == "hidden":
1551 searchUrl.addQueryItem(name, value) 1552 searchUrlQuery.addQueryItem(name, value)
1552 1553
1553 selectFields = formElement.findAll("select") 1554 selectFields = formElement.findAll("select")
1554 for selectField in selectFields.toList(): 1555 for selectField in selectFields.toList():
1555 name = selectField.attribute("name") 1556 name = selectField.attribute("name")
1556 selectedIndex = selectField.evaluateJavaScript( 1557 selectedIndex = selectField.evaluateJavaScript(
1558 if selectedIndex == -1: 1559 if selectedIndex == -1:
1559 continue 1560 continue
1560 1561
1561 options = selectField.findAll("option") 1562 options = selectField.findAll("option")
1562 value = options.at(selectedIndex).toPlainText() 1563 value = options.at(selectedIndex).toPlainText()
1563 searchUrl.addQueryItem(name, value) 1564 searchUrlQuery.addQueryItem(name, value)
1564 1565
1565 ok = True 1566 ok = True
1566 if len(searchEngines) > 1: 1567 if len(searchEngines) > 1:
1567 searchEngine, ok = QInputDialog.getItem( 1568 searchEngine, ok = QInputDialog.getItem(
1568 self, 1569 self,
1572 1573
1573 if not ok: 1574 if not ok:
1574 return 1575 return
1575 1576
1576 if searchEngines[searchEngine] != "": 1577 if searchEngines[searchEngine] != "":
1577 searchUrl.addQueryItem( 1578 searchUrlQuery.addQueryItem(
1578 searchEngines[searchEngine], searchEngine) 1579 searchEngines[searchEngine], searchEngine)
1579 1580
1580 engineName = "" 1581 engineName = ""
1581 labels = formElement.findAll('label[for="{0}"]'.format(elementName)) 1582 labels = formElement.findAll('label[for="{0}"]'.format(elementName))
1582 if labels.count() > 0: 1583 if labels.count() > 0:
1588 self.tr("Enter a name for the engine"), 1589 self.tr("Enter a name for the engine"),
1589 QLineEdit.Normal, 1590 QLineEdit.Normal,
1590 engineName) 1591 engineName)
1591 if not ok: 1592 if not ok:
1592 return 1593 return
1594
1595 searchUrl.setQuery(searchUrlQuery)
1593 1596
1594 from .OpenSearch.OpenSearchEngine import OpenSearchEngine 1597 from .OpenSearch.OpenSearchEngine import OpenSearchEngine
1595 engine = OpenSearchEngine() 1598 engine = OpenSearchEngine()
1596 engine.setName(engineName) 1599 engine.setName(engineName)
1597 engine.setDescription(engineName) 1600 engine.setDescription(engineName)

eric ide

mercurial