Context menu added for webkig: search, copy, selectall
[mdictionary] / trunk / src / base / gui / TranslationTextEdit.cpp
1 /*******************************************************************************
2
3     This file is part of mDictionary.
4
5     mDictionary is free software: you can redistribute it and/or modify
6     it under the terms of the GNU General Public License as published by
7     the Free Software Foundation, either version 3 of the License, or
8     (at your option) any later version.
9
10     mDictionary is distributed in the hope that it will be useful,
11     but WITHOUT ANY WARRANTY; without even the implied warranty of
12     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13     GNU General Public License for more details.
14
15     You should have received a copy of the GNU General Public License
16     along with mDictionary.  If not, see <http://www.gnu.org/licenses/>.
17
18     Copyright 2010 Comarch S.A.
19
20 *******************************************************************************/
21
22 //Created by Mateusz Półrola
23
24 #include <QtGui>
25 #include "TranslationTextEdit.h"
26
27 TranslationTextEdit::TranslationTextEdit(QWidget *parent) :
28     QWebView(parent)
29 {
30     searchSelectedAction = new QAction(tr("Search"), this);
31     copySelectedAction = new QAction(tr("Copy"), this);
32     selectAllAction = new QAction(tr("Select All"), this);
33
34     connect(searchSelectedAction, SIGNAL(triggered()),
35             this, SIGNAL(search()));
36 }
37
38 void TranslationTextEdit::contextMenuEvent(QContextMenuEvent *e) {
39     QMenu *menu = new QMenu;
40     if(selectedText().isEmpty())
41         searchSelectedAction->setEnabled(false);
42     else
43         searchSelectedAction->setEnabled(true);
44
45     menu->addAction(searchSelectedAction);
46     menu->addSeparator();
47     menu->addAction(pageAction(QWebPage::Copy));
48     menu->addAction(pageAction(QWebPage::SelectAll));
49
50     menu->exec(e->globalPos());
51     delete menu;
52
53     e->ignore();
54 }
55
56
57