fixed wordListWidget acting when word list is empty
[mdictionary] / src / mdictionary / gui / WordListWidget.h
index 7b26e51..9177529 100644 (file)
     Copyright 2010 Comarch S.A.
 
 *******************************************************************************/
-//! \file WordListwidget.h
-//! \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+/*! \file WordListwidget.h
+    \brief Displays list of words found in dictionaries
+
+    \author Mateusz Półrola <mateusz.polrola@comarch.pl>
+*/
 
 #ifndef WORDLISTWIDGET_H
 #define WORDLISTWIDGET_H
 
 #include <QtGui>
 #include <QStringListModel>
+#include <QVBoxLayout>
 #include "../backbone/backbone.h"
 #include "WordListProxyStyle.h"
+#include "WordListModel.h"
+#include <QtDeclarative/QDeclarativeView>
+#include <QtDeclarative/QDeclarativeContext>
 
-//! Displays list of words found in dictionaries
 /*!
     It allows user to select word to see its translation or to mark or unmark
     it as "star" (add/remove from bookmarks). It inherits from QTreeView
@@ -56,6 +62,9 @@ Q_SIGNALS:
     //! Requests to remove selected word from bookmarks
     void removeBookmark(QList<Translation*>);
 
+    void setWordListState(QVariant state);
+    void setWordListEmpty(QVariant state);
+
 
 public Q_SLOTS:
     //! Shows search results
@@ -73,7 +82,10 @@ public Q_SLOTS:
     //! clears list
     void clear();
 
+    void bookmarkModeActive();
+
 protected:
+#ifdef Q_WS_MAEMO_5
     //! Reimplemented standard mouseReleaseEvent to check if user clicked on
     //! a word or on its star to emit suitable signal
     void mouseReleaseEvent(QMouseEvent *event);
@@ -82,9 +94,11 @@ protected:
     //! side next to scroll bar
     void resizeEvent(QResizeEvent *event);
 
-
-
+    //! Checks if user press return and if so displays translation of selected word
+    void keyPressEvent( QKeyEvent * event);
+#endif
 private Q_SLOTS:
+#ifdef Q_WS_MAEMO_5
     //! Emits signal to show translation of clicked item. Signal is emitted
     //! only when a word was clicked.
     void wordClicked(QModelIndex index);
@@ -92,7 +106,11 @@ private Q_SLOTS:
     //! Emits signal to show add or remove word from bookmarks.
     //! Signal is emitted only when a star was clicked.
     void wordChecked(QModelIndex index);
-
+#else
+    void wordClicked(QString word);
+    void addToBookmarks(QString word);
+    void removeFromBookmarks(QString word);
+#endif
 
 
 private:
@@ -110,6 +128,15 @@ private:
     //! Association between words and their translations
     QHash<QString, QList<Translation*> > searchResult;
     WordListProxyStyle* proxyStyle;
+
+    bool _isBookmarkModeActive;
+
+#ifndef Q_WS_MAEMO_5
+    QVBoxLayout* verticalLayout;
+    QDeclarativeView* qmlView;
+    QDeclarativeContext* ctxt;
+    WordListModel* listModel;
+#endif
 };
 
 #endif // WORDLISTWIDGET_H