--- trunk/src/misc.c 2010/06/06 20:39:06 287 +++ trunk/src/misc.c 2010/06/07 19:19:50 288 @@ -2251,3 +2251,175 @@ return number_editor_get(widget); #endif } + +#ifdef MAEMO5 +gboolean is_portrait() { + GdkScreen *screen = gdk_screen_get_default(); + return (gdk_screen_get_width(screen) < gdk_screen_get_height(screen)); +} + +static +void on_orientation_changed(GdkScreen *screen, gpointer userdata) { + GtkWidget *vbox = GTK_WIDGET(userdata); + GtkWidget *hbox0 = g_object_get_data(G_OBJECT(vbox), "hbox0"); + GtkWidget *hbox1 = g_object_get_data(G_OBJECT(vbox), "hbox1"); + + GSList *xbut = g_object_get_data(G_OBJECT(vbox), "xbut"); + if(!xbut) return; + + int i; + for(i=0;i= 3) { + GSList *xbut = g_object_get_data(G_OBJECT(notebook), "xbut"); + xbut = g_slist_append(xbut, button); + g_object_set_data(G_OBJECT(notebook), "xbut", xbut); + } + +#else + gtk_notebook_append_page(GTK_NOTEBOOK(notebook), page, gtk_label_new(label)); +#endif +} + +GtkWidget *text_wrap(char *str) { + GtkTextBuffer *buffer = gtk_text_buffer_new(NULL); + +#ifndef MAEMO5 + GtkWidget *view = gtk_text_view_new_with_buffer(buffer); +#else + GtkWidget *view = hildon_text_view_new(); + hildon_text_view_set_buffer(HILDON_TEXT_VIEW(view), buffer); +#endif + + gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(view), GTK_WRAP_WORD); + gtk_text_view_set_editable(GTK_TEXT_VIEW(view), FALSE); + gtk_text_view_set_cursor_visible(GTK_TEXT_VIEW(view), FALSE); + gtk_text_view_set_justification(GTK_TEXT_VIEW(view), GTK_JUSTIFY_LEFT); + + gtk_text_buffer_set_text(buffer, str, -1); + +#ifdef MAEMO5 + /* in fremantle this is really tricky and we need to inherit the */ + /* style from the topmost window in the stack */ + HildonWindowStack *stack = hildon_window_stack_get_default(); + GList *list = hildon_window_stack_get_windows(stack); + gtk_widget_set_style(view, GTK_WIDGET(list->data)->style); + g_list_free(list); +#else + GtkStyle *style = gtk_widget_get_style(view); + gtk_widget_modify_base(view, GTK_STATE_NORMAL, &style->bg[GTK_STATE_NORMAL]); +#endif + + return view; +} + +void text_set(GtkWidget *view, char *str) { + GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(view)); + gtk_text_buffer_set_text(buffer, str, -1); +} +