Exemplo n.º 1
0
AddressBook::AddressBook(QWidget *parent)
    : QMainWindow(parent)
{
    QStringList labels;
    labels << tr("Name") << tr("Address") << tr("Phone Number");

    treeWidget = new QTreeWidget;
    treeWidget->setColumnCount(3);
    treeWidget->setHeaderLabels(labels);
    setCentralWidget(treeWidget);

    createActions();
    createMenus();

    QFile file(QDir::homePath() + "/addressbook.txt");
    if (file.open(QIODevice::ReadOnly)) {
        QTextStream in(&file);
        in.setCodec("UTF-8");

        while (!in.atEnd()) {
            ABItem *entry = new ABItem(treeWidget);
            entry->setContact(in.readLine());
            entry->setAddress(in.readLine());
            entry->setPhoneNumber(in.readLine());
            in.readLine();
        }
    }
}
Exemplo n.º 2
0
AddressBook::AddressBook(QWidget *parent, const char *name)
    : QMainWindow(parent, name)
{
    setCaption(tr("Address Book"));

    listView = new QListView(this);
    listView->addColumn(tr("Name"));
    listView->addColumn(tr("Address"));
    listView->addColumn(tr("Phone Number"));
    listView->setAllColumnsShowFocus(true);
    listView->setResizeMode(QListView::LastColumn);
    setCentralWidget(listView);

    createActions();
    createMenus();

    QFile file(QDir::homeDirPath() + "/addressbook.txt");
    if (file.open(IO_ReadOnly | IO_Translate)) {
        QTextStream input(&file);
        input.setEncoding(QTextStream::UnicodeUTF8);

        while (!input.eof()) {
            ABItem *entry = new ABItem(listView);
            entry->setContact(input.readLine());
            entry->setAddress(input.readLine());
            entry->setPhoneNumber(input.readLine());
            input.readLine();
        }
    }
}
Exemplo n.º 3
0
AddressBook::~AddressBook()
{
    QFile file(QDir::homePath() + "/addressbook.txt");
    if (file.open(QIODevice::WriteOnly)) {
        QTextStream output(&file);
        output.setCodec("UTF-8");

        for (int i = 0; i < treeWidget->topLevelItemCount(); ++i) {
            ABItem *entry =
                    static_cast<ABItem *>(treeWidget->topLevelItem(i));
            output << entry->contact() << endl;
            output << entry->address() << endl;
            output << entry->phoneNumber() << endl;
            output << endl;
        }
    }
}
Exemplo n.º 4
0
AddressBook::~AddressBook()
{
    QFile file(QDir::homeDirPath() + "/addressbook.txt");
    if (file.open(IO_WriteOnly | IO_Translate)) {
        QTextStream output(&file);
        output.setEncoding(QTextStream::UnicodeUTF8);
        QListViewItemIterator it(listView);
        while (it.current()) {
            ABItem *entry = (ABItem*)it.current();
            output << entry->contact() << endl;
            output << entry->address() << endl;
            output << entry->phoneNumber() << endl;
            output << endl;
            ++it;
        }
    }
}
Exemplo n.º 5
0
ABItem *AddressBook::createEntry(const QString &contact)
{
    ABItem *item = new ABItem(treeWidget);
    item->setContact(contact);
    return item;
}