void tst_QWebEngineView::getWebKitVersion() { #if !defined(QWEBENGINEVERSION) QSKIP("QWEBENGINEVERSION"); #else QVERIFY(qWebKitVersion().toDouble() > 0); #endif }
QString Poshuku::GetDiagInfoString () const { return QString ("Built with QtWebKit %1, running with QtWebKit %2") #ifdef QTWEBKIT_VERSION_STR .arg (QTWEBKIT_VERSION_STR) #else .arg ("unknown (QTWEBKIT_VERSION_STR is not defined)") #endif .arg (qWebKitVersion ()); }
void WebInspectorDockWidget::close() { if (qWebKitVersion() == "533.3") { delete m_inspector.data(); } p_QupZilla->weView()->webTab()->setInspectorVisible(false); hide(); }
AboutDialog::AboutDialog(QWidget *parent) : QDialog(parent) { setupUi(this); setWindowTitle(tr("About %1").arg(qApp->applicationName())); logo->setPixmap(qApp->windowIcon().pixmap(128, 128)); name->setText((tr("%1").arg(qApp->applicationName()))+tr(" ")+tr("%1").arg(qApp->applicationVersion())); #if QT_VERSION >= 0x040600 || defined(WEBKIT_TRUNK) webkitVersion->setText(tr("WebKit version: %1").arg(qWebKitVersion())); #else webkitVersion->hide(); #endif connect(authorsButton, SIGNAL(clicked()), this, SLOT(authorsButtonClicked())); connect(contributorsButton, SIGNAL(clicked()), this, SLOT(contributorsButtonClicked())); connect(licenseButton, SIGNAL(clicked()), this, SLOT(licenseButtonClicked())); }
AboutDialog::AboutDialog(const QString &lang, QWidget *parent) : Dialog(parent, Qt::MSWindowsFixedSizeDialogHint) { setWindowTitle(tr("About")); setWindowFlags (windowFlags() & ~Qt::WindowContextHelpButtonHint); setObjectName("AboutDialog"); setMinimumWidth(480); QTabWidget *tabWidget = new QTabWidget(); QyurSqlTreeView treeView; QString revisionStr; if (QString("%1").arg(VCS_REVISION) != "0") { revisionStr = "<BR>" + tr("Revision") + " " + QString("%1").arg(VCS_REVISION); } QString appInfo = "<html><style>a { color: blue; text-decoration: none; }</style><body>" "<CENTER>" "<IMG SRC=\":/images/images/logo.png\">" "<BR><IMG SRC=\":/images/images/logo_text.png\">" "<P>" + tr("Version") + " " + "<B>" + QString(STRPRODUCTVER) + "</B>" + QString(" (%1)").arg(STRDATE) + revisionStr + "</P>" + "<BR>" + tr("QuiteRSS is a open-source cross-platform RSS/Atom news reader") + "<P>" + tr("Includes:") + QString(" Qt-%1, SQLite-%2, QyurSqlTreeView-%3,"). arg(QT_VERSION_STR).arg(SQLITE_VERSION). arg(treeView.metaObject()->classInfo(treeView.metaObject()->indexOfClassInfo("Version")).value()) + "<BR>" + QString(" WebKit-%4, QupZilla-1.7.0"). arg(qWebKitVersion()) + "</P>" + QString("<a href=\"%1\">%1</a>").arg("http://quiterss.org") + "<P>Copyright © 2011-2015 QuiteRSS Team " + QString("<a href=\"%1\">E-mail</a>").arg("mailto:[email protected]") + "</P>" "</CENTER></body></html>"; QLabel *infoLabel = new QLabel(appInfo); infoLabel->setOpenExternalLinks(true); infoLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); QHBoxLayout *mainLayout = new QHBoxLayout(); mainLayout->addWidget(infoLabel); QWidget *mainWidget = new QWidget(); mainWidget->setLayout(mainLayout); QTextEdit *authorsTextEdit = new QTextEdit(this); authorsTextEdit->setReadOnly(true); QFile file; file.setFileName(":/file/AUTHORS"); file.open(QFile::ReadOnly); authorsTextEdit->setText(QString::fromUtf8(file.readAll())); file.close(); QHBoxLayout *authorsLayout = new QHBoxLayout(); authorsLayout->addWidget(authorsTextEdit); QWidget *authorsWidget = new QWidget(); authorsWidget->setLayout(authorsLayout); QTextBrowser *historyTextBrowser = new QTextBrowser(); historyTextBrowser->setOpenExternalLinks(true); if (lang.contains("ru", Qt::CaseInsensitive)) file.setFileName(":/file/HISTORY_RU"); else file.setFileName(":/file/HISTORY_EN"); file.open(QFile::ReadOnly); historyTextBrowser->setHtml(QString::fromUtf8(file.readAll())); file.close(); QHBoxLayout *historyLayout = new QHBoxLayout(); historyLayout->addWidget(historyTextBrowser); QWidget *historyWidget = new QWidget(); historyWidget->setLayout(historyLayout); QTextEdit *licenseTextEdit = new QTextEdit(); licenseTextEdit->setReadOnly(true); file.setFileName(":/file/COPYING"); file.open(QFile::ReadOnly); QString str = QString(QString::fromUtf8(file.readAll())).section("-----", 1, 1); licenseTextEdit->setText(str); file.close(); QHBoxLayout *licenseLayout = new QHBoxLayout(); licenseLayout->addWidget(licenseTextEdit); QWidget *licenseWidget = new QWidget(); licenseWidget->setLayout(licenseLayout); QString portable; if (mainApp->isPortable()) { if (!mainApp->isPortableAppsCom()) portable = "(Portable)"; else portable = "(PortableApps)"; } Settings settings; QString information = "<table border=\"0\"><tr>" "<td>" + tr("Version") + " </td>" "<td>" + QString("%1.%2 %3 %4").arg(STRPRODUCTVER).arg(VCS_REVISION).arg(portable).arg(STRDATE) + "</td>" "</tr><tr></tr><tr>" "<td>" + tr("Application directory:") + " </td>" "<td>" + QCoreApplication::applicationDirPath() + "</td>" "</tr><tr>" "<td>" + tr("Resource directory:") + " </td>" "<td>" + mainApp->resourcesDir() + "</td>" "</tr><tr>" "<td>" + tr("Data directory:") + " </td>" "<td>" + mainApp->dataDir() + "</td>" "</tr><tr>" "<td>" + tr("Backup directory:") + " </td>" "<td>" + mainApp->dataDir() + "/backup" + "</td>" "</tr><tr></tr><tr>" "<td>" + tr("Database file:") + " </td>" "<td>" + mainApp->dbFileName() + "</td>" "</tr><tr>" "<td>" + tr("Settings file:") + " </td>" "<td>" + settings.fileName() + "</td>" "</tr><tr>" "<td>" + tr("Log file:") + " </td>" "<td>" + mainApp->dataDir() + "/debug.log" + "</td>" "</tr></table>"; QTextEdit *informationTextEdit = new QTextEdit(); informationTextEdit->setReadOnly(true); informationTextEdit->setText(information); QHBoxLayout *informationLayout = new QHBoxLayout(); informationLayout->addWidget(informationTextEdit); QWidget *informationWidget = new QWidget(); informationWidget->setLayout(informationLayout); tabWidget->addTab(mainWidget, tr("Version")); tabWidget->addTab(authorsWidget, tr("Authors")); tabWidget->addTab(historyWidget, tr("History")); tabWidget->addTab(licenseWidget, tr("License")); tabWidget->addTab(informationWidget, tr("Information")); pageLayout->addWidget(tabWidget); buttonBox->addButton(QDialogButtonBox::Close); }
QtWebKitWebBackend::QtWebKitWebBackend(QObject *parent) : WebBackend(parent), m_isInitialized(false) { QtWebKitPage *page = new QtWebKitPage(); const QList<QString> userAgentSplited = page->getDefaultUserAgent().split(QLatin1Char(' ')); for (int i = 1; i < userAgentSplited.count(); ++i) { m_userAgentComponents[QLatin1String("platform")] += userAgentSplited.at(i); if (userAgentSplited.at(i).endsWith(QLatin1Char(')'))) { break; } else { m_userAgentComponents[QLatin1String("platform")] += QLatin1Char(' '); } } m_userAgentComponents[QLatin1String("engineVersion")] = QLatin1String("AppleWebKit/") + qWebKitVersion(); m_userAgentComponents[QLatin1String("applicationVersion")] = QCoreApplication::applicationName() + QLatin1Char('/') + QCoreApplication::applicationVersion(); page->deleteLater(); }
QString QtWebKitWebBackend::getEngineVersion() const { return qWebKitVersion(); }
void tst_QWebView::getWebKitVersion() { QVERIFY(qWebKitVersion().toDouble() > 0); }
void qupzilla_signal_handler(int s) { switch (s) { case SIGPIPE: // When using QtWebKit 2.2 and running QupZilla with gdb, I have experienced // some SIGPIPEs so far (not with other versions, only with this). // But every time, QupZilla was running fine after SIGPIPE, so we are catching // this signal and ignoring it to prevent unneeded crash because of it. std::cout << "QupZilla: Caught SIGPIPE!" << std::endl; break; case SIGSEGV: { static bool sigSegvServed = false; if (sigSegvServed) { abort(); } sigSegvServed = true; std::cout << "QupZilla: Crashed :( Saving backtrace in " << qPrintable(mApp->PROFILEDIR) << "crashlog ..." << std::endl; void* array[100]; int size = backtrace(array, 100); char** strings = backtrace_symbols(array, size); if (size < 0 || !strings) { std::cout << "Cannot get backtrace!" << std::endl; abort(); } QDir dir(mApp->PROFILEDIR); if (!dir.exists()) { std::cout << qPrintable(mApp->PROFILEDIR) << " does not exist" << std::endl; abort(); } if (!dir.cd("crashlog")) { if (!dir.mkdir("crashlog")) { std::cout << "Cannot create " << qPrintable(mApp->PROFILEDIR) << "crashlog directory!" << std::endl; abort(); } dir.cd("crashlog"); } const QDateTime ¤tDateTime = QDateTime::currentDateTime(); QFile file(dir.absoluteFilePath("Crash-" + currentDateTime.toString(Qt::ISODate) + ".txt")); if (!file.open(QFile::WriteOnly | QFile::Truncate)) { std::cout << "Cannot open file " << qPrintable(file.fileName()) << " for writing!" << std::endl; abort(); } QTextStream stream(&file); stream << "Time: " << currentDateTime.toString() << endl; stream << "Qt version: " << qVersion() << " (compiled with " << QT_VERSION_STR << ")" << endl; stream << "QupZilla version: " << QupZilla::VERSION << endl; stream << "WebKit version: " << qWebKitVersion() << endl; stream << endl; stream << "============== BACKTRACE ==============" << endl; for (int i = 0; i < size; ++i) { stream << "#" << i << ": " << strings[i] << endl; } file.close(); std::cout << "Backtrace successfuly saved in " << qPrintable(dir.absoluteFilePath(file.fileName())) << std::endl; } default: break; } }