comparison audacious/skinwin.c @ 450:dd84f79979b4 trunk

[svn] Dissect the pango markup using scanf and various string delimiter hacks. This could be done in a much better way, but I'd rather not sit down and figure out why GTK is not behaving the way I want it to right now.
author nenolod
date Mon, 16 Jan 2006 15:21:41 -0800
parents bf803441d49e
children 00afc39b0754
comparison
equal deleted inserted replaced
449:bf803441d49e 450:dd84f79979b4
317 GtkTreeModel *model; 317 GtkTreeModel *model;
318 GtkTreeSelection *selection; 318 GtkTreeSelection *selection;
319 GtkTreeIter iter; 319 GtkTreeIter iter;
320 320
321 GList *node; 321 GList *node;
322 gchar *name; 322 gchar *sel, name[512], desc[512], *tmp;
323 gchar *comp = NULL; 323 gchar *comp = NULL;
324 324
325 selection = gtk_tree_view_get_selection(treeview); 325 selection = gtk_tree_view_get_selection(treeview);
326 if (!gtk_tree_selection_get_selected(selection, &model, &iter)) 326 if (!gtk_tree_selection_get_selected(selection, &model, &iter))
327 return; 327 return;
328 328
329 gtk_tree_model_get(model, &iter, SKIN_VIEW_COL_NAME, &name, -1); 329 gtk_tree_model_get(model, &iter, SKIN_VIEW_COL_NAME, &sel, -1);
330
331 /* XXX: This is icky hack because we do not store the skin name
332 * in the skinlist. My attempts at doing that cause a blank skin
333 * window. Must be doing something wrong.
334 */
335 sscanf(sel, "<big><b>%s</b></big>\n<i>%s</i>", name, desc);
336 tmp = strchr(name, '<');
337 *tmp = '\0';
330 338
331 /* FIXME: store name in skinlist */ 339 /* FIXME: store name in skinlist */
332 for (node = skinlist; node; node = g_list_next(node)) { 340 for (node = skinlist; node; node = g_list_next(node)) {
333 comp = SKIN_NODE(node->data)->path; 341 comp = SKIN_NODE(node->data)->path;
334 if (g_strrstr(comp, name)) 342 if (g_strrstr(comp, name))
335 break; 343 break;
336 } 344 }
337 345
338 g_free(name); 346 g_free(sel);
339 347
340 bmp_active_skin_load(comp); 348 bmp_active_skin_load(comp);
341 } 349 }
342 350
343 351