コード例 #1
0
gboolean save_current_list(pqi inst)
{
	GError *err = NULL;
	psi iter; char key[16];
	MatePanelApplet *const applet = inst->applet;
	const gchar *fullkey;
	int maxkey = 0;
	
	mate_panel_applet_mateconf_set_int(applet,"mode",inst->mode, &err);
	if (err) return FALSE;
	
	mate_panel_applet_mateconf_set_bool(applet,"show-primary",inst->show_primary,&err);
	
	for (iter = inst->items; iter != NULL; iter = iter->next)
	{
		err = NULL;
		sprintf(key,"file%d",iter->id);
			mate_panel_applet_mateconf_set_string(applet,key,iter->file,&err);
		sprintf(key,"uses%d",iter->id);
			mate_panel_applet_mateconf_set_int(applet,key,iter->uses,&err);
		sprintf(key,"times%d",iter->id);
			mate_panel_applet_mateconf_set_int(applet,key,iter->lastaccess >> 32, &err);
		sprintf(key,"timeu%d",iter->id);
			mate_panel_applet_mateconf_set_int(applet,key,iter->lastaccess & 0xFFFFFFFF, &err);
		if (iter->id >= maxkey)
			maxkey = iter->id + 1;
	}
	sprintf(key,"file%d",maxkey);
	fullkey = mate_panel_applet_mateconf_get_full_key(applet,key);
	mateconf_client_unset(mateconf_client_get_default(),fullkey,NULL);
	return TRUE;
}
コード例 #2
0
static void
reset_to_defaults (GtkWidget * button, GtkBuilder * dialog)
{
	MatekbdKeyboardConfig empty_kbd_config;

	matekbd_keyboard_config_init (&empty_kbd_config, xkb_mateconf_client,
				   engine);
	matekbd_keyboard_config_save_to_mateconf (&empty_kbd_config);
	matekbd_keyboard_config_term (&empty_kbd_config);

	mateconf_client_unset (xkb_mateconf_client,
			    MATEKBD_DESKTOP_CONFIG_KEY_DEFAULT_GROUP, NULL);

	/* all the rest is g-s-d's business */
}
コード例 #3
0
/* Commit changes to the MateConf database. */
static gboolean
config_entry_commit (GtkWidget *entry, GdkEvent *event, gpointer callback_data)
{
  gchar *text;
  const gchar *key;
  MateConfClient *client;
  
  client = g_object_get_data (G_OBJECT (entry), "client");  

  text = gtk_editable_get_chars (GTK_EDITABLE (entry), 0, -1);

  key = g_object_get_data (G_OBJECT (entry), "key");

  /* Unset if the string is zero-length, otherwise set */
  if (*text != '\0')
    mateconf_client_set_string (client, key, text, NULL);
  else
    mateconf_client_unset (client, key, NULL);
  
  g_free (text);

  return FALSE;
}
コード例 #4
0
static void
unmount_connected_server (MateVFSVolume *volume,
			  MateVFSVolumeOpCallback  callback,
			  gpointer                   user_data)
{
	MateConfClient *client;
	gboolean res;
	char *key;
	gboolean success;
	char *detailed_error;
	GError *error;

	success = TRUE;
	detailed_error = NULL;
	
	client = mateconf_client_get_default ();

	key = g_strconcat (CONNECTED_SERVERS_DIR "/",
			   volume->priv->mateconf_id,
			   "/uri", NULL);
	error = NULL;
	res = mateconf_client_unset (client, key, &error);
	g_free (key);
	if (!res) {
		if (success) {
			detailed_error = g_strdup (error->message);
		}
		success = FALSE;
		g_error_free (error);
	}
	
	key = g_strconcat (CONNECTED_SERVERS_DIR "/",
			   volume->priv->mateconf_id,
			   "/icon", NULL);
	res = mateconf_client_unset (client, key, &error);
	g_free (key);
	if (!res) {
		if (success) {
			detailed_error = g_strdup (error->message);
		}
		success = FALSE;
		g_error_free (error);
	}
	
	key = g_strconcat (CONNECTED_SERVERS_DIR "/",
			   volume->priv->mateconf_id,
			   "/display_name", NULL);
	res = mateconf_client_unset (client, key, &error);
	g_free (key);
	if (!res) {
		if (success) {
			detailed_error = g_strdup (error->message);
		}
		success = FALSE;
		g_error_free (error);
	}
	
	g_object_unref (client);

	if (success) {
		(*callback) (success, NULL, NULL, user_data);
	} else {
		(*callback) (success, (char *) _("Unable to unmount connected server"), detailed_error, user_data);
	}
	g_free (detailed_error);
}