void GnomeMeeting::BuildGUI (Ekiga::ServiceCore& services) { /* Init the stock icons */ gnomemeeting_stock_icons_init (); /* Build the GUI */ gtk_window_set_default_icon_name (GM_ICON_LOGO); assistant_window = ekiga_assistant_new (services); main_window = gm_main_window_new (services); // FIXME should be moved in ekiga_assistant_new gtk_window_set_transient_for (GTK_WINDOW (assistant_window), GTK_WINDOW (main_window)); /* GM is started */ PTRACE (1, "Ekiga version " << MAJOR_VERSION << "." << MINOR_VERSION << "." << BUILD_NUMBER); PTRACE (1, "OPAL version " << OPAL_VERSION); PTRACE (1, "PTLIB version " << PTLIB_VERSION); #if defined HAVE_XV || defined HAVE_DX PTRACE (1, "Accelerated rendering support enabled"); #else PTRACE (1, "Accelerated rendering support disabled"); #endif #ifdef HAVE_DBUS PTRACE (1, "DBUS support enabled"); #else PTRACE (1, "DBUS support disabled"); #endif #ifdef HAVE_GCONF PTRACE (1, "GConf support enabled"); #else PTRACE (1, "GConf support disabled"); #endif }
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); }
Gtk::Core::Core () { // set the basic known icons GtkIconFactory *factory = gtk_icon_factory_new (); GtkIconSet *icon_set = NULL; gnomemeeting_stock_icons_init (); icon_set = gtk_icon_factory_lookup_default (GM_STOCK_STATUS_ONLINE); gtk_icon_factory_add (factory, "online", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GM_STOCK_STATUS_OFFLINE); gtk_icon_factory_add (factory, "offline", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GM_STOCK_STATUS_UNKNOWN); gtk_icon_factory_add (factory, "unknown", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GM_STOCK_STATUS_AWAY); gtk_icon_factory_add (factory, "away", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GM_STOCK_STATUS_DND); gtk_icon_factory_add (factory, "dnd", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GM_STOCK_STATUS_INACALL); gtk_icon_factory_add (factory, "inacall", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GM_STOCK_STATUS_FREEFORCHAT); gtk_icon_factory_add (factory, "freeforchat", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GTK_STOCK_ADD); gtk_icon_factory_add (factory, "add", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GTK_STOCK_NEW); gtk_icon_factory_add (factory, "new", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GTK_STOCK_EDIT); gtk_icon_factory_add (factory, "edit", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GTK_STOCK_REMOVE); gtk_icon_factory_add (factory, "remove", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GM_STOCK_MESSAGE); gtk_icon_factory_add (factory, "message", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GM_STOCK_PHONE_PICK_UP_16); gtk_icon_factory_add (factory, "call", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GTK_STOCK_FIND); gtk_icon_factory_add (factory, "search", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GTK_STOCK_REFRESH); gtk_icon_factory_add (factory, "refresh", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GTK_STOCK_PROPERTIES); gtk_icon_factory_add (factory, "properties", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GTK_STOCK_CLEAR); gtk_icon_factory_add (factory, "clear", icon_set); gtk_icon_set_unref (icon_set); icon_set = gtk_icon_factory_lookup_default (GM_STOCK_CALL_TRANSFER); gtk_icon_factory_add (factory, "transfer", icon_set); gtk_icon_set_unref (icon_set); gtk_icon_factory_add_default (factory); g_object_unref (factory); }