Added context menu to TranslationWidget
authorMateusz Półrola <mateusz.polrola@comarch.pl>
Thu, 5 Aug 2010 10:01:45 +0000 (12:01 +0200)
committerMateusz Półrola <mateusz.polrola@comarch.pl>
Thu, 5 Aug 2010 10:01:45 +0000 (12:01 +0200)
trunk/src/base/gui/SearchBarWidget.cpp
trunk/src/base/gui/TranslationWidget.cpp
trunk/src/base/gui/TranslationWidget.h
trunk/src/base/gui/WordListWidget.cpp

index 4009da1..6ff6694 100644 (file)
@@ -88,7 +88,7 @@ void SearchBarWidget::initializeUI() {
 
 
     clearSearchWordToolButton = new QToolButton();
-    clearSearchWordToolButton->setIcon(QIcon("sowa.svg"));
+    clearSearchWordToolButton->setIcon(QIcon::fromTheme("gtk-delete"));
     //tool buttons will have size 2 times smaller
     clearSearchWordToolButton->setMaximumSize(
             clearSearchWordToolButton->sizeHint().width()/2,
@@ -96,21 +96,21 @@ void SearchBarWidget::initializeUI() {
 
 
     historyNextToolButton = new QToolButton();
-    historyNextToolButton->setIcon(QIcon("sowa.svg"));
+    historyNextToolButton->setIcon(QIcon::fromTheme("gtk-go-forward"));
     historyNextToolButton->setMaximumSize(
             historyNextToolButton->sizeHint().width()/2,
             historyNextToolButton->sizeHint().height()/2);
 
 
     historyPrevToolButton = new QToolButton();
-    historyPrevToolButton->setIcon(QIcon("sowa.svg"));
+    historyPrevToolButton->setIcon(QIcon::fromTheme("gtk-go-back"));
     historyPrevToolButton->setMaximumSize(
             historyPrevToolButton->sizeHint().width()/2,
             historyPrevToolButton->sizeHint().height()/2);
 
 
     historyShowToolButton = new QToolButton();
-    historyShowToolButton->setIcon(QIcon("sowa.svg"));
+    historyShowToolButton->setIcon(QIcon::fromTheme("gtk-go-up"));
     historyShowToolButton->setMaximumSize(
             historyShowToolButton->sizeHint().width()/2,
             historyShowToolButton->sizeHint().height()/2);
index a14b821..78e7b3d 100644 (file)
 #include <QDebug>
 
 TranslationWidget::TranslationWidget(Backbone *backbone, QWidget *parent):
-    QWidget(parent) {
+    QTextEdit(parent) {
 
     this->backbone = backbone;
 
     setAttribute(Qt::WA_Maemo5StackedWindow);
     setWindowFlags(windowFlags() | Qt::Window);
 
+    setContextMenuPolicy(Qt::CustomContextMenu);
+
+    setReadOnly(true);
+
+    connect(this, SIGNAL(customContextMenuRequested(QPoint)),
+            this, SLOT(showContextMenu(QPoint)));
+
     initializeUI();
 }
 
 void TranslationWidget::show(QModelIndex index) {
     QWidget::show();
+    clear();
     QString v = index.model()->data(index, Qt::DisplayRole).toString();
     Translation* t = backbone->result().value(v);
-    translationTextEdit->setText(t->toHtml());
+    setText(t->toHtml());
+    update();
 }
 
 void TranslationWidget::initializeUI() {
-    verticalLayout = new QVBoxLayout;
+    contextMenu = new QMenu;
 
-    translationTextEdit = new QTextEdit;
-
-    verticalLayout->addWidget(translationTextEdit);
+    contextMenu->addAction(tr("Copy"), this, SLOT(copy()));
+    contextMenu->addAction(tr("Paste"), this, SLOT(paste()));
+    contextMenu->addAction(tr("Select all"), this, SLOT(selectAll()));
+}
 
-    setLayout(verticalLayout);
+void TranslationWidget::showContextMenu(QPoint pos) {
+    contextMenu->exec(pos);
 }
 
index 721f702..f4afadd 100644 (file)
@@ -33,7 +33,7 @@
 /*!
     Display many translation of word, formatted as html.
 */
-class TranslationWidget : public QWidget {
+class TranslationWidget : public QTextEdit {
     Q_OBJECT
 public:
     explicit TranslationWidget(Backbone* backbone, QWidget *parent = 0);
@@ -44,10 +44,13 @@ public Q_SLOTS:
     //! Request to show translation of word passed as QModelIndex from word list
     void show(QModelIndex);
 
+private Q_SLOTS:
+    void showContextMenu(QPoint pos);
+
 private:
     Backbone *backbone;
-    QTextEdit* translationTextEdit;
-    QVBoxLayout* verticalLayout;
+    QMenu *contextMenu;
+
 
     void initializeUI();
 
index 3174537..2ad4e49 100644 (file)
@@ -67,5 +67,5 @@ void WordListWidget::showSearchResults() {
          addWord(i.key(), i.value());
     }
 
-    wordListModel->sort(0, Qt::DescendingOrder);
+    wordListModel->sort(0, Qt::AscendingOrder);
 }