Exemplo n.º 1
0
	void mate_about_run(void)
	{
		mate_about_dialog = (GtkAboutDialog*) gtk_about_dialog_new();

		gtk_window_set_default_icon_name(desktop_icon);

		GtkIconTheme* icon_theme = gtk_icon_theme_get_default();

		if (gtk_icon_theme_has_icon(icon_theme, icon))
		{
			gtk_about_dialog_set_logo_icon_name(mate_about_dialog, icon);
		}
		else
		{
			gtk_about_dialog_set_logo_icon_name(mate_about_dialog, desktop_icon);
		}

		// name
		#if GTK_CHECK_VERSION(3, 0, 0) || GTK_CHECK_VERSION(2, 12, 0)
			gtk_about_dialog_set_program_name(mate_about_dialog, gettext(program_name));
		#else
			gtk_about_dialog_set_name(mate_about_dialog, gettext(program_name));
		#endif

		// version
		gtk_about_dialog_set_version(mate_about_dialog, version);

		// credits and website
		gtk_about_dialog_set_copyright(mate_about_dialog, copyright);
		gtk_about_dialog_set_website(mate_about_dialog, website);

		/**
		 * This generate a random message.
		 * The comments index must not be more than comments_count - 1
		 */
		gtk_about_dialog_set_comments(mate_about_dialog, gettext(comments_array[g_random_int_range(0, comments_count - 1)]));

		gtk_about_dialog_set_authors(mate_about_dialog, authors);
		gtk_about_dialog_set_artists(mate_about_dialog, artists);
		gtk_about_dialog_set_documenters(mate_about_dialog, documenters);
		/* Translators should localize the following string which will be
		 * displayed in the about box to give credit to the translator(s). */
		gtk_about_dialog_set_translator_credits(mate_about_dialog, _("translator-credits"));

		#if GTK_CHECK_VERSION(3, 0, 0)
			gtk_about_dialog_set_license_type(mate_about_dialog, GTK_LICENSE_GPL_3_0);
			gtk_about_dialog_set_wrap_license(mate_about_dialog, TRUE);
		#endif

		#ifdef USE_UNIQUE
			unique_app_watch_window(mate_about_application, (GtkWindow*) mate_about_dialog);
		#elif GTK_CHECK_VERSION(3, 0, 0) && !defined(UNIQUE)
			gtk_window_set_application(GTK_WINDOW(mate_about_dialog), mate_about_application);
		#endif

		// start and destroy
		gtk_dialog_run((GtkDialog*) mate_about_dialog);
		gtk_widget_destroy((GtkWidget*) mate_about_dialog);
	}
Exemplo n.º 2
0
Arquivo: main.c Projeto: lcp/bisho
int
main (int argc, char **argv)
{
  UniqueApp *app;
  GtkWidget *window;

  g_thread_init (NULL);

  bindtextdomain (GETTEXT_PACKAGE, LOCALEDIR);
  bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
  textdomain (GETTEXT_PACKAGE);

  gtk_init (&argc, &argv);

  /* TODO: use GOption to parse arguments */

  app = unique_app_new_with_commands ("com.intel.Bisho", NULL,
                                      "callback", COMMAND_CALLBACK,
                                      NULL);

  if (unique_app_is_running (app)) {
    UniqueResponse response;

    if (argc != 2) {
      response = unique_app_send_message (app, UNIQUE_ACTIVATE, NULL);
    } else {
      UniqueMessageData *msg;
      msg = unique_message_data_new ();
      unique_message_data_set_uris (msg, argv + 1);
      response = unique_app_send_message (app, COMMAND_CALLBACK, msg);
      unique_message_data_free (msg);
    }

    if (response == UNIQUE_RESPONSE_OK)
      goto done;
  }

  load_modules ();

  window = bisho_window_new ();

  unique_app_watch_window (app, GTK_WINDOW (window));

  g_signal_connect (app, "message-received", G_CALLBACK (unique_message_cb), window);

  g_signal_connect (window, "delete-event", gtk_main_quit, NULL);

  gtk_widget_show (window);

  gtk_main ();

 done:
  g_object_unref (app);

  return 0;
}
Exemplo n.º 3
0
Arquivo: gnac-ui.c Projeto: GNOME/gnac
void 
gnac_ui_show(void)
{
  if (!gnac_main_builder) {
    gnac_ui_new();
  }

  GtkWidget *main_window = gnac_ui_get_widget("main_window");

#ifdef HAVE_LIBUNIQUE
  unique_app_watch_window(app, GTK_WINDOW(main_window));
#endif

  gtk_widget_show_all(main_window);

  gnac_ui_show_toolbar();
  gnac_ui_show_progress(FALSE);
  gnac_ui_show_pause(FALSE);
  gnac_bars_activate_pause(FALSE);
}
Exemplo n.º 4
0
void
setup_toplevel_win(struct Gtkabber *gtkabber, UniqueApp *app)
{
	/* FIXME - create setup_signals() */
	gtkabber->toplevel.toplevel_win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	g_signal_connect(gtkabber->toplevel.toplevel_win, "delete-event",
			gtk_main_quit, NULL);
	gtk_window_set_default_size(
			GTK_WINDOW(gtkabber->toplevel.toplevel_win),
			800, 600);

	gtkabber->toplevel.notebook = gtk_notebook_new();

	/* GtkNotebook options. */
	gtk_notebook_popup_enable(GTK_NOTEBOOK(
				gtkabber->toplevel.notebook));
	gtk_notebook_set_scrollable(GTK_NOTEBOOK(
				gtkabber->toplevel.notebook), TRUE);
	gtk_notebook_set_tab_border(GTK_NOTEBOOK(
				gtkabber->toplevel.notebook), 1);
	gtk_notebook_set_tab_pos (GTK_NOTEBOOK(
				gtkabber->toplevel.notebook),
			GTK_POS_LEFT);

	gtk_container_add(GTK_CONTAINER(gtkabber->toplevel.toplevel_win),
			gtkabber->toplevel.notebook);

	gtk_widget_show_all(gtkabber->toplevel.toplevel_win);

	unique_app_watch_window (app, GTK_WINDOW(gtkabber->toplevel.toplevel_win));
	g_signal_connect(G_OBJECT(app), "message-received",
			G_CALLBACK(message_received_cb), (gpointer)gtkabber);

	g_signal_connect(gtkabber->toplevel.notebook, "page-removed",
			G_CALLBACK(page_removed_cb), (gpointer)gtkabber);
}
Exemplo n.º 5
0
int main(int argc, char* argv[])
{
	gboolean hidden = FALSE;
	UniqueApp* unique_app;
	AppShellData* app_data;
	GSList* actions;
	GError* error;
	GOptionEntry options[] = {
		{"hide", 0, 0, G_OPTION_ARG_NONE, &hidden, N_("Hide on start (useful to preload the shell)"), NULL},
		{NULL}
	};

	#ifdef ENABLE_NLS
		bindtextdomain(GETTEXT_PACKAGE, MATELOCALEDIR);
		bind_textdomain_codeset(GETTEXT_PACKAGE, "UTF-8");
		textdomain(GETTEXT_PACKAGE);
	#endif

	error = NULL;

	if (!gtk_init_with_args(&argc, &argv, NULL, options, GETTEXT_PACKAGE, &error))
	{
		g_printerr("%s\n", error->message);
		g_error_free(error);
		return 1;
	}

	unique_app = unique_app_new("org.mate.mate-control-center.shell", NULL);

	if (unique_app_is_running(unique_app))
	{
		int retval = 0;

		if (!hidden)
		{
			UniqueResponse response;
			response = unique_app_send_message(unique_app, UNIQUE_ACTIVATE, NULL);
			retval = (response != UNIQUE_RESPONSE_OK);
		}

		g_object_unref(unique_app);
		return retval;
	}

	app_data = appshelldata_new("matecc.menu", GTK_ICON_SIZE_DND, FALSE, TRUE, 0);
	generate_categories(app_data);

	actions = get_actions_list();
	layout_shell(app_data, _("Filter"), _("Groups"), _("Common Tasks"), actions, handle_static_action_clicked);

	create_main_window(app_data, "MyControlCenter", _("Control Center"), "preferences-desktop", 975, 600, hidden);

	unique_app_watch_window(unique_app, GTK_WINDOW(app_data->main_app));
	g_signal_connect(unique_app, "message-received", G_CALLBACK(message_received_cb), app_data);

	gtk_main();

	g_object_unref(unique_app);

	return 0;
}