diff options
| author | Leandro A. F. Pereira <leandro@hardinfo.org> | 2010-05-03 09:27:26 -0300 | 
|---|---|---|
| committer | Leandro A. F. Pereira <leandro@hardinfo.org> | 2010-05-03 21:08:06 -0300 | 
| commit | 9273c075a2f993c5154614b70233d8f74515c851 (patch) | |
| tree | eb72a8c58e6bc8f4ca3b739d28fbecc269c0052d /hardinfo2/shell/callbacks.c | |
| parent | 9a50155ec3e27aa6cedf3f118196f1947c769a29 (diff) | |
Move files from hardinfo2 to root.
Diffstat (limited to 'hardinfo2/shell/callbacks.c')
| -rw-r--r-- | hardinfo2/shell/callbacks.c | 430 | 
1 files changed, 0 insertions, 430 deletions
diff --git a/hardinfo2/shell/callbacks.c b/hardinfo2/shell/callbacks.c deleted file mode 100644 index 021560e2..00000000 --- a/hardinfo2/shell/callbacks.c +++ /dev/null @@ -1,430 +0,0 @@ -/* - *    HardInfo - Displays System Information - *    Copyright (C) 2003-2009 Leandro A. F. Pereira <leandro@hardinfo.org> - * - *    This program 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. - * - *    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. - * - *    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 - */ - -#include <stdlib.h> -#include <gtk/gtk.h> - -#include "hardinfo.h" -#include "callbacks.h" -#include "iconcache.h" - -#include "shell.h" -#include "report.h" -#include "remote.h" -#include "syncmanager.h" -#include "help-viewer.h" -#include "xmlrpc-server.h" - -#include "config.h" - -void cb_sync_manager() -{ -    Shell *shell = shell_get_main_shell(); - -    sync_manager_show(shell->window); -} - -void cb_connect_to() -{ -#ifdef HAS_LIBSOUP -    Shell *shell = shell_get_main_shell(); - -    connect_dialog_show(shell->window); -#endif /* HAS_LIBSOUP */ -} - -void cb_manage_hosts() -{ -#ifdef HAS_LIBSOUP -    Shell *shell = shell_get_main_shell(); -     -    host_manager_show(shell->window); -#endif /* HAS_LIBSOUP */ -} - -void cb_connect_host(GtkAction * action) -{ -#ifdef HAS_LIBSOUP -    Shell *shell = shell_get_main_shell(); -    gchar *name; -     -    g_object_get(G_OBJECT(action), "name", &name, NULL); -     -    if (remote_connect_host(name)) { -        gchar *tmp; -         -        tmp = g_strdup_printf("Remote: <b>%s</b>", name); -        shell_set_remote_label(shell, tmp); -         -        g_free(tmp); -    } else { -        cb_local_computer(); -    } - -    g_free(name); -#endif /* HAS_LIBSOUP */ -} - -static gboolean server_start_helper(gpointer server_loop) -{ -#ifdef HAS_LIBSOUP -     GMainLoop *loop = (GMainLoop *)server_loop; - -     xmlrpc_server_start(loop); -      -     return FALSE; -#endif /* HAS_LIBSOUP */ -} - -void cb_act_as_server() -{ -#ifdef HAS_LIBSOUP -    gboolean accepting; -    static GMainLoop *server_loop = NULL; - -    accepting = shell_action_get_active("ActAsServerAction"); -    if (accepting) { -       server_loop = g_main_loop_new(NULL, FALSE); -       g_idle_add(server_start_helper, server_loop); -    } else { -       g_main_loop_quit(server_loop); -    } -#endif /* HAS_LIBSOUP */ -} - -void cb_local_computer() -{ -#ifdef HAS_LIBSOUP -    Shell *shell = shell_get_main_shell(); - -    shell_status_update("Disconnecting..."); -    remote_disconnect_all(TRUE); - -    shell_status_update("Unloading modules..."); -    module_unload_all(); -     -    shell_status_update("Loading local modules..."); -    shell->tree->modules = modules_load_all(); - -    g_slist_foreach(shell->tree->modules, shell_add_modules_to_gui, shell->tree); -    gtk_tree_view_expand_all(GTK_TREE_VIEW(shell->tree->view)); -     -    shell_view_set_enabled(TRUE); -    shell_status_update("Done."); -    shell_set_remote_label(shell, ""); -#endif /* HAS_LIBSOUP */ -} - -void cb_save_graphic() -{ -    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); - -    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; -    } - -    gtk_widget_destroy(dialog); -} - -void cb_open_web_page() -{ -    open_url("http://wiki.hardinfo.org"); -} - -void cb_open_online_docs() -{ -    Shell *shell; -     -    shell = shell_get_main_shell(); -    if (shell->help_viewer) { -        help_viewer_open_page(shell->help_viewer, "index.hlp"); -    } else { -        gchar *help_dir; -         -        help_dir = g_build_filename(params.path_data, "doc", NULL); -        shell->help_viewer = help_viewer_new(help_dir, "index.hlp"); -        g_free(help_dir); -    } -} - -void cb_open_online_docs_context() -{ -    Shell *shell; -     -    shell = shell_get_main_shell(); - -    if (shell->selected->flags & MODULE_FLAG_HAS_HELP) { -        gchar *temp; -         -        if (shell->selected_module->dll) { -            gchar *name_temp; -             -            name_temp = (gchar *)g_module_name(shell->selected_module->dll); -            name_temp = g_path_get_basename(name_temp); -            strend(name_temp, '.'); -             -            temp = g_strdup_printf("context-help-%s-%d.hlp", -                                   name_temp, -                                   shell->selected->number); -             -            g_free(name_temp); -        } else { -            goto no_context_help; -        } -                 -        if (shell->help_viewer) { -            help_viewer_open_page(shell->help_viewer, temp); -        } else { -            gchar *help_dir; -             -            help_dir = g_build_filename(params.path_data, "doc", NULL); -            shell->help_viewer = help_viewer_new(help_dir, temp); -            g_free(help_dir); -        } -         -        g_free(temp); -    } else { -        GtkWidget *dialog; -         -no_context_help: -	dialog = gtk_message_dialog_new(GTK_WINDOW(shell->window), -					GTK_DIALOG_DESTROY_WITH_PARENT, -					GTK_MESSAGE_ERROR, -					GTK_BUTTONS_CLOSE, -					"No context help available."); - -	gtk_dialog_run(GTK_DIALOG(dialog)); -	gtk_widget_destroy(dialog); -    } -} - -void cb_report_bug() -{ -    open_url("http://wiki.hardinfo.org/BugReports"); -} - -void cb_donate() -{ -    open_url("http://wiki.hardinfo.org/Donate"); -} - -void cb_refresh() -{ -    shell_do_reload(); -} - -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); - -	ctx->entry = entry; - -	report_header(ctx); -	report_table(ctx, data); -	report_footer(ctx); - -	gtk_clipboard_set_text(clip, ctx->output, -1); - -	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); -} - -void cb_toolbar() -{ -    gboolean visible; - -    visible = shell_action_get_active("ToolbarAction"); -    shell_ui_manager_set_visible("/MainMenuBarAction", visible); -} - -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; -	    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); -} - -void cb_about() -{ -    GtkWidget *about; -    const gchar *authors[] = { -	"Author:", -	"Leandro A. F. Pereira", -	"", -	"Contributors:", -	"Agney Lopes Roth Ferraz", -	"Andrey Esin", -	"", -	"Based on work by:", -	"MD5 implementation by Colin Plumb (see md5.c for details)", -	"SHA1 implementation by Steve Reid (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)", -	"FFT benchmark by Scott Robert Ladd (see fftbench.c for details)", -	"Some code partly based on x86cpucaps by Osamu Kayasono", -	"Vendor list based on GtkSysInfo by Pissens Sebastien", -	"DMI support based on code by Stewart Adam", -	"SCSI support based on code by Pascal F. Martin", -	NULL -    }; -    const gchar *artists[] = { -	"Jakub Szypulka", -	"Tango Project", -	"The GNOME Project", -	"VMWare, Inc. (USB icon from VMWare Workstation 6)", -	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-2009 " -				   "Leandro A. F. Pereira"); -    gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(about), -				  "System information and benchmark tool"); -    gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(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"); -#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); - -    gtk_dialog_run(GTK_DIALOG(about)); -    gtk_widget_destroy(about); -} - -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"); - -    report_dialog_show(shell->tree->model, shell->window); - -    shell_action_set_enabled("RefreshAction", btn_refresh); -    shell_action_set_enabled("CopyAction", btn_copy); -} - -void cb_quit(void) -{ -    do { -	gtk_main_quit(); -    } while (gtk_main_level() > 1); -     -    exit(0); -}  | 
