void SecondaryWindow::finishLoading(bool ok) { BrowserWindow::finishLoading(ok); if (ok) connect(webView(), SIGNAL(onCloseWindowShortcut()), this, SLOT(onCloseWindowShortcut())); }
void SatelliteWindow::onJavaScriptWindowObjectCleared() { webView()->page()->mainFrame()->addToJavaScriptWindowObject( QString::fromAscii("desktop"), &gwtCallback_, QScriptEngine::QtOwnership); connect(webView(), SIGNAL(onCloseWindowShortcut()), this, SLOT(onCloseWindowShortcut())); }
void SatelliteWindow::finishLoading(bool ok) { BrowserWindow::finishLoading(ok); if (ok) { avoidMoveCursorIfNecessary(); connect(webView(), SIGNAL(onCloseWindowShortcut()), this, SLOT(onCloseWindowShortcut())); } }
SecondaryWindow::SecondaryWindow(bool showToolbar, QString name, QUrl baseUrl, QWidget* pParent, WebPage* pOpener, bool allowExternalNavigate) : BrowserWindow(showToolbar, true, name, baseUrl, pParent, pOpener, allowExternalNavigate) { setAttribute(Qt::WA_QuitOnClose, true); setAttribute(Qt::WA_DeleteOnClose, true); #ifdef Q_OS_MAC setIconSize(QSize(26, 22)); #else setIconSize(QSize(26, 20)); #endif back_ = pToolbar_->addAction(icon("back"), QString::fromUtf8("Back")); back_->setToolTip(QString::fromUtf8("Back")); connect(back_, SIGNAL(triggered()), webView(), SLOT(back())); forward_ = pToolbar_->addAction(icon("forward"), QString::fromUtf8("Forward")); forward_->setToolTip(QString::fromUtf8("Forward")); connect(forward_, SIGNAL(triggered()), webView(), SLOT(forward())); reload_ = pToolbar_->addAction(icon("reload"), QString::fromUtf8("Reload")); reload_->setToolTip(QString::fromUtf8("Reload")); connect(reload_, SIGNAL(triggered()), webView(), SLOT(reload())); connect(webView(), SIGNAL(loadStarted()), this, SLOT(manageCommandState())); connect(webView(), SIGNAL(urlChanged(QUrl)), this, SLOT(manageCommandState())); manageCommandState(); // Size it (use computed size if it seems sane; otherwise let Qt set it) QSize size = QSize(850, 1100).boundedTo( QApplication::desktop()->availableGeometry().size()); if (size.width() > 500 && size.height() > 500) { size.setHeight(size.height()-75); resize(size); } connect(webView(), SIGNAL(onCloseWindowShortcut()), this, SLOT(onCloseWindowShortcut())); }
void WebView::keyPressEvent(QKeyEvent* pEv) { // emit close window shortcut signal if appropriate #ifndef _WIN32 if (pEv->key() == 'W') { #ifdef Q_WS_MAC Qt::KeyboardModifier modifier = Qt::MetaModifier; #else Qt::KeyboardModifier modifier = Qt::ControlModifier; #endif // check modifier and emit signal if (pEv->modifiers() & modifier) onCloseWindowShortcut(); } #endif // Work around bugs in QtWebKit that result in numpad key // presses resulting in keyCode=0 in the DOM's keydown events. // This is due to some missing switch cases in the case // where the keypad modifier bit is on, so we turn it off. Qt::KeyboardModifiers modifiers; #ifdef Q_WS_MAC if ((pEv->nativeModifiers() & 0x40101) == 0x40101) { modifiers &= ~Qt::MetaModifier; modifiers |= Qt::ControlModifier; } else if ((pEv->nativeModifiers() & 0x100108) == 0x100108) { modifiers &= ~Qt::ControlModifier; modifiers |= Qt::MetaModifier; } else { #else { #endif modifiers = pEv->modifiers(); } QKeyEvent newEv(pEv->type(), pEv->key(), modifiers & ~Qt::KeypadModifier, pEv->text(), pEv->isAutoRepeat(), pEv->count()); this->QWebView::keyPressEvent(&newEv); } void WebView::downloadRequested(const QNetworkRequest& request) { QString fileName = promptForFilename(request); if (fileName.isEmpty()) return; // Ask the network manager to download // the file and connect to the progress // and finished signals. QNetworkRequest newRequest = request; QNetworkAccessManager* pNetworkManager = page()->networkAccessManager(); QNetworkReply* pReply = pNetworkManager->get(newRequest); // DownloadHelper frees itself when downloading is done new DownloadHelper(pReply, fileName); }