diff options
author | 2009-09-08 19:20:47 +0200 | |
---|---|---|
committer | 2009-09-08 19:58:40 +0200 | |
commit | d8b85e164868053bd636cf0d0e07dffc52d2ab35 (patch) | |
tree | eb4493141c398bdea2ddd276acebf21c048a43f8 /callbacks.c | |
parent | b9677e54026d981285fc7d6417c7f47f7e054d86 (diff) |
pre-0.2.0 fixed; added help window
Diffstat (limited to 'callbacks.c')
-rw-r--r-- | callbacks.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/callbacks.c b/callbacks.c index d49862f8..e04241e5 100644 --- a/callbacks.c +++ b/callbacks.c @@ -1216,3 +1216,38 @@ on_find_activate (GtkMenuItem *menuitem, + +void +on_help1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + GtkWidget *widget = create_helpwindow (); + gtk_window_set_transient_for (GTK_WINDOW (widget), GTK_WINDOW (mainwin)); + GtkWidget *txt = lookup_widget (widget, "helptext"); + GtkTextBuffer *buffer = gtk_text_buffer_new (NULL); + + FILE *fp = fopen (PREFIX "/share/doc/deadbeef/help.txt", "rb"); + if (fp) { + fseek (fp, 0, SEEK_END); + size_t s = ftell (fp); + rewind (fp); + char buf[s+1]; + if (fread (buf, 1, s, fp) != s) { + fprintf (stderr, "error reading help file contents\n"); + const char *error = "Failed while reading help file"; + gtk_text_buffer_set_text (buffer, error, strlen (error)); + } + else { + buf[s] = 0; + gtk_text_buffer_set_text (buffer, buf, s); + } + fclose (fp); + } + else { + const char *error = "Failed to load help file"; + gtk_text_buffer_set_text (buffer, error, strlen (error)); + } + gtk_text_view_set_buffer (GTK_TEXT_VIEW (txt), buffer); + gtk_widget_show (widget); +} + |