void disks_update(GsmApplication *app) { GtkListStore *list; glibtop_mountentry * entries; glibtop_mountlist mountlist; guint i; gboolean show_all_fs; list = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(app->disk_list))); show_all_fs = app->settings->get_boolean (GSM_SETTING_SHOW_ALL_FS); entries = glibtop_get_mountlist (&mountlist, show_all_fs); remove_old_disks(GTK_TREE_MODEL(list), entries, mountlist.number); for (i = 0; i < mountlist.number; i++) add_disk(list, &entries[i], show_all_fs); g_free(entries); }
int cb_update_disks(gpointer data) { ProcData *const procdata = static_cast<ProcData*>(data); GtkListStore *list; glibtop_mountentry * entries; glibtop_mountlist mountlist; guint i; list = GTK_LIST_STORE(gtk_tree_view_get_model(GTK_TREE_VIEW(procdata->disk_list))); entries = glibtop_get_mountlist(&mountlist, procdata->config.show_all_fs); remove_old_disks(GTK_TREE_MODEL(list), entries, mountlist.number); for (i = 0; i < mountlist.number; i++) add_disk(list, &entries[i], procdata->config.show_all_fs); g_free(entries); return TRUE; }