Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=gfpm.git;a=commitdiff;h=ed1dfdcbad0bc6816da8e2c3177204655bdbe08c

commit ed1dfdcbad0bc6816da8e2c3177204655bdbe08c
Author: Priyank <[EMAIL PROTECTED]>
Date:   Tue Feb 26 21:22:13 2008 +0530

gfpm-logviewer: Log viewer now also displays the Log file size in KB.

diff --git a/data/gfpm.glade b/data/gfpm.glade
index 76a9052..f38a7d5 100644
--- a/data/gfpm.glade
+++ b/data/gfpm.glade
@@ -2286,7 +2286,33 @@
<property name="visible">True</property>
<property name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK 
| GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="border_width">7</property>
-            <property name="layout_style">GTK_BUTTONBOX_END</property>
+            <child>
+              <widget class="GtkHBox" id="hbox17">
+                <property name="visible">True</property>
+                <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                <child>
+                  <widget class="GtkLabel" id="label28">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                    <property name="xalign">0</property>
+                    <property name="label" translatable="yes">&lt;b&gt;Log 
file size:&lt;/b&gt;</property>
+                    <property name="use_markup">True</property>
+                  </widget>
+                </child>
+                <child>
+                  <widget class="GtkLabel" id="log_size_label">
+                    <property name="visible">True</property>
+                    <property name="events">GDK_POINTER_MOTION_MASK | 
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | 
GDK_BUTTON_RELEASE_MASK</property>
+                  </widget>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </widget>
+              <packing>
+                <property name="expand">False</property>
+              </packing>
+            </child>
<child>
<widget class="GtkButton" id="button3">
<property name="visible">True</property>
@@ -2298,6 +2324,9 @@
<property name="response_id">0</property>
<signal name="clicked" handler="gtk_widget_hide" object="syslog_window"/>
</widget>
+              <packing>
+                <property name="position">1</property>
+              </packing>
</child>
</widget>
<packing>
diff --git a/src/gfpm-logviewer.c b/src/gfpm-logviewer.c
index 2d2403f..feb718d 100644
--- a/src/gfpm-logviewer.c
+++ b/src/gfpm-logviewer.c
@@ -22,13 +22,16 @@
#include "gfpm-messages.h"
#include "gfpm-interface.h"
#include <libfwutil.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+#include <unistd.h>
#include <glib.h>
#include <time.h>

typedef struct _LogViewItem
{
gchar   *label;
-       GList           *children;
+       GList   *children;
} LogViewItem;

/* location of pacman-g2.log */
@@ -43,6 +46,7 @@ int getdate_err;
static GtkWidget *gfpm_logviewer_dlg;
static GtkWidget *gfpm_logviewer_tvw;
static GtkWidget *gfpm_logviewer_txtvw;
+static GtkWidget *gfpm_logviewer_sizelabel;

static void _gfpm_logviewer_populate (void);
static void _gfpm_logviewer_populate_txtvw (const char *text);
@@ -52,10 +56,10 @@ static void cb_gfpm_logviewer_tvw_row_activated 
(GtkTreeSelection *selection, gp
void
gfpm_logviewer_init (void)
{
-        gint                           col_offset;
-        GtkCellRenderer        *renderer;
-        GtkTreeViewColumn      *column;
-        GtkTreeSelection       *sel;
+        gint                   col_offset;
+        GtkCellRenderer        *renderer = NULL;
+        GtkTreeViewColumn      *column = NULL;
+        GtkTreeSelection       *sel = NULL;

if (getenv("DATEMSK") == NULL)
{
@@ -66,6 +70,7 @@ gfpm_logviewer_init (void)
gfpm_logviewer_dlg = gfpm_get_widget ("syslog_window");
gfpm_logviewer_tvw = gfpm_get_widget ("log_tvw");
gfpm_logviewer_txtvw = gfpm_get_widget ("log_txtvw");
+        gfpm_logviewer_sizelabel = gfpm_get_widget ("log_size_label");

renderer = gtk_cell_renderer_text_new ();
g_object_set (renderer, "xalign", 0.0, NULL);
@@ -94,21 +99,32 @@ gfpm_logviewer_show ()
static void
_gfpm_logviewer_populate (void)
{
-       FILE                    *fp = NULL;
-       char                    line[PATH_MAX+1] = "";
-       int                     prev_day = -1;
-       int                     prev_month = -1;
-       int                     prev_year = -1;
+       FILE            *fp = NULL;
+       char            line[PATH_MAX+1] = "";
+       int             prev_day = -1;
+       int             prev_month = -1;
+       int             prev_year = -1;
GtkTreeStore    *store;
-       GtkTreeIter             iter;
-       GList                   *master = NULL;
+       GtkTreeIter     iter;
+       GList           *master = NULL;
LogViewItem     *li = NULL;
+       struct stat     fstat;

if ((fp=fopen(LOG_FILE,"r"))==NULL)
{
gfpm_error (_("Error"), _("Error opening log file."));
return;
}
+       /* calculate the size of the log file in KB */
+       if (!g_stat(LOG_FILE,&fstat))
+       {
+               gint size = 0;
+               gchar *sizetxt = NULL;
+               size = fstat.st_size / 1024;
+               sizetxt = g_strdup_printf ("%d KB", size);
+               gtk_label_set_text (GTK_LABEL(gfpm_logviewer_sizelabel), 
sizetxt);
+               g_free (sizetxt);
+       }
while (fgets(line,PATH_MAX,fp))
{
char *ptr = NULL;
@@ -179,7 +195,6 @@ _gfpm_logviewer_populate (void)
while (master != NULL)
{
LogViewItem *m = master->data;
-               //printf ("SECTION : %s\n", m->label);
gtk_tree_store_append (store, &iter, NULL);
gtk_tree_store_set (store, &iter, 0, m->label, -1);
/* add children */
@@ -187,7 +202,6 @@ _gfpm_logviewer_populate (void)
while (child != NULL)
{
GtkTreeIter     child_iter;
-                       //printf ("\tSUB: %s\n", child->data);
gtk_tree_store_append (store, &child_iter, &iter);
gtk_tree_store_set (store, &child_iter, 0, child->data, -1);
child = g_list_next (child);
@@ -203,10 +217,10 @@ _gfpm_logviewer_populate (void)
static void
_gfpm_logviewer_populate_txtvw (const char *text)
{
-       struct tm               *t = NULL;
-       char                    date[10] = "";
+       struct tm       *t = NULL;
+       char            date[10] = "";
GtkTextBuffer   *buffer;
-       GtkTextIter             iter;
+       GtkTextIter     iter;

buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(gfpm_logviewer_txtvw));
gtk_text_buffer_set_text (buffer, "", 0);
@@ -232,13 +246,15 @@ _gfpm_logviewer_populate_txtvw (const char *text)
gtk_text_view_set_buffer (GTK_TEXT_VIEW(gfpm_logviewer_txtvw), buffer);
fclose (fp);
}
+
+       return;
}

static void
cb_gfpm_logviewer_tvw_row_activated (GtkTreeSelection *selection, gpointer data)
{
-       GtkTreeIter             iter;
-       GtkTreeIter             piter;
+       GtkTreeIter     iter;
+       GtkTreeIter     piter;
GtkTreeModel    *model;

if (gtk_tree_selection_get_selected (selection, &model, &iter))
@@ -252,6 +268,7 @@ cb_gfpm_logviewer_tvw_row_activated (GtkTreeSelection 
*selection, gpointer data)
g_free (text);
}
}
-
+
return;
}
+
_______________________________________________
Frugalware-git mailing list
[email protected]
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to