Changeset 87720 in webkit
- Timestamp:
- May 31, 2011 3:42:01 AM (13 years ago)
- Location:
- trunk/Tools
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r87690 r87720 1 2011-05-31 Kristóf Kosztyó <Kosztyo.Kristof@stud.u-szeged.hu> 2 3 Reviewed by Csaba Osztrogonác. 4 5 [Qt] Implement find feature for QtTestBrowser 6 https://bugs.webkit.org/show_bug.cgi?id=61425 7 8 * QtTestBrowser/launcherwindow.cpp: 9 (LauncherWindow::LauncherWindow): 10 (LauncherWindow::createChrome): 11 (LauncherWindow::showFindBar): 12 (LauncherWindow::find): 13 * QtTestBrowser/launcherwindow.h: 14 1 15 2011-05-30 Carlos Garcia Campos <cgarcia@igalia.com> 2 16 -
trunk/Tools/QtTestBrowser/launcherwindow.cpp
r87436 r87720 1 1 /* 2 2 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 3 * Copyright (C) 2011 University of Szeged 4 * Copyright (C) 2011 Kristof Kosztyo <Kosztyo.Kristof@stud.u-szeged.hu> 3 5 * Copyright (C) 2009 Girish Ramakrishnan <girish@forwardbias.in> 4 6 * Copyright (C) 2006 George Staikos <staikos@kde.org> … … 45 47 , m_formatMenuAction(0) 46 48 , m_zoomAnimation(0) 49 , m_findFlag(0) 47 50 { 48 51 if (data) … … 195 198 editMenu->addAction(page()->action(QWebPage::Copy)); 196 199 editMenu->addAction(page()->action(QWebPage::Paste)); 200 editMenu->addSeparator(); 201 editMenu->addAction("&Find", this, SLOT(showFindBar()), QKeySequence(Qt::CTRL | Qt::Key_F)); 197 202 editMenu->addSeparator(); 198 203 QAction* setEditable = editMenu->addAction("Set Editable", this, SLOT(setEditable(bool))); … … 407 412 toggleJavascriptCanOpenWindows->setChecked(false); 408 413 414 m_findBar = new QToolBar("Find", this); 415 addToolBar(Qt::BottomToolBarArea, m_findBar); 416 417 QToolButton* findClose = new QToolButton(m_findBar); 418 findClose->setText("X"); 419 m_lineEdit = new QLineEdit(m_findBar); 420 m_lineEdit->setMaximumWidth(200); 421 QToolButton* findPrevious = new QToolButton(m_findBar); 422 findPrevious->setArrowType(Qt::LeftArrow); 423 QToolButton* findNext = new QToolButton(m_findBar); 424 findNext->setArrowType(Qt::RightArrow); 425 QCheckBox* findCaseSensitive = new QCheckBox("Case Sensitive", m_findBar); 426 QCheckBox* findWrapAround = new QCheckBox("Wrap Around", m_findBar); 427 QCheckBox* findHighLightAll = new QCheckBox("HighLight All", m_findBar); 428 429 QSignalMapper* findSignalMapper = new QSignalMapper(m_findBar); 430 findSignalMapper->setMapping(m_lineEdit, s_findNormalFlag); 431 findSignalMapper->setMapping(findPrevious, QWebPage::FindBackward); 432 findSignalMapper->setMapping(findNext, s_findNormalFlag); 433 findSignalMapper->setMapping(findCaseSensitive, QWebPage::FindCaseSensitively); 434 findSignalMapper->setMapping(findWrapAround, QWebPage::FindWrapsAroundDocument); 435 findSignalMapper->setMapping(findHighLightAll, QWebPage::HighlightAllOccurrences); 436 437 connect(findClose, SIGNAL(clicked()), this, SLOT(showFindBar())); 438 connect(m_lineEdit, SIGNAL(textChanged(const QString &)), findSignalMapper, SLOT(map())); 439 connect(findPrevious, SIGNAL(pressed()), findSignalMapper, SLOT(map())); 440 connect(findNext, SIGNAL(pressed()), findSignalMapper, SLOT(map())); 441 connect(findCaseSensitive, SIGNAL(stateChanged(int)), findSignalMapper, SLOT(map())); 442 connect(findWrapAround, SIGNAL(stateChanged(int)), findSignalMapper, SLOT(map())); 443 connect(findHighLightAll, SIGNAL(stateChanged(int)), findSignalMapper, SLOT(map())); 444 445 connect(findSignalMapper, SIGNAL(mapped(int)), this, SLOT(find(int))); 446 447 m_findBar->addWidget(findClose); 448 m_findBar->addWidget(m_lineEdit); 449 m_findBar->addWidget(findPrevious); 450 m_findBar->addWidget(findNext); 451 m_findBar->addWidget(findCaseSensitive); 452 m_findBar->addWidget(findWrapAround); 453 m_findBar->addWidget(findHighLightAll); 454 m_findBar->setMovable(false); 455 m_findBar->setVisible(false); 409 456 #endif 410 457 } … … 976 1023 } 977 1024 1025 void LauncherWindow::showFindBar() 1026 { 1027 if (!m_findBar->isVisible()) { 1028 m_findBar->setVisible(true); 1029 m_lineEdit->setText(page()->selectedText()); 1030 m_lineEdit->setFocus(Qt::PopupFocusReason); 1031 } else { 1032 m_findBar->setVisible(false); 1033 page()->findText("", QWebPage::HighlightAllOccurrences); 1034 } 1035 } 1036 1037 void LauncherWindow::find(int mode = s_findNormalFlag) 1038 { 1039 QPalette palette; 1040 bool found; 1041 palette.setColor(m_lineEdit->backgroundRole(), Qt::white); 1042 page()->findText("", QFlag(QWebPage::HighlightAllOccurrences)); 1043 1044 m_findFlag = m_findFlag ^ mode; 1045 if (mode == s_findNormalFlag || mode == QWebPage::FindBackward) { 1046 found = page()->findText(m_lineEdit->text(), QFlag(m_findFlag & ~QWebPage::HighlightAllOccurrences)); 1047 m_findFlag = m_findFlag ^ mode; 1048 1049 if (found || m_lineEdit->text().isEmpty()) 1050 m_lineEdit->setPalette(palette); 1051 else { 1052 palette.setColor(m_lineEdit->backgroundRole(), QColor(255, 0, 0, 127)); 1053 m_lineEdit->setPalette(palette); 1054 } 1055 } 1056 1057 if (m_findFlag & QWebPage::HighlightAllOccurrences) 1058 page()->findText(m_lineEdit->text(), QFlag(m_findFlag)); 1059 } -
trunk/Tools/QtTestBrowser/launcherwindow.h
r83928 r87720 192 192 void setOfflineStorageDefaultQuota(); 193 193 194 void showFindBar(); 195 void find(int mode); 194 196 #if defined(QT_CONFIGURED_WITH_OPENGL) 195 197 void toggleQGLWidgetViewport(bool enable); … … 240 242 241 243 QString m_inputUrl; 244 245 QToolBar* m_findBar; 246 QLineEdit* m_lineEdit; 247 int m_findFlag; 248 static const int s_findNormalFlag = 0; 242 249 }; 243 250
Note: See TracChangeset
for help on using the changeset viewer.