[zenity] Add font and no wrap mode support in text dialog
- From: Arx Henrique Pereira da Cruz <arxcruz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [zenity] Add font and no wrap mode support in text dialog
- Date: Tue, 4 Jan 2011 13:31:30 +0000 (UTC)
commit e5467650a641694c82d85cc5d34a5ece28fd51f0
Author: muzuiget <muzuiget gmail com>
Date: Thu Aug 19 05:40:57 2010 +0800
Add font and no wrap mode support in text dialog
src/option.c | 24 ++++++++++++++++++++++--
src/text.c | 8 ++++++++
src/zenity.h | 2 ++
3 files changed, 32 insertions(+), 2 deletions(-)
---
diff --git a/src/option.c b/src/option.c
index f481345..2d6d8a4 100644
--- a/src/option.c
+++ b/src/option.c
@@ -97,6 +97,7 @@ static gchar *zenity_question_cancel_button;
/* Text Dialog Options */
static gboolean zenity_text_active;
+static gchar *zenity_text_font;
/* Warning Dialog Options */
static gboolean zenity_warning_active;
@@ -716,6 +717,15 @@ static GOptionEntry text_options[] = {
N_("Allow changes to text"),
NULL
},
+ {
+ "font",
+ '\0',
+ 0,
+ G_OPTION_ARG_STRING,
+ &zenity_text_font,
+ N_("Set the text font"),
+ N_("TEXT")
+ },
{
NULL
}
@@ -972,6 +982,9 @@ zenity_option_free (void) {
if (zenity_question_cancel_button)
g_free (zenity_question_cancel_button);
+ if (zenity_text_font)
+ g_free (zenity_text_font);
+
if (zenity_colorsel_color)
g_free (zenity_colorsel_color);
@@ -1163,6 +1176,7 @@ zenity_text_pre_callback (GOptionContext *context,
GError **error)
{
zenity_text_active = FALSE;
+ zenity_text_font = NULL;
return TRUE;
}
@@ -1544,7 +1558,13 @@ zenity_text_post_callback (GOptionContext *context,
if (results->mode == MODE_TEXTINFO) {
results->text_data->uri = zenity_general_uri;
results->text_data->editable = zenity_general_editable;
- }
+ results->text_data->no_wrap = zenity_general_dialog_no_wrap;
+ results->text_data->font = zenity_text_font;
+ } else {
+ if (zenity_text_font)
+ zenity_option_error (zenity_option_get_name (text_options, &zenity_text_font),
+ ERROR_SUPPORT);
+ }
return TRUE;
}
@@ -1895,7 +1915,7 @@ zenity_option_parse (gint argc, gchar **argv)
zenity_option_error (zenity_option_get_name (text_options, &zenity_general_uri), ERROR_SUPPORT);
if (zenity_general_dialog_no_wrap)
- if (results->mode != MODE_INFO && results->mode != MODE_ERROR && results->mode != MODE_QUESTION && results->mode != MODE_WARNING)
+ if (results->mode != MODE_INFO && results->mode != MODE_ERROR && results->mode != MODE_QUESTION && results->mode != MODE_WARNING && results->mode != MODE_TEXTINFO)
zenity_option_error (zenity_option_get_name (text_options, &zenity_general_dialog_no_wrap), ERROR_SUPPORT);
return results;
diff --git a/src/text.c b/src/text.c
index eb5f989..cd31c5f 100644
--- a/src/text.c
+++ b/src/text.c
@@ -134,6 +134,14 @@ zenity_text (ZenityData *data, ZenityTextData *text_data)
gtk_text_view_set_buffer (GTK_TEXT_VIEW (text_view), text_buffer);
gtk_text_view_set_editable (GTK_TEXT_VIEW(text_view), text_data->editable);
+ if (text_data->no_wrap)
+ gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW(text_view), GTK_WRAP_NONE);
+
+ if (text_data->font) {
+ PangoFontDescription *fontDesc = pango_font_description_from_string (text_data->font);
+ gtk_widget_modify_font(GTK_TEXT_VIEW(text_view), fontDesc);
+ }
+
if (text_data->uri)
zenity_util_fill_file_buffer (text_buffer, text_data->uri);
else
diff --git a/src/zenity.h b/src/zenity.h
index 537f5f0..6414140 100644
--- a/src/zenity.h
+++ b/src/zenity.h
@@ -104,6 +104,8 @@ typedef struct {
typedef struct {
gchar *uri;
gboolean editable;
+ gboolean no_wrap;
+ gchar *font;
GtkTextBuffer *buffer;
} ZenityTextData;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]