• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

marble

  • sources
  • kde-4.12
  • kdeedu
  • marble
  • src
  • lib
  • marble
MarbleWebView.cpp
Go to the documentation of this file.
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2012 Illya Kovalevskyy <illya.kovalevskyy@gmail.com>
9 //
10 
11 #include <QApplication>
12 #include <QMenu>
13 #include <QContextMenuEvent>
14 #include <QKeyEvent>
15 #include <QClipboard>
16 #include "MarbleWebView.h"
17 
18 MarbleWebView::MarbleWebView(QWidget *parent) :
19  QWebView(parent),
20  m_contextMenu(new QMenu(this)),
21  m_copyAction(new QAction(this))
22 {
23  m_copyAction->setText(tr("Copy"));
24  m_copyAction->setIcon(QIcon(":/icons/edit-copy.png"));
25  m_copyAction->setIconVisibleInMenu(true);
26  m_copyAction->setToolTip(tr("Copy selected content"));
27  connect(m_copyAction, SIGNAL(triggered()),
28  this, SLOT(copySelectedText()));
29  m_contextMenu->addAction(m_copyAction);
30  setContextMenuPolicy(Qt::DefaultContextMenu);
31 }
32 
33 void MarbleWebView::contextMenuEvent(QContextMenuEvent *event)
34 {
35  m_copyAction->setEnabled(!selectedText().isEmpty());
36  m_contextMenu->exec(event->globalPos());
37 }
38 
39 void MarbleWebView::copySelectedText()
40 {
41  const QString text = selectedText();
42  if (!text.isEmpty()) {
43  QClipboard *clipboard = QApplication::clipboard();
44  clipboard->setText(text);
45  }
46 }
47 
48 void MarbleWebView::keyPressEvent(QKeyEvent *event)
49 {
50  if(event->modifiers() == Qt::ControlModifier && event->key() == Qt::Key_C) {
51  copySelectedText();
52  return;
53  }
54 
55  QWebView::keyPressEvent(event);
56 }
57 
58 #include "MarbleWebView.moc"
MarbleWebView::keyPressEvent
void keyPressEvent(QKeyEvent *event)
Definition: MarbleWebView.cpp:48
MarbleWebView::contextMenuEvent
void contextMenuEvent(QContextMenuEvent *event)
Definition: MarbleWebView.cpp:33
MarbleWebView.h
QWidget
MarbleWebView::MarbleWebView
MarbleWebView(QWidget *parent=0)
Definition: MarbleWebView.cpp:18
QWebView
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:38:51 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

marble

Skip menu "marble"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • kstars
  • libkdeedu
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal