From: Michael Andreen Date: Sat, 2 Dec 2000 16:01:18 +0000 (+0000) Subject: It is now possible to add, remove and modify contacts. X-Git-Tag: a~7 X-Git-Url: https://ruin.nu/git/?p=adress.git;a=commitdiff_plain;h=365dabc89c0592bc776ff088db44a6533a86b923;hp=1197b29fa2d68f604352fe6eef3e9776a63bb87b It is now possible to add, remove and modify contacts. No known bugs so far.. --- diff --git a/contact.cpp b/contact.cpp index a8ffa35..7eec713 100644 --- a/contact.cpp +++ b/contact.cpp @@ -14,7 +14,7 @@ QString toLower(QString& s) }*/ -CContact::CContact(QString &firstname, QString &lastname, QString &adress, QString &phonenumber) +CContact::CContact(const QString &firstname, const QString &lastname, const QString &adress, const QString &phonenumber) { strings[0] = firstname; strings[1] = lastname; diff --git a/contact.h b/contact.h index 3f16e26..b9c0a56 100644 --- a/contact.h +++ b/contact.h @@ -8,7 +8,7 @@ class CContact { public: - CContact(QString &firstname, QString &lastname, QString &adress, QString &phonenumber); + CContact(const QString &firstname, const QString &lastname, const QString &adress, const QString &phonenumber); ~CContact(); QString firstname(); diff --git a/contactmodifyer.cpp b/contactmodifyer.cpp index da73481..ac66e50 100644 --- a/contactmodifyer.cpp +++ b/contactmodifyer.cpp @@ -39,6 +39,7 @@ ContactModifier::~ContactModifier() void ContactModifier::slotOK() { (void) new CContact( FirstnameLine->text(), LastnameLine->text(), AdressLine->text(), PhoneNumberLine->text()); + //qWarning("Har skapat sakerna"); if (m_contact != '\0') { diff --git a/contactmodifyer.h b/contactmodifyer.h index df4d4a6..26e274c 100644 --- a/contactmodifyer.h +++ b/contactmodifyer.h @@ -9,7 +9,7 @@ class ContactModifier : public ContactModifierBase Q_OBJECT public: - ContactModifier(CContact* contact = 0, QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 ); + ContactModifier(CContact* contact = '\0', QWidget* parent = 0, const char* name = 0, bool modal = true, WFlags fl = 0 ); ~ContactModifier(); diff --git a/mainwindow.cpp b/mainwindow.cpp index ce83c8c..094e54f 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,6 +1,8 @@ #include "mainwindow.h" #include +#include "contactmodifyer.h" + /* BRÖÖL * Constructs a MainWindow which is a child of 'parent', with the * name 'name' and widget flags set to 'f' @@ -56,14 +58,40 @@ void MainWindow::slotSave() */ void MainWindow::slotAdd() { - qWarning( "MainWindow::slotAdd() not yet implemented!" ); + ContactModifier add; + if(add.exec() == QDialog::Accepted) + updateView(); } /* * public slot */ void MainWindow::slotDel() { - qWarning( "MainWindow::slotDel() not yet implemented!" ); + QListViewItem* lvi = ContactView->selectedItem(); + + if (lvi == '\0') + { + return; + } + + int num = lvi->text(0).toInt(); + + if (num < 1 || num > CContact::getNum()) + return; + + CContact* contact = CContact::getFirst(); + + for (int i = 1; i < num; i++, contact = contact->getNext()) + { + if (contact->getNext() == '\0') + { + return; + } + } + + delete contact; + updateView(); + //qWarning( "MainWindow::slotDel() not yet implemented!" ); } /* * public slot @@ -105,7 +133,28 @@ void MainWindow::slotSearch() void MainWindow::slotModify(QListViewItem* lvi) { - qWarning( "MainWindow::slotModif(QListViewItem*) not yet implemented!" ); + if (lvi == '\0') + { + return; + } + + int num = lvi->text(0).toInt(); + + if (num < 1 || num > CContact::getNum()) + return; + + CContact* contact = CContact::getFirst(); + + for (int i = 1; i < num; i++, contact = contact->getNext()) + { + if (contact->getNext() == '\0') + { + return; + } + } + ContactModifier modify(contact); + if(modify.exec() == QDialog::Accepted) + updateView(); } /* * This funtion puts all contacts in the listview