68 |
return l; |
return l; |
69 |
} |
} |
70 |
|
|
71 |
|
/* callback for the preview widget, read the first 10 lines */ |
72 |
static void |
static void |
73 |
cb (GtkFileChooser *chooser, gpointer data) |
cb (GtkFileChooser *chooser, gpointer data) |
74 |
{ |
{ |
90 |
if (in) |
if (in) |
91 |
{ |
{ |
92 |
have_preview = TRUE; |
have_preview = TRUE; |
93 |
for (i = 0; i < 5; i++) |
for (i = 0; i < 10; i++) |
94 |
{ |
{ |
95 |
if (fgets (buf, 80, in) == NULL) |
if (fgets (buf, 80, in) == NULL) |
96 |
break; |
break; |
105 |
void |
void |
106 |
on_menu_open_activate (GtkMenuItem * menuitem, gpointer user_data) |
on_menu_open_activate (GtkMenuItem * menuitem, gpointer user_data) |
107 |
{ |
{ |
108 |
GtkWidget *fileselection, *combobox, *hbox, *label, *preview; |
GtkWidget *fileselection, *combobox, *hbox, *label, *preview, |
109 |
|
*previewscrolledwindow; |
110 |
GdkPixbuf *fileselection_icon_pixbuf; |
GdkPixbuf *fileselection_icon_pixbuf; |
111 |
GtkTextBuffer *buffer; |
GtkTextBuffer *buffer; |
112 |
gchar *filen, *logn, *xlogbackupfile, *temp, *selection; |
gchar *filen, *logn, *xlogbackupfile, *temp, *selection; |
152 |
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (fileselection), selection); |
gtk_file_chooser_set_current_folder (GTK_FILE_CHOOSER (fileselection), selection); |
153 |
g_free (selection); |
g_free (selection); |
154 |
|
|
155 |
|
/* preview widget */ |
156 |
|
previewscrolledwindow = gtk_scrolled_window_new (NULL, NULL); |
157 |
|
gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (previewscrolledwindow), |
158 |
|
GTK_POLICY_AUTOMATIC, GTK_POLICY_NEVER); |
159 |
preview = gtk_text_view_new (); |
preview = gtk_text_view_new (); |
160 |
gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (preview), GTK_WRAP_CHAR); |
gtk_widget_show (preview); |
161 |
|
gtk_container_add (GTK_CONTAINER (previewscrolledwindow), preview); |
162 |
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(preview)); |
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW(preview)); |
163 |
gtk_text_buffer_create_tag (buffer, "tiny", "size", 8 * PANGO_SCALE, NULL); |
gtk_text_buffer_create_tag (buffer, "tiny", "size", 8 * PANGO_SCALE, NULL); |
164 |
gtk_widget_set_size_request (preview, 200, -1); |
gtk_widget_set_size_request (preview, 200, -1); |
165 |
gtk_file_chooser_set_preview_widget (GTK_FILE_CHOOSER (fileselection), preview); |
gtk_file_chooser_set_preview_widget (GTK_FILE_CHOOSER (fileselection), |
166 |
|
previewscrolledwindow); |
167 |
g_signal_connect (fileselection, "update-preview", G_CALLBACK (cb), preview); |
g_signal_connect (fileselection, "update-preview", G_CALLBACK (cb), preview); |
168 |
|
|
169 |
gtk_widget_set_sensitive (mainwindow, 0); |
gtk_widget_set_sensitive (mainwindow, 0); |