app: behave as if "show all" is disabled in the navigation dockable when keeping padding
This commit is contained in:
@ -573,6 +573,8 @@ gimp_display_shell_set_padding_in_show_all (GimpDisplayShell *shell,
|
|||||||
gimp_display_shell_set_action_active (shell,
|
gimp_display_shell_set_action_active (shell,
|
||||||
"view-padding-color-in-show-all",
|
"view-padding-color-in-show-all",
|
||||||
keep);
|
keep);
|
||||||
|
|
||||||
|
g_object_notify (G_OBJECT (shell), "infinite-canvas");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ enum
|
|||||||
PROP_TITLE,
|
PROP_TITLE,
|
||||||
PROP_STATUS,
|
PROP_STATUS,
|
||||||
PROP_ICON,
|
PROP_ICON,
|
||||||
PROP_SHOW_ALL
|
PROP_INFINITE_CANVAS
|
||||||
};
|
};
|
||||||
|
|
||||||
enum
|
enum
|
||||||
@ -308,11 +308,11 @@ gimp_display_shell_class_init (GimpDisplayShellClass *klass)
|
|||||||
GDK_TYPE_PIXBUF,
|
GDK_TYPE_PIXBUF,
|
||||||
GIMP_PARAM_READWRITE));
|
GIMP_PARAM_READWRITE));
|
||||||
|
|
||||||
g_object_class_install_property (object_class, PROP_SHOW_ALL,
|
g_object_class_install_property (object_class, PROP_INFINITE_CANVAS,
|
||||||
g_param_spec_boolean ("show-all",
|
g_param_spec_boolean ("infinite-canvas",
|
||||||
NULL, NULL,
|
NULL, NULL,
|
||||||
FALSE,
|
FALSE,
|
||||||
GIMP_PARAM_READWRITE));
|
GIMP_PARAM_READABLE));
|
||||||
|
|
||||||
gtk_rc_parse_string (display_rc_style);
|
gtk_rc_parse_string (display_rc_style);
|
||||||
}
|
}
|
||||||
@ -926,9 +926,6 @@ gimp_display_shell_set_property (GObject *object,
|
|||||||
g_object_unref (shell->icon);
|
g_object_unref (shell->icon);
|
||||||
shell->icon = g_value_dup_object (value);
|
shell->icon = g_value_dup_object (value);
|
||||||
break;
|
break;
|
||||||
case PROP_SHOW_ALL:
|
|
||||||
gimp_display_shell_set_show_all (shell, g_value_get_boolean (value));
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
|
||||||
@ -970,8 +967,9 @@ gimp_display_shell_get_property (GObject *object,
|
|||||||
case PROP_ICON:
|
case PROP_ICON:
|
||||||
g_value_set_object (value, shell->icon);
|
g_value_set_object (value, shell->icon);
|
||||||
break;
|
break;
|
||||||
case PROP_SHOW_ALL:
|
case PROP_INFINITE_CANVAS:
|
||||||
g_value_set_boolean (value, shell->show_all);
|
g_value_set_boolean (value,
|
||||||
|
gimp_display_shell_get_infinite_canvas (shell));
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
@ -1850,7 +1848,7 @@ gimp_display_shell_set_show_all (GimpDisplayShell *shell,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
g_object_notify (G_OBJECT (shell), "show-all");
|
g_object_notify (G_OBJECT (shell), "infinite-canvas");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -59,57 +59,57 @@
|
|||||||
#define UPDATE_DELAY 300 /* From GtkRange in GTK+ 2.22 */
|
#define UPDATE_DELAY 300 /* From GtkRange in GTK+ 2.22 */
|
||||||
|
|
||||||
|
|
||||||
static void gimp_navigation_editor_docked_iface_init (GimpDockedInterface *iface);
|
static void gimp_navigation_editor_docked_iface_init (GimpDockedInterface *iface);
|
||||||
|
|
||||||
static void gimp_navigation_editor_dispose (GObject *object);
|
static void gimp_navigation_editor_dispose (GObject *object);
|
||||||
|
|
||||||
static void gimp_navigation_editor_set_context (GimpDocked *docked,
|
static void gimp_navigation_editor_set_context (GimpDocked *docked,
|
||||||
GimpContext *context);
|
GimpContext *context);
|
||||||
|
|
||||||
static GtkWidget * gimp_navigation_editor_new_private (GimpMenuFactory *menu_factory,
|
static GtkWidget * gimp_navigation_editor_new_private (GimpMenuFactory *menu_factory,
|
||||||
GimpDisplayShell *shell);
|
GimpDisplayShell *shell);
|
||||||
|
|
||||||
static void gimp_navigation_editor_set_shell (GimpNavigationEditor *editor,
|
static void gimp_navigation_editor_set_shell (GimpNavigationEditor *editor,
|
||||||
GimpDisplayShell *shell);
|
GimpDisplayShell *shell);
|
||||||
static gboolean gimp_navigation_editor_button_release (GtkWidget *widget,
|
static gboolean gimp_navigation_editor_button_release (GtkWidget *widget,
|
||||||
GdkEventButton *bevent,
|
GdkEventButton *bevent,
|
||||||
GimpDisplayShell *shell);
|
GimpDisplayShell *shell);
|
||||||
static void gimp_navigation_editor_marker_changed (GimpNavigationView *view,
|
static void gimp_navigation_editor_marker_changed (GimpNavigationView *view,
|
||||||
gdouble center_x,
|
gdouble center_x,
|
||||||
gdouble center_y,
|
gdouble center_y,
|
||||||
gdouble width,
|
gdouble width,
|
||||||
gdouble height,
|
gdouble height,
|
||||||
GimpNavigationEditor *editor);
|
GimpNavigationEditor *editor);
|
||||||
static void gimp_navigation_editor_zoom (GimpNavigationView *view,
|
static void gimp_navigation_editor_zoom (GimpNavigationView *view,
|
||||||
GimpZoomType direction,
|
GimpZoomType direction,
|
||||||
GimpNavigationEditor *editor);
|
GimpNavigationEditor *editor);
|
||||||
static void gimp_navigation_editor_scroll (GimpNavigationView *view,
|
static void gimp_navigation_editor_scroll (GimpNavigationView *view,
|
||||||
GdkScrollDirection direction,
|
GdkScrollDirection direction,
|
||||||
GimpNavigationEditor *editor);
|
GimpNavigationEditor *editor);
|
||||||
|
|
||||||
static void gimp_navigation_editor_zoom_adj_changed (GtkAdjustment *adj,
|
static void gimp_navigation_editor_zoom_adj_changed (GtkAdjustment *adj,
|
||||||
GimpNavigationEditor *editor);
|
GimpNavigationEditor *editor);
|
||||||
|
|
||||||
static void gimp_navigation_editor_shell_show_all_notify (GimpDisplayShell *shell,
|
static void gimp_navigation_editor_shell_infinite_canvas_notify (GimpDisplayShell *shell,
|
||||||
const GParamSpec *pspec,
|
const GParamSpec *pspec,
|
||||||
GimpNavigationEditor *editor);
|
GimpNavigationEditor *editor);
|
||||||
static void gimp_navigation_editor_shell_scaled (GimpDisplayShell *shell,
|
static void gimp_navigation_editor_shell_scaled (GimpDisplayShell *shell,
|
||||||
GimpNavigationEditor *editor);
|
GimpNavigationEditor *editor);
|
||||||
static void gimp_navigation_editor_shell_scrolled (GimpDisplayShell *shell,
|
static void gimp_navigation_editor_shell_scrolled (GimpDisplayShell *shell,
|
||||||
GimpNavigationEditor *editor);
|
GimpNavigationEditor *editor);
|
||||||
static void gimp_navigation_editor_shell_rotated (GimpDisplayShell *shell,
|
static void gimp_navigation_editor_shell_rotated (GimpDisplayShell *shell,
|
||||||
GimpNavigationEditor *editor);
|
GimpNavigationEditor *editor);
|
||||||
static void gimp_navigation_editor_shell_reconnect (GimpDisplayShell *shell,
|
static void gimp_navigation_editor_shell_reconnect (GimpDisplayShell *shell,
|
||||||
GimpNavigationEditor *editor);
|
GimpNavigationEditor *editor);
|
||||||
|
|
||||||
static void gimp_navigation_editor_viewable_size_changed (GimpViewable *viewable,
|
static void gimp_navigation_editor_viewable_size_changed (GimpViewable *viewable,
|
||||||
GimpNavigationEditor *editor);
|
GimpNavigationEditor *editor);
|
||||||
|
|
||||||
static void gimp_navigation_editor_options_show_canvas_notify (GimpDisplayOptions *options,
|
static void gimp_navigation_editor_options_show_canvas_notify (GimpDisplayOptions *options,
|
||||||
const GParamSpec *pspec,
|
const GParamSpec *pspec,
|
||||||
GimpNavigationEditor *editor);
|
GimpNavigationEditor *editor);
|
||||||
|
|
||||||
static void gimp_navigation_editor_update_marker (GimpNavigationEditor *editor);
|
static void gimp_navigation_editor_update_marker (GimpNavigationEditor *editor);
|
||||||
|
|
||||||
|
|
||||||
G_DEFINE_TYPE_WITH_CODE (GimpNavigationEditor, gimp_navigation_editor,
|
G_DEFINE_TYPE_WITH_CODE (GimpNavigationEditor, gimp_navigation_editor,
|
||||||
@ -497,7 +497,7 @@ gimp_navigation_editor_set_shell (GimpNavigationEditor *editor,
|
|||||||
if (editor->shell)
|
if (editor->shell)
|
||||||
{
|
{
|
||||||
g_signal_handlers_disconnect_by_func (editor->shell,
|
g_signal_handlers_disconnect_by_func (editor->shell,
|
||||||
gimp_navigation_editor_shell_show_all_notify,
|
gimp_navigation_editor_shell_infinite_canvas_notify,
|
||||||
editor);
|
editor);
|
||||||
g_signal_handlers_disconnect_by_func (editor->shell,
|
g_signal_handlers_disconnect_by_func (editor->shell,
|
||||||
gimp_navigation_editor_shell_scaled,
|
gimp_navigation_editor_shell_scaled,
|
||||||
@ -545,8 +545,8 @@ gimp_navigation_editor_set_shell (GimpNavigationEditor *editor,
|
|||||||
gimp_view_set_viewable (GIMP_VIEW (editor->view),
|
gimp_view_set_viewable (GIMP_VIEW (editor->view),
|
||||||
GIMP_VIEWABLE (editor->image_viewable));
|
GIMP_VIEWABLE (editor->image_viewable));
|
||||||
|
|
||||||
g_signal_connect (editor->shell, "notify::show-all",
|
g_signal_connect (editor->shell, "notify::infinite-canvas",
|
||||||
G_CALLBACK (gimp_navigation_editor_shell_show_all_notify),
|
G_CALLBACK (gimp_navigation_editor_shell_infinite_canvas_notify),
|
||||||
editor);
|
editor);
|
||||||
g_signal_connect (editor->shell, "scaled",
|
g_signal_connect (editor->shell, "scaled",
|
||||||
G_CALLBACK (gimp_navigation_editor_shell_scaled),
|
G_CALLBACK (gimp_navigation_editor_shell_scaled),
|
||||||
@ -721,9 +721,9 @@ gimp_navigation_editor_zoom_adj_changed (GtkAdjustment *adj,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
gimp_navigation_editor_shell_show_all_notify (GimpDisplayShell *shell,
|
gimp_navigation_editor_shell_infinite_canvas_notify (GimpDisplayShell *shell,
|
||||||
const GParamSpec *pspec,
|
const GParamSpec *pspec,
|
||||||
GimpNavigationEditor *editor)
|
GimpNavigationEditor *editor)
|
||||||
{
|
{
|
||||||
gimp_navigation_editor_update_marker (editor);
|
gimp_navigation_editor_update_marker (editor);
|
||||||
|
|
||||||
@ -860,7 +860,7 @@ gimp_navigation_editor_update_marker (GimpNavigationEditor *editor)
|
|||||||
|
|
||||||
gimp_image_viewable_set_show_all (
|
gimp_image_viewable_set_show_all (
|
||||||
GIMP_IMAGE_VIEWABLE (renderer->viewable),
|
GIMP_IMAGE_VIEWABLE (renderer->viewable),
|
||||||
shell->show_all);
|
gimp_display_shell_get_infinite_canvas (shell));
|
||||||
|
|
||||||
bounding_box = gimp_image_viewable_get_bounding_box (
|
bounding_box = gimp_image_viewable_get_bounding_box (
|
||||||
GIMP_IMAGE_VIEWABLE (renderer->viewable));
|
GIMP_IMAGE_VIEWABLE (renderer->viewable));
|
||||||
@ -882,7 +882,8 @@ gimp_navigation_editor_update_marker (GimpNavigationEditor *editor)
|
|||||||
|
|
||||||
gimp_navigation_view_set_canvas (
|
gimp_navigation_view_set_canvas (
|
||||||
view,
|
view,
|
||||||
shell->show_all && gimp_display_shell_get_show_canvas (shell),
|
gimp_display_shell_get_infinite_canvas (shell) &&
|
||||||
|
gimp_display_shell_get_show_canvas (shell),
|
||||||
-bounding_box.x, -bounding_box.y,
|
-bounding_box.x, -bounding_box.y,
|
||||||
gimp_image_get_width (image), gimp_image_get_height (image));
|
gimp_image_get_width (image), gimp_image_get_height (image));
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user