aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--ChangeLog.ja8
-rw-r--r--src/colorlabel.c37
-rw-r--r--src/gtkutils.c10
-rw-r--r--src/gtkutils.h4
-rw-r--r--src/prefs_filter_edit.c24
6 files changed, 70 insertions, 21 deletions
diff --git a/ChangeLog b/ChangeLog
index bb1b74b5..d0f9a94e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2005-03-31
+ * src/colorlabel.c: removed warnings when displaying colorlabel menu
+ (don't use GtkAlignment).
+ * src/prefs_filter_edit.c: stabilized displaying of widgets.
+ * src/gtkutils.[ch]: gtkut_scrolled_window_reset_position(): reset
+ the adjustments to (0, 0).
+
+2005-03-31
+
* src/foldersel.c
src/prefs_filter.c: made column resize automatically.
diff --git a/ChangeLog.ja b/ChangeLog.ja
index f8c37411..963439ea 100644
--- a/ChangeLog.ja
+++ b/ChangeLog.ja
@@ -1,5 +1,13 @@
2005-03-31
+ * src/colorlabel.c: カラーラベルメニューを表示するときの警告を除去
+ (GtkAlignment を使わないようにした)。
+ * src/prefs_filter_edit.c: ウィジェットの描画を安定化した。
+ * src/gtkutils.[ch]: gtkut_scrolled_window_reset_position():
+ adjustment を (0, 0) にリセット。
+
+2005-03-31
+
* src/foldersel.c
src/prefs_filter.c: カラムを自動的にリサイズするようにした。
diff --git a/src/colorlabel.c b/src/colorlabel.c
index 40b27d06..5de4fe43 100644
--- a/src/colorlabel.c
+++ b/src/colorlabel.c
@@ -34,6 +34,7 @@
#include <gtk/gtkmenuitem.h>
#include <gtk/gtkalignment.h>
#include <gtk/gtkhbox.h>
+#include <gtk/gtkvbox.h>
#include <gtk/gtkwindow.h>
#include <gtk/gtkdrawingarea.h>
@@ -228,7 +229,7 @@ GtkWidget *colorlabel_create_check_color_menu_item(gint color_index)
{
GtkWidget *label;
GtkWidget *hbox;
- GtkWidget *align;
+ GtkWidget *vbox;
GtkWidget *item;
G_RETURN_VAL_IF_INVALID_COLOR(color_index, NULL);
@@ -241,22 +242,20 @@ GtkWidget *colorlabel_create_check_color_menu_item(gint color_index)
* how to create pixmap menus */
label = gtk_label_new(label_colors[color_index].label);
- gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
gtk_widget_show(label);
hbox = gtk_hbox_new(FALSE, 0);
gtk_widget_show(hbox);
gtk_container_add(GTK_CONTAINER(item), hbox);
- align = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
- gtk_widget_show(align);
- gtk_container_set_border_width(GTK_CONTAINER(align), 1);
+ vbox = gtk_vbox_new(TRUE, 0);
+ gtk_widget_show(vbox);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox), 1);
- gtk_container_add(GTK_CONTAINER(align), label_colors[color_index].widget);
+ gtk_container_add(GTK_CONTAINER(vbox),
+ label_colors[color_index].widget);
gtk_widget_show(label_colors[color_index].widget);
- gtk_widget_set_size_request
- (align, LABEL_COLOR_WIDTH, LABEL_COLOR_HEIGHT);
- gtk_box_pack_start(GTK_BOX(hbox), align, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
return item;
@@ -267,8 +266,6 @@ GtkWidget *colorlabel_create_check_color_menu_item(gint color_index)
GtkWidget *colorlabel_create_color_menu(void)
{
GtkWidget *label;
- GtkWidget *hbox;
- GtkWidget *align;
GtkWidget *item;
GtkWidget *menu;
gint i;
@@ -288,7 +285,9 @@ GtkWidget *colorlabel_create_color_menu(void)
/* and the color items */
for (i = 0; i < LABEL_COLORS_ELEMS; i++) {
- GtkWidget *widget = colorlabel_create_color_widget(label_colors[i].color);
+ GtkWidget *hbox;
+ GtkWidget *vbox;
+ GtkWidget *widget;
item = gtk_menu_item_new();
g_object_set_data(G_OBJECT(item), "color",
@@ -296,22 +295,20 @@ GtkWidget *colorlabel_create_color_menu(void)
label = gtk_label_new(label_colors[i].label);
- gtk_misc_set_alignment(GTK_MISC(label), 0.0, 0.5);
gtk_widget_show(label);
hbox = gtk_hbox_new(FALSE, 0);
gtk_widget_show(hbox);
gtk_container_add(GTK_CONTAINER(item), hbox);
- align = gtk_alignment_new(0.5, 0.5, 0.0, 0.0);
- gtk_widget_show(align);
- gtk_container_set_border_width(GTK_CONTAINER(align), 1);
+ vbox = gtk_vbox_new(TRUE, 0);
+ gtk_widget_show(vbox);
+ gtk_container_set_border_width(GTK_CONTAINER(vbox), 1);
- gtk_container_add(GTK_CONTAINER(align), widget);
+ widget = colorlabel_create_color_widget(label_colors[i].color);
gtk_widget_show(widget);
- gtk_widget_set_size_request
- (align, LABEL_COLOR_WIDTH, LABEL_COLOR_HEIGHT);
+ gtk_box_pack_start(GTK_BOX(vbox), widget, FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), align, FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), vbox, FALSE, FALSE, 0);
gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 4);
gtk_menu_shell_append(GTK_MENU_SHELL(menu), item);
diff --git a/src/gtkutils.c b/src/gtkutils.c
index 211cd1f5..96f99762 100644
--- a/src/gtkutils.c
+++ b/src/gtkutils.c
@@ -441,6 +441,16 @@ void gtkut_container_remove(GtkContainer *container, GtkWidget *widget)
gtk_container_remove(container, widget);
}
+void gtkut_scrolled_window_reset_position(GtkScrolledWindow *window)
+{
+ GtkAdjustment *adj;
+
+ adj = gtk_scrolled_window_get_hadjustment(GTK_SCROLLED_WINDOW(window));
+ gtk_adjustment_set_value(adj, adj->lower);
+ adj = gtk_scrolled_window_get_vadjustment(GTK_SCROLLED_WINDOW(window));
+ gtk_adjustment_set_value(adj, adj->lower);
+}
+
gboolean gtkut_text_buffer_match_string(GtkTextBuffer *textbuf,
const GtkTextIter *iter,
gunichar *wcs, gint len,
diff --git a/src/gtkutils.h b/src/gtkutils.h
index 55cdf957..927e2db4 100644
--- a/src/gtkutils.h
+++ b/src/gtkutils.h
@@ -32,6 +32,7 @@
#include <gtk/gtkeditable.h>
#include <gtk/gtkctree.h>
#include <gtk/gtkcombo.h>
+#include <gtk/gtkscrolledwindow.h>
#include <gtk/gtktextview.h>
#include <gtk/gtkitemfactory.h>
#include <stdlib.h>
@@ -134,6 +135,9 @@ void gtkut_editable_disable_im (GtkEditable *editable);
void gtkut_container_remove (GtkContainer *container,
GtkWidget *widget);
+void gtkut_scrolled_window_reset_position
+ (GtkScrolledWindow *window);
+
gboolean gtkut_text_buffer_match_string (GtkTextBuffer *buffer,
const GtkTextIter *iter,
gunichar *wcs,
diff --git a/src/prefs_filter_edit.c b/src/prefs_filter_edit.c
index 3808917a..9a03d1ef 100644
--- a/src/prefs_filter_edit.c
+++ b/src/prefs_filter_edit.c
@@ -260,8 +260,14 @@ static void prefs_filter_action_add_cb (GtkWidget *widget,
FilterRule *prefs_filter_edit_open(FilterRule *rule, const gchar *header)
{
+ static gboolean lock = FALSE;
FilterRule *new_rule;
+ if (lock)
+ return NULL;
+
+ lock = TRUE;
+
if (!rule_edit_window.window)
prefs_filter_edit_create();
@@ -271,6 +277,7 @@ FilterRule *prefs_filter_edit_open(FilterRule *rule, const gchar *header)
prefs_filter_edit_rule_to_dialog(rule);
if (header)
prefs_filter_edit_activate_cond_header(header);
+ GTK_EVENTS_FLUSH();
gtk_widget_show(rule_edit_window.window);
rule_edit_window.new_rule = NULL;
@@ -278,9 +285,9 @@ FilterRule *prefs_filter_edit_open(FilterRule *rule, const gchar *header)
while (rule_edit_window.edit_finished == FALSE)
gtk_main_iteration();
+ gtk_widget_hide(rule_edit_window.window);
prefs_filter_edit_clear();
prefs_filter_set_msg_header_list(NULL);
- gtk_widget_hide(rule_edit_window.window);
new_rule = rule_edit_window.new_rule;
rule_edit_window.new_rule = NULL;
@@ -288,6 +295,8 @@ FilterRule *prefs_filter_edit_open(FilterRule *rule, const gchar *header)
if (new_rule)
debug_print("new rule created: %s\n", new_rule->name);
+ lock = FALSE;
+
return new_rule;
}
@@ -367,6 +376,7 @@ static void prefs_filter_edit_create(void)
gtk_box_pack_start(GTK_BOX(hbox), bool_op_optmenu, FALSE, FALSE, 0);
menu = gtk_menu_new();
+ gtk_widget_show(menu);
MENUITEM_ADD(menu, menuitem,
_("If any of the following condition matches"), FLT_OR);
MENUITEM_ADD(menu, menuitem,
@@ -468,6 +478,11 @@ static void prefs_filter_edit_rule_to_dialog(FilterRule *rule)
index);
}
+ gtkut_scrolled_window_reset_position
+ (GTK_SCROLLED_WINDOW(rule_edit_window.cond_scrolled_win));
+ gtkut_scrolled_window_reset_position
+ (GTK_SCROLLED_WINDOW(rule_edit_window.action_scrolled_win));
+
prefs_filter_edit_add_rule_cond(rule);
prefs_filter_edit_add_rule_action(rule);
}
@@ -558,6 +573,7 @@ static CondHBox *prefs_filter_edit_cond_hbox_create(void)
}
menu = gtk_menu_new();
+ gtk_widget_show(menu);
MENUITEM_ADD(menu, menuitem, NULL, PF_COND_SEPARATOR);
COND_MENUITEM_ADD(_("To or Cc"), PF_COND_TO_OR_CC);
COND_MENUITEM_ADD(_("Any header"), PF_COND_ANY_HEADER);
@@ -579,6 +595,7 @@ static CondHBox *prefs_filter_edit_cond_hbox_create(void)
gtk_box_pack_start(GTK_BOX(hbox), match_type_optmenu, FALSE, FALSE, 0);
menu = gtk_menu_new();
+ gtk_widget_show(menu);
MENUITEM_ADD(menu, menuitem, _("contains"),
PF_MATCH_CONTAIN);
MENUITEM_ADD(menu, menuitem, _("doesn't contain"),
@@ -594,17 +611,21 @@ static CondHBox *prefs_filter_edit_cond_hbox_create(void)
gtk_option_menu_set_menu(GTK_OPTION_MENU(match_type_optmenu), menu);
size_match_optmenu = gtk_option_menu_new();
+ gtk_widget_show(size_match_optmenu);
gtk_box_pack_start(GTK_BOX(hbox), size_match_optmenu, FALSE, FALSE, 0);
menu = gtk_menu_new();
+ gtk_widget_show(menu);
MENUITEM_ADD(menu, menuitem, _("is larger than"), PF_SIZE_LARGER);
MENUITEM_ADD(menu, menuitem, _("is smaller than"), PF_SIZE_SMALLER);
gtk_option_menu_set_menu(GTK_OPTION_MENU(size_match_optmenu), menu);
age_match_optmenu = gtk_option_menu_new();
+ gtk_widget_show(age_match_optmenu);
gtk_box_pack_start(GTK_BOX(hbox), age_match_optmenu, FALSE, FALSE, 0);
menu = gtk_menu_new();
+ gtk_widget_show(menu);
MENUITEM_ADD(menu, menuitem, _("is longer than"), PF_AGE_LONGER);
MENUITEM_ADD(menu, menuitem, _("is shorter than"), PF_AGE_SHORTER);
gtk_option_menu_set_menu(GTK_OPTION_MENU(age_match_optmenu), menu);
@@ -704,6 +725,7 @@ static ActionHBox *prefs_filter_edit_action_hbox_create(void)
}
menu = gtk_menu_new();
+ gtk_widget_show(menu);
ACTION_MENUITEM_ADD(_("Move to"), PF_ACTION_MOVE);
ACTION_MENUITEM_ADD(_("Copy to"), PF_ACTION_COPY);
ACTION_MENUITEM_ADD(_("Don't receive"), PF_ACTION_NOT_RECEIVE);