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 |
* |
* |
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); |
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 |
} |
} |
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) { |
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 |
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 |
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 |
|
|