gnome-utils r8229 - trunk/logview



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

Log:
Remove more useless stuff in LogviewWindow, rework main to cope with
LogviewManager.

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

Modified: trunk/logview/logview-main.c
==============================================================================
--- trunk/logview/logview-main.c	(original)
+++ trunk/logview/logview-main.c	Tue Dec 23 13:25:29 2008
@@ -1,5 +1,6 @@
 /*
  * Copyright (C) 2005 Vincent Noel <vnoel cox net>
+ * Copyright (C) 2008 Cosimo Cecchi <cosimoc gnome org>
  *
  * This program is free software; you can redistribute it and/or
  * modify it under the terms of the GNU General Public License as
@@ -20,8 +21,6 @@
 
 #include <stdlib.h>
 
-#include <libgnomevfs/gnome-vfs.h>
-
 #include <glib/gi18n.h>
 #include <glib.h>
 
@@ -29,6 +28,7 @@
 
 #include "logview.h"
 #include "logview-prefs.h"
+#include "logview-manager.h"
 #include "misc.h"
 
 static gboolean show_version = FALSE;
@@ -74,7 +74,9 @@
 {
   GError *error = NULL;
   GOptionContext *context;
-  LogviewWindow *logview;
+  GtkWidget *main_window;
+  LogviewPrefs *prefs;
+  LogviewManager *manager;
 
   bindtextdomain (GETTEXT_PACKAGE, GNOMELOCALEDIR);
   bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
@@ -82,7 +84,6 @@
 
   error_dialog_queue (TRUE);
 
-  gnome_vfs_init ();
   context = create_option_context ();
 
   g_option_context_parse (context, &argc, &argv, &error);
@@ -99,12 +100,13 @@
 
   g_set_application_name (_("Log Viewer"));
 
-  if (show_version)
+  if (show_version) {
     logview_show_version_and_quit ();
+  }
 
-  /* Open regular logs and add each log passed as a parameter */
-  logview = LOGVIEW_WINDOW (logview_window_new ());
-  if (!logview) {
+  /* open regular logs and add each log passed as a parameter */
+  main_window = logview_window_new ();
+  if (!main_window) {
     error_dialog_show (NULL,
                        _("Unable to create user interface."),
                        NULL);
@@ -113,28 +115,40 @@
   }
 
   gtk_window_set_default_icon_name ("logviewer");
-  gtk_widget_show (GTK_WIDGET (logview));
+
+  prefs = logview_prefs_get ();
+  manager = logview_manager_get ();
 
   if (argc == 1) {
-    logview_add_logs_from_names (logview,
-                                 prefs_get_logs (),
-                                 prefs_get_active_log ());
+    char *active_log;
+    GSList *logs;
+
+    active_log = logview_prefs_get_active_logfile (prefs);
+    logs = logview_prefs_get_stored_logfiles (prefs);
+
+    logview_manager_add_logs_from_names (manager,
+                                         logs, active_log);
+
+    g_free (active_log);
+    g_slist_foreach (logs, (GFunc) g_free, NULL);
+    g_slist_free (logs);
   } else {
     gint i;
 
     for (i = 1; i < argc; i++)
-      logview_add_log_from_name (logview, argv[i]);
+      logview_manager_add_log_from_name (manager, argv[i], FALSE);
   }
 
-  logview_show_main_content (logview);
-
   /* show the eventual error dialogs */
   error_dialog_queue (FALSE);
   error_dialog_show_queued ();
 
+  gtk_widget_show (main_window);
+
   gtk_main ();
 
-  prefs_shutdown ();
+  g_object_unref (prefs);
+  g_object_unref (manager);
 
   return EXIT_SUCCESS;
 }

Modified: trunk/logview/logview.c
==============================================================================
--- trunk/logview/logview.c	(original)
+++ trunk/logview/logview.c	Tue Dec 23 13:25:29 2008
@@ -178,18 +178,6 @@
     g_free (window_title);
 }
 
-void
-logview_show_main_content (LogviewWindow *logview)
-{
-  g_return_if_fail (LOGVIEW_IS_WINDOW (logview));
-  gtk_widget_show (logview->calendar);
-  gtk_widget_show (logview->loglist);
-  gtk_widget_show (logview->sidebar);
-  gtk_widget_show (logview->view);
-  gtk_widget_show (logview->hpaned);
-  gtk_widget_show (logview->statusbar);
-}
-
 /* private functions */
 
 static void
@@ -342,6 +330,31 @@
   gtk_action_set_sensitive (action, state);
 }
 
+static void
+logview_window_menus_set_state (LogviewWindow *logview)
+{
+  LogviewLog *log;
+  gboolean calendar_active = FALSE;
+  GtkWidget *widget;
+
+  g_assert (LOGVIEW_IS_WINDOW (logview));
+
+  log = logview_manager_get_current_log (logview->priv->manager);
+
+  if (log) {
+    calendar_active = (log->days != NULL);
+  }
+
+  logview_menu_item_set_state (logview, "/LogviewMenu/ViewMenu/ShowCalendar", calendar_active);
+  logview_menu_item_set_state (logview, "/LogviewMenu/FileMenu/CloseLog", (log != NULL));
+  logview_menu_item_set_state (logview, "/LogviewMenu/ViewMenu/CollapseAll", calendar_active);
+  logview_menu_item_set_state (logview, "/LogviewMenu/ViewMenu/Search", (log != NULL));
+  logview_menu_item_set_state (logview, "/LogviewMenu/EditMenu/Copy", (log != NULL));
+  logview_menu_item_set_state (logview, "/LogviewMenu/EditMenu/SelectAll", (log != NULL));
+
+  g_object_unref (log);
+}
+
 /* actions callbacks */
 
 static void
@@ -666,7 +679,7 @@
   GtkActionGroup *action_group;
   GtkAccelGroup *accel_group;
   GError *error = NULL;
-  GtkWidget *hpaned, *main_view, *loglist_scrolled, *scrolled, *vbox;
+  GtkWidget *hpaned, *main_view, *scrolled, *vbox;
   PangoContext *context;
   PangoFontDescription *fontdesc;
   gchar *monospace_font_name;
@@ -709,29 +722,37 @@
   w = gtk_ui_manager_get_widget (priv->ui_manager, "/LogviewMenu");
   gtk_box_pack_start (GTK_BOX (vbox), w, FALSE, FALSE, 0);
   gtk_widget_show (w);
-
+  
+  
   /* panes */
   hpaned = gtk_hpaned_new ();
   gtk_box_pack_start (GTK_BOX (vbox), hpaned, TRUE, TRUE, 0);
+  priv->hpaned = hpaned;
+  gtk_widget_show (hpaned);
 
   /* First pane : sidebar (list of logs + calendar) */
   priv->sidebar = gtk_vbox_new (FALSE, 0);
+  gtk_widget_show (priv->sidebar);
 
   priv->calendar = calendar_new ();
   calendar_connect (CALENDAR (priv->calendar), logview);
   gtk_box_pack_end (GTK_BOX (priv->sidebar), priv->calendar, FALSE, FALSE, 0);
+  gtk_widget_show (priv->calendar);
 
   /* log list */
-  loglist_scrolled = gtk_scrolled_window_new (NULL, NULL);
-  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (loglist_scrolled),
+  w = gtk_scrolled_window_new (NULL, NULL);
+  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (w),
                                   GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
-  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (loglist_scrolled),
+  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (w),
                                        GTK_SHADOW_ETCHED_IN);
+
   priv->loglist = loglist_new ();
-  gtk_container_add (GTK_CONTAINER (loglist_scrolled), priv->loglist);
-  gtk_box_pack_start (GTK_BOX (priv->sidebar), loglist_scrolled, TRUE, TRUE, 0);
+  gtk_container_add (GTK_CONTAINER (w), priv->loglist);
+  gtk_box_pack_start (GTK_BOX (priv->sidebar), w, TRUE, TRUE, 0);
   gtk_paned_pack1 (GTK_PANED (hpaned), priv->sidebar, FALSE, FALSE);
   loglist_connect (LOG_LIST (priv->loglist), logview);
+  gtk_widget_show (w);
+  gtk_widget_show (priv->loglist);
 
   /* Second pane : log */
   main_view = gtk_vbox_new (FALSE, 0);
@@ -743,6 +764,7 @@
                                   GTK_POLICY_AUTOMATIC,
                                   GTK_POLICY_AUTOMATIC);
   gtk_box_pack_start (GTK_BOX (main_view), scrolled, TRUE, TRUE, 0);
+  gtk_widget_show (main_view);
 
   /* Main Tree View */
   priv->view = gtk_tree_view_new ();
@@ -787,6 +809,7 @@
   priv->fontsize = priv->original_fontsize;
 
   gtk_container_add (GTK_CONTAINER (scrolled), priv->view);
+  gtk_widget_show (priv->view);
   gtk_widget_show_all (scrolled);
 
   selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (priv->view));
@@ -809,12 +832,9 @@
   /* Status area at bottom */
   priv->statusbar = gtk_statusbar_new ();
   gtk_box_pack_start (GTK_BOX (vbox), priv->statusbar, FALSE, FALSE, 0);
+  gtk_widget_show (priv->statusbar);
 
-  gtk_widget_show (loglist_scrolled);
-  gtk_widget_show (main_view);
   gtk_widget_show (vbox);
-
-  priv->hpaned = hpaned;
 }
 
 static void
@@ -863,29 +883,4 @@
   }
 
   return window;
-}
-
-void
-logview_window_menus_set_state (LogviewWindow *logview)
-{
-  LogviewLog *log;
-  gboolean calendar_active = FALSE;
-  GtkWidget *widget;
-
-  g_assert (LOGVIEW_IS_WINDOW (logview));
-
-  log = logview_manager_get_current_log (logview->priv->manager);
-
-  if (log) {
-    calendar_active = (log->days != NULL);
-  }
-
-  logview_menu_item_set_state (logview, "/LogviewMenu/ViewMenu/ShowCalendar", calendar_active);
-  logview_menu_item_set_state (logview, "/LogviewMenu/FileMenu/CloseLog", (log != NULL));
-  logview_menu_item_set_state (logview, "/LogviewMenu/ViewMenu/CollapseAll", calendar_active);
-  logview_menu_item_set_state (logview, "/LogviewMenu/ViewMenu/Search", (log != NULL));
-  logview_menu_item_set_state (logview, "/LogviewMenu/EditMenu/Copy", (log != NULL));
-  logview_menu_item_set_state (logview, "/LogviewMenu/EditMenu/SelectAll", (log != NULL));
-
-  g_object_unref (log);
 }
\ No newline at end of file

Modified: trunk/logview/logview.h
==============================================================================
--- trunk/logview/logview.h	(original)
+++ trunk/logview/logview.h	Tue Dec 23 13:25:29 2008
@@ -51,15 +51,7 @@
 
 /* public methods */
 GtkWidget *logview_window_new (void);
-
-Log *logview_get_active_log (LogviewWindow *logview);
-int logview_count_logs (LogviewWindow *logview);
 void logview_select_log (LogviewWindow *logview, Log *log);
-void logview_add_log_from_name (LogviewWindow *logview, gchar *file);
-void logview_add_logs_from_names (LogviewWindow *logview, GSList *lognames, gchar *selected);
-void logview_menus_set_state (LogviewWindow *logview);
 void logview_set_window_title (LogviewWindow *window);
-void logview_set_font (LogviewWindow *window, const gchar *fontname);
-void logview_show_main_content (LogviewWindow *window);
 
 #endif /* __LOGVIEW_WINDOW_H__ */



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