Diff of /trunk/src/statusbar.c

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

revision 245 by harbaum, Fri Jul 10 19:45:31 2009 UTC revision 246 by harbaum, Mon Jul 27 15:02:00 2009 UTC
# Line 1  Line 1 
1  /*  /*
2   * Copyright (C) 2008 Till Harbaum <till@harbaum.org>.   * Copyright (C) 2008-2009 Till Harbaum <till@harbaum.org>.
3   *   *
4   * This file is part of OSM2Go.   * This file is part of OSM2Go.
5   *   *
# Line 21  Line 21 
21    
22  #if !defined(USE_HILDON) || (MAEMO_VERSION_MAJOR < 5)  #if !defined(USE_HILDON) || (MAEMO_VERSION_MAJOR < 5)
23  void statusbar_highlight(appdata_t *appdata, gboolean highlight) {  void statusbar_highlight(appdata_t *appdata, gboolean highlight) {
24      GtkStatusbar *bar = (GtkStatusbar*)appdata->statusbar->widget;
25    
26    if(highlight) {    if(highlight) {
27      GdkColor color;      GdkColor color;
28      gdk_color_parse("red", &color);      gdk_color_parse("red", &color);
29      gtk_widget_modify_bg(appdata->statusbar->eventbox, GTK_STATE_NORMAL, &color);      gtk_widget_modify_fg(bar->label, GTK_STATE_NORMAL, &color);
30      gtk_widget_modify_base(appdata->statusbar->eventbox, GTK_STATE_NORMAL, &color);      gtk_widget_modify_text(bar->label, GTK_STATE_NORMAL, &color);
31      gtk_widget_modify_fg(appdata->statusbar->eventbox, GTK_STATE_NORMAL, &color);    } else {
32    } else      gtk_widget_modify_fg(bar->label, GTK_STATE_NORMAL, NULL);
33      gtk_widget_modify_bg(appdata->statusbar->eventbox, GTK_STATE_NORMAL, NULL);      gtk_widget_modify_text(bar->label, GTK_STATE_NORMAL, NULL);
34      }
35  }  }
36    
   
37  // Set the persistent message, replacing anything currently there.  // Set the persistent message, replacing anything currently there.
38  void statusbar_set(appdata_t *appdata, const char *msg, gboolean highlight) {  void statusbar_set(appdata_t *appdata, const char *msg, gboolean highlight) {
39    statusbar_highlight(appdata, highlight);    statusbar_highlight(appdata, highlight);
# Line 61  static gboolean statusbar_brief_clear(gp Line 63  static gboolean statusbar_brief_clear(gp
63                           appdata->statusbar->cid,                           appdata->statusbar->cid,
64                           appdata->statusbar->brief_mid);                           appdata->statusbar->brief_mid);
65      appdata->statusbar->brief_mid = 0;      appdata->statusbar->brief_mid = 0;
66        statusbar_highlight(appdata, FALSE);
67    }    }
68    return FALSE;    return FALSE;
69  }  }
# Line 82  void statusbar_brief(appdata_t *appdata, Line 85  void statusbar_brief(appdata_t *appdata,
85    statusbar_brief_clear(appdata);    statusbar_brief_clear(appdata);
86    guint mid = 0;    guint mid = 0;
87    if (msg) {    if (msg) {
88        statusbar_highlight(appdata, TRUE);
89      mid = gtk_statusbar_push(GTK_STATUSBAR(appdata->statusbar->widget),      mid = gtk_statusbar_push(GTK_STATUSBAR(appdata->statusbar->widget),
90                                   appdata->statusbar->cid, msg);                                   appdata->statusbar->cid, msg);
91      if (mid) {      if (mid) {
# Line 101  void statusbar_brief(appdata_t *appdata, Line 105  void statusbar_brief(appdata_t *appdata,
105  GtkWidget *statusbar_new(appdata_t *appdata) {  GtkWidget *statusbar_new(appdata_t *appdata) {
106    appdata->statusbar = (statusbar_t*)g_new0(statusbar_t, 1);    appdata->statusbar = (statusbar_t*)g_new0(statusbar_t, 1);
107    
   appdata->statusbar->eventbox = gtk_event_box_new();  
108    appdata->statusbar->widget = gtk_statusbar_new();    appdata->statusbar->widget = gtk_statusbar_new();
109    
110  #ifdef USE_HILDON  #ifdef USE_HILDON
# Line 110  GtkWidget *statusbar_new(appdata_t *appd Line 113  GtkWidget *statusbar_new(appdata_t *appd
113                 "has-resize-grip", FALSE,                 "has-resize-grip", FALSE,
114                 NULL );                 NULL );
115  #endif  #endif
   gtk_container_add(GTK_CONTAINER(appdata->statusbar->eventbox),  
                     appdata->statusbar->widget);  
116    
117    appdata->statusbar->cid = gtk_statusbar_get_context_id(    appdata->statusbar->cid = gtk_statusbar_get_context_id(
118                  GTK_STATUSBAR(appdata->statusbar->widget), "Msg");                  GTK_STATUSBAR(appdata->statusbar->widget), "Msg");
119    
120    return appdata->statusbar->eventbox;    return appdata->statusbar->widget;
121  }  }
122    
123  #else  #else
# Line 124  void statusbar_highlight(appdata_t *appd Line 125  void statusbar_highlight(appdata_t *appd
125    if(highlight) {    if(highlight) {
126      GdkColor color;      GdkColor color;
127      gdk_color_parse("red", &color);      gdk_color_parse("red", &color);
     gtk_widget_modify_bg(appdata->statusbar->widget, GTK_STATE_NORMAL, &color);  
     gtk_widget_modify_base(appdata->statusbar->widget, GTK_STATE_NORMAL, &color);  
128      gtk_widget_modify_fg(appdata->statusbar->widget, GTK_STATE_NORMAL, &color);      gtk_widget_modify_fg(appdata->statusbar->widget, GTK_STATE_NORMAL, &color);
129    } else      gtk_widget_modify_text(appdata->statusbar->widget, GTK_STATE_NORMAL, &color);
130      gtk_widget_modify_bg(appdata->statusbar->widget, GTK_STATE_NORMAL, NULL);    } else {
131        gtk_widget_modify_fg(appdata->statusbar->widget, GTK_STATE_NORMAL, NULL);
132        gtk_widget_modify_text(appdata->statusbar->widget, GTK_STATE_NORMAL, NULL);
133      }
134  }  }
135    
136    

Legend:
Removed from v.245  
changed lines
  Added in v.246