* size, style, etc. Users can also preview text in the selected font.
*/
+#undef HILDON_DISABLE_DEPRECATED
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <libintl.h>
#include <stdlib.h>
#include <string.h>
-#include <gtk/gtkstock.h>
-#include <gtk/gtkcombobox.h>
-#include <gtk/gtktogglebutton.h>
-#include <gtk/gtkcheckbutton.h>
-#include <gtk/gtklabel.h>
-#include <gtk/gtkvbox.h>
-#include <gtk/gtkliststore.h>
-#include <gtk/gtknotebook.h>
-#include <gtk/gtk.h>
+
#include <glib.h>
#include <gdk/gdkkeysyms.h>
+
#include "hildon-font-selection-dialog.h"
#include "hildon-caption.h"
#include "hildon-color-button.h"
-#include <libintl.h>
#include "hildon-font-selection-dialog-private.h"
/* These are what we use as the standard font sizes, for the size list */
fontseldiag);
gtk_widget_show(preview_button);
- gtk_dialog_add_button (GTK_DIALOG (fontseldiag),
- _("ecdg_bd_font_dialog_cancel"),
- GTK_RESPONSE_CANCEL);
-
/*Set default preview text*/
priv->preview_text = g_strdup (_("ecdg_fi_preview_font_preview_text"));
priv->cbx_positioning, NULL,
HILDON_CAPTION_OPTIONAL);
+ g_object_unref (group);
+
gtk_box_pack_start (GTK_BOX (vbox_tab[2]), caption_control, FALSE, FALSE, 0);
/* Populate notebook */
str = NULL;
- gtk_container_add (GTK_CONTAINER (GTK_DIALOG(preview_dialog)->vbox),
- preview_label);
-
-
/* set keypress handler (ESC hardkey) */
g_signal_connect (G_OBJECT (preview_dialog), "key-press-event",
G_CALLBACK(hildon_font_selection_dialog_preview_key_press),
&family_set, "size", &size, "size-set", &size_set,
NULL);
- /* FIXME: This is a slightly ugly hack to force the width of the window so that
- * the whole text fits with various font sizes. It's being done in such a way,
- * because of some GtkLabel wrapping issues and other mysterious bugs related to
- * truncating ellipsizing. Needs a rethink in future */
+ /* A smallish hack to add scrollbar when font size is really big */
- gint dialog_width = (size_set && size > 24) ? 600 : 500;
- gtk_window_set_default_size (GTK_WINDOW (preview_dialog), dialog_width, -1);
+ if (size_set && size > 24) {
+ GtkScrolledWindow *scrolled = GTK_SCROLLED_WINDOW (gtk_scrolled_window_new (NULL, NULL));
+ gtk_scrolled_window_set_policy (scrolled, GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_add_with_viewport (scrolled, GTK_WIDGET (preview_label));
+ gtk_container_add (GTK_CONTAINER (GTK_DIALOG(preview_dialog)->vbox), GTK_WIDGET (scrolled));
+ gtk_widget_set_size_request (GTK_WIDGET (scrolled), -1, 400);
+ } else
+ gtk_container_add (GTK_CONTAINER (GTK_DIALOG(preview_dialog)->vbox), GTK_WIDGET (preview_label));
/* make reference text to have the same fontface and size */
if (family_set)
GTK_WINDOW (fontsel));
gtk_widget_show_all (preview_dialog);
+ gtk_dialog_set_default_response (GTK_DIALOG (preview_dialog), GTK_RESPONSE_OK);
+
+ GtkBox *action_area = (GtkBox *) GTK_DIALOG (preview_dialog)->action_area;
+ GtkWidget *button = ((GtkBoxChild *) ((GSList *) action_area->children)->data)->widget;
+ gtk_widget_grab_focus (button);
+
gtk_dialog_run (GTK_DIALOG (preview_dialog));
gtk_widget_destroy (preview_dialog);
}