diff options
author | Alexey Yakovenko <wakeroid@gmail.com> | 2009-10-04 21:51:41 +0200 |
---|---|---|
committer | Alexey Yakovenko <wakeroid@gmail.com> | 2009-10-04 22:01:47 +0200 |
commit | ed7b5e99bfb98d8ec57f4bccda0d691a1d19081c (patch) | |
tree | 42f43cf7d82eb0110afec205423ed97165590bf4 /callbacks.c | |
parent | b7ed1da166a14f2efe485a9889bf86d304d6bef3 (diff) |
replaced crappy gtk about dialog with better one
Diffstat (limited to 'callbacks.c')
-rw-r--r-- | callbacks.c | 57 |
1 files changed, 33 insertions, 24 deletions
diff --git a/callbacks.c b/callbacks.c index 7613a8f5..1dd4f940 100644 --- a/callbacks.c +++ b/callbacks.c @@ -26,6 +26,7 @@ #include <unistd.h> #include <assert.h> #include <ctype.h> +#include <gdk/gdkkeysyms.h> #include "callbacks.h" #include "interface.h" @@ -47,13 +48,6 @@ #include "plugins.h" -//#include "cmp3.h" -//#include "cvorbis.h" -//#include "cdumb.h" -//#include "cgme.h" -//#include "cflac.h" -//#include "csid.h" - extern GtkWidget *mainwin; extern gtkplaylist_t main_playlist; extern gtkplaylist_t search_playlist; @@ -425,15 +419,6 @@ on_crop1_activate (GtkMenuItem *menuitem, } -void -on_about1_activate (GtkMenuItem *menuitem, - gpointer user_data) -{ - GtkWidget *d = create_aboutdialog (); - gtk_dialog_run (GTK_DIALOG (d)); - gtk_widget_destroy (d); -} - gboolean on_playlist_scroll_event (GtkWidget *widget, @@ -1225,20 +1210,15 @@ on_find_activate (GtkMenuItem *menuitem, search_start (); } - - - - void -on_help1_activate (GtkMenuItem *menuitem, - gpointer user_data) -{ +show_info_window (const char *fname, const char *title) { GtkWidget *widget = create_helpwindow (); + gtk_window_set_title (GTK_WINDOW (widget), title); 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"); + FILE *fp = fopen (fname, "rb"); if (fp) { fseek (fp, 0, SEEK_END); size_t s = ftell (fp); @@ -1260,9 +1240,24 @@ on_help1_activate (GtkMenuItem *menuitem, gtk_text_buffer_set_text (buffer, error, strlen (error)); } gtk_text_view_set_buffer (GTK_TEXT_VIEW (txt), buffer); + g_object_unref (buffer); gtk_widget_show (widget); } +void +on_help1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + show_info_window (PREFIX "/share/doc/deadbeef/help.txt", "Help"); +} + +void +on_about1_activate (GtkMenuItem *menuitem, + gpointer user_data) +{ + show_info_window (PREFIX "/share/doc/deadbeef/about.txt", "About DeaDBeeF " VERSION); +} + void on_playhscroll_value_changed (GtkRange *widget, @@ -1283,3 +1278,17 @@ on_searchhscroll_value_changed (GtkRange *widget, gtkpl_hscroll (ps, newscroll); } + +gboolean +on_helpwindow_key_press_event (GtkWidget *widget, + GdkEventKey *event, + gpointer user_data) +{ + if (event->keyval == GDK_Escape) { + gtk_widget_hide (widget); + gtk_widget_destroy (widget); +// g_object_unref (widget); + } + return FALSE; +} + |