Exemplo n.º 1
0
static void
font_changed (GObject *object, GParamSpec *pspec, gpointer data)
{
  GtkFontChooser *fb = GTK_FONT_CHOOSER (data);
  GValue val = G_VALUE_INIT;
  const PangoFontDescription *font_desc;
  PangoFontDescription *fb_font_desc;

  g_value_init (&val, PANGO_TYPE_FONT_DESCRIPTION);
  get_property_value (object, pspec, &val);

  font_desc = g_value_get_boxed (&val);
  fb_font_desc = gtk_font_chooser_get_font_desc (fb);

  if (font_desc == NULL ||
      (fb_font_desc != NULL &&
       !pango_font_description_equal (fb_font_desc, font_desc)))
    {
      block_controller (G_OBJECT (fb));
      gtk_font_chooser_set_font_desc (fb, font_desc);
      unblock_controller (G_OBJECT (fb));
    }

  g_value_unset (&val);
  pango_font_description_free (fb_font_desc);
}
Exemplo n.º 2
0
void select_font(gpointer parent)
{
    GtkWidget* dialog = gtk_font_chooser_dialog_new("Font", GTK_WINDOW(parent));
    
    gtk_dialog_run(GTK_DIALOG (dialog));
    
    PangoFontDescription *font_desc = gtk_font_chooser_get_font_desc(GTK_FONT_CHOOSER(dialog));
    
    if (font_desc)
        gtk_widget_modify_font(gres.view_chat, font_desc);

    gtk_widget_destroy(dialog);
}
Exemplo n.º 3
0
G_MODULE_EXPORT void
action_font_activate_cb(GtkWidget *widget, EDITOR *e)
{
	GtkWidget *dialog;
	gchar *selected_text = NULL;
	gchar *size = NULL;
#ifdef HAVE_GTK_32
	dialog = gtk_font_chooser_dialog_new("Select font", NULL);
	gtk_font_chooser_set_font((GtkFontChooser *)dialog,
#else
	dialog = gtk_font_selection_dialog_new("Select font");
	gtk_font_selection_dialog_set_font_name((GtkFontSelectionDialog *)
						dialog,
#endif
				  "Droid Sans 14");

	if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
#ifdef HAVE_GTK_32
		const gchar *fontname = gtk_font_chooser_get_font((GtkFontChooser *)dialog);
#else
		const gchar *fontname = gtk_font_selection_dialog_get_font_name((GtkFontSelectionDialog *)dialog);
#endif
		GString *name = g_string_new(fontname);
		size = get_font_size_from_name(name);
		g_string_free(name, TRUE);

		selected_text = editor_get_selected_text(e);
#ifdef HAVE_GTK_32
		PangoFontDescription *font_description =
			gtk_font_chooser_get_font_desc((GtkFontChooser *)
						       dialog);
		fontname = pango_font_description_get_family(font_description);
#else
		PangoFontDescription *font_description =
			pango_font_description_from_string(fontname);
		fontname = pango_font_description_get_family(font_description);
#endif

		gchar *script = g_strdup_printf("<SPAN STYLE=\"font-family:%s;font-size:%spx;\">%s</SPAN>",
						fontname, size, selected_text);

		editor_insert_html(script, e);
		g_free(script);
	}
	if (size)
		g_free(size);
	if (selected_text)
		g_free(selected_text);
	gtk_widget_destroy(dialog);
}
Exemplo n.º 4
0
static void
response_cb (GtkDialog *dialog,
             gint       response_id,
             gpointer   data)
{
  GnmFontButton *font_button = GNM_FONT_BUTTON (data);
  GnmFontButtonPrivate *priv = font_button->priv;
  GtkFontChooser *font_chooser;
  GObject *object;

  gtk_widget_hide (font_button->priv->font_dialog);

  if (response_id != GTK_RESPONSE_OK)
    return;

  font_chooser = GTK_FONT_CHOOSER (priv->font_dialog);
  object = G_OBJECT (font_chooser);

  g_object_freeze_notify (object);

  clear_font_data (font_button);

  priv->font_desc = gtk_font_chooser_get_font_desc (font_chooser);
  if (priv->font_desc)
    priv->fontname = pango_font_description_to_string (priv->font_desc);
  priv->font_family = gtk_font_chooser_get_font_family (font_chooser);
  if (priv->font_family)
    g_object_ref (priv->font_family);
  priv->font_face = gtk_font_chooser_get_font_face (font_chooser);
  if (priv->font_face)
    g_object_ref (priv->font_face);
  priv->font_size = gtk_font_chooser_get_font_size (font_chooser);

  /* Set label font */
  gnm_font_button_update_font_info (font_button);

  g_object_notify (G_OBJECT (font_button), "font");
  g_object_notify (G_OBJECT (font_button), "font-desc");
  g_object_notify (G_OBJECT (font_button), "font-name");

  g_object_thaw_notify (object);

  /* Emit font_set signal */
  g_signal_emit (font_button, font_button_signals[FONT_SET], 0);
}
Exemplo n.º 5
0
void x_font_select_callback (GtkWidget * widget, gpointer data) {
	XEditor * xeditor = (XEditor *)data;
	GtkResponseType answer;
	PangoFontDescription * font_desc;
	GtkWidget * dialog = gtk_font_chooser_dialog_new ("- EditroX - Font Selector -", GTK_WINDOW(xeditor->win->window));

	gtk_font_chooser_set_preview_text (GTK_FONT_CHOOSER(dialog), "EditorX is the best text editor than ever.");
	answer = gtk_dialog_run(GTK_DIALOG(dialog));
	
	if(answer == GTK_RESPONSE_OK) {
		font_desc = gtk_font_chooser_get_font_desc (GTK_FONT_CHOOSER(dialog));
		x_scrolled_set_font_desc (xeditor->scrolled, font_desc);
		gtk_widget_override_font (GTK_WIDGET(x_scrolled_get_source_view (xeditor->scrolled)),
		                        x_scrolled_get_font_description (xeditor->scrolled));
		x_toolbar_set_font_desc (xeditor->toolbar,
		                         pango_font_description_to_string (x_scrolled_get_font_description (xeditor->scrolled)));
		
	}
	gtk_widget_destroy(dialog);
}
Exemplo n.º 6
0
static void termomix_font_dialog (GtkWidget *widget, void *data) {
    GtkWidget *font_dialog;
    gint response;

    font_dialog=gtk_font_chooser_dialog_new(gettext("Select font"),
            GTK_WINDOW(termomix.main_window));
    gtk_font_chooser_set_font_desc(GTK_FONT_CHOOSER(font_dialog), termomix.font);

    response=gtk_dialog_run(GTK_DIALOG(font_dialog));

    if (response==GTK_RESPONSE_OK) {
        pango_font_description_free(termomix.font);
        termomix.font=gtk_font_chooser_get_font_desc(GTK_FONT_CHOOSER(font_dialog));
        termomix_set_font();
        termomix_set_size(termomix.columns, termomix.rows);
        termomix_set_config_string("font",
                pango_font_description_to_string(termomix.font));
    }

    gtk_widget_destroy(font_dialog);
}