main.c 2.05 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
/*
 * Copyright (C) 2018 Purism SPC
 *
 * This file is part of Calls.
 *
 * Calls is free software: you can redistribute it and/or modify it
 * under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * Calls is distributed in the hope that it will be useful, but
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with Calls.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Author: Bob Ham <bob.ham@puri.sm>
 *
 * SPDX-License-Identifier: GPL-3.0-or-later
 *
 */

#include <gtk/gtk.h>

#define HANDY_USE_UNSTABLE_API
#include <handy.h>

30
#include "calls-encryption-indicator.h"
31
#include "calls-history-box.h"
32
#include "calls-main-window.h"
Bob Ham's avatar
Bob Ham committed
33
#include "calls-mm-provider.h"
34
#include "calls-new-call-box.h"
35 36 37 38 39 40 41 42 43

static void
show_window (GtkApplication *app)
{
  GError *error = NULL;
  GDBusConnection *connection;
  CallsProvider *provider;
  CallsMainWindow *main_window;

44
  CALLS_TYPE_ENCRYPTION_INDICATOR;
45
  CALLS_TYPE_HISTORY_BOX;
46
  CALLS_TYPE_NEW_CALL_BOX;
47 48 49 50 51 52 53 54 55 56
  HDY_TYPE_DIALER;

  connection = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, &error);
  if (!connection)
    {
      g_error ("Error creating D-Bus connection: %s",
               error->message);
      return;
    }

Bob Ham's avatar
Bob Ham committed
57 58
  provider = CALLS_PROVIDER (calls_mm_provider_new (connection));
  g_assert (provider != NULL);
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80

  main_window = calls_main_window_new (app, provider);

  gtk_window_set_title (GTK_WINDOW (main_window), "Calls");

  gtk_widget_show_all (GTK_WIDGET (main_window));
}

int
main (int    argc,
      char **argv)
{
  GtkApplication *app;
  int status;

  app = gtk_application_new ("sm.puri.Calls", G_APPLICATION_FLAGS_NONE);
  g_signal_connect (app, "activate", G_CALLBACK (show_window), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
  g_object_unref (app);

  return status;
}