summaryrefslogtreecommitdiffstats
path: root/kabc/tests/testdistlist.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kabc/tests/testdistlist.cpp')
-rw-r--r--kabc/tests/testdistlist.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/kabc/tests/testdistlist.cpp b/kabc/tests/testdistlist.cpp
new file mode 100644
index 000000000..a81f8c0dc
--- /dev/null
+++ b/kabc/tests/testdistlist.cpp
@@ -0,0 +1,59 @@
+#include <qwidget.h>
+
+#include <kaboutdata.h>
+#include <kapplication.h>
+#include <kdebug.h>
+#include <klocale.h>
+#include <kcmdlineargs.h>
+
+#include "stdaddressbook.h"
+
+#include "distributionlisteditor.h"
+#include "distributionlist.h"
+
+using namespace KABC;
+
+static const KCmdLineOptions options[] =
+{
+ {"list <listname>", I18N_NOOP("Show distribution list with name <listname>"), 0},
+ KCmdLineLastOption
+};
+
+
+int main(int argc,char **argv)
+{
+ KAboutData aboutData("testdistlist",I18N_NOOP("Test Distribution Lists"),"0.1");
+ KCmdLineArgs::init(argc,argv,&aboutData);
+ KCmdLineArgs::addCmdLineOptions( options );
+
+ KApplication app;
+
+ KCmdLineArgs *args = KCmdLineArgs::parsedArgs();
+ if (args->isSet("list")) {
+ QString name = args->getOption("list");
+
+ DistributionListManager *manager =
+ new DistributionListManager( StdAddressBook::self() );
+ manager->load();
+ DistributionList *list = manager->list( name );
+ if ( !list ) {
+ kdDebug() << "No list with name '" << name << "'" << endl;
+ return 1;
+ } else {
+ kdDebug() << "RESULT: " << list->emails().join(", ") << endl;
+ return 0;
+ }
+ }
+
+ DistributionListEditor *editor =
+ new DistributionListEditor( StdAddressBook::self(), 0 );
+
+ editor->show();
+ app.setMainWidget(editor);
+
+ QObject::connect( &app, SIGNAL( lastWindowClosed() ), &app, SLOT( quit() ) );
+
+ app.exec();
+
+ delete editor;
+}