1dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block/* 2dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 3dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * 4dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * This library is free software; you can redistribute it and/or 5dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * modify it under the terms of the GNU Library General Public 6dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * License as published by the Free Software Foundation; either 7dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * version 2 of the License, or (at your option) any later version. 8dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * 9dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * This library is distributed in the hope that it will be useful, 10dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * but WITHOUT ANY WARRANTY; without even the implied warranty of 11dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * Library General Public License for more details. 13dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * 14dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * You should have received a copy of the GNU Library General Public License 15dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * along with this library; see the file COPYING.LIB. If not, write to 16dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 17dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * Boston, MA 02110-1301, USA. 18dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block * 19dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block */ 20dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#ifndef QtMaemoWebPopup_h 21dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#define QtMaemoWebPopup_h 22dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 23dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch#include "qwebkitplatformplugin.h" 24dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 25dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#include <QDialog> 26dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 27dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockclass QListWidgetItem; 28dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockclass QListWidget; 29dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 30dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 31dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blocknamespace WebCore { 32dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 33dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockclass Maemo5Popup : public QDialog { 34dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Q_OBJECT 35dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockpublic: 36dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch Maemo5Popup(const QWebSelectData& data) : m_data(data) {} 37dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 38dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blocksignals: 39dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void itemClicked(int idx); 40dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 41dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockprotected slots: 42dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void onItemSelected(QListWidgetItem* item); 43dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 44dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockprotected: 45dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void populateList(); 46dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 47dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch const QWebSelectData& m_data; 48dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block QListWidget* m_list; 49dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}; 50dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 51dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 52dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdochclass QtMaemoWebPopup : public QWebSelectMethod { 53dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Q_OBJECT 54dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockpublic: 55dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block QtMaemoWebPopup(); 56dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block ~QtMaemoWebPopup(); 57dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 58dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch virtual void show(const QWebSelectData& data); 59dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block virtual void hide(); 60dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 61dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockprivate slots: 62dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void popupClosed(); 63dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block void itemClicked(int idx); 64dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 65dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockprivate: 66dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Maemo5Popup* m_popup; 67dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 68dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch Maemo5Popup* createPopup(const QWebSelectData& data); 69dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch Maemo5Popup* createSingleSelectionPopup(const QWebSelectData& data); 70dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch Maemo5Popup* createMultipleSelectionPopup(const QWebSelectData& data); 71dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}; 72dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 73dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 74dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockclass Maemo5SingleSelectionPopup : public Maemo5Popup { 75dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Q_OBJECT 76dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockpublic: 77dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch Maemo5SingleSelectionPopup(const QWebSelectData& data); 78dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}; 79dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 80dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 81dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockclass Maemo5MultipleSelectionPopup : public Maemo5Popup { 82dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block Q_OBJECT 83dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Blockpublic: 84dd8bb3de4f353a81954234999f1fea748aee2ea9Ben Murdoch Maemo5MultipleSelectionPopup(const QWebSelectData& data); 85dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block}; 86dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 87dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block} 88dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block 89dcc8cf2e65d1aa555cce12431a16547e66b469eeSteve Block#endif // QtMaemoWebPopup_h 90