# HG changeset patch # User John W. Eaton # Date 1381536289 14400 # Node ID 482222fe5b35c051215d5d5cbf4d7303f777e537 # Parent e693b2622f7205b998f630b51a06a314236de167 use QTextBrowser instead of QWebView to display community news * configure.ac: Don't check for QtWebKit. * news-dock-widget.h, news-dock-widget.cc (news_dock_widget): Use QTextBrowser to display news. diff --git a/configure.ac b/configure.ac --- a/configure.ac +++ b/configure.ac @@ -2623,16 +2623,16 @@ if test $build_gui = yes; then ## Check for Qt libraries - PKG_CHECK_MODULES(QT, [QtCore, QtGui, QtNetwork, QtWebKit], + PKG_CHECK_MODULES(QT, [QtCore, QtGui, QtNetwork], [], [AC_MSG_WARN([Qt libraries not found -- disabling GUI]) build_gui=no]) if test $build_gui = yes; then ## Retrieve Qt compilation and linker flags - QT_CPPFLAGS="`$PKG_CONFIG --cflags-only-I QtCore QtGui QtNetwork QtWebKit`" - QT_LDFLAGS="`$PKG_CONFIG --libs-only-L QtCore QtGui QtNetwork QtWebKit`" - QT_LIBS="`$PKG_CONFIG --libs-only-l QtCore QtGui QtNetwork QtWebKit`" + QT_CPPFLAGS="`$PKG_CONFIG --cflags-only-I QtCore QtGui QtNetwork`" + QT_LDFLAGS="`$PKG_CONFIG --libs-only-L QtCore QtGui QtNetwork`" + QT_LIBS="`$PKG_CONFIG --libs-only-l QtCore QtGui QtNetwork`" ## Check for Qt4 if ! `$PKG_CONFIG --atleast-version=4.0.0 QtCore`; then diff --git a/libgui/src/main-window.cc b/libgui/src/main-window.cc --- a/libgui/src/main-window.cc +++ b/libgui/src/main-window.cc @@ -40,8 +40,6 @@ #include #include -#include - #include #ifdef HAVE_QSCINTILLA diff --git a/libgui/src/news-dock-widget.cc b/libgui/src/news-dock-widget.cc --- a/libgui/src/news-dock-widget.cc +++ b/libgui/src/news-dock-widget.cc @@ -26,7 +26,6 @@ #include -#include #include #include "news-dock-widget.h" @@ -38,15 +37,16 @@ #include "version.h" news_dock_widget::news_dock_widget (QWidget *p) - : octave_dock_widget (p), news_browser (new QWebView (p)) + : octave_dock_widget (p), browser (new QTextBrowser (this)) { - news_browser->setObjectName ("OctaveNews"); - setObjectName ("NewsDockWidget"); setWindowIcon (QIcon (":/icons/logo.png")); set_title (tr ("Community News")); - setWidget (news_browser); + browser->setObjectName ("OctaveNews"); + browser->setOpenExternalLinks (true); + + setWidget (browser); load_news (); } @@ -63,8 +63,8 @@ reader->moveToThread (worker_thread); - connect (reader, SIGNAL (display_news_signal (const QString&, const QUrl&)), - this, SLOT (display_news (const QString&, const QUrl&))); + connect (reader, SIGNAL (display_news_signal (const QString&)), + this, SLOT (display_news (const QString&))); connect (worker_thread, SIGNAL (started (void)), reader, SLOT (process ())); @@ -99,17 +99,17 @@ \n"; void -news_dock_widget::display_news (const QString& news, const QUrl& base_url) +news_dock_widget::display_news (const QString& news) { if (news.contains ("this-is-the-gnu-octave-community-news-page")) { - news_browser->setHtml (news, base_url); + browser->setHtml (news); if (news.contains ("critical-news-event") && ! isVisible ()) setVisible (true); } else - news_browser->setHtml (fixed_news); + browser->setHtml (fixed_news); } void @@ -131,7 +131,7 @@ if (octave_dot_org.good ()) html_text = QString::fromStdString (buf.str ()); - emit display_news_signal (html_text, QUrl (base_url)); + emit display_news_signal (html_text); emit finished (); } diff --git a/libgui/src/news-dock-widget.h b/libgui/src/news-dock-widget.h --- a/libgui/src/news-dock-widget.h +++ b/libgui/src/news-dock-widget.h @@ -23,8 +23,7 @@ #ifndef NEWSDOCKWIDGET_H #define NEWSDOCKWIDGET_H -#include -#include +#include #include "octave-dock-widget.h" @@ -40,11 +39,11 @@ protected slots: - void display_news (const QString& news, const QUrl& base_url); + void display_news (const QString& news); private: - QWebView *news_browser; + QTextBrowser *browser; }; class news_reader : public QObject @@ -62,7 +61,7 @@ signals: - void display_news_signal (const QString& news, const QUrl& base_url); + void display_news_signal (const QString& news); void finished (void);