summaryrefslogtreecommitdiff
path: root/src/gui
diff options
context:
space:
mode:
authorCyrille Bagard <nocbos@gmail.com>2018-01-13 00:35:33 (GMT)
committerCyrille Bagard <nocbos@gmail.com>2018-01-13 00:35:33 (GMT)
commita6975c1d754a1ba5bfb9e23f0b26692c746e6f9c (patch)
tree7ec962129ebbce6cd210b449443afc91ced72719 /src/gui
parent5adcf950f1f928c7127f2d694b52addf54cc04ca (diff)
Handled the logs from the GUI, the command line and the Python bindings.
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/core/theme.c2
-rw-r--r--src/gui/dialogs/identity.c2
-rw-r--r--src/gui/menus/debug.c1
-rw-r--r--src/gui/panels/log.c91
-rw-r--r--src/gui/panels/log.h19
5 files changed, 10 insertions, 105 deletions
diff --git a/src/gui/core/theme.c b/src/gui/core/theme.c
index 895a1a5..9c3c63b 100644
--- a/src/gui/core/theme.c
+++ b/src/gui/core/theme.c
@@ -38,9 +38,9 @@
#include <i18n.h>
-#include "../panels/log.h"
#include "../../common/extstr.h"
#include "../../common/xdg.h"
+#include "../../core/logs.h"
#include "../../core/params.h"
diff --git a/src/gui/dialogs/identity.c b/src/gui/dialogs/identity.c
index 0f6a111..3df2e91 100644
--- a/src/gui/dialogs/identity.c
+++ b/src/gui/dialogs/identity.c
@@ -30,8 +30,8 @@
#include <i18n.h>
-#include "../panels/log.h"
#include "../../analysis/db/keymgn.h"
+#include "../../core/logs.h"
diff --git a/src/gui/menus/debug.c b/src/gui/menus/debug.c
index cb270ff..3e785b5 100644
--- a/src/gui/menus/debug.c
+++ b/src/gui/menus/debug.c
@@ -32,7 +32,6 @@
#include "../../debug/debugger.h" /* REMME ! */
#include "../../gtkext/easygtk.h"
-#include "../../gui/panels/log.h"
diff --git a/src/gui/panels/log.c b/src/gui/panels/log.c
index 2fd8f4f..e547a03 100644
--- a/src/gui/panels/log.c
+++ b/src/gui/panels/log.c
@@ -88,9 +88,6 @@ static void g_log_panel_dispose(GLogPanel *);
static void g_log_panel_finalize(GLogPanel *);
/* Affiche un message dans le journal des messages système. */
-static void _log_simple_message(LogMessageType, char *);
-
-/* Affiche un message dans le journal des messages système. */
static gboolean log_message(log_data *);
@@ -270,28 +267,9 @@ GPanelItem *g_log_panel_new(void)
/******************************************************************************
* *
-* Paramètres : type = espèce du message à ajouter. *
-* msg = message à faire apparaître à l'écran. *
-* *
-* Description : Affiche un message dans le journal des messages système. *
-* *
-* Retour : - *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-void log_simple_message(LogMessageType type, const char *msg)
-{
- _log_simple_message(type, strdup(msg));
-
-}
-
-
-/******************************************************************************
-* *
-* Paramètres : type = espèce du message à ajouter. *
-* msg = message à faire apparaître à l'écran. *
+* Paramètres : panel = instance d'objet GLib à traiter. *
+* type = espèce du message à ajouter. *
+* msg = message à faire apparaître à l'écran. *
* *
* Description : Affiche un message dans le journal des messages système. *
* *
@@ -301,18 +279,15 @@ void log_simple_message(LogMessageType type, const char *msg)
* *
******************************************************************************/
-static void _log_simple_message(LogMessageType type, char *msg)
+void g_log_panel_add_message(GLogPanel *panel, LogMessageType type, const char *msg)
{
- GPanelItem *item; /* Intermédiaire mis en place */
log_data *data; /* Paramètres à joindre */
- item = get_panel_item_by_name(PANEL_LOG_ID);
-
data = (log_data *)calloc(1, sizeof(log_data));
- data->item = item;
+ data->item = G_PANEL_ITEM(panel);
data->type = type;
- data->msg = msg;
+ data->msg = strdup(msg);
g_object_ref(G_OBJECT(data->item));
@@ -323,60 +298,6 @@ static void _log_simple_message(LogMessageType type, char *msg)
/******************************************************************************
* *
-* Paramètres : type = espèce du message à ajouter. *
-* fmt = format du message à faire apparaître à l'écran. *
-* ... = éventuels arguments venant compléter le message. *
-* *
-* Description : Affiche un message dans le journal des messages système. *
-* *
-* Retour : - *
-* *
-* Remarques : - *
-* *
-******************************************************************************/
-
-void log_variadic_message(LogMessageType type, const char *fmt, ...)
-{
- size_t len; /* Taille tampon disponible */
- char *buffer; /* Tampon du msg reconstitué */
- int ret; /* Bilan d'une impression */
- char *ptr; /* Nouvelle allocation */
- va_list ap; /* Liste d'arguments variable */
-
- len = VARIADIC_LOG_BUFSIZE;
- buffer = calloc(len, sizeof(char));
-
- while (buffer != NULL)
- {
- va_start(ap, fmt);
- ret = vsnprintf(buffer, len, fmt, ap);
- va_end(ap);
-
- if (ret >= 0 && ret < len) break;
-
- else
- {
- if (ret > -1) len += 1; /* glibc 2.1 */
- else len *= 2; /* glibc 2.0 */
-
- if ((ptr = realloc(buffer, len)) == NULL)
- {
- free(buffer);
- buffer = NULL;
- }
- else buffer = ptr;
-
- }
-
- }
-
- _log_simple_message(type, buffer);
-
-}
-
-
-/******************************************************************************
-* *
* Paramètres : data = paramètres destinés à l'affichage d'un message. *
* *
* Description : Affiche un message dans le journal des messages système. *
diff --git a/src/gui/panels/log.h b/src/gui/panels/log.h
index e37348a..dab8581 100644
--- a/src/gui/panels/log.h
+++ b/src/gui/panels/log.h
@@ -30,6 +30,7 @@
#include "panel.h"
+#include "../../core/logs.h"
@@ -55,19 +56,6 @@ typedef struct _GLogPanel GLogPanel;
typedef struct _GLogPanelClass GLogPanelClass;
-/* Type de messages disponibles */
-typedef enum _LogMessageType
-{
- LMT_INFO, /* Information sur l'exécution */
- LMT_BAD_BINARY, /* Binaire malformé */
- LMT_PROCESS, /* Début de tâche quelconque */
- LMT_ERROR, /* Erreur de traitement */
- LMT_WARNING, /* Avertissment à remonter */
-
- LMT_COUNT
-
-} LogMessageType;
-
/* Indique le type définit pour un panneau d'affichage de messages. */
GType g_log_panel_get_type(void);
@@ -76,10 +64,7 @@ GType g_log_panel_get_type(void);
GPanelItem *g_log_panel_new(void);
/* Affiche un message dans le journal des messages système. */
-void log_simple_message(LogMessageType, const char *);
-
-/* Affiche un message dans le journal des messages système. */
-void log_variadic_message(LogMessageType, const char *, ...);
+void g_log_panel_add_message(GLogPanel *, LogMessageType, const char *);