aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2007-04-05 06:20:13 +0000
committerhiro <hiro@ee746299-78ed-0310-b773-934348b2243d>2007-04-05 06:20:13 +0000
commit22f34ddeb5761d2fe197a5f936e521247db363fe (patch)
tree433ecf1e52c81f50b9192b3fd2bfd2352ca0b0f6 /src
parent412ddd5981f7f5e5b4345b81fea04aa87078e3d7 (diff)
added margin to the compose text view.
git-svn-id: svn://sylpheed.sraoss.jp/sylpheed/trunk@1595 ee746299-78ed-0310-b773-934348b2243d
Diffstat (limited to 'src')
-rw-r--r--src/compose.c9
-rw-r--r--src/gtkshruler.c36
-rw-r--r--src/gtkshruler.h8
3 files changed, 42 insertions, 11 deletions
diff --git a/src/compose.c b/src/compose.c
index d1979af1..fd468ad0 100644
--- a/src/compose.c
+++ b/src/compose.c
@@ -165,6 +165,8 @@ typedef enum
#define MAX_REFERENCES_LEN 999
+#define TEXTVIEW_MARGIN 6
+
static GdkColor quote_color = {0, 0, 0, 0xbfff};
static GList *compose_list = NULL;
@@ -4510,8 +4512,9 @@ static Compose *compose_create(PrefsAccount *account, ComposeMode mode)
ruler = gtk_shruler_new();
gtk_ruler_set_range(GTK_RULER(ruler), 0.0, 100.0, 1.0, 100.0);
- gtk_box_pack_start(GTK_BOX(ruler_hbox), ruler, TRUE, TRUE,
- BORDER_WIDTH);
+ gtk_shruler_set_start_pos(GTK_SHRULER(ruler),
+ BORDER_WIDTH + TEXTVIEW_MARGIN);
+ gtk_box_pack_start(GTK_BOX(ruler_hbox), ruler, TRUE, TRUE, 0);
/* text widget */
scrolledwin = gtk_scrolled_window_new(NULL, NULL);
@@ -4528,6 +4531,8 @@ static Compose *compose_create(PrefsAccount *account, ComposeMode mode)
buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(text));
gtk_text_view_set_editable(GTK_TEXT_VIEW(text), TRUE);
gtk_text_view_set_wrap_mode(GTK_TEXT_VIEW(text), GTK_WRAP_WORD);
+ gtk_text_view_set_left_margin(GTK_TEXT_VIEW(text), TEXTVIEW_MARGIN);
+ gtk_text_view_set_right_margin(GTK_TEXT_VIEW(text), TEXTVIEW_MARGIN);
clipboard = gtk_clipboard_get(GDK_SELECTION_PRIMARY);
gtk_text_buffer_add_selection_clipboard(buffer, clipboard);
sig_tag = gtk_text_buffer_create_tag(buffer, "signature", NULL);
diff --git a/src/gtkshruler.c b/src/gtkshruler.c
index 05a78764..d4a72d57 100644
--- a/src/gtkshruler.c
+++ b/src/gtkshruler.c
@@ -1,6 +1,7 @@
/* GtkSHRuler
*
- * Copyright (C) 2000-2005 Alfons Hoogervorst & The Sylpheed Claws Team
+ * Copyright (C) 2000-2005 Alfons Hoogervorst & The Sylpheed Claws Team
+ * Copyright (C) 2007 Hiroyuki Yamamoto
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -105,6 +106,7 @@ gtk_shruler_init (GtkSHRuler * shruler)
widget = GTK_WIDGET (shruler);
widget->requisition.width = widget->style->xthickness * 2 + 1;
widget->requisition.height = widget->style->ythickness * 2 + RULER_HEIGHT;
+ shruler->start_pos = 0;
}
@@ -114,6 +116,22 @@ gtk_shruler_new(void)
return GTK_WIDGET( g_object_new( gtk_shruler_get_type(), NULL ) );
}
+void
+gtk_shruler_set_start_pos(GtkSHRuler *ruler, gint pos)
+{
+ g_return_if_fail (GTK_IS_SHRULER (ruler));
+
+ ruler->start_pos = pos;
+}
+
+gint
+gtk_shruler_get_start_pos(GtkSHRuler *ruler)
+{
+ g_return_if_fail (GTK_IS_SHRULER (ruler));
+
+ return ruler->start_pos;
+}
+
static void
gtk_shruler_draw_ticks(GtkRuler *ruler)
{
@@ -159,27 +177,27 @@ gtk_shruler_draw_ticks(GtkRuler *ruler)
/* assume ruler->max_size has the char width */
/* i is increment of char_width, pos is label number
* y position is based on height of widget itself */
- for ( i = 0, pos = 0; i < widget->allocation.width - xthickness; i += ruler->max_size, pos++ ) {
+ for ( pos = GTK_SHRULER(ruler)->start_pos, i = 0; pos < widget->allocation.width - xthickness; pos += ruler->max_size, i++ ) {
gint length = height / 8;
- if ( pos % 10 == 0 ) length = ( 2 * height / 3 );
- else if ( pos % 5 == 0 ) length = ( height / 3 );
+ if ( i % 10 == 0 ) length = ( 2 * height / 3 );
+ else if ( i % 5 == 0 ) length = ( height / 3 );
gdk_draw_line(ruler->backing_store, gc,
- i, height + ythickness,
- i, height - length);
+ pos, height + ythickness,
+ pos, height - length);
- if ( pos % 10 == 0 ) {
+ if ( i % 10 == 0 ) {
gchar buf[8];
PangoLayout *layout;
/* draw label */
- g_snprintf(buf, sizeof buf, "%d", pos);
+ g_snprintf(buf, sizeof buf, "%d", i);
layout = gtk_widget_create_pango_layout
(GTK_WIDGET(ruler), buf);
- gdk_draw_layout(ruler->backing_store, gc, i + 2,
+ gdk_draw_layout(ruler->backing_store, gc, pos + 2,
0, layout);
g_object_unref(layout);
diff --git a/src/gtkshruler.h b/src/gtkshruler.h
index bf7e0cde..abe56bf7 100644
--- a/src/gtkshruler.h
+++ b/src/gtkshruler.h
@@ -1,5 +1,6 @@
/* GTKSHRuler
* Copyright (C) 2000-2004 Alfons Hoogervorst & The Sylpheed Claws Team
+ * Copyright (C) 2007 Hiroyuki Yamamoto
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
@@ -41,6 +42,8 @@ typedef struct _GtkSHRulerClass GtkSHRulerClass;
struct _GtkSHRuler
{
GtkHRuler ruler;
+
+ gint start_pos;
};
struct _GtkSHRulerClass
@@ -51,6 +54,11 @@ struct _GtkSHRulerClass
GType gtk_shruler_get_type (void);
GtkWidget* gtk_shruler_new (void);
+
+void gtk_shruler_set_start_pos (GtkSHRuler *ruler,
+ gint pos);
+gint gtk_shruler_get_start_pos (GtkSHRuler *ruler);
+
void gtk_shruler_set_pos (GtkSHRuler *ruler,
gfloat pos);