Initial commit
[drdanz-telepathy-kde:libktelepathy-tests.git] / ktelepathyaccountswidget / test-ktelepathyaccountswidget.cpp
1 /*
2 * Copyright (C) 2010 Daniele E. Domenichelli <daniele.domenichelli@gmail.com>
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
17 */
18
19 extern "C"
20 {
21 #include <signal.h>
22 }
23
24 #include <KAboutData>
25 #include <KCmdLineArgs>
26 #include <KDebug>
27 #include <KApplication>
28
29 #include <KTelepathy/ktelepathyaccountswidget.h>
30
31 namespace
32 {
33     static void signal_handler(int signal)
34     {
35         if ((signal == SIGTERM) || (signal == SIGINT)) {
36             QCoreApplication * const app(QCoreApplication::instance());
37             if (app != 0) {
38                 kDebug() << "Signal Handler Called. Exiting...";
39                 app->quit();
40             }
41         }
42     }
43 }
44
45
46 int main(int argc, char** argv)
47 {
48     KAboutData aboutData("TestKTelepathyAccountsWidget", 0, ki18n("Test KTelepathyAccountsWidget"), "0.1");
49
50     KCmdLineArgs::init(argc, argv, &aboutData);
51     KApplication app;
52
53     // Set up signal handlers.
54     if (signal(SIGINT, signal_handler) == SIG_ERR) {
55         kWarning() << "Setting up SIGINT signal handler failed.";
56     }
57
58     if (signal(SIGTERM, signal_handler) == SIG_ERR) {
59         kWarning() << "Setting up SIGTERM signal handler failed.";
60     }
61
62     KTelepathyAccountsWidget* widget = new KTelepathyAccountsWidget(0);
63     widget->setConnectionPresences(KTelepathyAccountsWidget::ConnectionPresenceAny);
64     widget->setDisplayMode(KTelepathyAccountsWidget::DisplayModeMetaContacts);
65     widget->setMinimumWidth(300);
66     widget->show();
67
68     // Start event loop.
69     return app.exec();
70 }
71