aboutsummaryrefslogtreecommitdiff
path: root/shell/callbacks.c
diff options
context:
space:
mode:
authorLucas de Castro Borges <lucas@gnuabordo.com.br>2024-04-22 00:35:53 -0300
committerLucas de Castro Borges <lucas@gnuabordo.com.br>2024-04-22 00:35:53 -0300
commit5f01c706267c595de92406a32e7f31ef5056c2d0 (patch)
treed1e74ef54efc41ada622900fe3e2a50dee44a237 /shell/callbacks.c
parent09fcc751ef158898c315ebc9299a0fa3a722d914 (diff)
New upstream version 2.0.3preupstream/2.0.3pre
Diffstat (limited to 'shell/callbacks.c')
-rw-r--r--shell/callbacks.c150
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);