diff options
Diffstat (limited to 'shell/callbacks.c')
-rw-r--r-- | shell/callbacks.c | 150 |
1 files changed, 114 insertions, 36 deletions
diff --git a/shell/callbacks.c b/shell/callbacks.c index 9bb5c990..b9c6252b 100644 --- a/shell/callbacks.c +++ b/shell/callbacks.c @@ -1,10 +1,10 @@ /* * HardInfo - Displays System Information - * Copyright (C) 2003-2009 Leandro A. F. Pereira <leandro@hardinfo.org> + * Copyright (C) 2003-2009 L. A. F. Pereira <l@tia.mat.br> * * 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. + * the Free Software Foundation, version 2 or later. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -26,7 +26,7 @@ #include "shell.h" #include "report.h" #include "syncmanager.h" -#include "xmlrpc-server.h" +#include "uri_handler.h" #include "config.h" @@ -36,15 +36,62 @@ void cb_sync_manager() sync_manager_show(shell->window); } +#if GLIB_CHECK_VERSION(2,40,0) +#else +//For compatibility with older glib +gboolean g2_key_file_save_to_file (GKeyFile *key_file, + const gchar *filename, GError **error) +{ + gchar *contents; + gboolean success; + gsize length; + + g_return_val_if_fail (key_file != NULL, FALSE); + g_return_val_if_fail (filename != NULL, FALSE); + g_return_val_if_fail (error == NULL || *error == NULL, FALSE); + + contents = g_key_file_to_data (key_file, &length, NULL); + g_assert (contents != NULL); + + success = g_file_set_contents (filename, contents, length, error); + g_free (contents); + + return success; +} +#endif + +void cb_sync_on_startup() +{ + gboolean setting = shell_action_get_active("SyncOnStartupAction"); + GKeyFile *key_file = g_key_file_new(); + + g_mkdir(g_get_user_config_dir(),0755); + g_mkdir(g_build_filename(g_get_user_config_dir(), "hardinfo", NULL),0755); + + gchar *conf_path = g_build_filename(g_get_user_config_dir(), "hardinfo2", + "settings.ini", NULL); + + g_key_file_load_from_file( + key_file, conf_path, + G_KEY_FILE_KEEP_COMMENTS | G_KEY_FILE_KEEP_TRANSLATIONS, NULL); + g_key_file_set_boolean(key_file, "Sync", "OnStartup", setting); +#if GLIB_CHECK_VERSION(2,40,0) + g_key_file_save_to_file(key_file, conf_path, NULL); +#else + g2_key_file_save_to_file(key_file, conf_path, NULL); +#endif + g_free(conf_path); + g_key_file_free(key_file); +} void cb_open_web_page() { - open_url("http://www.hardinfo.org"); + uri_open("https://www.hardinfo2.org"); } void cb_report_bug() { - open_url("https://github.com/lpereira/hardinfo"); + uri_open("https://github.com/hardinfo2/hardinfo2/issues"); } void cb_refresh() @@ -95,7 +142,7 @@ void cb_about_module(GtkAction * action) { Shell *shell = shell_get_main_shell(); GSList *modules = shell->tree->modules; - ModuleAbout *ma; + const ModuleAbout *ma; gchar *name; g_object_get(G_OBJECT(action), "tooltip", &name, NULL); @@ -155,31 +202,63 @@ void cb_about() GtkWidget *about; gchar *copyright = NULL; const gchar *authors[] = { - _("Author:"), - "Leandro A. F. Pereira", - "", - _("Contributors:"), + "L. A. F. Pereira (2003-2023)", + "hwspeedy(2024-)", "Agney Lopes Roth Ferraz", "Andrey Esin", "Burt P.", + "Ondrej Čerman", + "Stewart Adam", + "Pascal F. Martin", + "TotalCaesar659", + "Julian Ospald", + "Julien Lavergne", + "Fernando López", + "PICCORO Lenz McKAY", + "Alexander Münch", + "Simon Quigley", + "AsciiWolf", + "George Schneeloch", + "Mattia Rizzolo", + "Yo", + "jamesbond", + "Ondrej Čerman", + "Mike Hewitt", + "Boris Afonot", + "", + "Based on work by:", + "uber-graph by Christian Hergert and others.", + "BinReloc by Hongli Lai", + "decode-dimms by Philip Edelbrock", + "decode-dimms by Christian Zuckschwerdt", + "decode-dimms by Burkart Lingner", + "x86cpucaps by Osamu Kayasono", + "MD5 implementation by Colin Plumb", + "SHA1 implementation by Steve Reid", + "Blowfish implementation by Paul Kocher", + "Raytracing benchmark by John Walker", + "FFT benchmark by Scott Robert Ladd", + "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", + "", + "Translated by:", + "Alexander Münch", + "micrococo", + "yolanteng0", + "Yunji Lee", + "Hugo Carvalho", + "Paulo Giovanni pereira", + "Sergey Rodin", + "Sabri Ünal", + "yetist", "", - _("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[] = { + "Artwork by:", "Jakub Szypulka", - _("Tango Project"), - _("The GNOME Project"), - _("VMWare, Inc. (USB icon from VMWare Workstation 6)"), + "Tango Project", + "The GNOME Project", + "epicbard", + "Roundicons", NULL }; @@ -187,24 +266,24 @@ void cb_about() gtk_window_set_transient_for(GTK_WINDOW(about), GTK_WINDOW(shell->window)); #if GTK_CHECK_VERSION(2, 12, 0) - gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(about), "HardInfo"); + gtk_about_dialog_set_program_name(GTK_ABOUT_DIALOG(about), "Hardinfo2"); #else - gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(about), "HardInfo"); + gtk_about_dialog_set_name(GTK_ABOUT_DIALOG(about), "Hardinfo2"); #endif - copyright = g_strdup_printf("Copyright \302\251 2003-%d Leandro A. F. Pereira", HARDINFO_COPYRIGHT_LATEST_YEAR); + copyright = g_strdup_printf("Copyright \302\251 2003-2023 L. A. F. Pereira\nCopyright \302\251 2024-%d Hardinfo2 Project\n\n\n\n", HARDINFO2_COPYRIGHT_LATEST_YEAR); gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about), VERSION); gtk_about_dialog_set_copyright(GTK_ABOUT_DIALOG(about), copyright); gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(about), - _("System information and benchmark tool")); + _("System Information and Benchmark")); gtk_about_dialog_set_logo(GTK_ABOUT_DIALOG(about), - icon_cache_get_pixbuf("logo.png")); + icon_cache_get_pixbuf("hardinfo2.png")); gtk_about_dialog_set_license(GTK_ABOUT_DIALOG(about), - _("HardInfo is free software; you can redistribute it and/or modify " + _("HardInfo2 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" + "the Free Software Foundation, version 2 or later.\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 " @@ -215,9 +294,8 @@ void cb_about() gtk_about_dialog_set_wrap_license(GTK_ABOUT_DIALOG(about), TRUE); gtk_about_dialog_set_authors(GTK_ABOUT_DIALOG(about), authors); - gtk_about_dialog_set_artists(GTK_ABOUT_DIALOG(about), artists); - gtk_about_dialog_set_translator_credits(GTK_ABOUT_DIALOG(about), - _("translator-credits")); + //gtk_about_dialog_set_artists(GTK_ABOUT_DIALOG(about), artists); + //gtk_about_dialog_set_translator_credits(GTK_ABOUT_DIALOG(about), _("translator-credits")); gtk_dialog_run(GTK_DIALOG(about)); gtk_widget_destroy(about); |