gnome-utils r8231 - trunk/logview



Author: cosimoc
Date: Tue Dec 23 13:25:33 2008
New Revision: 8231
URL: http://svn.gnome.org/viewvc/gnome-utils?rev=8231&view=rev

Log:
Implement logview_log_get_display_name () and use it for setting the
window title.

Modified:
   trunk/logview/logview-log.c
   trunk/logview/logview-log.h
   trunk/logview/logview.c
   trunk/logview/logview.h

Modified: trunk/logview/logview-log.c
==============================================================================
--- trunk/logview/logview-log.c	(original)
+++ trunk/logview/logview-log.c	Tue Dec 23 13:25:33 2008
@@ -46,6 +46,7 @@
   /* stats about the file */
   GTimeVal file_time;
   goffset file_size;
+  char *display_name;
 
   /* stream poiting to the log */
   GDataInputStream *stream;
@@ -266,6 +267,7 @@
 
   log->priv->file_size = g_file_info_get_size (info);
   g_file_info_get_modification_time (info, &log->priv->file_time);
+  log->priv->display_name = g_strdup (g_file_info_get_display_name (info));
 
   g_object_unref (info);
 
@@ -339,4 +341,12 @@
   log->priv->file = g_file_new_for_path (filename);
 
   log_setup_load (log, callback, user_data);
+}
+
+const char *
+logview_log_get_display_name (LogviewLog *log)
+{
+  g_assert (LOGVIEW_IS_LOG (log));
+
+  return log->priv->display_name;
 }
\ No newline at end of file

Modified: trunk/logview/logview-log.h
==============================================================================
--- trunk/logview/logview-log.h	(original)
+++ trunk/logview/logview-log.h	Tue Dec 23 13:25:33 2008
@@ -83,6 +83,7 @@
 void logview_log_read_new_lines (LogviewLog *log,
                                  LogviewNewLinesCallback callback,
                                  gpointer user_data);
+const char * logview_log_get_display_name (LogviewLog *log);
 
 G_END_DECLS
 

Modified: trunk/logview/logview.c
==============================================================================
--- trunk/logview/logview.c	(original)
+++ trunk/logview/logview.c	Tue Dec 23 13:25:33 2008
@@ -147,36 +147,6 @@
     gtk_widget_grab_focus (logview->view);
 }
 
-void
-logview_set_window_title (LogviewWindow *logview)
-{
-    gchar *window_title;
-    gchar *logname;
-    Log *log;
-
-    g_assert (LOGVIEW_IS_WINDOW (logview));
-
-    log = logview->curlog;
-    if (log == NULL)
-      return;
-
-    if (log->name != NULL) {
-
-      if (log->display_name != NULL)
-	logname = log->display_name;
-      else
-	logname = log->name;
-
-	window_title = g_strdup_printf ("%s - %s", logname, APP_NAME);
-
-    }
-    else
-      window_title = g_strdup_printf (APP_NAME);
-
-    gtk_window_set_title (GTK_WINDOW (logview), window_title);
-    g_free (window_title);
-}
-
 /* private functions */
 
 static void
@@ -293,6 +263,24 @@
 }
 
 static void
+logview_set_window_title (LogviewWindow *logview, const char * log_name)
+{
+  char *window_title;
+
+  g_assert (LOGVIEW_IS_WINDOW (logview));
+
+  if (log_name) {
+    window_title = g_strdup_printf ("%s - %s", log_name, APP_NAME);
+  } else {
+    window_title = g_strdup_printf (APP_NAME);
+  }
+
+  gtk_window_set_title (GTK_WINDOW (logview), window_title);
+
+  g_free (window_title);
+}
+
+static void
 logview_menu_item_set_state (LogviewWindow *logview, char *path, gboolean state)
 {
   GtkAction *action;
@@ -633,6 +621,18 @@
 }
 
 static void
+active_log_changed_cb (LogviewManager *manager,
+                       LogviewLog *log,
+                       gpointer data)
+{
+  LogviewWindow *window = data;
+
+  
+  /* update the tile for the new log */
+  logview_set_window_title (window, logview_log_get_display_name (log));
+}
+
+static void
 logview_window_finalize (GObject *object)
 {
   LogviewWindow *logview = LOGVIEW_WINDOW (object);
@@ -801,6 +801,8 @@
                     G_CALLBACK (font_changed_cb), logview);
   g_signal_connect (priv->prefs, "have-tearoff-changed",
                     G_CALLBACK (tearoff_changed_cb), logview);
+  g_signal_connect (priv->manager, "active-changed",
+                    G_CALLBACK (active_log_changed_cb), logview);
 
   /* Status area at bottom */
   priv->statusbar = gtk_statusbar_new ();

Modified: trunk/logview/logview.h
==============================================================================
--- trunk/logview/logview.h	(original)
+++ trunk/logview/logview.h	Tue Dec 23 13:25:33 2008
@@ -52,6 +52,5 @@
 /* public methods */
 GtkWidget *logview_window_new (void);
 void logview_select_log (LogviewWindow *logview, Log *log);
-void logview_set_window_title (LogviewWindow *window);
 
 #endif /* __LOGVIEW_WINDOW_H__ */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]