Changeset 76778 in webkit
- Timestamp:
- Jan 27, 2011 2:25:17 AM (13 years ago)
- Location:
- trunk/Tools
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r76769 r76778 1 2011-01-27 Zoltan Horvath <zoltan@webkit.org> 2 3 Reviewed by Andreas Kling. 4 5 [Qt] Add simple zooming features to MiniBrowser 6 https://bugs.webkit.org/show_bug.cgi?id=53231 7 8 Add View menu and Zoom In, Zoom Out, Zoom Reset actions to MiniBrowser. 9 10 * MiniBrowser/qt/BrowserWindow.cpp: 11 (BrowserWindow::BrowserWindow): 12 (BrowserWindow::zoomIn): 13 (BrowserWindow::zoomOut): 14 (BrowserWindow::resetZoom): 15 (BrowserWindow::updateUserAgentList): 16 (BrowserWindow::applyZoom): 17 * MiniBrowser/qt/BrowserWindow.h: 18 1 19 2011-01-26 Maciej Stachowiak <mjs@apple.com> 2 20 -
trunk/Tools/MiniBrowser/qt/BrowserWindow.cpp
r76503 r76778 37 37 QGraphicsWKView::BackingStoreType BrowserWindow::backingStoreTypeForNewWindow = QGraphicsWKView::Simple; 38 38 39 QVector<int> BrowserWindow::m_zoomLevels; 40 39 41 BrowserWindow::BrowserWindow(QWKContext* context) 42 : m_currentZoom(100) , 43 m_browser(new BrowserView(backingStoreTypeForNewWindow, context)) 40 44 { 41 45 setAttribute(Qt::WA_DeleteOnClose); 46 47 connect(m_browser->view(), SIGNAL(loadProgress(int)), SLOT(loadProgress(int))); 48 connect(m_browser->view(), SIGNAL(titleChanged(const QString&)), SLOT(titleChanged(const QString&))); 49 connect(m_browser->view(), SIGNAL(urlChanged(const QUrl&)), SLOT(urlChanged(const QUrl&))); 50 51 this->setCentralWidget(m_browser); 52 m_browser->setFocus(Qt::OtherFocusReason); 42 53 43 54 QMenu* fileMenu = menuBar()->addMenu("&File"); … … 47 58 fileMenu->addAction("Quit", this, SLOT(close())); 48 59 60 QMenu* viewMenu = menuBar()->addMenu("&View"); 61 viewMenu->addAction(page()->action(QWKPage::Stop)); 62 viewMenu->addAction(page()->action(QWKPage::Reload)); 63 viewMenu->addSeparator(); 64 QAction* zoomIn = viewMenu->addAction("Zoom &In", this, SLOT(zoomIn())); 65 QAction* zoomOut = viewMenu->addAction("Zoom &Out", this, SLOT(zoomOut())); 66 QAction* resetZoom = viewMenu->addAction("Reset Zoom", this, SLOT(resetZoom())); 67 68 zoomIn->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Plus)); 69 zoomOut->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_Minus)); 70 resetZoom->setShortcut(QKeySequence(Qt::CTRL | Qt::Key_0)); 71 49 72 QMenu* toolsMenu = menuBar()->addMenu("&Develop"); 50 73 toolsMenu->addAction("Change User Agent", this, SLOT(showUserAgentDialog())); 51 52 m_browser = new BrowserView(backingStoreTypeForNewWindow, context);53 connect(m_browser->view(), SIGNAL(loadProgress(int)), SLOT(loadProgress(int)));54 connect(m_browser->view(), SIGNAL(titleChanged(const QString&)), SLOT(titleChanged(const QString&)));55 connect(m_browser->view(), SIGNAL(urlChanged(const QUrl&)), SLOT(urlChanged(const QUrl&)));56 57 this->setCentralWidget(m_browser);58 m_browser->setFocus(Qt::OtherFocusReason);59 74 60 75 m_addressBar = new QLineEdit(); … … 72 87 73 88 page()->setCreateNewPageFunction(newPageFunction); 89 90 // the zoom values are chosen to be like in Mozilla Firefox 3 91 if (!m_zoomLevels.count()) { 92 m_zoomLevels << 30 << 50 << 67 << 80 << 90; 93 m_zoomLevels << 100; 94 m_zoomLevels << 110 << 120 << 133 << 150 << 170 << 200 << 240 << 300; 95 } 74 96 75 97 resize(960, 640); … … 154 176 } 155 177 178 void BrowserWindow::zoomIn() 179 { 180 int i = m_zoomLevels.indexOf(m_currentZoom); 181 Q_ASSERT(i >= 0); 182 if (i < m_zoomLevels.count() - 1) 183 m_currentZoom = m_zoomLevels[i + 1]; 184 185 applyZoom(); 186 } 187 188 void BrowserWindow::zoomOut() 189 { 190 int i = m_zoomLevels.indexOf(m_currentZoom); 191 Q_ASSERT(i >= 0); 192 if (i > 0) 193 m_currentZoom = m_zoomLevels[i - 1]; 194 195 applyZoom(); 196 } 197 198 void BrowserWindow::resetZoom() 199 { 200 m_currentZoom = 100; 201 applyZoom(); 202 } 203 204 void BrowserWindow::showUserAgentDialog() 205 { 206 updateUserAgentList(); 207 208 QDialog dialog(this); 209 dialog.setWindowTitle("Change User Agent"); 210 dialog.resize(size().width() * 0.7, dialog.size().height()); 211 QVBoxLayout* layout = new QVBoxLayout(&dialog); 212 dialog.setLayout(layout); 213 214 QComboBox* combo = new QComboBox(&dialog); 215 combo->setSizeAdjustPolicy(QComboBox::AdjustToMinimumContentsLength); 216 combo->setEditable(true); 217 combo->insertItems(0, m_userAgentList); 218 layout->addWidget(combo); 219 220 int index = combo->findText(page()->customUserAgent()); 221 combo->setCurrentIndex(index); 222 223 QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel 224 , Qt::Horizontal, &dialog); 225 connect(buttonBox, SIGNAL(accepted()), &dialog, SLOT(accept())); 226 connect(buttonBox, SIGNAL(rejected()), &dialog, SLOT(reject())); 227 layout->addWidget(buttonBox); 228 229 if (dialog.exec() && !combo->currentText().isEmpty()) 230 page()->setCustomUserAgent(combo->currentText()); 231 } 232 156 233 void BrowserWindow::updateUserAgentList() 157 234 { … … 173 250 } 174 251 175 void BrowserWindow::showUserAgentDialog() 176 { 177 updateUserAgentList(); 178 179 QDialog dialog(this); 180 dialog.setWindowTitle("Change User Agent"); 181 dialog.resize(size().width() * 0.7, dialog.size().height()); 182 QVBoxLayout* layout = new QVBoxLayout(&dialog); 183 dialog.setLayout(layout); 184 185 QComboBox* combo = new QComboBox(&dialog); 186 combo->setSizeAdjustPolicy(QComboBox::AdjustToMinimumContentsLength); 187 combo->setEditable(true); 188 combo->insertItems(0, m_userAgentList); 189 layout->addWidget(combo); 190 191 int index = combo->findText(page()->customUserAgent()); 192 combo->setCurrentIndex(index); 193 194 QDialogButtonBox* buttonBox = new QDialogButtonBox(QDialogButtonBox::Ok | QDialogButtonBox::Cancel 195 , Qt::Horizontal, &dialog); 196 connect(buttonBox, SIGNAL(accepted()), &dialog, SLOT(accept())); 197 connect(buttonBox, SIGNAL(rejected()), &dialog, SLOT(reject())); 198 layout->addWidget(buttonBox); 199 200 if (dialog.exec() && !combo->currentText().isEmpty()) 201 page()->setCustomUserAgent(combo->currentText()); 252 void BrowserWindow::applyZoom() 253 { 254 page()->setPageZoomFactor(qreal(m_currentZoom) / 100.0); 202 255 } 203 256 -
trunk/Tools/MiniBrowser/qt/BrowserWindow.h
r76503 r76778 57 57 void urlChanged(const QUrl&); 58 58 void openFile(); 59 60 void zoomIn(); 61 void zoomOut(); 62 void resetZoom(); 63 59 64 void showUserAgentDialog(); 60 65 61 66 private: 62 67 void updateUserAgentList(); 68 69 void applyZoom(); 70 71 static QVector<int> m_zoomLevels; 72 int m_currentZoom; 63 73 64 74 BrowserView* m_browser;
Note: See TracChangeset
for help on using the changeset viewer.