diff options
-rw-r--r-- | modules/computer.c | 235 | ||||
-rw-r--r-- | modules/devices/devmemory.c | 9 | ||||
-rw-r--r-- | shell/shell.c | 146 |
3 files changed, 229 insertions, 161 deletions
diff --git a/modules/computer.c b/modules/computer.c index eda405e8..8f1e8c87 100644 --- a/modules/computer.c +++ b/modules/computer.c @@ -189,7 +189,7 @@ static gchar *dev_list = NULL; void scan_dev(gboolean reload) { SCAN_START(); - + int i; struct { gchar *compiler_name; @@ -222,11 +222,11 @@ void scan_dev(gboolean reload) { N_("QMake"), "qmake --version", "\\d+\\.\\S+", TRUE}, { N_("CMake"), "cmake --version", "\\d+\\.\\d+\\.?\\d*", TRUE}, }; - + g_free(dev_list); - + dev_list = g_strdup(""); - + for (i = 0; i < G_N_ELEMENTS(detect_lang); i++) { gchar *version = NULL; gchar *output; @@ -234,18 +234,18 @@ void scan_dev(gboolean reload) GRegex *regex; GMatchInfo *match_info; gboolean found; - + if (!detect_lang[i].regex) { dev_list = h_strdup_cprintf("[%s]\n", dev_list, detect_lang[i].compiler_name); continue; } - + if (detect_lang[i].stdout) { found = g_spawn_command_line_sync(detect_lang[i].version_command, &output, NULL, NULL, NULL); } else { found = g_spawn_command_line_sync(detect_lang[i].version_command, NULL, &output, NULL, NULL); } - + if (found) { regex = g_regex_new(detect_lang[i].regex, 0, 0, NULL); @@ -253,25 +253,25 @@ void scan_dev(gboolean reload) if (g_match_info_matches(match_info)) { version = g_match_info_fetch(match_info, 0); } - + g_match_info_free(match_info); g_regex_unref(regex); g_free(output); } - + if (version) { dev_list = h_strdup_cprintf("%s=%s\n", dev_list, detect_lang[i].compiler_name, version); g_free(version); } else { dev_list = h_strdup_cprintf(_("%s=Not found\n"), dev_list, detect_lang[i].compiler_name); } - + temp = g_strdup_printf(_("Detecting version: %s"), detect_lang[i].compiler_name); shell_status_update(temp); g_free(temp); } - + SCAN_END(); } @@ -324,18 +324,18 @@ gchar *computer_get_virtualization() { " hypervisor", "Virtual (hypervisor present)"} , { NULL } }; - + DEBUG("Detecting virtual machine"); if (g_file_test("/proc/xen", G_FILE_TEST_EXISTS)) { DEBUG("/proc/xen found; assuming Xen"); return g_strdup("Xen"); } - + for (i = 0; files[i+1]; i++) { gchar buffer[512]; FILE *file; - + if ((file = fopen(files[i], "r"))) { while (!found && fgets(buffer, 512, file)) { for (j = 0; vm_types[j+1].str; j++) { @@ -345,20 +345,20 @@ gchar *computer_get_virtualization() } } } - + fclose(file); - + if (found) { DEBUG("%s found (by reading file %s)", vm_types[j].vmtype, files[i]); return g_strdup(vm_types[j].vmtype); } } - + } - + DEBUG("no virtual machine detected; assuming physical machine"); - + return g_strdup(_("Physical machine")); } @@ -368,7 +368,7 @@ gchar *callback_summary() gchar *input_devices, *printers; gchar *storage_devices, *summary; gchar *virt; - + processor_name = module_call_method("devices::getProcessorName"); alsa_cards = computer_get_alsacards(computer); input_devices = module_call_method("devices::getInputDevices"); @@ -376,35 +376,66 @@ gchar *callback_summary() storage_devices = module_call_method("devices::getStorageDevices"); virt = computer_get_virtualization(); - summary = g_strdup_printf(_("[$ShellParam$]\n" - "UpdateInterval$Memory=1000\n" - "UpdateInterval$Date/Time=1000\n" - "#ReloadInterval=5000\n" - "[Computer]\n" - "Processor=%s\n" - "Memory=...\n" - "Machine Type=%s\n" - "Operating System=%s\n" - "User Name=%s\n" - "Date/Time=...\n" - "[Display]\n" - "Resolution=%dx%d pixels\n" - "OpenGL Renderer=%s\n" - "X11 Vendor=%s\n" - "\n%s\n" - "[Input Devices]\n%s\n" - "\n%s\n" - "\n%s\n"), - processor_name, - virt, - computer->os->distro, - computer->os->username, - computer->display->width, - computer->display->height, - computer->display->ogl_renderer, - computer->display->vendor, - alsa_cards, - input_devices, printers, storage_devices); + /* keep translations in the .po until the old labels can be salvaged */ + gchar *save_me = N_("[$ShellParam$]\n" + "UpdateInterval$Memory=1000\n" + "UpdateInterval$Date/Time=1000\n" + "#ReloadInterval=5000\n" + "[Computer]\n" + "Processor=%s\n" + "Memory=...\n" + "Machine Type=%s\n" + "Operating System=%s\n" + "User Name=%s\n" + "Date/Time=...\n" + "[Display]\n" + "Resolution=%dx%d pixels\n" + "OpenGL Renderer=%s\n" + "X11 Vendor=%s\n" + "\n%s\n" + "[Input Devices]\n%s\n" + "\n%s\n" + "\n%s\n"); + + summary = g_strdup_printf("[$ShellParam$]\n" + "UpdateInterval$%s=1000\n" + "UpdateInterval$%s=1000\n" + "#ReloadInterval=5000\n" + "[%s]\n" +/*Processor*/ "%s=%s\n" +/*Memory*/ "%s=...\n" +/*Machine Type*/ "%s=%s\n" +/*Operating Sys*/ "%s=%s\n" +/*User Name*/ "%s=%s\n" +/*Date/Time*/ "%s=...\n" + "[%s]\n" +/*Resolution*/ "%s=%dx%d pixels\n" +/*OpenGL Rend*/ "%s=%s\n" +/*X11 Vendor*/ "%s=%s\n" + "\n%s\n" +/*Input Devices*/ "[%s]\n%s\n" + "\n%s\n" + "\n%s\n", + + /* Update Intervals */ + _("Memory"), + _("Date/Time"), + + _("Computer"), + _("Processor"), processor_name, + _("Memory"), + _("Machine Type"), virt, + _("Operating System"), computer->os->distro, + _("User Name"), computer->os->username, + _("Date/Time"), + _("Display"), + _("Resolution"), + computer->display->width, computer->display->height, + _("OpenGL Renderer"), computer->display->ogl_renderer, + _("X11 Vendor"), computer->display->vendor, + alsa_cards, + _("Input Devices"), + input_devices, printers, storage_devices); g_free(processor_name); g_free(alsa_cards); @@ -418,34 +449,68 @@ gchar *callback_summary() gchar *callback_os() { - return g_strdup_printf(_("[$ShellParam$]\n" - "UpdateInterval$Uptime=10000\n" - "UpdateInterval$Load Average=1000\n" - "UpdateInterval$Available entropy in /dev/random=1000\n" - "[Version]\n" - "Kernel=%s\n" - "Version=%s\n" - "C Library=%s\n" - "Distribution=%s\n" - "[Current Session]\n" - "Computer Name=%s\n" - "User Name=%s\n" - "#Language=%s\n" - "Home Directory=%s\n" - "Desktop Environment=%s\n" - "[Misc]\n" - "Uptime=...\n" - "Load Average=...\n" - "Available entropy in /dev/random=..."), - computer->os->kernel, - computer->os->kernel_version, - computer->os->libc, - computer->os->distro, - computer->os->hostname, - computer->os->username, - computer->os->language, - computer->os->homedir, - computer->os->desktop); + /* keep translations in the .po until the old labels can be salvaged */ + gchar* save_me = N_("[$ShellParam$]\n" + "UpdateInterval$Uptime=10000\n" + "UpdateInterval$Load Average=1000\n" + "UpdateInterval$Available entropy in /dev/random=1000\n" + "[Version]\n" + "Kernel=%s\n" + "Version=%s\n" + "C Library=%s\n" + "Distribution=%s\n" + "[Current Session]\n" + "Computer Name=%s\n" + "User Name=%s\n" + "#Language=%s\n" + "Home Directory=%s\n" + "Desktop Environment=%s\n" + "[Misc]\n" + "Uptime=...\n" + "Load Average=...\n" + "Available entropy in /dev/random=...\n"); + + return g_strdup_printf("[$ShellParam$]\n" + "UpdateInterval$%s=10000\n" + "UpdateInterval$%s=1000\n" + "UpdateInterval$%s=1000\n" + + "[%s]\n" +/*Kernel*/ "%s=%s\n" +/*Version*/ "%s=%s\n" +/*C Library*/ "%s=%s\n" +/*Distribution*/ "%s=%s\n" + "[%s]\n" +/*Computer Name*/ "%s=%s\n" +/*User Name*/ "%s=%s\n" +/*#Language*/ "%s=%s\n" +/*Home Dir*/ "%s=%s\n" +/*Desktop Env*/ "%s=%s\n" + "[%s]\n" +/*Uptime*/ "%s=...\n" +/*Load Average*/ "%s=...\n" +/*Entropy*/ "%s=...\n", + + /* Update Intervals */ + _("Uptime"), + _("Available entropy in /dev/random"), + _("Load Average"), + + _("Version"), + _("Kernel"), computer->os->kernel, + _("Version"), computer->os->kernel_version, + _("C Library"), computer->os->libc, + _("Distribution"), computer->os->distro, + _("Current Session"), + _("Computer Name"), computer->os->hostname, + _("User Name"), computer->os->username, + _("#Language"), computer->os->language, + _("Home Directory"), computer->os->homedir, + _("Desktop Environment"), computer->os->desktop, + _("Misc"), + _("Uptime"), + _("Load Average"), + _("Available entropy in /dev/random") ); } gchar *callback_modules() @@ -569,16 +634,16 @@ gchar *get_display_summary(void) gchar *get_kernel_module_description(gchar *module) { gchar *description; - + if (!_module_hash_table) { scan_modules(FALSE); } - + description = g_hash_table_lookup(_module_hash_table, module); if (!description) { return NULL; } - + return g_strdup(description); } @@ -587,7 +652,7 @@ gchar *get_audio_cards(void) if (!computer->alsa) { computer->alsa = computer_get_alsainfo(); } - + return computer_get_alsacards(computer); } @@ -672,7 +737,7 @@ void hi_module_deinit(void) g_free(computer->os->boots); g_free(computer->os); } - + if (computer->display) { g_free(computer->display->ogl_vendor); g_free(computer->display->ogl_renderer); @@ -684,15 +749,15 @@ void hi_module_deinit(void) g_free(computer->display->monitors); g_free(computer->display); } - + if (computer->alsa) { g_slist_free(computer->alsa->cards); g_free(computer->alsa); } - + g_free(computer->date_time); g_free(computer); - + moreinfo_del_with_prefix("COMP"); } diff --git a/modules/devices/devmemory.c b/modules/devices/devmemory.c index 8fef9d6b..a3211895 100644 --- a/modules/devices/devmemory.c +++ b/modules/devices/devmemory.c @@ -61,13 +61,16 @@ void scan_memory_do(void) g_strstrip(newkeys[1]); /* try to find a localizable label */ - tmp_label = g_hash_table_lookup(memlabels, newkeys[0]); - if (tmp_label == NULL) + tmp = g_hash_table_lookup(memlabels, newkeys[0]); + if (tmp) + tmp_label = _(tmp); + else tmp_label = newkeys[0]; + /* although it doesn't matter... */ moreinfo_add_with_prefix("DEV", newkeys[0], g_strdup(newkeys[1])); - tmp = g_strconcat(meminfo, _(tmp_label), "=", newkeys[1], "\n", NULL); + tmp = g_strconcat(meminfo, newkeys[0], "=", newkeys[1], "\n", NULL); g_free(meminfo); meminfo = tmp; diff --git a/shell/shell.c b/shell/shell.c index eb72f431..20bdcdbe 100644 --- a/shell/shell.c +++ b/shell/shell.c @@ -358,12 +358,12 @@ static ShellNote *note_new(void) note->label = gtk_label_new(""); note->event_box = gtk_event_box_new(); button = gtk_button_new(); - + border_box = gtk_event_box_new(); gtk_container_set_border_width(GTK_CONTAINER(border_box), 1); gtk_container_add(GTK_CONTAINER(note->event_box), border_box); gtk_widget_show(border_box); - + gtk_widget_modify_bg(border_box, GTK_STATE_NORMAL, &info_default_fill_color); gtk_widget_modify_bg(note->event_box, GTK_STATE_NORMAL, &info_default_border_color); @@ -395,7 +395,7 @@ void shell_set_title(Shell *shell, gchar *subtitle) tmp = g_strdup_printf(_("%s - System Information"), subtitle); gtk_window_set_title(GTK_WINDOW(shell->window), tmp); - + g_free(tmp); } else { gtk_window_set_title(GTK_WINDOW(shell->window), _("System Information")); @@ -479,7 +479,7 @@ static void menu_item_set_icon_always_visible(Shell *shell, { GtkWidget *menuitem; gchar *path; - + path = g_strdup_printf("%s/%s", parent_path, item_id); menuitem = gtk_ui_manager_get_widget(shell->ui_manager, path); #if GTK_CHECK_VERSION(2, 18, 0) @@ -533,7 +533,7 @@ static void add_module_to_menu(gchar * name, GdkPixbuf * pixbuf) "/menubar/ViewMenu/LastSep", name, name, GTK_UI_MANAGER_MENU, TRUE); shell->merge_ids = g_slist_prepend(shell->merge_ids, GINT_TO_POINTER(merge_id)); - + merge_id = gtk_ui_manager_new_merge_id(shell->ui_manager); gtk_ui_manager_add_ui(shell->ui_manager, merge_id, @@ -579,7 +579,7 @@ add_module_entry_to_view_menu(gchar * module, gchar * name, shell->merge_ids = g_slist_prepend(shell->merge_ids, GINT_TO_POINTER(merge_id)); menu_item_set_icon_always_visible(shell, path, name); - + g_free(path); } @@ -589,7 +589,7 @@ void shell_add_modules_to_gui(gpointer _shell_module, gpointer _shell_tree) ShellTree *shelltree = (ShellTree *) _shell_tree; GtkTreeStore *store = GTK_TREE_STORE(shelltree->model); GtkTreeIter parent; - + if (!module) { return; } @@ -645,7 +645,7 @@ static void __tree_iter_destroy(gpointer data) ShellSummary *summary_new(void) { ShellSummary *summary; - + summary = g_new0(ShellSummary, 1); summary->scroll = gtk_scrolled_window_new(NULL, NULL); summary->view = gtk_vbox_new(FALSE, 5); @@ -657,7 +657,7 @@ ShellSummary *summary_new(void) GTK_POLICY_AUTOMATIC); gtk_scrolled_window_add_with_viewport(GTK_SCROLLED_WINDOW(summary->scroll), summary->view); - gtk_widget_show_all(summary->scroll); + gtk_widget_show_all(summary->scroll); return summary; } @@ -684,7 +684,7 @@ void shell_init(GSList * modules) shell->moreinfo = info_tree_new(TRUE); shell->loadgraph = load_graph_new(75); shell->summary = summary_new(); - + update_tbl = g_hash_table_new_full(g_str_hash, g_str_equal, g_free, __tree_iter_destroy); @@ -700,7 +700,7 @@ void shell_init(GSList * modules) NULL); gtk_notebook_append_page(GTK_NOTEBOOK(shell->notebook), shell->summary->scroll, NULL); - + gtk_notebook_set_show_tabs(GTK_NOTEBOOK(shell->notebook), FALSE); gtk_notebook_set_show_border(GTK_NOTEBOOK(shell->notebook), FALSE); @@ -726,7 +726,7 @@ void shell_init(GSList * modules) shell_action_set_enabled("SaveGraphAction", FALSE); shell_action_set_active("SidePaneAction", TRUE); shell_action_set_active("ToolbarAction", TRUE); - + #ifndef HAS_LIBSOUP shell_action_set_enabled("SyncManagerAction", FALSE); #else @@ -738,21 +738,21 @@ static gboolean update_field(gpointer data) { ShellFieldUpdate *fu; GtkTreeIter *iter; - + fu = (ShellFieldUpdate *) data; g_return_val_if_fail(fu != NULL, FALSE); - + DEBUG("update_field [%s]", fu->field_name); - + iter = g_hash_table_lookup(update_tbl, fu->field_name); if (!iter) { return FALSE; } - + /* if the entry is still selected, update it */ if (iter && fu->entry->selected && fu->entry->fieldfunc) { GtkTreeStore *store = GTK_TREE_STORE(shell->info->model); - gchar *value = fu->entry->fieldfunc(_(fu->field_name)); + gchar *value = fu->entry->fieldfunc(fu->field_name); /* * this function is also used to feed the load graph when ViewType @@ -808,14 +808,14 @@ static gboolean reload_section(gpointer data) GtkTreePath *path = NULL; GtkTreeIter iter; double pos_info_scroll, pos_more_scroll; - + /* save current position */ pos_info_scroll = RANGE_GET_VALUE(info, vscrollbar); pos_more_scroll = RANGE_GET_VALUE(moreinfo, vscrollbar); - + /* avoid drawing the window while we reload */ gdk_window_freeze_updates(shell->window->window); - + /* gets the current selected path */ if (gtk_tree_selection_get_selected (shell->info->selection, &shell->info->model, &iter)) { @@ -838,7 +838,7 @@ static gboolean reload_section(gpointer data) RANGE_SET_VALUE(info, vscrollbar, pos_info_scroll); RANGE_SET_VALUE(moreinfo, vscrollbar, pos_more_scroll); } - + /* make the window drawable again */ gdk_window_thaw_updates(shell->window->window); } @@ -909,7 +909,7 @@ static void set_view_type(ShellViewType viewtype, gboolean reload) gtk_tree_view_column_set_visible(shell->info->col_progress, FALSE); gtk_tree_view_column_set_visible(shell->info->col_value, TRUE); } - + /* turn off the rules hint */ gtk_tree_view_set_rules_hint(GTK_TREE_VIEW(shell->info->view), FALSE); @@ -923,7 +923,7 @@ static void set_view_type(ShellViewType viewtype, gboolean reload) case SHELL_VIEW_NORMAL: gtk_widget_show(shell->info->scroll); gtk_widget_hide(shell->notebook); - + if (!reload) { gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(shell->info->view), FALSE); } @@ -956,12 +956,12 @@ static void set_view_type(ShellViewType viewtype, gboolean reload) case SHELL_VIEW_PROGRESS: gtk_widget_show(shell->info->scroll); shell_action_set_enabled("SaveGraphAction", TRUE); - + if (!reload) { gtk_tree_view_column_set_visible(shell->info->col_progress, TRUE); gtk_tree_view_column_set_visible(shell->info->col_value, FALSE); } - + if (viewtype == SHELL_VIEW_PROGRESS) gtk_widget_hide(shell->notebook); break; @@ -1104,11 +1104,11 @@ group_handle_normal(GKeyFile * key_file, ShellModuleEntry * entry, gchar *value; GtkTreeIter child; - value = g_key_file_get_value(key_file, group, key, NULL); - if (entry->fieldfunc && value && g_str_equal(value, "...")) { - g_free(value); - value = entry->fieldfunc(_(key)); - } + value = g_key_file_get_value(key_file, group, key, NULL); + if (entry->fieldfunc && value && g_str_equal(value, "...")) { + g_free(value); + value = entry->fieldfunc(key); + } if ((key && value) && g_utf8_validate(key, -1, NULL) && g_utf8_validate(value, -1, NULL)) { if (ngroups == 1) { @@ -1116,7 +1116,7 @@ group_handle_normal(GKeyFile * key_file, ShellModuleEntry * entry, } else { gtk_tree_store_append(store, &child, &parent); } - + /* FIXME: use g_key_file_get_string_list? */ if (g_utf8_strchr(value, -1, '|')) { gchar **columns = g_strsplit(value, "|", 0); @@ -1284,7 +1284,7 @@ void shell_clear_field_updates(void) { if (update_sfusrc) { GSList *sfusrc; - + for (sfusrc = update_sfusrc; sfusrc; sfusrc = sfusrc->next) { ShellFieldUpdateSource *src = (ShellFieldUpdateSource *) sfusrc->data; @@ -1336,7 +1336,7 @@ module_selected_show_info(ShellModuleEntry * entry, gboolean reload) /* recreate the iter hash table */ h_hash_table_remove_all(update_tbl); } - + shell_clear_field_updates(); store = GTK_TREE_STORE(shell->info->model); @@ -1364,12 +1364,12 @@ module_selected_show_info(ShellModuleEntry * entry, gboolean reload) g_strfreev(keys); } - + /* */ if (!has_shell_param) { gtk_tree_view_set_headers_visible(GTK_TREE_VIEW(shell->info->view), FALSE); } - + /* */ g_object_unref(shell->info->model); gtk_tree_view_set_model(GTK_TREE_VIEW(shell->info->view), shell->info->model); @@ -1446,7 +1446,7 @@ static gchar *shell_summary_clear_value(gchar *value) { GKeyFile *keyfile; gchar *return_value; - + keyfile = g_key_file_new(); if (!value) return_value = g_strdup(""); else @@ -1454,18 +1454,18 @@ static gchar *shell_summary_clear_value(gchar *value) strlen(value), 0, NULL)) { gchar **groups; gint group; - + return_value = g_strdup(""); - + groups = g_key_file_get_groups(keyfile, NULL); for (group = 0; groups[group]; group++) { gchar **keys; gint key; - + keys = g_key_file_get_keys(keyfile, groups[group], NULL, NULL); for (key = 0; keys[key]; key++) { gchar *temp = keys[key]; - + if (*temp == '$') { temp++; while (*temp && *temp != '$') @@ -1478,17 +1478,17 @@ static gchar *shell_summary_clear_value(gchar *value) keys[key], NULL); } } - + g_strfreev(keys); } - + g_strfreev(groups); } else { return_value = g_strdup(value); } - + g_key_file_free(keyfile); - + return g_strstrip(return_value); } @@ -1504,9 +1504,9 @@ static void shell_summary_add_item(ShellSummary *summary, GtkWidget *content; GtkWidget *alignment; gchar *temp; - + temp = shell_summary_clear_value(value); - + /* creates the frame */ frame = gtk_frame_new(NULL); gtk_frame_set_shadow_type(GTK_FRAME(frame), @@ -1530,29 +1530,29 @@ static void shell_summary_add_item(ShellSummary *summary, gtk_widget_show_all(frame); gtk_widget_show_all(frame_label_box); - + gtk_frame_set_label_widget(GTK_FRAME(frame), frame_label_box); - + /* pack the item on the summary screen */ gtk_box_pack_start(GTK_BOX(shell->summary->view), frame, FALSE, FALSE, 4); /* add the item to the list of summary items */ summary->items = g_slist_prepend(summary->items, frame); - + g_free(temp); } static void shell_summary_clear(ShellSummary *summary) { GSList *item; - + for (item = summary->items; item; item = item->next) { gtk_widget_destroy(GTK_WIDGET(item->data)); } - + g_slist_free(summary->items); summary->items = NULL; - + if (summary->header) gtk_widget_destroy(summary->header); summary->header = NULL; } @@ -1561,20 +1561,20 @@ static void shell_summary_create_header(ShellSummary *summary, { GtkWidget *header, *label; gchar *temp; - + temp = g_strdup_printf(_("<b>%s \342\206\222 Summary</b>"), title); - + header = gtk_menu_item_new_with_label(temp); gtk_menu_item_select(GTK_MENU_ITEM(header)); gtk_widget_show(header); - + label = gtk_bin_get_child(GTK_BIN(header)); gtk_label_set_use_markup(GTK_LABEL(label), TRUE); - + gtk_box_pack_start(GTK_BOX(shell->summary->view), header, FALSE, FALSE, 4); - + summary->header = header; - + g_free(temp); } @@ -1586,20 +1586,20 @@ static void shell_show_summary(void) set_view_type(SHELL_VIEW_SUMMARY, FALSE); shell_summary_clear(shell->summary); shell_summary_create_header(shell->summary, shell->selected_module->name); - + keyfile = g_key_file_new(); summary = shell->selected_module->summaryfunc(); - + if (g_key_file_load_from_data(keyfile, summary, strlen(summary), 0, NULL)) { gchar **groups; gint group; - + groups = g_key_file_get_groups(keyfile, NULL); - + for (group = 0; groups[group]; group++) { gchar *icon, *method, *method_result; - + shell_status_pulse(); icon = g_key_file_get_string(keyfile, groups[group], "Icon", NULL); @@ -1609,25 +1609,25 @@ static void shell_show_summary(void) } else { method_result = g_strdup("N/A"); } - + shell_summary_add_item(shell->summary, icon, groups[group], method_result); shell_status_pulse(); - + g_free(icon); g_free(method); g_free(method_result); } - + g_strfreev(groups); } else { DEBUG("error while parsing summary"); set_view_type(SHELL_VIEW_NORMAL, FALSE); - } - + } + g_free(summary); g_key_file_free(keyfile); - + shell_view_set_enabled(TRUE); } @@ -1646,7 +1646,7 @@ static void module_selected(gpointer data) return; } - /* Mark the currently selected module as "unselected"; this is used to kill the + /* Mark the currently selected module as "unselected"; this is used to kill the update timeout. */ if (current) { current->selected = FALSE; @@ -1661,7 +1661,7 @@ static void module_selected(gpointer data) if (!gtk_tree_model_iter_parent(model, &parent, &iter)) { memcpy(&parent, &iter, sizeof(iter)); } - + gtk_tree_model_get(model, &parent, TREE_COL_MODULE, &shell->selected_module, -1); /* Get the current selection and shows its related info */ @@ -1675,7 +1675,7 @@ static void module_selected(gpointer data) entry->selected = TRUE; shell->selected = entry; module_selected_show_info(entry, FALSE); - + info_selected_show_extra(NULL); /* clears the more info store */ gtk_tree_view_columns_autosize(GTK_TREE_VIEW(shell->info->view)); @@ -1720,7 +1720,7 @@ static void info_selected(GtkTreeSelection * ts, gpointer data) if (!gtk_tree_selection_get_selected(ts, &model, &parent)) return; - + if (shell->view_type == SHELL_VIEW_NORMAL || shell->view_type == SHELL_VIEW_PROGRESS) { gtk_tree_selection_unselect_all(ts); |