Example #1
0
static struct call_window *new_call_window(struct gtk_mod *mod,
		struct call *call)
{
	struct call_window *win = call_window_new(call, mod);
	if (call) {
		mod->call_windows = g_slist_append(mod->call_windows, win);
	}
	return win;
}
Example #2
0
void
GtkFrontend::build ()
{
  boost::shared_ptr<Ekiga::ContactCore> contact_core =
    core.get<Ekiga::ContactCore> ("contact-core");
  boost::shared_ptr<Ekiga::PersonalDetails> details =
    core.get<Ekiga::PersonalDetails> ("personal-details");
  boost::shared_ptr<Ekiga::ChatCore> chat_core =
    core.get<Ekiga::ChatCore> ("chat-core");
  boost::shared_ptr<Ekiga::AccountCore> account_core =
    core.get<Ekiga::AccountCore> ("account-core");
  boost::shared_ptr<Ekiga::AudioInputCore> audio_input_core =
    core.get<Ekiga::AudioInputCore> ("audioinput-core");
  boost::shared_ptr<Ekiga::AudioOutputCore> audio_output_core =
    core.get<Ekiga::AudioOutputCore> ("audiooutput-core");
  boost::shared_ptr<Ekiga::VideoInputCore> video_input_core =
    core.get<Ekiga::VideoInputCore> ("videoinput-core");

  /* Init the stock icons */
  gnomemeeting_stock_icons_init ();
  gtk_window_set_default_icon_name (GM_ICON_LOGO);

  accounts_window =
    boost::shared_ptr<GtkWidget>(accounts_window_new (account_core,
						      details,
						      USER_INTERFACE ".accounts-window"),
				 gtk_widget_destroy);

  // BEWARE: uses the main window during runtime
  call_window =
    boost::shared_ptr<GtkWidget> (call_window_new (core), gtk_widget_destroy);

  chat_window =
    boost::shared_ptr<GtkWidget> (chat_window_new (core,
						   USER_INTERFACE ".chat-window"),
				  gtk_widget_destroy);

  // BEWARE: the status icon needs the chat window at startup
  // FIXME: the above BEWARE is related to a FIXME in the main window code,
  // FIXME: hence should disappear with it
  status_icon =
    boost::shared_ptr<StatusIcon> (status_icon_new (core), g_object_unref);
  if (status_icon) {
    g_signal_connect (status_icon.get (), "clicked",
		      G_CALLBACK (on_status_icon_clicked), this);
  }

  // BEWARE: the main window uses the chat window at startup already,
  // and later on needs the call window, addressbook window,
  // assistant window
  main_window =
    boost::shared_ptr<GtkWidget> (gm_main_window_new (core),
                                  gtk_widget_destroy);
}