--- /dev/null
+#include <QtGui>
+#include <QDebug>
+
+#include "contactpage.h"
+
+ContactPage::ContactPage(QWidget* parent)
+ : AbstractPage(parent)
+{
+ //qDebug() << "ContactPage::ContactPage(), Entry";
+
+ contactWidget = new ContactWidget(this);
+ contactWidget->sizePolicy().setHorizontalPolicy(QSizePolicy::Maximum);
+ connect( contactWidget, SIGNAL( validRecycle(bool) ), this, SLOT( onValidRecyele(bool) ) );
+ //contactWidget->setGeometry(0,0,600,600);
+
+ QGridLayout *layout = new QGridLayout(this);
+
+ scrollArea = new QScrollArea(this);
+ scrollArea->setBackgroundRole(QPalette::Light);
+
+ // for test
+// QLineEdit *edit = new QLineEdit("Line Edit");
+// edit->setGeometry(0,0,1000,1000);
+// scrollArea->setWidget(edit);
+ //
+
+
+ scrollArea->setWidget(contactWidget);
+ scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded);
+ scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded);
+ //scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
+ //scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
+
+ layout->addWidget(scrollArea, 0, 0, 1, 1);
+ setLayout(layout);
+}
+
+void ContactPage::updateSize()
+{
+ //qDebug() << "ContactPage::updateSize()";
+ contactWidget->resize( ( scrollArea->width() - scrollArea->verticalScrollBar()->width() - 5 ),
+ ( scrollArea->height() - scrollArea->horizontalScrollBar()->height() - 5 ));
+}
+
+void ContactPage::initContactWidget()
+{
+ contactWidget->initContactWidget();
+}
+
+void ContactPage::update()
+{
+ //qDebug() << "ContactPage::update()";
+ contactWidget->update();
+}
+
+void ContactPage::refreshContactList()
+{
+ contactWidget->refreshContactList();
+}
+
+QString ContactPage::title()
+{
+ return tr("ContactPage");
+}
+
+void ContactPage::cleanSelectedContactList()
+{
+ contactWidget->cleanSelectedContactList();
+}
+
+QVector<ContactWidgetItem*>* ContactPage::getSelectedContacts()
+{
+ return contactWidget->getSelectedContacts();
+}
+
+void ContactPage::onValidRecyele(bool valid)
+{
+ Q_EMIT validRecycle(valid);
+}
+
+void ContactPage::removeSelectedContact()
+{
+ contactWidget->removeSelectedContact();
+}
+
+void ContactPage::setContactItemObserver()
+{
+ contactWidget->setItemObserver();
+}