[glade] Added add-child-verify function to GtkScrolledWindow which is the only place we want to check if we
- From: Juan Pablo Ugarte <jpu src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [glade] Added add-child-verify function to GtkScrolledWindow which is the only place we want to check if we
- Date: Wed, 7 Aug 2013 14:46:52 +0000 (UTC)
commit 3549eeac248e8f94abd19a0f2d43e02fec800742
Author: Juan Pablo Ugarte <juanpablougarte gmail com>
Date: Wed Aug 7 11:32:41 2013 -0300
Added add-child-verify function to GtkScrolledWindow which is the only place we want to check if we can
add a child or not.
Stop using glade_util_check_and_warn_scrollable() everywhere but in GtkScrolledWindow add-child-verify
function.
gladeui/glade-placeholder.c | 22 +++++++++-------------
gladeui/glade-popup.c | 10 +++-------
gladeui/glade-project.c | 6 ------
plugins/gtk+/glade-gtk-scrolled-window.c | 14 ++++++++++++++
plugins/gtk+/glade-gtk-widget.c | 6 ------
plugins/gtk+/gtk+.xml.in | 1 +
6 files changed, 27 insertions(+), 32 deletions(-)
---
diff --git a/gladeui/glade-placeholder.c b/gladeui/glade-placeholder.c
index f90e92a..8eca99d 100644
--- a/gladeui/glade-placeholder.c
+++ b/gladeui/glade-placeholder.c
@@ -433,19 +433,15 @@ glade_placeholder_button_press (GtkWidget *widget, GdkEventButton *event)
{
GladeWidget *parent = glade_placeholder_get_parent (placeholder);
- if (!glade_util_check_and_warn_scrollable
- (parent, adaptor, glade_app_get_window ()))
- {
- /* A widget type is selected in the palette.
- * Add a new widget of that type.
- */
- glade_command_create (adaptor, parent, placeholder, project);
-
- glade_project_set_add_item (project, NULL);
-
- /* reset the cursor */
- glade_cursor_set (project, event->window, GLADE_CURSOR_SELECTOR);
- }
+ /* A widget type is selected in the palette.
+ * Add a new widget of that type.
+ */
+ glade_command_create (adaptor, parent, placeholder, project);
+
+ glade_project_set_add_item (project, NULL);
+
+ /* reset the cursor */
+ glade_cursor_set (project, event->window, GLADE_CURSOR_SELECTOR);
handled = TRUE;
}
}
diff --git a/gladeui/glade-popup.c b/gladeui/glade-popup.c
index d2794cc..ff178c6 100644
--- a/gladeui/glade-popup.c
+++ b/gladeui/glade-popup.c
@@ -68,14 +68,10 @@ glade_popup_widget_add_cb (GtkMenuItem *item, RootAddData *data)
{
g_return_if_fail (data->adaptor != NULL);
- if (!glade_util_check_and_warn_scrollable
- (data->parent, data->adaptor, glade_app_get_window ()))
- {
- if (glade_command_create (data->adaptor, data->parent,
- data->placeholder, data->project))
+ if (glade_command_create (data->adaptor, data->parent,
+ data->placeholder, data->project))
- glade_project_set_add_item (data->project, NULL);
- }
+ glade_project_set_add_item (data->project, NULL);
}
static void
diff --git a/gladeui/glade-project.c b/gladeui/glade-project.c
index 87a1699..31d8b72 100644
--- a/gladeui/glade-project.c
+++ b/gladeui/glade-project.c
@@ -4834,12 +4834,6 @@ glade_project_command_paste (GladeProject *project,
}
}
- /* Abort operation when adding a non scrollable widget to any kind of GtkScrolledWindow. */
- if (parent && widget &&
- glade_util_check_and_warn_scrollable (parent, glade_widget_get_adaptor (widget),
- glade_app_get_window ()))
- return;
-
/* Check if we have anything to paste */
if (g_list_length (glade_clipboard_widgets (clipboard)) == 0)
{
diff --git a/plugins/gtk+/glade-gtk-scrolled-window.c b/plugins/gtk+/glade-gtk-scrolled-window.c
index b915760..a4635e8 100644
--- a/plugins/gtk+/glade-gtk-scrolled-window.c
+++ b/plugins/gtk+/glade-gtk-scrolled-window.c
@@ -58,3 +58,17 @@ glade_gtk_scrolled_window_set_property (GladeWidgetAdaptor * adaptor,
else if (GPC_VERSION_CHECK (glade_property_get_class (property), gtk_major_version, gtk_minor_version + 1))
GWA_GET_CLASS (GTK_TYPE_CONTAINER)->set_property (adaptor, object, id, value);
}
+
+gboolean
+glade_gtk_scrolled_window_add_child_verify (GladeWidgetAdaptor *adaptor,
+ GtkWidget *container,
+ GtkWidget *child,
+ gboolean user_feedback)
+{
+ GladeWidget *gcontainer = glade_widget_get_from_gobject (container);
+ GladeWidget *gchild = glade_widget_get_from_gobject (child);
+
+ return !glade_util_check_and_warn_scrollable (gcontainer,
+ glade_widget_get_adaptor (gchild),
+ glade_app_get_window ());
+}
\ No newline at end of file
diff --git a/plugins/gtk+/glade-gtk-widget.c b/plugins/gtk+/glade-gtk-widget.c
index e094083..75b0a8f 100644
--- a/plugins/gtk+/glade-gtk-widget.c
+++ b/plugins/gtk+/glade-gtk-widget.c
@@ -869,12 +869,6 @@ glade_gtk_widget_action_activate (GladeWidgetAdaptor * adaptor,
GladeWidget *gnew_parent;
GladeProperty *property;
- /* Dont add non-scrollable widgets to scrolled windows... */
- if (gparent &&
- glade_util_check_and_warn_scrollable (gparent, adaptor,
- glade_app_get_window ()))
- return;
-
glade_command_push_group (_("Adding parent %s for %s"),
glade_widget_adaptor_get_title (adaptor),
glade_widget_get_name (gwidget));
diff --git a/plugins/gtk+/gtk+.xml.in b/plugins/gtk+/gtk+.xml.in
index fbf656f..5398bc6 100644
--- a/plugins/gtk+/gtk+.xml.in
+++ b/plugins/gtk+/gtk+.xml.in
@@ -2362,6 +2362,7 @@ range of values</_tooltip>
<glade-widget-class name="GtkScrolledWindow" generic-name="scrolledwindow" _title="Scrolled Window">
<create-editable-function>glade_gtk_scrolled_window_create_editable</create-editable-function>
<set-property-function>glade_gtk_scrolled_window_set_property</set-property-function>
+ <add-child-verify-function>glade_gtk_scrolled_window_add_child_verify</add-child-verify-function>
<properties>
<property id="hadjustment" custom-layout="True"/>
<property id="vadjustment" custom-layout="True"/>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]