Revision 489

src/compose.c (revision 489)
48 48
#include <gtk/gtksignal.h>
49 49
#include <gtk/gtkvbox.h>
50 50
#include <gtk/gtkcontainer.h>
51
#include <gtk/gtkhandlebox.h>
52 51
#include <gtk/gtktoolbar.h>
53 52
#include <gtk/gtktable.h>
54 53
#include <gtk/gtkhbox.h>
......
161 160
						 ComposeMode	 mode);
162 161
static Compose *compose_find_window_by_target	(MsgInfo	*msginfo);
163 162
static void compose_connect_changed_callbacks	(Compose	*compose);
164
static void compose_toolbar_create		(Compose	*compose,
165
						 GtkWidget	*container);
163
static GtkWidget *compose_toolbar_create	(Compose	*compose);
166 164
static GtkWidget *compose_account_option_menu_create
167 165
						(Compose	*compose);
168 166
static void compose_set_out_encoding		(Compose	*compose);
......
3829 3827
	GtkWidget *window;
3830 3828
	GtkWidget *vbox;
3831 3829
	GtkWidget *menubar;
3832
	GtkWidget *handlebox;
3830
	GtkWidget *toolbar;
3833 3831

  
3834 3832
	GtkWidget *vbox2;
3835 3833

  
......
3926 3924
	n_menu_entries = sizeof(compose_entries) / sizeof(compose_entries[0]);
3927 3925
	menubar = menubar_create(window, compose_entries,
3928 3926
				 n_menu_entries, "<Compose>", compose);
3927
	gtk_widget_set_size_request(menubar, 300, -1);
3929 3928
	gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0);
3930 3929

  
3931
	handlebox = gtk_handle_box_new();
3932
	gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0);
3930
	toolbar = compose_toolbar_create(compose);
3931
	gtk_widget_set_size_request(toolbar, 300, -1);
3932
	gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);
3933 3933

  
3934
	compose_toolbar_create(compose, handlebox);
3935

  
3936 3934
	vbox2 = gtk_vbox_new(FALSE, 2);
3937 3935
	gtk_box_pack_start(GTK_BOX(vbox), vbox2, TRUE, TRUE, 0);
3938 3936
	gtk_container_set_border_width(GTK_CONTAINER(vbox2), BORDER_WIDTH);
......
4213 4211

  
4214 4212
	switch (prefs_common.toolbar_style) {
4215 4213
	case TOOLBAR_NONE:
4216
		gtk_widget_hide(handlebox);
4214
		gtk_widget_hide(toolbar);
4217 4215
		break;
4218 4216
	case TOOLBAR_ICON:
4219
		gtk_toolbar_set_style(GTK_TOOLBAR(compose->toolbar),
4220
				      GTK_TOOLBAR_ICONS);
4217
		gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_ICONS);
4221 4218
		break;
4222 4219
	case TOOLBAR_TEXT:
4223
		gtk_toolbar_set_style(GTK_TOOLBAR(compose->toolbar),
4224
				      GTK_TOOLBAR_TEXT);
4220
		gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_TEXT);
4225 4221
		break;
4226 4222
	case TOOLBAR_BOTH:
4227
		gtk_toolbar_set_style(GTK_TOOLBAR(compose->toolbar),
4228
				      GTK_TOOLBAR_BOTH);
4223
		gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH);
4229 4224
		break;
4230 4225
	}
4231 4226

  
......
4238 4233
	compose->window        = window;
4239 4234
	compose->vbox	       = vbox;
4240 4235
	compose->menubar       = menubar;
4241
	compose->handlebox     = handlebox;
4236
	compose->toolbar       = toolbar;
4242 4237

  
4243 4238
	compose->vbox2	       = vbox2;
4244 4239

  
......
4421 4416
			 G_CALLBACK(compose_changed_cb), compose);
4422 4417
}
4423 4418

  
4424
static void compose_toolbar_create(Compose *compose, GtkWidget *container)
4419
static GtkWidget *compose_toolbar_create(Compose *compose)
4425 4420
{
4426 4421
	GtkWidget *toolbar;
4427 4422
	GtkWidget *icon_wid;
......
4441 4436
	gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH);
4442 4437
	gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolbar),
4443 4438
				  GTK_ICON_SIZE_LARGE_TOOLBAR);
4444
	gtk_container_add(GTK_CONTAINER(container), toolbar);
4445
	gtk_widget_set_size_request(toolbar, 1, -1);
4446 4439

  
4447
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_MAIL_SEND);
4440
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_MAIL_SEND);
4448 4441
	send_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
4449 4442
					   _("Send"),
4450 4443
					   _("Send message"),
......
4453 4446
					   G_CALLBACK(toolbar_send_cb),
4454 4447
					   compose);
4455 4448

  
4456
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_MAIL_SEND_QUEUE);
4449
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_MAIL_SEND_QUEUE);
4457 4450
	sendl_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
4458 4451
					   _("Send later"),
4459 4452
					   _("Put into queue folder and send later"),
......
4462 4455
					   G_CALLBACK(toolbar_send_later_cb),
4463 4456
					   compose);
4464 4457

  
4465
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_MAIL);
4458
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_MAIL);
4466 4459
	draft_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
4467 4460
					    _("Draft"),
4468 4461
					    _("Save to draft folder"),
......
4473 4466

  
4474 4467
	gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));
4475 4468

  
4476
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_INSERT_FILE);
4469
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_INSERT_FILE);
4477 4470
	insert_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
4478 4471
					     _("Insert"),
4479 4472
					     _("Insert file"),
......
4482 4475
					     G_CALLBACK(toolbar_insert_cb),
4483 4476
					     compose);
4484 4477

  
4485
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_MAIL_ATTACH);
4478
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_MAIL_ATTACH);
4486 4479
	attach_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
4487 4480
					     _("Attach"),
4488 4481
					     _("Attach file"),
......
4493 4486

  
4494 4487
	gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));
4495 4488

  
4496
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_SIGN);
4489
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_SIGN);
4497 4490
	sig_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
4498 4491
					  _("Signature"),
4499 4492
					  _("Insert signature"),
......
4503 4496

  
4504 4497
	gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));
4505 4498

  
4506
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_MAIL_COMPOSE);
4499
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_MAIL_COMPOSE);
4507 4500
	exteditor_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
4508 4501
						_("Editor"),
4509 4502
						_("Edit with external editor"),
......
4512 4505
						G_CALLBACK(toolbar_ext_editor_cb),
4513 4506
						compose);
4514 4507

  
4515
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_LINEWRAP);
4508
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_LINEWRAP);
4516 4509
	linewrap_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
4517 4510
					       _("Linewrap"),
4518 4511
					       _("Wrap all long lines"),
......
4523 4516

  
4524 4517
	gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));
4525 4518

  
4526
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_ADDRESS_BOOK);
4519
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_ADDRESS_BOOK);
4527 4520
	addrbook_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
4528 4521
					       _("Address"),
4529 4522
					       _("Address book"),
......
4532 4525
					       G_CALLBACK(toolbar_address_cb),
4533 4526
					       compose);
4534 4527

  
4535
	compose->toolbar       = toolbar;
4536 4528
	compose->send_btn      = send_btn;
4537 4529
	compose->sendl_btn     = sendl_btn;
4538 4530
	compose->draft_btn     = draft_btn;
......
4544 4536
	compose->addrbook_btn  = addrbook_btn;
4545 4537

  
4546 4538
	gtk_widget_show_all(toolbar);
4539

  
4540
	return toolbar;
4547 4541
}
4548 4542

  
4549 4543
static GtkWidget *compose_account_option_menu_create(Compose *compose)
src/compose.h (revision 489)
76 76
	GtkWidget *vbox;
77 77
	GtkWidget *menubar;
78 78

  
79
	GtkWidget *handlebox;
80 79
	GtkWidget *toolbar;
81 80
	GtkWidget *send_btn;
82 81
	GtkWidget *sendl_btn;
src/stock_pixmap.c (revision 489)
155 155
{
156 156
	GdkPixbuf *pixbuf;
157 157

  
158
	g_return_val_if_fail(window != NULL, NULL);
159 158
	g_return_val_if_fail(icon >= 0 && icon < N_STOCK_PIXMAPS, NULL);
160 159

  
161 160
	stock_pixbuf_gdk(window, icon, &pixbuf);
src/mainwindow.c (revision 489)
37 37
#include <gtk/gtkeditable.h>
38 38
#include <gtk/gtkmenu.h>
39 39
#include <gtk/gtkmenuitem.h>
40
#include <gtk/gtkhandlebox.h>
41 40
#include <gtk/gtktoolbar.h>
42 41
#include <gtk/gtkbutton.h>
43 42
#include <gtk/gtktooltips.h>
......
112 111

  
113 112
static void main_window_set_widgets		(MainWindow	*mainwin,
114 113
						 SeparateType	 type);
115
static void main_window_toolbar_create		(MainWindow	*mainwin,
116
						 GtkWidget	*container);
114
static GtkWidget *main_window_toolbar_create	(MainWindow	*mainwin);
117 115

  
118 116
/* callback functions */
119 117
static void toolbar_inc_cb		(GtkWidget	*widget,
......
153 151
						 gpointer	 data);
154 152
#endif
155 153

  
156
static void toolbar_child_attached		(GtkWidget	*widget,
157
						 GtkWidget	*child,
158
						 gpointer	 data);
159
static void toolbar_child_detached		(GtkWidget	*widget,
160
						 GtkWidget	*child,
161
						 gpointer	 data);
162

  
163 154
static void online_switch_clicked		(GtkWidget	*widget,
164 155
						 gpointer	 data);
165 156
static void ac_label_button_pressed		(GtkWidget	*widget,
......
792 783
	GtkWidget *window;
793 784
	GtkWidget *vbox;
794 785
	GtkWidget *menubar;
795
	GtkWidget *handlebox;
786
	GtkWidget *toolbar;
796 787
	GtkWidget *vbox_body;
797 788
	GtkWidget *statusbar;
798 789
	GtkWidget *progressbar;
......
852 843
	menubar = menubar_create(window, mainwin_entries, 
853 844
				 n_menu_entries, "<Main>", mainwin);
854 845
	gtk_widget_show(menubar);
846
	gtk_widget_set_size_request(menubar, 300, -1);
855 847
	gtk_box_pack_start(GTK_BOX(vbox), menubar, FALSE, TRUE, 0);
856 848
	ifactory = gtk_item_factory_from_widget(menubar);
857 849

  
858
	handlebox = gtk_handle_box_new();
859
	gtk_widget_show(handlebox);
860
	gtk_box_pack_start(GTK_BOX(vbox), handlebox, FALSE, FALSE, 0);
861
	g_signal_connect(G_OBJECT(handlebox), "child_attached",
862
			 G_CALLBACK(toolbar_child_attached), mainwin);
863
	g_signal_connect(G_OBJECT(handlebox), "child_detached",
864
			 G_CALLBACK(toolbar_child_detached), mainwin);
850
	toolbar = main_window_toolbar_create(mainwin);
851
	gtk_widget_set_size_request(toolbar, 300, -1);
852
	gtk_box_pack_start(GTK_BOX(vbox), toolbar, FALSE, FALSE, 0);
865 853

  
866
	main_window_toolbar_create(mainwin, handlebox);
867

  
868 854
	/* vbox that contains body */
869 855
	vbox_body = gtk_vbox_new(FALSE, BORDER_WIDTH);
870 856
	gtk_widget_show(vbox_body);
......
939 925
	mainwin->vbox           = vbox;
940 926
	mainwin->menubar        = menubar;
941 927
	mainwin->menu_factory   = ifactory;
942
	mainwin->handlebox      = handlebox;
928
	mainwin->toolbar        = toolbar;
943 929
	mainwin->vbox_body      = vbox_body;
944 930
	mainwin->statusbar      = statusbar;
945 931
	mainwin->progressbar    = progressbar;
......
2166 2152
	{N_("/Redirec_t"),		NULL, reply_cb, COMPOSE_REDIRECT, NULL}
2167 2153
};
2168 2154

  
2169
static void main_window_toolbar_create(MainWindow *mainwin,
2170
				       GtkWidget *container)
2155
static GtkWidget *main_window_toolbar_create(MainWindow *mainwin)
2171 2156
{
2172 2157
	GtkWidget *toolbar;
2173 2158
	GtkWidget *icon_wid;
......
2197 2182
	gtk_toolbar_set_style(GTK_TOOLBAR(toolbar), GTK_TOOLBAR_BOTH);
2198 2183
	gtk_toolbar_set_icon_size(GTK_TOOLBAR(toolbar),
2199 2184
				  GTK_ICON_SIZE_LARGE_TOOLBAR);
2200
	gtk_container_add(GTK_CONTAINER(container), toolbar);
2201
	gtk_widget_set_size_request(toolbar, 1, -1);
2202 2185

  
2203
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_MAIL_RECEIVE);
2186
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_MAIL_RECEIVE);
2204 2187
	get_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
2205 2188
					  _("Get"),
2206 2189
					  _("Incorporate new mail"),
......
2208 2191
					  icon_wid,
2209 2192
					  G_CALLBACK(toolbar_inc_cb),
2210 2193
					  mainwin);
2211
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_MAIL_RECEIVE_ALL);
2194
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_MAIL_RECEIVE_ALL);
2212 2195
	getall_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
2213 2196
					     _("Get all"),
2214 2197
					     _("Incorporate new mail of all accounts"),
......
2219 2202

  
2220 2203
	gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));
2221 2204

  
2222
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_MAIL_SEND);
2205
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_MAIL_SEND);
2223 2206
	send_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
2224 2207
					   _("Send"),
2225 2208
					   _("Send queued message(s)"),
......
2230 2213

  
2231 2214
	gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));
2232 2215

  
2233
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_MAIL_COMPOSE);
2216
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_MAIL_COMPOSE);
2234 2217
	compose_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
2235 2218
					      _("Compose"),
2236 2219
					      _("Compose new message"),
......
2239 2222
					      G_CALLBACK(toolbar_compose_cb),
2240 2223
					      mainwin);
2241 2224

  
2242
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_MAIL_REPLY);
2225
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_MAIL_REPLY);
2243 2226
	reply_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
2244 2227
					    _("Reply"),
2245 2228
					    _("Reply to the message"),
......
2257 2240
				  GTK_WIDGET_PTR(reply_combo),
2258 2241
				  _("Reply to the message"), "Reply");
2259 2242

  
2260
	icon_wid = stock_pixbuf_widget
2261
		(container, STOCK_PIXMAP_MAIL_REPLY_TO_ALL);
2243
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_MAIL_REPLY_TO_ALL);
2262 2244
	replyall_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
2263 2245
					       _("Reply all"),
2264 2246
					       _("Reply to all"),
......
2267 2249
					       G_CALLBACK(toolbar_reply_to_all_cb),
2268 2250
					       mainwin);
2269 2251

  
2270
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_MAIL_FORWARD);
2252
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_MAIL_FORWARD);
2271 2253
	fwd_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
2272 2254
					  _("Forward"),
2273 2255
					  _("Forward the message"),
......
2287 2269

  
2288 2270
	gtk_toolbar_append_space(GTK_TOOLBAR(toolbar));
2289 2271

  
2290
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_DELETE);
2272
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_DELETE);
2291 2273
	delete_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
2292 2274
					  _("Delete"),
2293 2275
					  _("Delete the message"),
......
2296 2278
					  G_CALLBACK(toolbar_delete_cb),
2297 2279
					  mainwin);
2298 2280

  
2299
	icon_wid = stock_pixbuf_widget(container, STOCK_PIXMAP_SPAM);
2281
	icon_wid = stock_pixbuf_widget(NULL, STOCK_PIXMAP_SPAM);
2300 2282
	junk_btn = gtk_toolbar_append_item(GTK_TOOLBAR(toolbar),
2301 2283
					   _("Junk"),
2302 2284
					   _("Set as junk mail"),
......
2350 2332
			 G_CALLBACK(toolbar_account_button_pressed), mainwin);
2351 2333
#endif
2352 2334

  
2353
	mainwin->toolbar      = toolbar;
2354 2335
	mainwin->get_btn      = get_btn;
2355 2336
	mainwin->getall_btn   = getall_btn;
2356 2337
	mainwin->compose_btn  = compose_btn;
......
2370 2351
	mainwin->exec_btn     = exec_btn;
2371 2352

  
2372 2353
	gtk_widget_show_all(toolbar);
2354

  
2355
	return toolbar;
2373 2356
}
2374 2357

  
2375 2358
/* callback functions */
......
2498 2481
}
2499 2482
#endif
2500 2483

  
2501
static void toolbar_child_attached(GtkWidget *widget, GtkWidget *child,
2502
				   gpointer data)
2503
{
2504
	gtk_widget_set_size_request(child, 1, -1);
2505
}
2506

  
2507
static void toolbar_child_detached(GtkWidget *widget, GtkWidget *child,
2508
				   gpointer data)
2509
{
2510
	gtk_widget_set_size_request(child, -1, -1);
2511
}
2512

  
2513 2484
static void online_switch_clicked(GtkWidget *widget, gpointer data)
2514 2485
{
2515 2486
	MainWindow *mainwin = (MainWindow *)data;
......
2796 2767
{
2797 2768
	switch ((ToolbarStyle)action) {
2798 2769
	case TOOLBAR_NONE:
2799
		gtk_widget_hide(mainwin->handlebox);
2770
		gtk_widget_hide(mainwin->toolbar);
2800 2771
	case TOOLBAR_ICON:
2801 2772
		gtk_toolbar_set_style(GTK_TOOLBAR(mainwin->toolbar),
2802 2773
				      GTK_TOOLBAR_ICONS);
......
2812 2783
	}
2813 2784

  
2814 2785
	if (action != TOOLBAR_NONE) {
2815
		gtk_widget_show(mainwin->handlebox);
2816
		gtk_widget_queue_resize(mainwin->handlebox);
2786
		gtk_widget_show(mainwin->toolbar);
2787
		gtk_widget_queue_resize(mainwin->toolbar);
2817 2788
	}
2818 2789

  
2819 2790
	mainwin->toolbar_style = (ToolbarStyle)action;
src/mainwindow.h (revision 489)
81 81
	GtkItemFactory *menu_factory;
82 82

  
83 83
	/* toolbar */
84
	GtkWidget *handlebox;
85 84
	GtkWidget *toolbar;
86 85
	GtkWidget *get_btn;
87 86
	GtkWidget *getall_btn;
ChangeLog.ja (revision 489)
1
2005-08-18
2

  
3
	* src/compose.[ch]
4
	  src/mainwindow.[ch]: GtkHandleBox ???ѻ?(??????ư??Ƥ??ʤ??ä?
5
	  ????)??
6
	* src/stock_pixmap.c: stock_pixbuf_gdk(): NULL window ?????ġ?
7

  
1 8
2005-08-09
2 9

  
3 10
	* version 2.1.0
ChangeLog (revision 489)
1
2005-08-18
2

  
3
	* src/compose.[ch]
4
	  src/mainwindow.[ch]: disused GtkHandleBox which haven't worked well.
5
	* src/stock_pixmap.c: stock_pixbuf_gdk(): allow NULL window.
6

  
1 7
2005-08-09
2 8

  
3 9
	* version 2.1.0

Also available in: Unified diff