mirror of https://github.com/GNOME/gimp.git
Changed "Zoom to Fit Window" command to "Fit Image in Window" and added
2004-06-20 Philip Lafleur <plafleur@cvs.gnome.org> * app/display/gimpdisplayshell-scale.[ch]: * app/display/gimpnavigationview.[ch]: * app/actions/view-actions.c: * app/actions/view-commands.[ch]: * app/widgets/gimphelp-ids.h: * menus/image-menu.xml.in: Changed "Zoom to Fit Window" command to "Fit Image in Window" and added another command, "Fit Image to Window", that zooms according to the opposite dimension. Fixes bug #144597.
This commit is contained in:
parent
3bc62470fe
commit
c7364a64aa
12
ChangeLog
12
ChangeLog
|
@ -1,3 +1,15 @@
|
|||
2004-06-20 Philip Lafleur <plafleur@cvs.gnome.org>
|
||||
|
||||
* app/display/gimpdisplayshell-scale.[ch]:
|
||||
* app/display/gimpnavigationview.[ch]:
|
||||
* app/actions/view-actions.c:
|
||||
* app/actions/view-commands.[ch]:
|
||||
* app/widgets/gimphelp-ids.h:
|
||||
* menus/image-menu.xml.in: Changed "Zoom to Fit Window" command
|
||||
to "Fit Image in Window" and added another command, "Fit Image
|
||||
to Window", that zooms according to the opposite dimension. Fixes
|
||||
bug #144597.
|
||||
|
||||
2004-06-19 Michael Schumacher <schumaml@cvs.gnome.org>
|
||||
|
||||
* libgimpwidgets/gimpwidgets.def: added missing
|
||||
|
|
|
@ -76,10 +76,15 @@ static GimpActionEntry view_actions[] =
|
|||
G_CALLBACK (view_zoom_in_cmd_callback),
|
||||
GIMP_HELP_VIEW_ZOOM_IN },
|
||||
|
||||
{ "view-zoom-fit", GTK_STOCK_ZOOM_FIT,
|
||||
N_("Zoom to _Fit Window"), "<control><shift>E", NULL,
|
||||
G_CALLBACK (view_zoom_fit_cmd_callback),
|
||||
GIMP_HELP_VIEW_ZOOM_FIT },
|
||||
{ "view-zoom-fit-in", GTK_STOCK_ZOOM_FIT,
|
||||
N_("_Fit Image in Window"), "<control><shift>E", NULL,
|
||||
G_CALLBACK (view_zoom_fit_in_cmd_callback),
|
||||
GIMP_HELP_VIEW_ZOOM_FIT_IN },
|
||||
|
||||
{ "view-zoom-fit-to", GTK_STOCK_ZOOM_FIT,
|
||||
N_("Fit Image to Window"), NULL, NULL,
|
||||
G_CALLBACK (view_zoom_fit_to_cmd_callback),
|
||||
GIMP_HELP_VIEW_ZOOM_FIT_TO },
|
||||
|
||||
{ "view-info-window", GIMP_STOCK_INFO,
|
||||
N_("_Info Window"), "<control><shift>I", NULL,
|
||||
|
@ -316,7 +321,8 @@ view_actions_update (GimpActionGroup *group,
|
|||
|
||||
SET_SENSITIVE ("view-zoom-out", gdisp);
|
||||
SET_SENSITIVE ("view-zoom-in", gdisp);
|
||||
SET_SENSITIVE ("view-zoom-fit", gdisp);
|
||||
SET_SENSITIVE ("view-zoom-fit-in", gdisp);
|
||||
SET_SENSITIVE ("view-zoom-fit-to", gdisp);
|
||||
|
||||
SET_SENSITIVE ("view-zoom-16-1", gdisp);
|
||||
SET_SENSITIVE ("view-zoom-8-1", gdisp);
|
||||
|
|
|
@ -110,13 +110,23 @@ view_zoom_in_cmd_callback (GtkAction *action,
|
|||
}
|
||||
|
||||
void
|
||||
view_zoom_fit_cmd_callback (GtkAction *action,
|
||||
view_zoom_fit_in_cmd_callback (GtkAction *action,
|
||||
gpointer data)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
return_if_no_display (gdisp, data);
|
||||
|
||||
gimp_display_shell_scale_fit (GIMP_DISPLAY_SHELL (gdisp->shell));
|
||||
gimp_display_shell_scale_fit_in (GIMP_DISPLAY_SHELL (gdisp->shell));
|
||||
}
|
||||
|
||||
void
|
||||
view_zoom_fit_to_cmd_callback (GtkAction *action,
|
||||
gpointer data)
|
||||
{
|
||||
GimpDisplay *gdisp;
|
||||
return_if_no_display (gdisp, data);
|
||||
|
||||
gimp_display_shell_scale_fit_to (GIMP_DISPLAY_SHELL (gdisp->shell));
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -29,7 +29,9 @@ void view_zoom_out_cmd_callback (GtkAction *action,
|
|||
gpointer data);
|
||||
void view_zoom_in_cmd_callback (GtkAction *action,
|
||||
gpointer data);
|
||||
void view_zoom_fit_cmd_callback (GtkAction *action,
|
||||
void view_zoom_fit_in_cmd_callback (GtkAction *action,
|
||||
gpointer data);
|
||||
void view_zoom_fit_to_cmd_callback (GtkAction *action,
|
||||
gpointer data);
|
||||
void view_zoom_cmd_callback (GtkAction *action,
|
||||
GtkAction *current,
|
||||
|
|
|
@ -390,7 +390,7 @@ gimp_display_shell_scale (GimpDisplayShell *shell,
|
|||
}
|
||||
|
||||
void
|
||||
gimp_display_shell_scale_fit (GimpDisplayShell *shell)
|
||||
gimp_display_shell_scale_fit_in (GimpDisplayShell *shell)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
gint image_width;
|
||||
|
@ -409,7 +409,7 @@ gimp_display_shell_scale_fit (GimpDisplayShell *shell)
|
|||
image_width = ROUND (image_width *
|
||||
shell->monitor_xres / gimage->xresolution);
|
||||
image_height = ROUND (image_height *
|
||||
shell->monitor_xres / gimage->yresolution);
|
||||
shell->monitor_yres / gimage->yresolution);
|
||||
}
|
||||
|
||||
zoom_factor = MIN ((gdouble) shell->disp_width / (gdouble) image_width,
|
||||
|
@ -418,6 +418,35 @@ gimp_display_shell_scale_fit (GimpDisplayShell *shell)
|
|||
gimp_display_shell_scale (shell, GIMP_ZOOM_TO, zoom_factor);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_display_shell_scale_fit_to (GimpDisplayShell *shell)
|
||||
{
|
||||
GimpImage *gimage;
|
||||
gint image_width;
|
||||
gint image_height;
|
||||
gdouble zoom_factor;
|
||||
|
||||
g_return_if_fail (GIMP_IS_DISPLAY_SHELL (shell));
|
||||
|
||||
gimage = shell->gdisp->gimage;
|
||||
|
||||
image_width = gimage->width;
|
||||
image_height = gimage->height;
|
||||
|
||||
if (! shell->dot_for_dot)
|
||||
{
|
||||
image_width = ROUND (image_width *
|
||||
shell->monitor_xres / gimage->xresolution);
|
||||
image_height = ROUND (image_height *
|
||||
shell->monitor_yres / gimage->yresolution);
|
||||
}
|
||||
|
||||
zoom_factor = MAX ((gdouble) shell->disp_width / (gdouble) image_width,
|
||||
(gdouble) shell->disp_height / (gdouble) image_height);
|
||||
|
||||
gimp_display_shell_scale (shell, GIMP_ZOOM_TO, zoom_factor);
|
||||
}
|
||||
|
||||
void
|
||||
gimp_display_shell_scale_by_values (GimpDisplayShell *shell,
|
||||
gdouble scale,
|
||||
|
|
|
@ -34,7 +34,8 @@ void gimp_display_shell_scale_set_dot_for_dot (GimpDisplayShell *gdisp,
|
|||
void gimp_display_shell_scale (GimpDisplayShell *gdisp,
|
||||
GimpZoomType zoom_type,
|
||||
gdouble new_scale);
|
||||
void gimp_display_shell_scale_fit (GimpDisplayShell *gdisp);
|
||||
void gimp_display_shell_scale_fit_in (GimpDisplayShell *shell);
|
||||
void gimp_display_shell_scale_fit_to (GimpDisplayShell *shell);
|
||||
void gimp_display_shell_scale_by_values (GimpDisplayShell *gdisp,
|
||||
gdouble scale,
|
||||
gint offset_x,
|
||||
|
|
|
@ -89,7 +89,9 @@ static void gimp_navigation_view_zoom_in_clicked (GtkWidget *widget,
|
|||
GimpNavigationView *view);
|
||||
static void gimp_navigation_view_zoom_100_clicked (GtkWidget *widget,
|
||||
GimpNavigationView *view);
|
||||
static void gimp_navigation_view_zoom_fit_clicked (GtkWidget *widget,
|
||||
static void gimp_navigation_view_zoom_fit_in_clicked (GtkWidget *widget,
|
||||
GimpNavigationView *view);
|
||||
static void gimp_navigation_view_zoom_fit_to_clicked (GtkWidget *widget,
|
||||
GimpNavigationView *view);
|
||||
static void gimp_navigation_view_shrink_clicked (GtkWidget *widget,
|
||||
GimpNavigationView *view);
|
||||
|
@ -468,11 +470,19 @@ gimp_navigation_view_new_private (GimpDisplayShell *shell,
|
|||
NULL,
|
||||
view);
|
||||
|
||||
view->zoom_fit_button =
|
||||
view->zoom_fit_in_button =
|
||||
gimp_editor_add_button (GIMP_EDITOR (view),
|
||||
GTK_STOCK_ZOOM_FIT, _("Zoom to fit window"),
|
||||
GIMP_HELP_VIEW_ZOOM_FIT,
|
||||
G_CALLBACK (gimp_navigation_view_zoom_fit_clicked),
|
||||
GTK_STOCK_ZOOM_FIT, _("Fit Image in Window"),
|
||||
GIMP_HELP_VIEW_ZOOM_FIT_IN,
|
||||
G_CALLBACK (gimp_navigation_view_zoom_fit_in_clicked),
|
||||
NULL,
|
||||
view);
|
||||
|
||||
view->zoom_fit_to_button =
|
||||
gimp_editor_add_button (GIMP_EDITOR (view),
|
||||
GTK_STOCK_ZOOM_FIT, _("Fit Image to Window"),
|
||||
GIMP_HELP_VIEW_ZOOM_FIT_TO,
|
||||
G_CALLBACK (gimp_navigation_view_zoom_fit_to_clicked),
|
||||
NULL,
|
||||
view);
|
||||
|
||||
|
@ -654,11 +664,19 @@ gimp_navigation_view_zoom_100_clicked (GtkWidget *widget,
|
|||
}
|
||||
|
||||
static void
|
||||
gimp_navigation_view_zoom_fit_clicked (GtkWidget *widget,
|
||||
gimp_navigation_view_zoom_fit_in_clicked (GtkWidget *widget,
|
||||
GimpNavigationView *view)
|
||||
{
|
||||
if (view->shell)
|
||||
gimp_display_shell_scale_fit (view->shell);
|
||||
gimp_display_shell_scale_fit_in (view->shell);
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_navigation_view_zoom_fit_to_clicked (GtkWidget *widget,
|
||||
GimpNavigationView *view)
|
||||
{
|
||||
if (view->shell)
|
||||
gimp_display_shell_scale_fit_to (view->shell);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -53,7 +53,8 @@ struct _GimpNavigationView
|
|||
GtkWidget *zoom_out_button;
|
||||
GtkWidget *zoom_in_button;
|
||||
GtkWidget *zoom_100_button;
|
||||
GtkWidget *zoom_fit_button;
|
||||
GtkWidget *zoom_fit_in_button;
|
||||
GtkWidget *zoom_fit_to_button;
|
||||
GtkWidget *shrink_wrap_button;
|
||||
};
|
||||
|
||||
|
|
|
@ -89,7 +89,9 @@ static void gimp_navigation_view_zoom_in_clicked (GtkWidget *widget,
|
|||
GimpNavigationView *view);
|
||||
static void gimp_navigation_view_zoom_100_clicked (GtkWidget *widget,
|
||||
GimpNavigationView *view);
|
||||
static void gimp_navigation_view_zoom_fit_clicked (GtkWidget *widget,
|
||||
static void gimp_navigation_view_zoom_fit_in_clicked (GtkWidget *widget,
|
||||
GimpNavigationView *view);
|
||||
static void gimp_navigation_view_zoom_fit_to_clicked (GtkWidget *widget,
|
||||
GimpNavigationView *view);
|
||||
static void gimp_navigation_view_shrink_clicked (GtkWidget *widget,
|
||||
GimpNavigationView *view);
|
||||
|
@ -468,11 +470,19 @@ gimp_navigation_view_new_private (GimpDisplayShell *shell,
|
|||
NULL,
|
||||
view);
|
||||
|
||||
view->zoom_fit_button =
|
||||
view->zoom_fit_in_button =
|
||||
gimp_editor_add_button (GIMP_EDITOR (view),
|
||||
GTK_STOCK_ZOOM_FIT, _("Zoom to fit window"),
|
||||
GIMP_HELP_VIEW_ZOOM_FIT,
|
||||
G_CALLBACK (gimp_navigation_view_zoom_fit_clicked),
|
||||
GTK_STOCK_ZOOM_FIT, _("Fit Image in Window"),
|
||||
GIMP_HELP_VIEW_ZOOM_FIT_IN,
|
||||
G_CALLBACK (gimp_navigation_view_zoom_fit_in_clicked),
|
||||
NULL,
|
||||
view);
|
||||
|
||||
view->zoom_fit_to_button =
|
||||
gimp_editor_add_button (GIMP_EDITOR (view),
|
||||
GTK_STOCK_ZOOM_FIT, _("Fit Image to Window"),
|
||||
GIMP_HELP_VIEW_ZOOM_FIT_TO,
|
||||
G_CALLBACK (gimp_navigation_view_zoom_fit_to_clicked),
|
||||
NULL,
|
||||
view);
|
||||
|
||||
|
@ -654,11 +664,19 @@ gimp_navigation_view_zoom_100_clicked (GtkWidget *widget,
|
|||
}
|
||||
|
||||
static void
|
||||
gimp_navigation_view_zoom_fit_clicked (GtkWidget *widget,
|
||||
gimp_navigation_view_zoom_fit_in_clicked (GtkWidget *widget,
|
||||
GimpNavigationView *view)
|
||||
{
|
||||
if (view->shell)
|
||||
gimp_display_shell_scale_fit (view->shell);
|
||||
gimp_display_shell_scale_fit_in (view->shell);
|
||||
}
|
||||
|
||||
static void
|
||||
gimp_navigation_view_zoom_fit_to_clicked (GtkWidget *widget,
|
||||
GimpNavigationView *view)
|
||||
{
|
||||
if (view->shell)
|
||||
gimp_display_shell_scale_fit_to (view->shell);
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
|
@ -53,7 +53,8 @@ struct _GimpNavigationView
|
|||
GtkWidget *zoom_out_button;
|
||||
GtkWidget *zoom_in_button;
|
||||
GtkWidget *zoom_100_button;
|
||||
GtkWidget *zoom_fit_button;
|
||||
GtkWidget *zoom_fit_in_button;
|
||||
GtkWidget *zoom_fit_to_button;
|
||||
GtkWidget *shrink_wrap_button;
|
||||
};
|
||||
|
||||
|
|
|
@ -77,7 +77,8 @@
|
|||
#define GIMP_HELP_VIEW_ZOOM_OUT "gimp-view-zoom-out"
|
||||
#define GIMP_HELP_VIEW_ZOOM_IN "gimp-view-zoom-in"
|
||||
#define GIMP_HELP_VIEW_ZOOM_100 "gimp-view-zoom-100"
|
||||
#define GIMP_HELP_VIEW_ZOOM_FIT "gimp-view-zoom-fit"
|
||||
#define GIMP_HELP_VIEW_ZOOM_FIT_IN "gimp-view-zoom-fit-in"
|
||||
#define GIMP_HELP_VIEW_ZOOM_FIT_TO "gimp-view-zoom-fit-to"
|
||||
#define GIMP_HELP_VIEW_ZOOM_OTHER "gimp-view-zoom-other"
|
||||
#define GIMP_HELP_VIEW_SHOW_SELECTION "gimp-view-show-selection"
|
||||
#define GIMP_HELP_VIEW_SHOW_LAYER_BOUNDARY "gimp-view-show-layer-boundary"
|
||||
|
|
|
@ -173,7 +173,8 @@
|
|||
<menu action="view-zoom-menu" name="Zoom">
|
||||
<menuitem action="view-zoom-out" />
|
||||
<menuitem action="view-zoom-in" />
|
||||
<menuitem action="view-zoom-fit" />
|
||||
<menuitem action="view-zoom-fit-in" />
|
||||
<menuitem action="view-zoom-fit-to" />
|
||||
<separator />
|
||||
<menuitem action="view-zoom-16-1" />
|
||||
<menuitem action="view-zoom-8-1" />
|
||||
|
|
Loading…
Reference in New Issue