X-Git-Url: https://ruin.nu/git/?p=adress.git;a=blobdiff_plain;f=mainwindow.cpp;h=69131c7eb461414b489ba474135557dd62d7eb95;hp=4552b94bf9ea299409901b76f8a61cdce61e8346;hb=refs%2Fheads%2Forigin;hpb=7d9ac6d07bdb73b8ebce6b56cafd6e473b7086b1 diff --git a/mainwindow.cpp b/mainwindow.cpp index 4552b94..69131c7 100644 --- a/mainwindow.cpp +++ b/mainwindow.cpp @@ -1,6 +1,9 @@ #include "mainwindow.h" #include +#include "contactmodifyer.h" +#include "searchresult.h" + /* BRÖÖL * Constructs a MainWindow which is a child of 'parent', with the * name 'name' and widget flags set to 'f' @@ -8,7 +11,6 @@ MainWindow::MainWindow( QWidget* parent, const char* name, WFlags fl ) : CMainWindowBase( parent, name, fl ) { - slotLoad(); } /* @@ -57,14 +59,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 @@ -91,7 +119,7 @@ void MainWindow::slotLoad() QString adr = t.readLine(); QString pn = t.readLine(); if (fname == "" && lname == "" && lname == "" && pn == "") - continue; + continue; (void) new CContact(fname, lname, adr, pn); } updateView(); @@ -101,12 +129,66 @@ void MainWindow::slotLoad() */ void MainWindow::slotSearch() { - qWarning( "MainWindow::slotSearch() not yet implemented!" ); + if (SearchLine->text().isNull()) + return; + + SearchResult search(SearchLine->text(), SearchCombo->currentItem() + 1); + search.show(); + updateView(); } -void slotModify(QListViewItem* lvi) +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(); +} + +void MainWindow::slotModify() +{ + 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; + } + } + ContactModifier modify(contact); + if(modify.exec() == QDialog::Accepted) + updateView(); } /* * This funtion puts all contacts in the listview