Diff of /trunk/src/misc.c

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

revision 208 by harbaum, Thu Jul 9 18:39:42 2009 UTC revision 209 by harbaum, Fri Jul 10 19:45:31 2009 UTC
# Line 19  Line 19 
19    
20  #include "appdata.h"  #include "appdata.h"
21    
22  void messagef(GtkWidget *parent, char *title, const char *fmt, ...) {  static void vmessagef(GtkWidget *parent, int type, int buttons,
23    va_list args;                        char *title, const char *fmt,
24    va_start( args, fmt );                        va_list args) {
25    
26    char *buf = g_strdup_vprintf(fmt, args);    char *buf = g_strdup_vprintf(fmt, args);
   va_end( args );  
27    
   printf("%s: \"%s\"\n", title, buf);  
   
28    GtkWidget *dialog = gtk_message_dialog_new(    GtkWidget *dialog = gtk_message_dialog_new(
29                       GTK_WINDOW(parent),                       GTK_WINDOW(parent),
30                       GTK_DIALOG_DESTROY_WITH_PARENT,                       GTK_DIALOG_DESTROY_WITH_PARENT,
31                       GTK_MESSAGE_INFO, GTK_BUTTONS_OK,                       type, buttons, buf);
                      buf);  
32    
33    gtk_window_set_title(GTK_WINDOW(dialog), title);    gtk_window_set_title(GTK_WINDOW(dialog), title);
34    
# Line 41  void messagef(GtkWidget *parent, char *t Line 38  void messagef(GtkWidget *parent, char *t
38    g_free(buf);    g_free(buf);
39  }  }
40    
41    
42    void messagef(GtkWidget *parent, char *title, const char *fmt, ...) {
43      va_list args;
44      va_start( args, fmt );
45      vmessagef(parent, GTK_MESSAGE_INFO, GTK_BUTTONS_OK, title, fmt, args);
46      va_end( args );
47    }
48    
49    void errorf(GtkWidget *parent, const char *fmt, ...) {
50      va_list args;
51      va_start( args, fmt );
52      vmessagef(parent, GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,
53                _("Error"), fmt, args);
54      va_end( args );
55    }
56    
57    void warningf(GtkWidget *parent, const char *fmt, ...) {
58      va_list args;
59      va_start( args, fmt );
60      vmessagef(parent, GTK_MESSAGE_WARNING, GTK_BUTTONS_CLOSE,
61                _("Warning"), fmt, args);
62      va_end( args );
63    }
64    
65  static void on_toggled(GtkWidget *button, gpointer data) {  static void on_toggled(GtkWidget *button, gpointer data) {
66    gboolean active =    gboolean active =
67      gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));      gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button));
# Line 107  gboolean yes_no_f(GtkWidget *parent, app Line 128  gboolean yes_no_f(GtkWidget *parent, app
128    return yes;    return yes;
129  }  }
130    
 void errorf(GtkWidget *parent, const char *fmt, ...) {  
   va_list args;  
   va_start( args, fmt );  
   char *buf = g_strdup_vprintf(fmt, args);  
   va_end( args );  
   
   printf("errorf(\"%s\")\n", buf);  
   
   GtkWidget *dialog = gtk_message_dialog_new(  
                      GTK_WINDOW(parent),  
                      GTK_DIALOG_DESTROY_WITH_PARENT,  
                      GTK_MESSAGE_ERROR, GTK_BUTTONS_CLOSE,  
                      buf);  
   
   gtk_window_set_title(GTK_WINDOW(dialog), _("ERROR"));  
   
   gtk_dialog_run(GTK_DIALOG(dialog));  
   gtk_widget_destroy(dialog);  
   
   g_free(buf);  
 }  
   
131  static const char *data_paths[] = {  static const char *data_paths[] = {
132    "~/." PACKAGE,             // in home directory    "~/." PACKAGE,             // in home directory
133    PREFIX "/share/" PACKAGE , // final installation path    PREFIX "/share/" PACKAGE , // final installation path

Legend:
Removed from v.208  
changed lines
  Added in v.209