--- /dev/null
+#############################################################################
+# Makefile for building adress
+# Generated by tmake at 18:07, 2000/12/01
+# Project: adress
+# Template: app
+#############################################################################
+
+####### Compiler, tools and options
+
+CC = gcc
+CXX = g++
+CFLAGS = -pipe -Wall -W -g3
+CXXFLAGS= -pipe -Wall -W -g3
+INCPATH = -I$(QTDIR)/include
+LINK = g++
+LFLAGS =
+LIBS = $(SUBLIBS) -L$(QTDIR)/lib -L/usr/X11R6/lib -lqt -lXext -lX11 -lm
+MOC = $(QTDIR)/bin/moc
+UIC = $(QTDIR)/bin/uic
+
+TAR = tar -cf
+GZIP = gzip -9f
+
+####### Files
+
+HEADERS = contact.h \
+ mainwindow.h
+SOURCES = contact.cpp \
+ main.cpp \
+ mainwindow.cpp
+OBJECTS = contact.o \
+ main.o \
+ mainwindow.o \
+ ui/contactmodifyerbase.o \
+ ui/mainwindowbase.o \
+ ui/searchresultbase.o
+INTERFACES = ui/contactmodifyerbase.ui \
+ ui/mainwindowbase.ui \
+ ui/searchresultbase.ui
+UICDECLS = ui/contactmodifyerbase.h \
+ ui/mainwindowbase.h \
+ ui/searchresultbase.h
+UICIMPLS = ui/contactmodifyerbase.cpp \
+ ui/mainwindowbase.cpp \
+ ui/searchresultbase.cpp
+SRCMOC = moc_mainwindow.cpp \
+ ui/moc_contactmodifyerbase.cpp \
+ ui/moc_mainwindowbase.cpp \
+ ui/moc_searchresultbase.cpp
+OBJMOC = moc_mainwindow.o \
+ ui/moc_contactmodifyerbase.o \
+ ui/moc_mainwindowbase.o \
+ ui/moc_searchresultbase.o
+DIST =
+TARGET = adress
+
+####### Implicit rules
+
+.SUFFIXES: .cpp .cxx .cc .C .c
+
+.cpp.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.cxx.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.cc.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.C.o:
+ $(CXX) -c $(CXXFLAGS) $(INCPATH) -o $@ $<
+
+.c.o:
+ $(CC) -c $(CFLAGS) $(INCPATH) -o $@ $<
+
+####### Build rules
+
+
+all: $(TARGET)
+
+$(TARGET): $(UICDECLS) $(OBJECTS) $(OBJMOC)
+ $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJMOC) $(LIBS)
+
+moc: $(SRCMOC)
+
+tmake: Makefile
+
+Makefile: adress.pro
+ tmake adress.pro -o Makefile
+
+dist:
+ $(TAR) adress.tar adress.pro $(SOURCES) $(HEADERS) $(INTERFACES) $(DIST)
+ $(GZIP) adress.tar
+
+clean:
+ -rm -f $(OBJECTS) $(OBJMOC) $(SRCMOC) $(UICIMPLS) $(UICDECLS) $(TARGET)
+ -rm -f *~ core
+
+####### Sub-libraries
+
+
+###### Combined headers
+
+
+####### Compile
+
+contact.o: contact.cpp \
+ contact.h
+
+main.o: main.cpp \
+ mainwindow.h \
+ ui/mainwindowbase.h
+
+mainwindow.o: mainwindow.cpp \
+ mainwindow.h \
+ ui/mainwindowbase.h \
+ contact.h
+
+ui/contactmodifyerbase.h: ui/contactmodifyerbase.ui
+ $(UIC) ui/contactmodifyerbase.ui -o ui/contactmodifyerbase.h
+
+contactmodifyerbase.h: ui/contactmodifyerbase.ui
+ $(UIC) ui/contactmodifyerbase.ui -o contactmodifyerbase.h
+
+ui/contactmodifyerbase.cpp: ui/contactmodifyerbase.ui
+ $(UIC) ui/contactmodifyerbase.ui -i contactmodifyerbase.h -o ui/contactmodifyerbase.cpp
+
+ui/mainwindowbase.h: ui/mainwindowbase.ui
+ $(UIC) ui/mainwindowbase.ui -o ui/mainwindowbase.h
+
+mainwindowbase.h: ui/mainwindowbase.ui
+ $(UIC) ui/mainwindowbase.ui -o mainwindowbase.h
+
+ui/mainwindowbase.cpp: ui/mainwindowbase.ui
+ $(UIC) ui/mainwindowbase.ui -i mainwindowbase.h -o ui/mainwindowbase.cpp
+
+ui/searchresultbase.h: ui/searchresultbase.ui
+ $(UIC) ui/searchresultbase.ui -o ui/searchresultbase.h
+
+searchresultbase.h: ui/searchresultbase.ui
+ $(UIC) ui/searchresultbase.ui -o searchresultbase.h
+
+ui/searchresultbase.cpp: ui/searchresultbase.ui
+ $(UIC) ui/searchresultbase.ui -i searchresultbase.h -o ui/searchresultbase.cpp
+
+ui/contactmodifyerbase.o: ui/contactmodifyerbase.cpp \
+ ui/contactmodifyerbase.h
+
+ui/mainwindowbase.o: ui/mainwindowbase.cpp \
+ ui/mainwindowbase.h
+
+ui/searchresultbase.o: ui/searchresultbase.cpp \
+ ui/searchresultbase.h
+
+moc_mainwindow.o: moc_mainwindow.cpp \
+ mainwindow.h \
+ ui/mainwindowbase.h
+
+ui/moc_contactmodifyerbase.o: ui/moc_contactmodifyerbase.cpp \
+ ui/contactmodifyerbase.h
+
+ui/moc_mainwindowbase.o: ui/moc_mainwindowbase.cpp \
+ ui/mainwindowbase.h
+
+ui/moc_searchresultbase.o: ui/moc_searchresultbase.cpp \
+ ui/searchresultbase.h
+
+moc_mainwindow.cpp: mainwindow.h
+ $(MOC) mainwindow.h -o moc_mainwindow.cpp
+
+ui/moc_contactmodifyerbase.cpp: ui/contactmodifyerbase.h
+ $(MOC) ui/contactmodifyerbase.h -o ui/moc_contactmodifyerbase.cpp
+
+ui/moc_mainwindowbase.cpp: ui/mainwindowbase.h
+ $(MOC) ui/mainwindowbase.h -o ui/moc_mainwindowbase.cpp
+
+ui/moc_searchresultbase.cpp: ui/searchresultbase.h
+ $(MOC) ui/searchresultbase.h -o ui/moc_searchresultbase.cpp
+
--- /dev/null
+TEMPLATE = app
+CONFIG = qt warn_on debug
+HEADERS = contact.h \
+ mainwindow.h
+SOURCES = contact.cpp \
+ main.cpp \
+ mainwindow.cpp
+INTERFACES = ui/contactmodifyerbase.ui \
+ ui/mainwindowbase.ui \
+ ui/searchresultbase.ui
--- /dev/null
+#include "contact.h"
+#include <cctype>
+#include <cstring>
+#include <stl_algo.h>
+
+CContact* CContact::first = '\0';
+int CContact::num = 0;
+/*
+QString toLower(QString& s)
+{
+ QString st = s;
+ transform(st.begin(), st.end(), st.begin(), tolower);
+ return st;
+}*/
+
+
+CContact::CContact(QString &firstname, QString &lastname, QString &adress, QString &phonenumber)
+{
+ strings[0] = firstname;
+ strings[1] = lastname;
+ strings[2] = adress;
+ strings[3] = phonenumber;
+
+ num++;
+ next = '\0';
+ prev = '\0';
+ sort();
+
+}
+
+CContact::~CContact()
+{
+ num--;
+ remove();
+}
+
+void CContact::remove()
+{
+ if (next != '\0' && prev != '\0')
+ {
+ next->prev = prev;
+ prev->next = next;
+ }
+ else if (next != '\0' && prev == '\0')
+ {
+ next->prev = '\0';
+ first = next;
+ }
+ else if (next == '\0' && prev != '\0')
+ {
+ prev->next = '\0';
+ }
+ else
+ {
+ first = '\0';
+ }
+ next = '\0';
+ prev = '\0';
+}
+
+void CContact::sort()
+{
+ if (first == '\0')
+ {
+ first = this;
+ prev = '\0';
+ next = '\0';
+ return;
+ }
+ CContact* contact = first;
+ while (contact != '\0')
+ {
+ int test = strings[1].upper().compare(contact->strings[1].upper());
+
+ if (test == 0)
+ {
+ //int test2 = strcasecmp(strings[0].c_str(), contact->strings[0].c_str());
+ int test2 = strings[0].upper().compare(contact->strings[0].upper());
+
+ if (test2 < 0)
+ {
+ next = contact;
+ if (first == contact)
+ {
+ first = this;
+ prev = '\0';
+ contact->prev = this;
+ }
+ else
+ {
+ prev = contact->prev;
+ prev->next = this;
+ contact->prev = this;
+ }
+ break;
+ }
+ }
+
+ if (test < 0)
+ {
+ next = contact;
+ if (first == contact)
+ {
+ first = this;
+ prev = '\0';
+ contact->prev = this;
+ }
+ else
+ {
+ prev = contact->prev;
+ prev->next = this;
+ contact->prev = this;
+ }
+ break;
+ }
+ if (contact->next == '\0')
+ {
+ prev = contact;
+ next = '\0';
+ contact->next = this;
+
+ break;
+ }
+
+ contact = contact->next;
+ }
+}
+
+//Some functions
+QString CContact::firstname()
+{
+ return strings[0];
+}
+
+QString CContact::lastname()
+{
+ return strings[1];
+}
+
+QString CContact::adress()
+{
+ return strings[2];
+}
+
+QString CContact::phoneNumber()
+{
+ return strings[3];
+}
+
+bool CContact::search(int i, QString s)
+{
+ if (i > 0 && i < 5)
+ {
+ //char* s1 = s.c_str();
+ int test = strings[i - 1 ].find(s,0,false );
+// cout << strings[i - 1] << "\n" << s << "\n" << test << "\nTryck Enter";
+// cin.get();
+ if (test == 0) //QString::npos) //4294967295)
+ return true;
+ else
+ return false;
+ }
+ else
+ return false;
+}
+
+void CContact::modify(int i, QString s)
+{
+ if (i > 0 && i < 5)
+ {
+// cout << "Modifierar strängen " << i << " med namnet " << strings[0] << " \n";
+ strings[i - 1] = s;
+ if (i == 2)
+ {
+ // cout << "Tar bort gammal konfiguration\n";
+ remove();
+ // cout << "Lägger till den på rätt plats+n";
+ sort();
+ }
+ }
+}
+//Static functions
+CContact* CContact::getFirst()
+{
+ return first;
+}
+
+int CContact::getNum()
+{
+ return num;
+}
+
+
+CContact* CContact::getNext()
+{
+ return next;
+}
+
+CContact* CContact::getPrev()
+{
+ return prev;
+}
--- /dev/null
+#ifndef __contacth__
+#define __contacth__
+
+#include <qstring.h>
+#include <algorithm>
+#include <cctype>
+
+class CContact
+{
+public:
+ CContact(QString &firstname, QString &lastname, QString &adress, QString &phonenumber);
+ ~CContact();
+
+ QString firstname();
+ QString lastname();
+ QString adress();
+ QString phoneNumber();
+
+ bool search(int i, QString s);
+ void modify(int i, QString s);
+
+ //Static funktions
+ static CContact* getFirst();
+ static int getNum();
+
+ CContact* getNext();
+ CContact* getPrev();
+
+
+protected:
+ QString strings[4];
+
+ //Linked list
+ static CContact* first;
+ static int num;
+ CContact* next;
+ CContact* prev;
+ void sort();
+ void remove();
+};
+#endif
--- /dev/null
+#include <fstream>
+#include <string>
+#include "functions.h"
+#include <iostream>
+
+void load()
+{
+ ifstream in("/root/.adress");
+
+ while (!in.eof())
+ {
+ string fname;
+ string lname;
+ string adr;
+ string pn;
+ getline(in, fname);
+// cout << "Skapar " << fname << "\n";
+// cin.get();
+ getline(in, lname);
+ getline(in, adr);
+ getline(in, pn);
+ if (fname == "" && lname == "" && lname == "" && pn == "")
+ continue;
+ (void) new CContact(fname, lname, adr, pn);
+ }
+}
+
+void save()
+{
+ ofstream out;
+ out.open("/root/.adress");
+
+ CContact* contact = CContact::getFirst();
+
+ while ( contact != '\0')
+ {
+ out << contact->firstname() << "\n";
+ out << contact->lastname() << "\n";
+ out << contact->adress() << "\n";
+ out << contact->phoneNumber() << "\n";
+ contact=contact->getNext();
+ }
+ out.close();
+}
--- /dev/null
+#ifndef __functions_h__
+#define __functions_h__
+#include "contact.h"
+
+void display();
+void add();
+void remove();
+void printContactInfo(int num, CContact* contact);
+void search();
+
+void save();
+void load();
+
+void modify();
+
+#endif
--- /dev/null
+
+#include <qapplication.h>
+#include <qfont.h>
+#include <qstring.h>
+#include <qtextcodec.h>
+#include <qtranslator.h>
+
+#include "mainwindow.h"
+
+int main(int argc, char *argv[])
+{
+ QApplication a(argc, argv);
+ //a.setFont(QFont("helvetica", 12));
+ //QTranslator tor( 0 );
+ // set the location where your .qm files are in load() below as the last parameter instead of "."
+ // for development, use "/" to use the english original as
+ // .qm files are stored in the base project directory.
+ //tor.load( QString("|.") + QTextCodec::locale(), "." );
+ //a.installTranslator( &tor );
+ /* uncomment the following line, if you want a Windows 95 look*/
+ // a.setStyle(WindowsStyle);
+
+ MainWindow* mw=new MainWindow();
+ a.setMainWidget(mw);
+
+ mw->show();
+
+ return a.exec();
+}
+
+
--- /dev/null
+#include "mainwindow.h"
+#include <qfile.h>
+#include <qfiledialog.h>
+#include <qtextstream.h>
+#include <qstring.h>
+#include <qlistview.h>
+#include "contact.h"
+#include <iostream>
+
+/*
+ * Constructs a MainWindow which is a child of 'parent', with the
+ * name 'name' and widget flags set to 'f'
+ */
+MainWindow::MainWindow( QWidget* parent, const char* name, WFlags fl )
+ : CMainWindowBase( parent, name, fl )
+{
+ //connect(LoadButton, SIGNAL(clicked()), SLOT(slotLoad()));
+}
+
+/*
+ * Destroys the object and frees any allocated resources
+ */
+MainWindow::~MainWindow()
+{
+ // no need to delete child widgets, Qt does it all for us
+}
+
+/*
+ * public slot
+ */
+void MainWindow::slotSave()
+{
+ qWarning( "MainWindow::slotSave() not yet implemented!" );
+}
+/*
+ * public slot
+ */
+void MainWindow::slotAdd()
+{
+ qWarning( "MainWindow::slotAdd() not yet implemented!" );
+}
+/*
+ * public slot
+ */
+void MainWindow::slotDel()
+{
+ qWarning( "MainWindow::slotDel() not yet implemented!" );
+}
+/*
+ * public slot
+ */
+void MainWindow::slotLoad()
+{
+ QString filename(QFileDialog::getOpenFileName(0, "Adressfiler (*.adr)", this));
+ cout << "Funkar";
+ QFile f(filename);
+ if ( !f.open( IO_ReadOnly ) )
+ return;
+
+ QTextStream t(&f);
+
+ while (!t.eof())
+ {
+ QString fname = t.readLine();
+ QString lname = t.readLine();
+ QString adr = t.readLine();
+ QString pn = t.readLine();
+ if (fname == "" && lname == "" && lname == "" && pn == "")
+ continue;
+ (void) new CContact(fname, lname, adr, pn);
+ }
+ updateView();
+}
+/*
+ * public slot
+ */
+void MainWindow::slotSearch()
+{
+ qWarning( "MainWindow::slotSearch() not yet implemented!" );
+}
+
+
+/*
+ * This funtion puts all contacts in the listview
+ */
+void MainWindow::updateView()
+{
+
+ ContactView->clear();
+
+ CContact* contact = CContact::getFirst();
+
+ int i = 1;
+ QString s;
+
+ while (contact != '\0')
+ {
+ s = i;
+ (void) new QListViewItem(ContactView, s, contact->lastname(), contact->firstname(), contact->adress(), contact->phoneNumber());
+ contact = contact->getNext();
+ i++;
+ }
+}
--- /dev/null
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+#include "ui/mainwindowbase.h"
+
+class MainWindow : public CMainWindowBase
+{
+ Q_OBJECT
+
+public:
+ MainWindow( QWidget* parent = 0, const char* name = 0, WFlags fl = 0 );
+ ~MainWindow();
+
+public slots:
+ void slotSave();
+ void slotAdd();
+ void slotDel();
+ void slotLoad();
+ void slotSearch();
+
+protected:
+ void updateView();
+};
+
+#endif // MAINWINDOW_H
--- /dev/null
+<!DOCTYPE UI><UI>
+<class>ContactModifierBase</class>
+<author>Michael Andreen</author>
+<widget>
+ <class>QDialog</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>MyDialog</cstring>
+ </property>
+ <property stdset="1">
+ <name>geometry</name>
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>538</width>
+ <height>201</height>
+ </rect>
+ </property>
+ <property stdset="1">
+ <name>caption</name>
+ <string>Lägg till kontakt</string>
+ </property>
+ <property stdset="1">
+ <name>sizeGripEnabled</name>
+ <bool>true</bool>
+ </property>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>11</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget row="1" column="0" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout10</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>buttonOk</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&OK</string>
+ </property>
+ <property stdset="1">
+ <name>autoDefault</name>
+ <bool>true</bool>
+ </property>
+ <property stdset="1">
+ <name>default</name>
+ <bool>true</bool>
+ </property>
+ </widget>
+ <spacer>
+ <property>
+ <name>name</name>
+ <cstring>Spacer1</cstring>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Horizontal</enum>
+ </property>
+ <property stdset="1">
+ <name>sizeType</name>
+ <enum>Expanding</enum>
+ </property>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>buttonCancel</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Cancel</string>
+ </property>
+ <property stdset="1">
+ <name>autoDefault</name>
+ <bool>true</bool>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget row="0" column="0" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout13</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout12</cstring>
+ </property>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel1</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Förnamn</string>
+ </property>
+ <property>
+ <name>buddy</name>
+ <cstring>FirstnameLine</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel2</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Efternamn</string>
+ </property>
+ <property>
+ <name>buddy</name>
+ <cstring>LastnameLine</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel3</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Adress</string>
+ </property>
+ <property>
+ <name>buddy</name>
+ <cstring>AdressLine</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel4</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Telefonnummer</string>
+ </property>
+ <property>
+ <name>buddy</name>
+ <cstring>PhoneNumberLine</cstring>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout11</cstring>
+ </property>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>FirstnameLine</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>LastnameLine</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>AdressLine</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>PhoneNumberLine</cstring>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ </hbox>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>buttonOk</sender>
+ <signal>clicked()</signal>
+ <receiver>MyDialog</receiver>
+ <slot>accept()</slot>
+ </connection>
+ <connection>
+ <sender>buttonCancel</sender>
+ <signal>clicked()</signal>
+ <receiver>MyDialog</receiver>
+ <slot>reject()</slot>
+ </connection>
+</connections>
+</UI>
--- /dev/null
+<!DOCTYPE UI><UI>
+<class>CMainWindowBase</class>
+<author>Michael Andreen</author>
+<widget>
+ <class>QWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>unnamed</cstring>
+ </property>
+ <property stdset="1">
+ <name>geometry</name>
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>542</width>
+ <height>398</height>
+ </rect>
+ </property>
+ <property stdset="1">
+ <name>caption</name>
+ <string>Form1</string>
+ </property>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>11</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget row="0" column="0" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout4</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QListView</class>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Num</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Efternamn</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Förnamn</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Adress</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Telefonnummer</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>ContactView</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout3</cstring>
+ </property>
+ <vbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>LoadButton</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Ladda fil</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>SaveButton</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Spara</string>
+ </property>
+ </widget>
+ <spacer>
+ <property>
+ <name>name</name>
+ <cstring>Spacer1</cstring>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Vertical</enum>
+ </property>
+ <property stdset="1">
+ <name>sizeType</name>
+ <enum>Expanding</enum>
+ </property>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>AddButton</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Ny kontakt</string>
+ </property>
+ </widget>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>DelButton</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Ta bort</string>
+ </property>
+ </widget>
+ </vbox>
+ </widget>
+ </hbox>
+ </widget>
+ <widget row="1" column="0" >
+ <class>QGroupBox</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>GroupBox1</cstring>
+ </property>
+ <property stdset="1">
+ <name>title</name>
+ <string>GroupBox1</string>
+ </property>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>11</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget row="0" column="0" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout1</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel1</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Sök &kategori:</string>
+ </property>
+ <property>
+ <name>buddy</name>
+ <cstring>SearchCombo</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QComboBox</class>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Förnamn</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Efternamn</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Adress</string>
+ </property>
+ </item>
+ <item>
+ <property>
+ <name>text</name>
+ <string>Telefonnummer</string>
+ </property>
+ </item>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>SearchCombo</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>SearchButton</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>S&ök</string>
+ </property>
+ <property stdset="1">
+ <name>default</name>
+ <bool>true</bool>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget row="1" column="0" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout2</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QLabel</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>TextLabel2</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>Sök&ord</string>
+ </property>
+ <property>
+ <name>buddy</name>
+ <cstring>SearchLine</cstring>
+ </property>
+ </widget>
+ <widget>
+ <class>QLineEdit</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>SearchLine</cstring>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ </grid>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>LoadButton</sender>
+ <signal>clicked()</signal>
+ <receiver>unnamed</receiver>
+ <slot>slotLoad()</slot>
+ </connection>
+ <connection>
+ <sender>SaveButton</sender>
+ <signal>clicked()</signal>
+ <receiver>unnamed</receiver>
+ <slot>slotSave()</slot>
+ </connection>
+ <connection>
+ <sender>AddButton</sender>
+ <signal>clicked()</signal>
+ <receiver>unnamed</receiver>
+ <slot>slotAdd()</slot>
+ </connection>
+ <connection>
+ <sender>DelButton</sender>
+ <signal>clicked()</signal>
+ <receiver>unnamed</receiver>
+ <slot>slotDel()</slot>
+ </connection>
+ <connection>
+ <sender>SearchButton</sender>
+ <signal>clicked()</signal>
+ <receiver>unnamed</receiver>
+ <slot>slotSearch()</slot>
+ </connection>
+ <slot access="public">slotSave()</slot>
+ <slot access="public">slotAdd()</slot>
+ <slot access="public">slotDel()</slot>
+ <slot access="public">slotLoad()</slot>
+ <slot access="public">slotSearch()</slot>
+</connections>
+</UI>
--- /dev/null
+<!DOCTYPE UI><UI>
+<class>SearchResultBase</class>
+<author>Michael Andreen</author>
+<widget>
+ <class>QDialog</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>MyDialog</cstring>
+ </property>
+ <property stdset="1">
+ <name>geometry</name>
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>515</width>
+ <height>286</height>
+ </rect>
+ </property>
+ <property stdset="1">
+ <name>caption</name>
+ <string>Sökresultat</string>
+ </property>
+ <property stdset="1">
+ <name>sizeGripEnabled</name>
+ <bool>true</bool>
+ </property>
+ <grid>
+ <property stdset="1">
+ <name>margin</name>
+ <number>11</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget row="0" column="0" >
+ <class>QListView</class>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Num</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Efternamn</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Förnamn</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Adress</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <column>
+ <property>
+ <name>text</name>
+ <string>Telefonnummer</string>
+ </property>
+ <property>
+ <name>clickable</name>
+ <bool>true</bool>
+ </property>
+ <property>
+ <name>resizeable</name>
+ <bool>true</bool>
+ </property>
+ </column>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>ContactView</cstring>
+ </property>
+ </widget>
+ <widget row="2" column="0" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout15</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>buttonOk</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&OK</string>
+ </property>
+ <property stdset="1">
+ <name>autoDefault</name>
+ <bool>true</bool>
+ </property>
+ <property stdset="1">
+ <name>default</name>
+ <bool>true</bool>
+ </property>
+ </widget>
+ <spacer>
+ <property>
+ <name>name</name>
+ <cstring>Horizontal Spacing2</cstring>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Horizontal</enum>
+ </property>
+ <property stdset="1">
+ <name>sizeType</name>
+ <enum>Expanding</enum>
+ </property>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>buttonCancel</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Cancel</string>
+ </property>
+ <property stdset="1">
+ <name>autoDefault</name>
+ <bool>true</bool>
+ </property>
+ </widget>
+ </hbox>
+ </widget>
+ <widget row="1" column="0" >
+ <class>QLayoutWidget</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>Layout17</cstring>
+ </property>
+ <hbox>
+ <property stdset="1">
+ <name>margin</name>
+ <number>0</number>
+ </property>
+ <property stdset="1">
+ <name>spacing</name>
+ <number>6</number>
+ </property>
+ <spacer>
+ <property>
+ <name>name</name>
+ <cstring>Spacer3</cstring>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Horizontal</enum>
+ </property>
+ <property stdset="1">
+ <name>sizeType</name>
+ <enum>Expanding</enum>
+ </property>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ <widget>
+ <class>QPushButton</class>
+ <property stdset="1">
+ <name>name</name>
+ <cstring>DelButton</cstring>
+ </property>
+ <property stdset="1">
+ <name>text</name>
+ <string>&Ta bort</string>
+ </property>
+ </widget>
+ <spacer>
+ <property>
+ <name>name</name>
+ <cstring>Spacer4</cstring>
+ </property>
+ <property stdset="1">
+ <name>orientation</name>
+ <enum>Horizontal</enum>
+ </property>
+ <property stdset="1">
+ <name>sizeType</name>
+ <enum>Expanding</enum>
+ </property>
+ <property>
+ <name>sizeHint</name>
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </hbox>
+ </widget>
+ </grid>
+</widget>
+<connections>
+ <connection>
+ <sender>buttonOk</sender>
+ <signal>clicked()</signal>
+ <receiver>MyDialog</receiver>
+ <slot>accept()</slot>
+ </connection>
+ <connection>
+ <sender>buttonCancel</sender>
+ <signal>clicked()</signal>
+ <receiver>MyDialog</receiver>
+ <slot>reject()</slot>
+ </connection>
+ <connection>
+ <sender>DelButton</sender>
+ <signal>clicked()</signal>
+ <receiver>MyDialog</receiver>
+ <slot>slotDel()</slot>
+ </connection>
+ <slot access="public">slotDel()</slot>
+</connections>
+</UI>