--- a/tests/qtp/qtp_addressbook/addresswidget.cpp Fri Sep 17 08:34:18 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,238 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the examples of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** No Commercial Usage
-** This file contains pre-release code and may not be distributed.
-** You may use this file in accordance with the terms and conditions
-** contained in the Technology Preview License Agreement accompanying
-** this package.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 2.1 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 2.1 requirements
-** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
-**
-** In addition, as a special exception, Nokia gives you certain additional
-** rights. These rights are described in the Nokia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-** If you have questions regarding the use of this file, please contact
-** Nokia at qt-info@nokia.com.
-**
-**
-**
-**
-**
-**
-**
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtGui>
-#include "addresswidget.h"
-#include "adddialog.h"
-
-//! [0]
-AddressWidget::AddressWidget(QWidget *parent)
- : QTabWidget(parent)
-{
- table = new TableModel(this);
- newAddressTab = new NewAddressTab(this);
- connect(newAddressTab, SIGNAL(sendDetails(QString, QString)),
- this, SLOT(addEntry(QString, QString)));
-
- addTab(newAddressTab, "Address Book");
-
- setupTabs();
-}
-//! [0]
-
-//! [2]
-void AddressWidget::addEntry()
-{
- AddDialog aDialog;
-
- if (aDialog.exec()) {
- QString name = aDialog.nameText->text();
- QString address = aDialog.addressText->toPlainText();
-
- addEntry(name, address);
- }
-}
-//! [2]
-
-//! [3]
-void AddressWidget::addEntry(QString name, QString address)
-{
- QList< QPair<QString, QString> >list = table->getList();
- QPair<QString, QString> pair(name, address);
-
- if (!list.contains(pair)) {
- table->insertRows(0, 1, QModelIndex());
-
- QModelIndex index = table->index(0, 0, QModelIndex());
- table->setData(index, name, Qt::EditRole);
- index = table->index(0, 1, QModelIndex());
- table->setData(index, address, Qt::EditRole);
- removeTab(indexOf(newAddressTab));
- } else {
- QMessageBox::information(this, tr("Duplicate Name"),
- tr("The name \"%1\" already exists.").arg(name));
- }
-}
-//! [3]
-
-//! [4a]
-void AddressWidget::editEntry()
-{
- QTableView *temp = static_cast<QTableView*>(currentWidget());
- QSortFilterProxyModel *proxy = static_cast<QSortFilterProxyModel*>(temp->model());
- QItemSelectionModel *selectionModel = temp->selectionModel();
-
- QModelIndexList indexes = selectionModel->selectedRows();
- QModelIndex index, i;
- QString name;
- QString address;
- int row = -1;
-
- foreach (index, indexes) {
- row = proxy->mapToSource(index).row();
- i = table->index(row, 0, QModelIndex());
- QVariant varName = table->data(i, Qt::DisplayRole);
- name = varName.toString();
-
- i = table->index(row, 1, QModelIndex());
- QVariant varAddr = table->data(i, Qt::DisplayRole);
- address = varAddr.toString();
- }
-//! [4a]
-
-//! [4b]
- AddDialog aDialog;
- aDialog.setWindowTitle(tr("Edit a Contact"));
-
- aDialog.nameText->setReadOnly(true);
- aDialog.nameText->setText(name);
- aDialog.addressText->setText(address);
-
- if (aDialog.exec()) {
- QString newAddress = aDialog.addressText->toPlainText();
- if (newAddress != address) {
- i = table->index(row, 1, QModelIndex());
- table->setData(i, newAddress, Qt::EditRole);
- }
- }
-}
-//! [4b]
-
-//! [5]
-void AddressWidget::removeEntry()
-{
- QTableView *temp = static_cast<QTableView*>(currentWidget());
- QSortFilterProxyModel *proxy = static_cast<QSortFilterProxyModel*>(temp->model());
- QItemSelectionModel *selectionModel = temp->selectionModel();
-
- QModelIndexList indexes = selectionModel->selectedRows();
- QModelIndex index;
-
- foreach (index, indexes) {
- int row = proxy->mapToSource(index).row();
- table->removeRows(row, 1, QModelIndex());
- }
-
- if (table->rowCount(QModelIndex()) == 0) {
- insertTab(0, newAddressTab, "Address Book");
- }
-}
-//! [5]
-
-//! [1]
-void AddressWidget::setupTabs()
-{
- QStringList groups;
- groups << "ABC" << "DEF" << "GHI" << "JKL" << "MNO" << "PQR" << "STU" << "VW" << "XYZ";
-
- for (int i = 0; i < groups.size(); ++i) {
- QString str = groups.at(i);
-
- proxyModel = new QSortFilterProxyModel(this);
- proxyModel->setSourceModel(table);
- proxyModel->setDynamicSortFilter(true);
-
- QTableView *tableView = new QTableView;
- tableView->setModel(proxyModel);
- tableView->setSortingEnabled(true);
- tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
- tableView->horizontalHeader()->setStretchLastSection(true);
- tableView->verticalHeader()->hide();
- tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
- tableView->setSelectionMode(QAbstractItemView::SingleSelection);
-
- QString newStr = QString("^[%1].*").arg(str);
-
- proxyModel->setFilterRegExp(QRegExp(newStr, Qt::CaseInsensitive));
- proxyModel->setFilterKeyColumn(0);
- proxyModel->sort(0, Qt::AscendingOrder);
-
- connect(tableView->selectionModel(),
- SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
- this, SIGNAL(selectionChanged(const QItemSelection &)));
-
- addTab(tableView, str);
- }
-}
-//! [1]
-
-//! [7]
-void AddressWidget::readFromFile(QString fileName)
-{
- QFile file(fileName);
-
- if (!file.open(QIODevice::ReadOnly)) {
- QMessageBox::information(this, tr("Unable to open file"),
- file.errorString());
- return;
- }
-
- QList< QPair<QString, QString> > pairs = table->getList();
- QDataStream in(&file);
- in >> pairs;
-
- if (pairs.isEmpty()) {
- QMessageBox::information(this, tr("No contacts in file"),
- tr("The file you are attempting to open contains no contacts."));
- } else {
- for (int i=0; i<pairs.size(); ++i) {
- QPair<QString, QString> p = pairs.at(i);
- addEntry(p.first, p.second);
- }
- }
-}
-//! [7]
-
-//! [6]
-void AddressWidget::writeToFile(QString fileName)
-{
- QFile file(fileName);
-
- if (!file.open(QIODevice::WriteOnly)) {
- QMessageBox::information(this, tr("Unable to open file"), file.errorString());
- return;
- }
-
- QList< QPair<QString, QString> > pairs = table->getList();
- QDataStream out(&file);
- out << pairs;
-}
-//! [6]