summaryrefslogtreecommitdiffstats
path: root/scribus/sctextbrowser.cpp
diff options
context:
space:
mode:
authorcraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-01-01 11:40:09 +0000
committercraig <craig@11d20701-8431-0410-a711-e3c959e3b870>2012-01-01 11:40:09 +0000
commit7ed83b6c6666eb8b6b104c211ae7e52907350372 (patch)
tree4430b556abac0ad660a0aacf1887d77f85d8be02 /scribus/sctextbrowser.cpp
downloadscribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.gz
scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.tar.xz
scribus-7ed83b6c6666eb8b6b104c211ae7e52907350372.zip
Branch 1.3.5 tree to 1.4.x tree, goodbye 1.3.x
git-svn-id: svn://scribus.net/branches/Version14x/Scribus@17163 11d20701-8431-0410-a711-e3c959e3b870
Diffstat (limited to 'scribus/sctextbrowser.cpp')
-rw-r--r--scribus/sctextbrowser.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/scribus/sctextbrowser.cpp b/scribus/sctextbrowser.cpp
new file mode 100644
index 0000000..2989fb6
--- /dev/null
+++ b/scribus/sctextbrowser.cpp
@@ -0,0 +1,55 @@
+/*
+For general Scribus (>=1.3.2) copyright and licensing information please refer
+to the COPYING file provided with the program. Following this notice may exist
+a copyright and/or license notice that predates the release of Scribus 1.3.2
+for which a new license (GPL+exception) is in place.
+*/
+
+#include <QApplication>
+#include <QCursor>
+#include <QFileDialog>
+#include <QFileInfo>
+#include <QMessageBox>
+#include <QProcess>
+#include <QString>
+#include <QStringList>
+#include <QToolTip>
+#include <QUrl>
+
+#if defined(_WIN32)
+#include <windows.h>
+#include <shellapi.h>
+#endif
+
+#include "prefsmanager.h"
+#include "sctextbrowser.h"
+#include "urllauncher.h"
+
+ScTextBrowser::ScTextBrowser( QWidget * parent )
+ : QTextBrowser(parent)
+{
+ setOpenLinks(false);
+ connect(this, SIGNAL(highlighted(const QString &)), this, SLOT(hoverMouse(const QString &)));
+ connect(this, SIGNAL(anchorClicked(const QUrl &)), this, SLOT(navigateOverride(const QUrl &)));
+}
+
+void ScTextBrowser::hoverMouse(const QString &link)
+{
+ if (link.isEmpty())
+ qApp->changeOverrideCursor(QCursor(Qt::ArrowCursor));
+ else
+ {
+ qApp->changeOverrideCursor(QCursor(Qt::PointingHandCursor));
+// Add this back in if we want links to show in tooltips
+// QToolTip::showText(QCursor::pos(), link);
+ }
+ emit overLink(link);
+}
+
+void ScTextBrowser::navigateOverride(const QUrl & link)
+{
+ if (link.scheme()=="http")
+ UrlLauncher::instance()->launchUrlExt(link, parentWidget());
+ else
+ setSource(link);
+}