Commit 6805b3be authored by Sven Neumann's avatar Sven Neumann
Browse files

The statusbar can now be switched off just like the rulers.


--Sven
parent c10a09ef
Wed Aug 5 14:32:51 MEST 1998 Sven Neumann <sven@gimp.org>
* gimprc.in
* app/commands.[ch]
* app/gdisplay.[ch]
* app/gimprc.[ch]
* app/interface.c
* app/menus.c
* app/plug_in.c
* app/preferences_dialog.c: The statusbar can now be switched off
like the rulers. Screen estate purists can make this the default
behaviour in their gimprc ;-)
1998-08-03 Federico Mena Quintero <federico@nuclecu.unam.mx> 1998-08-03 Federico Mena Quintero <federico@nuclecu.unam.mx>
* app/gradient.c: Fixed typo (sinuosidal -> sinusoidal). * app/gradient.c: Fixed typo (sinuosidal -> sinusoidal).
......
...@@ -603,6 +603,26 @@ view_snap_to_guides_cmd_callback (GtkWidget *widget, ...@@ -603,6 +603,26 @@ view_snap_to_guides_cmd_callback (GtkWidget *widget,
gdisp->snap_to_guides = GTK_CHECK_MENU_ITEM (widget)->active; gdisp->snap_to_guides = GTK_CHECK_MENU_ITEM (widget)->active;
} }
void
view_toggle_statusbar_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
GDisplay * gdisp;
gdisp = gdisplay_active ();
if (!GTK_CHECK_MENU_ITEM (widget)->active)
{
if (GTK_WIDGET_VISIBLE (gdisp->statusarea))
gtk_widget_hide (gdisp->statusarea);
}
else
{
if (!GTK_WIDGET_VISIBLE (gdisp->statusarea))
gtk_widget_show (gdisp->statusarea);
}
}
void void
view_new_view_cmd_callback (GtkWidget *widget, view_new_view_cmd_callback (GtkWidget *widget,
gpointer client_data) gpointer client_data)
......
...@@ -51,6 +51,7 @@ void view_zoom_1_16_callback (GtkWidget *, gpointer); ...@@ -51,6 +51,7 @@ void view_zoom_1_16_callback (GtkWidget *, gpointer);
void view_window_info_cmd_callback (GtkWidget *, gpointer); void view_window_info_cmd_callback (GtkWidget *, gpointer);
void view_toggle_rulers_cmd_callback (GtkWidget *, gpointer); void view_toggle_rulers_cmd_callback (GtkWidget *, gpointer);
void view_toggle_guides_cmd_callback (GtkWidget *, gpointer); void view_toggle_guides_cmd_callback (GtkWidget *, gpointer);
void view_toggle_statusbar_cmd_callback (GtkWidget *, gpointer);
void view_snap_to_guides_cmd_callback (GtkWidget *, gpointer); void view_snap_to_guides_cmd_callback (GtkWidget *, gpointer);
void view_new_view_cmd_callback (GtkWidget *, gpointer); void view_new_view_cmd_callback (GtkWidget *, gpointer);
void view_shrink_wrap_cmd_callback (GtkWidget *, gpointer); void view_shrink_wrap_cmd_callback (GtkWidget *, gpointer);
......
...@@ -3006,8 +3006,8 @@ plug_in_progress_init (PlugIn *plug_in, ...@@ -3006,8 +3006,8 @@ plug_in_progress_init (PlugIn *plug_in,
if (gdisp_ID > 0) if (gdisp_ID > 0)
gdisp = gdisplay_get_ID(gdisp_ID); gdisp = gdisplay_get_ID(gdisp_ID);
if (gdisp_ID > 0 && (gdisp->progressid == 0 || if (gdisp_ID > 0 && GTK_WIDGET_VISIBLE (gdisp->statusarea)
plug_in->progress_gdisp_ID > 0)) && (gdisp->progressid == 0 || plug_in->progress_gdisp_ID > 0))
{ {
context_id = gtk_statusbar_get_context_id(GTK_STATUSBAR(gdisp->statusbar), context_id = gtk_statusbar_get_context_id(GTK_STATUSBAR(gdisp->statusbar),
"progress"); "progress");
......
...@@ -603,6 +603,26 @@ view_snap_to_guides_cmd_callback (GtkWidget *widget, ...@@ -603,6 +603,26 @@ view_snap_to_guides_cmd_callback (GtkWidget *widget,
gdisp->snap_to_guides = GTK_CHECK_MENU_ITEM (widget)->active; gdisp->snap_to_guides = GTK_CHECK_MENU_ITEM (widget)->active;
} }
void
view_toggle_statusbar_cmd_callback (GtkWidget *widget,
gpointer client_data)
{
GDisplay * gdisp;
gdisp = gdisplay_active ();
if (!GTK_CHECK_MENU_ITEM (widget)->active)
{
if (GTK_WIDGET_VISIBLE (gdisp->statusarea))
gtk_widget_hide (gdisp->statusarea);
}
else
{
if (!GTK_WIDGET_VISIBLE (gdisp->statusarea))
gtk_widget_show (gdisp->statusarea);
}
}
void void
view_new_view_cmd_callback (GtkWidget *widget, view_new_view_cmd_callback (GtkWidget *widget,
gpointer client_data) gpointer client_data)
......
...@@ -51,6 +51,7 @@ void view_zoom_1_16_callback (GtkWidget *, gpointer); ...@@ -51,6 +51,7 @@ void view_zoom_1_16_callback (GtkWidget *, gpointer);
void view_window_info_cmd_callback (GtkWidget *, gpointer); void view_window_info_cmd_callback (GtkWidget *, gpointer);
void view_toggle_rulers_cmd_callback (GtkWidget *, gpointer); void view_toggle_rulers_cmd_callback (GtkWidget *, gpointer);
void view_toggle_guides_cmd_callback (GtkWidget *, gpointer); void view_toggle_guides_cmd_callback (GtkWidget *, gpointer);
void view_toggle_statusbar_cmd_callback (GtkWidget *, gpointer);
void view_snap_to_guides_cmd_callback (GtkWidget *, gpointer); void view_snap_to_guides_cmd_callback (GtkWidget *, gpointer);
void view_new_view_cmd_callback (GtkWidget *, gpointer); void view_new_view_cmd_callback (GtkWidget *, gpointer);
void view_shrink_wrap_cmd_callback (GtkWidget *, gpointer); void view_shrink_wrap_cmd_callback (GtkWidget *, gpointer);
......
...@@ -1141,6 +1141,7 @@ gdisplay_set_menu_sensitivity (GDisplay *gdisp) ...@@ -1141,6 +1141,7 @@ gdisplay_set_menu_sensitivity (GDisplay *gdisp)
menus_set_state ("<Image>/View/Toggle Rulers", GTK_WIDGET_VISIBLE (gdisp->origin) ? 1 : 0); menus_set_state ("<Image>/View/Toggle Rulers", GTK_WIDGET_VISIBLE (gdisp->origin) ? 1 : 0);
menus_set_state ("<Image>/View/Toggle Guides", gdisp->draw_guides); menus_set_state ("<Image>/View/Toggle Guides", gdisp->draw_guides);
menus_set_state ("<Image>/View/Snap To Guides", gdisp->snap_to_guides); menus_set_state ("<Image>/View/Snap To Guides", gdisp->snap_to_guides);
menus_set_state ("<Image>/View/Toggle Statusbar", GTK_WIDGET_VISIBLE (gdisp->statusarea) ? 1 : 0);
plug_in_set_menu_sensitivity (type); plug_in_set_menu_sensitivity (type);
} }
......
...@@ -58,6 +58,7 @@ struct _GDisplay ...@@ -58,6 +58,7 @@ struct _GDisplay
GtkWidget *hrule, *vrule; /* widgets for rulers */ GtkWidget *hrule, *vrule; /* widgets for rulers */
GtkWidget *origin; /* widgets for rulers */ GtkWidget *origin; /* widgets for rulers */
GtkWidget *popup; /* widget for popup menu */ GtkWidget *popup; /* widget for popup menu */
GtkWidget *statusarea; /* hbox holding the statusbar and stuff */
GtkWidget *statusbar; /* widget for statusbar */ GtkWidget *statusbar; /* widget for statusbar */
GtkWidget *progressbar; /* widget for progressbar */ GtkWidget *progressbar; /* widget for progressbar */
GtkWidget *cursor_label; /* widget for cursor position */ GtkWidget *cursor_label; /* widget for cursor position */
......
...@@ -82,6 +82,8 @@ static int old_auto_save; ...@@ -82,6 +82,8 @@ static int old_auto_save;
static int old_preview_size; static int old_preview_size;
static int old_no_cursor_updating; static int old_no_cursor_updating;
static int old_show_tool_tips; static int old_show_tool_tips;
static int old_show_rulers;
static int old_show_statusbar;
static int old_cubic_interpolation; static int old_cubic_interpolation;
static int old_confirm_on_close; static int old_confirm_on_close;
static int old_save_session_info; static int old_save_session_info;
...@@ -296,6 +298,16 @@ file_prefs_save_callback (GtkWidget *widget, ...@@ -296,6 +298,16 @@ file_prefs_save_callback (GtkWidget *widget,
update = g_list_append (update, "show-tool-tips"); update = g_list_append (update, "show-tool-tips");
remove = g_list_append (remove, "dont-show-tool-tips"); remove = g_list_append (remove, "dont-show-tool-tips");
} }
if (show_rulers != old_show_rulers)
{
update = g_list_append (update, "show-rulers");
remove = g_list_append (remove, "dont-show-rulers");
}
if (show_statusbar != old_show_statusbar)
{
update = g_list_append (update, "show-statusbar");
remove = g_list_append (remove, "dont-show-statusbar");
}
if (cubic_interpolation != old_cubic_interpolation) if (cubic_interpolation != old_cubic_interpolation)
update = g_list_append (update, "cubic-interpolation"); update = g_list_append (update, "cubic-interpolation");
if (confirm_on_close != old_confirm_on_close) if (confirm_on_close != old_confirm_on_close)
...@@ -443,6 +455,8 @@ file_prefs_cancel_callback (GtkWidget *widget, ...@@ -443,6 +455,8 @@ file_prefs_cancel_callback (GtkWidget *widget,
no_cursor_updating = old_no_cursor_updating; no_cursor_updating = old_no_cursor_updating;
perfectmouse = old_perfectmouse; perfectmouse = old_perfectmouse;
show_tool_tips = old_show_tool_tips; show_tool_tips = old_show_tool_tips;
show_rulers = old_show_rulers;
show_statusbar = old_show_statusbar;
cubic_interpolation = old_cubic_interpolation; cubic_interpolation = old_cubic_interpolation;
confirm_on_close = old_confirm_on_close; confirm_on_close = old_confirm_on_close;
save_session_info = old_save_session_info; save_session_info = old_save_session_info;
...@@ -499,6 +513,10 @@ file_prefs_toggle_callback (GtkWidget *widget, ...@@ -499,6 +513,10 @@ file_prefs_toggle_callback (GtkWidget *widget,
perfectmouse = GTK_TOGGLE_BUTTON (widget)->active; perfectmouse = GTK_TOGGLE_BUTTON (widget)->active;
else if (data == &show_tool_tips) else if (data == &show_tool_tips)
show_tool_tips = GTK_TOGGLE_BUTTON (widget)->active; show_tool_tips = GTK_TOGGLE_BUTTON (widget)->active;
else if (data == &show_rulers)
show_rulers = GTK_TOGGLE_BUTTON (widget)->active;
else if (data == &show_statusbar)
show_statusbar = GTK_TOGGLE_BUTTON (widget)->active;
else if (data == &cubic_interpolation) else if (data == &cubic_interpolation)
cubic_interpolation = GTK_TOGGLE_BUTTON (widget)->active; cubic_interpolation = GTK_TOGGLE_BUTTON (widget)->active;
else if (data == &confirm_on_close) else if (data == &confirm_on_close)
...@@ -713,6 +731,8 @@ file_pref_cmd_callback (GtkWidget *widget, ...@@ -713,6 +731,8 @@ file_pref_cmd_callback (GtkWidget *widget,
old_preview_size = preview_size; old_preview_size = preview_size;
old_no_cursor_updating = no_cursor_updating; old_no_cursor_updating = no_cursor_updating;
old_show_tool_tips = show_tool_tips; old_show_tool_tips = show_tool_tips;
old_show_rulers = show_rulers;
old_show_statusbar = show_statusbar;
old_cubic_interpolation = cubic_interpolation; old_cubic_interpolation = cubic_interpolation;
old_confirm_on_close = confirm_on_close; old_confirm_on_close = confirm_on_close;
old_save_session_info = save_session_info; old_save_session_info = save_session_info;
...@@ -1030,6 +1050,24 @@ file_pref_cmd_callback (GtkWidget *widget, ...@@ -1030,6 +1050,24 @@ file_pref_cmd_callback (GtkWidget *widget,
&show_tool_tips); &show_tool_tips);
gtk_widget_show (button); gtk_widget_show (button);
button = gtk_check_button_new_with_label("Show rulers");
gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (button),
show_rulers);
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
gtk_signal_connect (GTK_OBJECT (button), "toggled",
(GtkSignalFunc) file_prefs_toggle_callback,
&show_rulers);
gtk_widget_show (button);
button = gtk_check_button_new_with_label("Show statusbar");
gtk_toggle_button_set_state (GTK_TOGGLE_BUTTON (button),
show_statusbar);
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0);
gtk_signal_connect (GTK_OBJECT (button), "toggled",
(GtkSignalFunc) file_prefs_toggle_callback,
&show_statusbar);
gtk_widget_show (button);
hbox = gtk_hbox_new (FALSE, 2); hbox = gtk_hbox_new (FALSE, 2);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
gtk_widget_show (hbox); gtk_widget_show (hbox);
......
...@@ -1141,6 +1141,7 @@ gdisplay_set_menu_sensitivity (GDisplay *gdisp) ...@@ -1141,6 +1141,7 @@ gdisplay_set_menu_sensitivity (GDisplay *gdisp)
menus_set_state ("<Image>/View/Toggle Rulers", GTK_WIDGET_VISIBLE (gdisp->origin) ? 1 : 0); menus_set_state ("<Image>/View/Toggle Rulers", GTK_WIDGET_VISIBLE (gdisp->origin) ? 1 : 0);
menus_set_state ("<Image>/View/Toggle Guides", gdisp->draw_guides); menus_set_state ("<Image>/View/Toggle Guides", gdisp->draw_guides);
menus_set_state ("<Image>/View/Snap To Guides", gdisp->snap_to_guides); menus_set_state ("<Image>/View/Snap To Guides", gdisp->snap_to_guides);
menus_set_state ("<Image>/View/Toggle Statusbar", GTK_WIDGET_VISIBLE (gdisp->statusarea) ? 1 : 0);
plug_in_set_menu_sensitivity (type); plug_in_set_menu_sensitivity (type);
} }
......
...@@ -58,6 +58,7 @@ struct _GDisplay ...@@ -58,6 +58,7 @@ struct _GDisplay
GtkWidget *hrule, *vrule; /* widgets for rulers */ GtkWidget *hrule, *vrule; /* widgets for rulers */
GtkWidget *origin; /* widgets for rulers */ GtkWidget *origin; /* widgets for rulers */
GtkWidget *popup; /* widget for popup menu */ GtkWidget *popup; /* widget for popup menu */
GtkWidget *statusarea; /* hbox holding the statusbar and stuff */
GtkWidget *statusbar; /* widget for statusbar */ GtkWidget *statusbar; /* widget for statusbar */
GtkWidget *progressbar; /* widget for progressbar */ GtkWidget *progressbar; /* widget for progressbar */
GtkWidget *cursor_label; /* widget for cursor position */ GtkWidget *cursor_label; /* widget for cursor position */
......
...@@ -553,7 +553,6 @@ create_display_shell (GDisplay* gdisp, ...@@ -553,7 +553,6 @@ create_display_shell (GDisplay* gdisp,
GtkWidget *vbox; GtkWidget *vbox;
GtkWidget *table; GtkWidget *table;
GtkWidget *table_inner; GtkWidget *table_inner;
GtkWidget *hbox;
GtkWidget *frame; GtkWidget *frame;
GtkWidget *arrow; GtkWidget *arrow;
int n_width, n_height; int n_width, n_height;
...@@ -627,8 +626,8 @@ create_display_shell (GDisplay* gdisp, ...@@ -627,8 +626,8 @@ create_display_shell (GDisplay* gdisp,
/* hbox for statusbar area */ /* hbox for statusbar area */
hbox = gtk_hbox_new(0,2); gdisp->statusarea = gtk_hbox_new(0,2);
gtk_box_pack_start(GTK_BOX (vbox), hbox, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX (vbox), gdisp->statusarea, FALSE, TRUE, 0);
/* scrollbars, rulers, canvas, menu popup button */ /* scrollbars, rulers, canvas, menu popup button */
gdisp->origin = gtk_button_new (); gdisp->origin = gtk_button_new ();
...@@ -702,36 +701,37 @@ create_display_shell (GDisplay* gdisp, ...@@ -702,36 +701,37 @@ create_display_shell (GDisplay* gdisp,
if (! image_popup_menu) if (! image_popup_menu)
menus_get_image_menu (&image_popup_menu, &image_accel_group); menus_get_image_menu (&image_popup_menu, &image_accel_group);
gtk_container_set_resize_mode(GTK_CONTAINER(hbox), GTK_RESIZE_QUEUE); gtk_container_set_resize_mode (GTK_CONTAINER (gdisp->statusarea),
GTK_RESIZE_QUEUE);
/* cursor, statusbar, progressbar */ /* cursor, statusbar, progressbar */
frame = gtk_frame_new(NULL); frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (hbox), frame, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (gdisp->statusarea), frame, FALSE, TRUE, 0);
gdisp->cursor_label = gtk_label_new(" 0000, 0000 "); gdisp->cursor_label = gtk_label_new (" 0000, 0000 ");
/* This usize should be more intelligent and get the information /* This usize should be more intelligent and get the information
* size of the above string or some similar method */ * size of the above string or some similar method */
gtk_widget_set_usize(gdisp->cursor_label, 50, -1); gtk_widget_set_usize (gdisp->cursor_label, 50, -1);
gtk_container_add(GTK_CONTAINER (frame), gdisp->cursor_label); gtk_container_add (GTK_CONTAINER (frame), gdisp->cursor_label);
gdisp->statusbar = gtk_statusbar_new(); gdisp->statusbar = gtk_statusbar_new ();
gtk_widget_set_usize(gdisp->statusbar, 1, -1); gtk_widget_set_usize (gdisp->statusbar, 1, -1);
gtk_container_set_resize_mode (GTK_CONTAINER (gdisp->statusbar), gtk_container_set_resize_mode (GTK_CONTAINER (gdisp->statusbar),
GTK_RESIZE_QUEUE); GTK_RESIZE_QUEUE);
gtk_box_pack_start (GTK_BOX (hbox), gdisp->statusbar, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (gdisp->statusarea), gdisp->statusbar, TRUE, TRUE, 0);
contextid = gtk_statusbar_get_context_id (GTK_STATUSBAR (gdisp->statusbar), contextid = gtk_statusbar_get_context_id (GTK_STATUSBAR (gdisp->statusbar),
"title"); "title");
gtk_statusbar_push(GTK_STATUSBAR (gdisp->statusbar), gtk_statusbar_push (GTK_STATUSBAR (gdisp->statusbar),
contextid, contextid,
title); title);
gdisp->progressbar = gtk_progress_bar_new(); gdisp->progressbar = gtk_progress_bar_new();
gtk_widget_set_usize(gdisp->progressbar, 80, -1); gtk_widget_set_usize (gdisp->progressbar, 80, -1);
gtk_box_pack_start (GTK_BOX (hbox), gdisp->progressbar, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (gdisp->statusarea), gdisp->progressbar, FALSE, TRUE, 0);
gdisp->cancelbutton = gtk_button_new_with_label("Cancel"); gdisp->cancelbutton = gtk_button_new_with_label("Cancel");
gtk_box_pack_start (GTK_BOX (hbox), gdisp->cancelbutton, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (gdisp->statusarea), gdisp->cancelbutton, FALSE, TRUE, 0);
gtk_widget_set_sensitive (gdisp->cancelbutton, FALSE); gtk_widget_set_sensitive (gdisp->cancelbutton, FALSE);
/* the popup menu */ /* the popup menu */
...@@ -743,9 +743,12 @@ create_display_shell (GDisplay* gdisp, ...@@ -743,9 +743,12 @@ create_display_shell (GDisplay* gdisp,
gtk_widget_show (arrow); gtk_widget_show (arrow);
gtk_widget_show (gdisp->hsb); gtk_widget_show (gdisp->hsb);
gtk_widget_show (gdisp->vsb); gtk_widget_show (gdisp->vsb);
gtk_widget_show (gdisp->origin); if (show_rulers)
gtk_widget_show (gdisp->hrule); {
gtk_widget_show (gdisp->vrule); gtk_widget_show (gdisp->origin);
gtk_widget_show (gdisp->hrule);
gtk_widget_show (gdisp->vrule);
}
gtk_widget_show (gdisp->canvas); gtk_widget_show (gdisp->canvas);
gtk_widget_show (frame); gtk_widget_show (frame);
gtk_widget_show (gdisp->cursor_label); gtk_widget_show (gdisp->cursor_label);
...@@ -754,7 +757,10 @@ create_display_shell (GDisplay* gdisp, ...@@ -754,7 +757,10 @@ create_display_shell (GDisplay* gdisp,
gtk_widget_show (gdisp->cancelbutton); gtk_widget_show (gdisp->cancelbutton);
gtk_widget_show (table_inner); gtk_widget_show (table_inner);
gtk_widget_show (table); gtk_widget_show (table);
gtk_widget_show (hbox); if (show_statusbar)
{
gtk_widget_show (gdisp->statusarea);
}
gtk_widget_show (vbox); gtk_widget_show (vbox);
gtk_widget_show (gdisp->shell); gtk_widget_show (gdisp->shell);
......
...@@ -553,7 +553,6 @@ create_display_shell (GDisplay* gdisp, ...@@ -553,7 +553,6 @@ create_display_shell (GDisplay* gdisp,
GtkWidget *vbox; GtkWidget *vbox;
GtkWidget *table; GtkWidget *table;
GtkWidget *table_inner; GtkWidget *table_inner;
GtkWidget *hbox;
GtkWidget *frame; GtkWidget *frame;
GtkWidget *arrow; GtkWidget *arrow;
int n_width, n_height; int n_width, n_height;
...@@ -627,8 +626,8 @@ create_display_shell (GDisplay* gdisp, ...@@ -627,8 +626,8 @@ create_display_shell (GDisplay* gdisp,
/* hbox for statusbar area */ /* hbox for statusbar area */
hbox = gtk_hbox_new(0,2); gdisp->statusarea = gtk_hbox_new(0,2);
gtk_box_pack_start(GTK_BOX (vbox), hbox, FALSE, TRUE, 0); gtk_box_pack_start(GTK_BOX (vbox), gdisp->statusarea, FALSE, TRUE, 0);
/* scrollbars, rulers, canvas, menu popup button */ /* scrollbars, rulers, canvas, menu popup button */
gdisp->origin = gtk_button_new (); gdisp->origin = gtk_button_new ();
...@@ -702,36 +701,37 @@ create_display_shell (GDisplay* gdisp, ...@@ -702,36 +701,37 @@ create_display_shell (GDisplay* gdisp,
if (! image_popup_menu) if (! image_popup_menu)
menus_get_image_menu (&image_popup_menu, &image_accel_group); menus_get_image_menu (&image_popup_menu, &image_accel_group);
gtk_container_set_resize_mode(GTK_CONTAINER(hbox), GTK_RESIZE_QUEUE); gtk_container_set_resize_mode (GTK_CONTAINER (gdisp->statusarea),
GTK_RESIZE_QUEUE);
/* cursor, statusbar, progressbar */ /* cursor, statusbar, progressbar */
frame = gtk_frame_new(NULL); frame = gtk_frame_new (NULL);
gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_IN); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_IN);
gtk_box_pack_start (GTK_BOX (hbox), frame, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (gdisp->statusarea), frame, FALSE, TRUE, 0);
gdisp->cursor_label = gtk_label_new(" 0000, 0000 "); gdisp->cursor_label = gtk_label_new (" 0000, 0000 ");
/* This usize should be more intelligent and get the information /* This usize should be more intelligent and get the information
* size of the above string or some similar method */ * size of the above string or some similar method */
gtk_widget_set_usize(gdisp->cursor_label, 50, -1); gtk_widget_set_usize (gdisp->cursor_label, 50, -1);
gtk_container_add(GTK_CONTAINER (frame), gdisp->cursor_label); gtk_container_add (GTK_CONTAINER (frame), gdisp->cursor_label);
gdisp->statusbar = gtk_statusbar_new(); gdisp->statusbar = gtk_statusbar_new ();
gtk_widget_set_usize(gdisp->statusbar, 1, -1); gtk_widget_set_usize (gdisp->statusbar, 1, -1);
gtk_container_set_resize_mode (GTK_CONTAINER (gdisp->statusbar), gtk_container_set_resize_mode (GTK_CONTAINER (gdisp->statusbar),
GTK_RESIZE_QUEUE); GTK_RESIZE_QUEUE);
gtk_box_pack_start (GTK_BOX (hbox), gdisp->statusbar, TRUE, TRUE, 0); gtk_box_pack_start (GTK_BOX (gdisp->statusarea), gdisp->statusbar, TRUE, TRUE, 0);
contextid = gtk_statusbar_get_context_id (GTK_STATUSBAR (gdisp->statusbar), contextid = gtk_statusbar_get_context_id (GTK_STATUSBAR (gdisp->statusbar),
"title"); "title");
gtk_statusbar_push(GTK_STATUSBAR (gdisp->statusbar), gtk_statusbar_push (GTK_STATUSBAR (gdisp->statusbar),
contextid, contextid,
title); title);
gdisp->progressbar = gtk_progress_bar_new(); gdisp->progressbar = gtk_progress_bar_new();
gtk_widget_set_usize(gdisp->progressbar, 80, -1); gtk_widget_set_usize (gdisp->progressbar, 80, -1);
gtk_box_pack_start (GTK_BOX (hbox), gdisp->progressbar, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (gdisp->statusarea), gdisp->progressbar, FALSE, TRUE, 0);
gdisp->cancelbutton = gtk_button_new_with_label("Cancel"); gdisp->cancelbutton = gtk_button_new_with_label("Cancel");
gtk_box_pack_start (GTK_BOX (hbox), gdisp->cancelbutton, FALSE, TRUE, 0); gtk_box_pack_start (GTK_BOX (gdisp->statusarea), gdisp->cancelbutton, FALSE, TRUE, 0);
gtk_widget_set_sensitive (gdisp->cancelbutton, FALSE); gtk_widget_set_sensitive (gdisp->cancelbutton, FALSE);
/* the popup menu */ /* the popup menu */
...@@ -743,9 +743,12 @@ create_display_shell (GDisplay* gdisp, ...@@ -743,9 +743,12 @@ create_display_shell (GDisplay* gdisp,
gtk_widget_show (arrow); gtk_widget_show (arrow);
gtk_widget_show (gdisp->hsb); gtk_widget_show (gdisp->hsb);
gtk_widget_show (gdisp->vsb); gtk_widget_show (gdisp->vsb);
gtk_widget_show (gdisp->origin); if (show_rulers)
gtk_widget_show (gdisp->hrule); {
gtk_widget_show (gdisp->vrule); gtk_widget_show (gdisp->origin);
gtk_widget_show (gdisp->hrule);
gtk_widget_show (gdisp->vrule);
}
gtk_widget_show (gdisp->canvas); gtk_widget_show (gdisp->canvas);
gtk_widget_show (frame); gtk_widget_show (frame);
gtk_widget_show (gdisp->cursor_label); gtk_widget_show (gdisp->cursor_label);
...@@ -754,7 +757,10 @@ create_display_shell (GDisplay* gdisp, ...@@ -754,7 +757,10 @@ create_display_shell (GDisplay* gdisp,
gtk_widget_show (gdisp->cancelbutton); gtk_widget_show (gdisp->cancelbutton);
gtk_widget_show (table_inner); gtk_widget_show (table_inner);
gtk_widget_show (table); gtk_widget_show (table);
gtk_widget_show (hbox); if (show_statusbar)
{
gtk_widget_show (gdisp->statusarea);
}
gtk_widget_show (vbox); gtk_widget_show (vbox);
gtk_widget_show (gdisp->shell); gtk_widget_show (gdisp->shell);
......
...@@ -1141,6 +1141,7 @@ gdisplay_set_menu_sensitivity (GDisplay *gdisp) ...@@ -1141,6 +1141,7 @@ gdisplay_set_menu_sensitivity (GDisplay *gdisp)
menus_set_state ("<Image>/View/Toggle Rulers", GTK_WIDGET_VISIBLE (gdisp->origin) ? 1 : 0); menus_set_state ("<Image>/View/Toggle Rulers", GTK_WIDGET_VISIBLE (gdisp->origin) ? 1 : 0);
menus_set_state ("<Image>/View/Toggle Guides", gdisp->draw_guides); menus_set_state ("<Image>/View/Toggle Guides", gdisp->draw_guides);
menus_set_state ("<Image>/View/Snap To Guides", gdisp->snap_to_guides); menus_set_state ("<Image>/View/Snap To Guides", gdisp->snap_to_guides);
menus_set_state ("<Image>/View/Toggle Statusbar", GTK_WIDGET_VISIBLE (gdisp->statusarea) ? 1 : 0);
plug_in_set_menu_sensitivity (type); plug_in_set_menu_sensitivity (type);
} }
......
...@@ -58,6 +58,7 @@ struct _GDisplay ...@@ -58,6 +58,7 @@ struct _GDisplay
GtkWidget *hrule, *vrule; /* widgets for rulers */ GtkWidget *hrule, *vrule; /* widgets for rulers */
GtkWidget *origin; /* widgets for rulers */ GtkWidget *origin; /* widgets for rulers */
GtkWidget *popup; /* widget for popup menu */ GtkWidget *popup; /* widget for popup menu */
GtkWidget *statusarea; /* hbox holding the statusbar and stuff */
GtkWidget *statusbar; /* widget for statusbar */ GtkWidget *statusbar; /* widget for statusbar */
GtkWidget *progressbar; /* widget for progressbar */ GtkWidget *progressbar; /* widget for progressbar */
GtkWidget *cursor_label; /* widget for cursor position */ GtkWidget *cursor_label; /* widget for cursor position */
......
...@@ -107,6 +107,7 @@ int allow_resize_windows = 0; ...@@ -107,6 +107,7 @@ int allow_resize_windows = 0;
int no_cursor_updating = 0;