Diff of /trunk/src/about.c

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

revision 280 by harbaum, Fri May 21 19:28:16 2010 UTC revision 288 by harbaum, Mon Jun 7 19:19:50 2010 UTC
# Line 23  Line 23 
23  #define LINK_COLOR "blue"  #define LINK_COLOR "blue"
24  #else  #else
25  #define LINK_COLOR "lightblue"  #define LINK_COLOR "lightblue"
 #define CUSTOM_NOTEBOOK  
26  #endif  #endif
27    
28  #ifdef ENABLE_BROWSER_INTERFACE  #ifdef ENABLE_BROWSER_INTERFACE
# Line 70  void on_paypal_button_clicked(GtkButton Line 69  void on_paypal_button_clicked(GtkButton
69  }  }
70  #endif  #endif
71    
 static GtkWidget *notebook_new(void) {  
 #ifdef CUSTOM_NOTEBOOK  
   GtkWidget *vbox = gtk_vbox_new(FALSE, 0);  
   
   GtkWidget *notebook =  gtk_notebook_new();  
   
   /* solution for fremantle: we use a row of ordinary buttons instead */  
   /* of regular tabs */  
   
   /* hide the regular tabs */  
   gtk_notebook_set_show_tabs(GTK_NOTEBOOK(notebook), FALSE);  
   
   gtk_box_pack_start_defaults(GTK_BOX(vbox), notebook);  
   
   /* store a reference to the notebook in the vbox */  
   g_object_set_data(G_OBJECT(vbox), "notebook", (gpointer)notebook);  
   
   /* create a hbox for the buttons */  
   GtkWidget *hbox = gtk_hbox_new(TRUE, 0);  
   gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, FALSE, 0);  
   g_object_set_data(G_OBJECT(vbox), "hbox", (gpointer)hbox);  
   
   return vbox;  
 #else  
   return gtk_notebook_new();  
 #endif  
 }  
   
 #ifdef CUSTOM_NOTEBOOK  
 static void on_notebook_button_clicked(GtkWidget *button, gpointer data) {  
   GtkNotebook *nb =  
     GTK_NOTEBOOK(g_object_get_data(G_OBJECT(data), "notebook"));  
   
   gint page = (gint)g_object_get_data(G_OBJECT(button), "page");  
   gtk_notebook_set_current_page(nb, page);  
 }  
 #endif  
   
 static void notebook_append_page(GtkWidget *notebook,  
                                  GtkWidget *page, char *label) {  
 #ifdef CUSTOM_NOTEBOOK  
   GtkNotebook *nb =  
     GTK_NOTEBOOK(g_object_get_data(G_OBJECT(notebook), "notebook"));  
   
   gint page_num = gtk_notebook_append_page(nb, page, gtk_label_new(label));  
   GtkWidget *button = NULL;  
   
   /* select button for page 0 by default */  
   if(!page_num) {  
     button = gtk_radio_button_new_with_label(NULL, label);  
     gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE);  
     g_object_set_data(G_OBJECT(notebook), "group_master", (gpointer)button);  
   } else {  
     GtkWidget *master = g_object_get_data(G_OBJECT(notebook), "group_master");  
     button = gtk_radio_button_new_with_label_from_widget(  
                                  GTK_RADIO_BUTTON(master), label);  
   }  
   
   gtk_toggle_button_set_mode(GTK_TOGGLE_BUTTON(button), FALSE);  
   g_object_set_data(G_OBJECT(button), "page", (gpointer)page_num);  
   
   gtk_signal_connect(GTK_OBJECT(button), "clicked",  
            GTK_SIGNAL_FUNC(on_notebook_button_clicked), notebook);  
   
 #if defined(USE_MAEMO) && (MAEMO_VERSION_MAJOR == 5)  
   hildon_gtk_widget_set_theme_size(button,  
            (HILDON_SIZE_FINGER_HEIGHT | HILDON_SIZE_AUTO_WIDTH));  
 #endif  
   
   gtk_box_pack_start_defaults(  
      GTK_BOX(g_object_get_data(G_OBJECT(notebook), "hbox")),  
      button);  
   
 #else  
   gtk_notebook_append_page(GTK_NOTEBOOK(notebook), page, gtk_label_new(label));  
 #endif  
 }  
   
72  GtkWidget *label_big(char *str) {  GtkWidget *label_big(char *str) {
73    GtkWidget *label = gtk_label_new("");    GtkWidget *label = gtk_label_new("");
74    char *markup =    char *markup =
# Line 166  GtkWidget *label_xbig(char *str) { Line 87  GtkWidget *label_xbig(char *str) {
87    return label;    return label;
88  }  }
89    
 static void  
 on_label_realize(GtkWidget *widget, gpointer user_data)  {  
   /* get parent size (which is a container) */  
   gtk_widget_set_size_request(widget, widget->parent->allocation.width, -1);  
 }  
   
 GtkWidget *label_wrap(char *str) {  
   GtkWidget *label = gtk_label_new(str);  
   gtk_label_set_line_wrap_mode(GTK_LABEL(label), PANGO_WRAP_WORD);  
   gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);  
   
   g_signal_connect(G_OBJECT(label), "realize",  
                    G_CALLBACK(on_label_realize), NULL);  
   
   return label;  
 }  
   
90  GtkWidget *license_page_new(void) {  GtkWidget *license_page_new(void) {
91    char *name = g_strdup(ICONPATH "COPYING");    char *name = g_strdup(ICONPATH "COPYING");
92    
93    GtkWidget *label = label_wrap("");    GtkWidget *label = text_wrap("");
94    
95    /* load license into buffer */    /* load license into buffer */
96    FILE *file = fopen(name, "r");    FILE *file = fopen(name, "r");
# Line 206  GtkWidget *license_page_new(void) { Line 110  GtkWidget *license_page_new(void) {
110      fseek(file, 0l, SEEK_SET);      fseek(file, 0l, SEEK_SET);
111    
112      char *buffer = g_malloc(flen+1);      char *buffer = g_malloc(flen+1);
113      fread(buffer, 1, flen, file);      if(fread(buffer, 1, flen, file) != flen)
114      fclose(file);        text_set(label, _("Load error"));
115        else {
116      buffer[flen]=0;        buffer[flen]=0;
117          text_set(label, buffer);
118      gtk_label_set_text(GTK_LABEL(label), buffer);      }
119    
120        fclose(file);
121      g_free(buffer);      g_free(buffer);
122    } else    } else
123      gtk_label_set_text(GTK_LABEL(label), _("Load error"));      text_set(label, _("Load error"));
124    
125  #ifndef USE_PANNABLE_AREA  #ifndef USE_PANNABLE_AREA
126    GtkWidget *scrolled_window = gtk_scrolled_window_new(NULL, NULL);    GtkWidget *scrolled_window = gtk_scrolled_window_new(NULL, NULL);
# Line 348  GtkWidget *donate_page_new(appdata_t *ap Line 253  GtkWidget *donate_page_new(appdata_t *ap
253    GtkWidget *vbox = gtk_vbox_new(FALSE, 0);    GtkWidget *vbox = gtk_vbox_new(FALSE, 0);
254    
255    gtk_box_pack_start_defaults(GTK_BOX(vbox),    gtk_box_pack_start_defaults(GTK_BOX(vbox),
256        label_wrap(_("If you like GPXView and want to support its future development "        text_wrap(_("If you like GPXView and want to support its future development "
257                     "please consider donating to the developer. You can either "                     "please consider donating to the developer. You can either "
258                     "donate via paypal to")));                     "donate via paypal to")));
259    
# Line 356  GtkWidget *donate_page_new(appdata_t *ap Line 261  GtkWidget *donate_page_new(appdata_t *ap
261                                link_new(NULL, "till@harbaum.org"));                                link_new(NULL, "till@harbaum.org"));
262    
263    gtk_box_pack_start_defaults(GTK_BOX(vbox),    gtk_box_pack_start_defaults(GTK_BOX(vbox),
264        label_wrap(_("or you can just click the button below which will open "        text_wrap(_("or you can just click the button below which will open "
265                     "the appropriate web page in your browser.")));                     "the appropriate web page in your browser.")));
266    
267    GtkWidget *ihbox = gtk_hbox_new(FALSE, 0);    GtkWidget *ihbox = gtk_hbox_new(FALSE, 0);
# Line 376  GtkWidget *bugs_page_new(appdata_t *appd Line 281  GtkWidget *bugs_page_new(appdata_t *appd
281    GtkWidget *vbox = gtk_vbox_new(FALSE, 0);    GtkWidget *vbox = gtk_vbox_new(FALSE, 0);
282    
283    gtk_box_pack_start_defaults(GTK_BOX(vbox),    gtk_box_pack_start_defaults(GTK_BOX(vbox),
284        label_wrap(_("Please report bugs or feature requests via the GPXView "        text_wrap(_("Please report bugs or feature requests via the GPXView "
285                     "bug tracker. This bug tracker can directly be reached via "                     "bug tracker. This bug tracker can directly be reached via "
286                     "the following link:")));                     "the following link:")));
287    
# Line 384  GtkWidget *bugs_page_new(appdata_t *appd Line 289  GtkWidget *bugs_page_new(appdata_t *appd
289         link_new(appdata, "https://garage.maemo.org/tracker/?group_id=973"));         link_new(appdata, "https://garage.maemo.org/tracker/?group_id=973"));
290    
291    gtk_box_pack_start_defaults(GTK_BOX(vbox),    gtk_box_pack_start_defaults(GTK_BOX(vbox),
292        label_wrap(_("You might also be interested in joining the mailing lists "        text_wrap(_("You might also be interested in joining the mailing lists "
293                     "or the forum:")));                     "or the forum:")));
294    
295    gtk_box_pack_start_defaults(GTK_BOX(vbox),    gtk_box_pack_start_defaults(GTK_BOX(vbox),
296                link_new(appdata, "http://garage.maemo.org/projects/gpxview/"));                link_new(appdata, "http://garage.maemo.org/projects/gpxview/"));
297    
298    gtk_box_pack_start_defaults(GTK_BOX(vbox),    gtk_box_pack_start_defaults(GTK_BOX(vbox),
299        label_wrap(_("Thank you for contributing!")));        text_wrap(_("Thank you for contributing!")));
300    
301    return vbox;    return vbox;
302  }  }

Legend:
Removed from v.280  
changed lines
  Added in v.288