gchar* archive_install(const gchar *path) { gchar *dest; gchar *name; if (!(dest = get_theme_dir())) return NULL; if ((name = install_theme_to(path, dest))) { gtk_msg(GTK_MESSAGE_INFO, _("\"%s\" was installed to %s"), name, dest); } g_free(dest); return name; }
gchar* archive_install(const gchar *path) { gchar *dest; gchar *name; if (!(dest = get_theme_dir())) return NULL; if ((name = install_theme_to(path, dest))) { QMessageBox::information(NULL, QString(), QObject::tr("\"%1\" was installed to %1") .arg(QString::fromUtf8(name)) .arg(QString::fromUtf8(dest))); } g_free(dest); return name; }
static void wckbuttons_load_themes (GtkWidget *view, WBPlugin *wb) { GtkTreeModel *model; GHashTable *themes; GDir *dir; const gchar *file; gchar **theme_dirs; gchar *themedir; gint i; themes = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, NULL); model = gtk_tree_view_get_model (GTK_TREE_VIEW (view)); /* clear any previous row */ gtk_list_store_clear (GTK_LIST_STORE (model)); xfce_resource_push_path (XFCE_RESOURCE_THEMES, DATADIR G_DIR_SEPARATOR_S "themes"); theme_dirs = xfce_resource_dirs (XFCE_RESOURCE_THEMES); xfce_resource_pop_path (XFCE_RESOURCE_THEMES); for (i = 0; theme_dirs[i] != NULL; ++i) { dir = g_dir_open (theme_dirs[i], 0, NULL); if (G_UNLIKELY (dir == NULL)) continue; while ((file = g_dir_read_name (dir)) != NULL) { /* check if there is not already a theme with the * same name in the database */ if (g_hash_table_lookup (themes, file) == NULL) { if (wb->prefs->sync_wm_theme) { if (!test_theme_dir(file, "xfwm4", THEMERC)) continue; } themedir = get_theme_dir (file, NULL); if (!themedir) continue; GtkTreeIter iter; g_hash_table_insert (themes, g_strdup (file), GINT_TO_POINTER (1)); /* insert in the list store */ gtk_list_store_append (GTK_LIST_STORE (model), &iter); gtk_list_store_set (GTK_LIST_STORE (model), &iter, COL_THEME_NAME, file, COL_THEME_RC, g_path_get_basename (themedir), -1); if (G_UNLIKELY (g_str_equal (wb->prefs->theme, file))) { GtkTreePath *path = gtk_tree_model_get_path (model, &iter); gtk_tree_selection_select_iter (gtk_tree_view_get_selection (GTK_TREE_VIEW (view)), &iter); gtk_tree_view_scroll_to_cell (GTK_TREE_VIEW (view), path, NULL, TRUE, 0.5, 0.5); gtk_tree_path_free (path); } g_free (themedir); } } g_dir_close (dir); } g_strfreev (theme_dirs); g_hash_table_destroy (themes); }