summaryrefslogtreecommitdiff
path: root/callbacks.c
diff options
context:
space:
mode:
Diffstat (limited to 'callbacks.c')
-rw-r--r--callbacks.c217
1 files changed, 113 insertions, 104 deletions
diff --git a/callbacks.c b/callbacks.c
index ac47d089..6a84de79 100644
--- a/callbacks.c
+++ b/callbacks.c
@@ -36,36 +36,37 @@ void cb_sync_manager()
void cb_save_graphic()
{
- Shell *shell = shell_get_main_shell();
- GtkWidget *dialog;
- gchar *filename;
+ Shell *shell = shell_get_main_shell();
+ GtkWidget *dialog;
+ gchar *filename;
/* save the pixbuf to a png file */
dialog = gtk_file_chooser_dialog_new("Save Image",
- NULL,
- GTK_FILE_CHOOSER_ACTION_SAVE,
- GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
- GTK_STOCK_SAVE, GTK_RESPONSE_ACCEPT,
- NULL);
-
+ NULL,
+ GTK_FILE_CHOOSER_ACTION_SAVE,
+ GTK_STOCK_CANCEL,
+ GTK_RESPONSE_CANCEL,
+ GTK_STOCK_SAVE,
+ GTK_RESPONSE_ACCEPT, NULL);
+
filename = g_strconcat(shell->selected->name, ".png", NULL);
gtk_file_chooser_set_current_name(GTK_FILE_CHOOSER(dialog), filename);
g_free(filename);
-
- if (gtk_dialog_run(GTK_DIALOG (dialog)) == GTK_RESPONSE_ACCEPT) {
- filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
- gtk_widget_destroy(dialog);
-
- shell_status_update("Saving image...");
-
- tree_view_save_image(filename);
-
- shell_status_update("Done.");
- g_free(filename);
-
- return;
+
+ if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_ACCEPT) {
+ filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
+ gtk_widget_destroy(dialog);
+
+ shell_status_update("Saving image...");
+
+ tree_view_save_image(filename);
+
+ shell_status_update("Done.");
+ g_free(filename);
+
+ return;
}
-
+
gtk_widget_destroy(dialog);
}
@@ -97,29 +98,30 @@ void cb_refresh()
void cb_copy_to_clipboard()
{
ShellModuleEntry *entry = shell_get_main_shell()->selected;
-
+
if (entry) {
- gchar *data = module_entry_function(entry);
- GtkClipboard *clip = gtk_clipboard_get(gdk_atom_intern("CLIPBOARD", FALSE));
- ReportContext *ctx = report_context_text_new(NULL);
+ gchar *data = module_entry_function(entry);
+ GtkClipboard *clip =
+ gtk_clipboard_get(gdk_atom_intern("CLIPBOARD", FALSE));
+ ReportContext *ctx = report_context_text_new(NULL);
+
+ ctx->entry = entry;
- ctx->entry = entry;
+ report_header(ctx);
+ report_table(ctx, data);
+ report_footer(ctx);
- report_header(ctx);
- report_table(ctx, data);
- report_footer(ctx);
-
- gtk_clipboard_set_text(clip, ctx->output, -1);
+ gtk_clipboard_set_text(clip, ctx->output, -1);
- g_free(data);
- report_context_free(ctx);
+ g_free(data);
+ report_context_free(ctx);
}
}
void cb_side_pane()
{
gboolean visible;
-
+
visible = shell_action_get_active("SidePaneAction");
shell_set_side_pane_visible(visible);
}
@@ -127,53 +129,60 @@ void cb_side_pane()
void cb_toolbar()
{
gboolean visible;
-
+
visible = shell_action_get_active("ToolbarAction");
shell_ui_manager_set_visible("/MainMenuBarAction", visible);
}
-void cb_about_module(GtkAction *action)
+void cb_about_module(GtkAction * action)
{
Shell *shell = shell_get_main_shell();
GSList *modules = shell->tree->modules;
ModuleAbout *ma;
gchar *name;
-
+
g_object_get(G_OBJECT(action), "tooltip", &name, NULL);
-
+
for (; modules; modules = modules->next) {
- ShellModule *sm = (ShellModule *)modules->data;
-
- if (!g_str_equal(sm->name, name))
- continue;
-
- if ((ma = module_get_about(sm))) {
- GtkWidget *about;
-
- about = gtk_about_dialog_new();
- gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(about),
- idle_free(g_strdup_printf("%s Module", sm->name)));
- gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about), ma->version);
- gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(about),
- idle_free(g_strdup_printf("Written by %s\n"
- "Licensed under %s",
- ma->author,
- ma->license)));
-
- if (ma->description)
- gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(about),
- ma->description);
-
- gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(about), sm->icon);
- gtk_dialog_run(GTK_DIALOG(about));
- gtk_widget_destroy(about);
- } else {
- g_warning("No about information is associated with the %s module.", name);
- }
-
- break;
+ ShellModule *sm = (ShellModule *) modules->data;
+
+ if (!g_str_equal(sm->name, name))
+ continue;
+
+ if ((ma = module_get_about(sm))) {
+ GtkWidget *about;
+ gchar *text;
+
+ about = gtk_about_dialog_new();
+
+ text = g_strdup_printf("%s Module", sm->name);
+ gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(about), text);
+ g_free(text);
+
+ gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about),
+ ma->version);
+
+ text = g_strdup_printf("Written by %s\nLicensed under %s",
+ ma->author, ma->license);
+ gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(about), text);
+ g_free(text);
+
+ if (ma->description)
+ gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(about),
+ ma->description);
+
+ gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(about), sm->icon);
+ gtk_dialog_run(GTK_DIALOG(about));
+ gtk_widget_destroy(about);
+ } else {
+ g_warning
+ ("No about information is associated with the %s module.",
+ name);
+ }
+
+ break;
}
-
+
g_free(name);
}
@@ -181,33 +190,33 @@ void cb_about()
{
GtkWidget *about;
const gchar *authors[] = {
- "Author:",
- "Leandro A. F. Pereira",
- "",
- "Contributors:",
- "Agney Lopes Roth Ferraz",
- "SCSI support by Pascal F. Martin",
- "",
- "Based on work by:",
- "MD5 implementation by Colin Plumb (see md5.c for details)",
- "SHA1 implementation by Steve Raid (see sha1.c for details)",
- "Blowfish implementation by Paul Kocher (see blowfich.c for details)",
- "Raytracing benchmark by John Walker (see fbench.c for details)",
- "Some code partly based on x86cpucaps by Osamu Kayasono",
- "Vendor list based on GtkSysInfo by Pissens Sebastien",
- NULL
+ "Author:",
+ "Leandro A. F. Pereira",
+ "",
+ "Contributors:",
+ "Agney Lopes Roth Ferraz",
+ "SCSI support by Pascal F. Martin",
+ "",
+ "Based on work by:",
+ "MD5 implementation by Colin Plumb (see md5.c for details)",
+ "SHA1 implementation by Steve Raid (see sha1.c for details)",
+ "Blowfish implementation by Paul Kocher (see blowfich.c for details)",
+ "Raytracing benchmark by John Walker (see fbench.c for details)",
+ "Some code partly based on x86cpucaps by Osamu Kayasono",
+ "Vendor list based on GtkSysInfo by Pissens Sebastien",
+ NULL
};
const gchar *artists[] = {
- "The GNOME Project",
- "Tango Project",
- NULL
+ "The GNOME Project",
+ "Tango Project",
+ NULL
};
about = gtk_about_dialog_new();
gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(about), "HardInfo");
gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about), VERSION);
gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(about),
- "Copyright \302\251 2003-2007 "
+ "Copyright \302\251 2003-2007 "
"Leandro A. F. Pereira");
gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(about),
"System information and benchmark tool");
@@ -215,20 +224,20 @@ void cb_about()
icon_cache_get_pixbuf("logo.png"));
gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(about),
- "HardInfo is free software; you can redistribute it and/or modify " \
- "it under the terms of the GNU General Public License as published by " \
- "the Free Software Foundation, version 2.\n\n"
- "This program is distributed in the hope that it will be useful, " \
- "but WITHOUT ANY WARRANTY; without even the implied warranty of " \
- "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the " \
- "GNU General Public License for more details.\n\n"
- "You should have received a copy of the GNU General Public License " \
- "along with this program; if not, write to the Free Software " \
- "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA");
+ "HardInfo is free software; you can redistribute it and/or modify "
+ "it under the terms of the GNU General Public License as published by "
+ "the Free Software Foundation, version 2.\n\n"
+ "This program is distributed in the hope that it will be useful, "
+ "but WITHOUT ANY WARRANTY; without even the implied warranty of "
+ "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the "
+ "GNU General Public License for more details.\n\n"
+ "You should have received a copy of the GNU General Public License "
+ "along with this program; if not, write to the Free Software "
+ "Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA");
#if GTK_CHECK_VERSION(2,8,0)
gtk_about_dialog_set_wrap_license(GTK_ABOUT_DIALOG(about), TRUE);
#endif
-
+
gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(about), authors);
gtk_about_dialog_set_artists(GTK_ABOUT_DIALOG(about), artists);
@@ -240,10 +249,10 @@ void cb_generate_report()
{
Shell *shell = shell_get_main_shell();
gboolean btn_refresh = shell_action_get_enabled("RefreshAction");
- gboolean btn_copy = shell_action_get_enabled("CopyAction");
+ gboolean btn_copy = shell_action_get_enabled("CopyAction");
report_dialog_show(shell->tree->model, shell->window);
-
+
shell_action_set_enabled("RefreshAction", btn_refresh);
shell_action_set_enabled("CopyAction", btn_copy);
}
@@ -251,6 +260,6 @@ void cb_generate_report()
void cb_quit(void)
{
do {
- gtk_main_quit();
+ gtk_main_quit();
} while (gtk_main_level() > 1);
}