/[xlog]/xlog/src/gui_openlogdialog.c
ViewVC logotype

Diff of /xlog/src/gui_openlogdialog.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.7 by pa4tu, Sat Oct 16 10:49:35 2004 UTC revision 1.8 by pa4tu, Tue Oct 19 18:41:03 2004 UTC
# Line 28  Line 28 
28  #include <gtk/gtk.h>  #include <gtk/gtk.h>
29  #include <string.h>  #include <string.h>
30  #include <unistd.h>  #include <unistd.h>
31    #include <stdio.h>
32    
33  #include "gui_openlogdialog.h"  #include "gui_openlogdialog.h"
34  #include "gui_warningdialog.h"  #include "gui_warningdialog.h"
# Line 67  static gchar *find_logname (const gchar Line 68  static gchar *find_logname (const gchar
68          return l;          return l;
69  }  }
70    
71    static void
72    cb (GtkFileChooser *chooser, gpointer data)
73    {
74            GtkWidget *preview;
75            gchar *filename, buf[80];
76            gboolean have_preview = FALSE;
77            gint i;
78            FILE *in;
79            GtkTextBuffer *buffer;
80            GtkTextIter start, end;
81    
82            preview = GTK_WIDGET (data);
83            filename = gtk_file_chooser_get_preview_filename (chooser);
84            buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(preview));
85            gtk_text_buffer_get_bounds (buffer, &start, &end);
86            gtk_text_buffer_delete (buffer, &start, &end);
87    
88            in = fopen (filename, "r");
89            if (in)
90            {
91                    have_preview = TRUE;
92                    for (i = 0; i < 5; i++)
93                    {
94                            if (fgets (buf, 80, in) == NULL)
95                                    break;
96                            else if (g_utf8_validate (buf, -1, NULL))
97                                    gtk_text_buffer_insert_with_tags_by_name
98                                            (buffer, &start, buf, -1, "tiny", NULL);
99                    }
100            }
101            gtk_file_chooser_set_preview_widget_active (chooser, have_preview);
102    }
103    
104  void  void
105  on_menu_open_activate (GtkMenuItem * menuitem, gpointer user_data)  on_menu_open_activate (GtkMenuItem * menuitem, gpointer user_data)
106  {  {
107          GtkWidget *fileselection, *combobox, *hbox, *label;          GtkWidget *fileselection, *combobox, *hbox, *label, *preview;
108          GdkPixbuf *fileselection_icon_pixbuf;          GdkPixbuf *fileselection_icon_pixbuf;
109            GtkTextBuffer *buffer;
110          gchar *filen, *logn, *xlogbackupfile, *temp, *selection;          gchar *filen, *logn, *xlogbackupfile, *temp, *selection;
111          gchar *sellog;          gchar *sellog;
112          gboolean logexist = FALSE;          gboolean logexist = FALSE;
# Line 115  on_menu_open_activate (GtkMenuItem * men Line 150  on_menu_open_activate (GtkMenuItem * men
150          gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (fileselection), selection);          gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (fileselection), selection);
151          g_free (selection);          g_free (selection);
152    
153            preview = gtk_text_view_new ();
154            gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (preview), GTK_WRAP_CHAR);
155            buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(preview));
156            gtk_text_buffer_create_tag (buffer, "tiny", "size", 8 * PANGO_SCALE, NULL);
157            gtk_widget_set_size_request (preview, 200, -1);
158            gtk_file_chooser_set_preview_widget (GTK_FILE_CHOOSER (fileselection), preview);
159            g_signal_connect (fileselection, "update-preview", G_CALLBACK (cb), preview);
160    
161          gtk_widget_set_sensitive (mainwindow, 0);          gtk_widget_set_sensitive (mainwindow, 0);
162          response = gtk_dialog_run (GTK_DIALOG(fileselection));          response = gtk_dialog_run (GTK_DIALOG(fileselection));
163          state.utf8error = FALSE;          state.utf8error = FALSE;

Legend:
Removed from v.1.7  
changed lines
  Added in v.1.8

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26