[libgda] Align forms in control center's DSN properties
- From: Vivien Malerba <vivien src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda] Align forms in control center's DSN properties
- Date: Tue, 27 Apr 2010 19:45:07 +0000 (UTC)
commit 5c96bc10900fda7f1cd108144e80d7e64948635d
Author: Vivien Malerba <malerba gnome-db org>
Date: Tue Apr 27 19:36:44 2010 +0200
Align forms in control center's DSN properties
control-center/dsn-properties-dialog.c | 2 +-
control-center/gdaui-dsn-editor.c | 15 ++++++++
libgda-ui/internal/Makefile.am | 2 -
libgda-ui/internal/gdaui-provider-auth-editor.c | 42 +++++++++++++++++++++++
libgda-ui/internal/gdaui-provider-auth-editor.h | 4 ++-
libgda-ui/internal/gdaui-provider-spec-editor.c | 38 ++++++++++++++++++++
libgda-ui/internal/gdaui-provider-spec-editor.h | 5 ++-
7 files changed, 103 insertions(+), 5 deletions(-)
---
diff --git a/control-center/dsn-properties-dialog.c b/control-center/dsn-properties-dialog.c
index 7f8c293..0cdec75 100644
--- a/control-center/dsn-properties-dialog.c
+++ b/control-center/dsn-properties-dialog.c
@@ -166,6 +166,7 @@ dsn_properties_dialog (GtkWindow *parent, const gchar *dsn)
#else
dcontents = GTK_DIALOG (dialog)->vbox;
#endif
+ gtk_container_set_border_width (GTK_CONTAINER (dcontents), 5);
gtk_box_pack_start (GTK_BOX (dcontents), label, FALSE, FALSE, 0);
gtk_widget_show (label);
@@ -182,7 +183,6 @@ dsn_properties_dialog (GtkWindow *parent, const gchar *dsn)
gtk_widget_show (props);
g_signal_connect (G_OBJECT (props), "changed", G_CALLBACK (dsn_changed_cb), dialog);
gtk_box_pack_start (GTK_BOX (hbox), props, TRUE, TRUE, 0);
- gtk_widget_set_size_request (props, 500, -1);
/* handle "delete-event" */
g_signal_connect (dialog, "delete-event",
diff --git a/control-center/gdaui-dsn-editor.c b/control-center/gdaui-dsn-editor.c
index 1ecf009..96431fa 100644
--- a/control-center/gdaui-dsn-editor.c
+++ b/control-center/gdaui-dsn-editor.c
@@ -109,6 +109,7 @@ gdaui_dsn_editor_init (GdauiDsnEditor *config, GdauiDsnEditorClass *klass)
GtkWidget *label;
GtkWidget *exp;
gchar *str;
+ GtkSizeGroup *labels_size_group;
g_return_if_fail (GDAUI_IS_DSN_EDITOR (config));
@@ -116,6 +117,9 @@ gdaui_dsn_editor_init (GdauiDsnEditor *config, GdauiDsnEditorClass *klass)
config->priv = g_new0 (GdauiDsnEditorPrivate, 1);
config->priv->dsn_info = g_new0 (GdaDsnInfo, 1);
+ /* size group */
+ labels_size_group = gtk_size_group_new (GTK_SIZE_GROUP_HORIZONTAL);
+
/* set up widgets */
table = gtk_table_new (8, 2, FALSE);
gtk_table_set_row_spacings (GTK_TABLE (table), 6);
@@ -129,7 +133,9 @@ gdaui_dsn_editor_init (GdauiDsnEditor *config, GdauiDsnEditorClass *klass)
gtk_misc_set_alignment (GTK_MISC (label), 0, -1.);
g_free (str);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_size_group_add_widget (labels_size_group, label);
gtk_widget_show (label);
+
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
config->priv->wname = gtk_entry_new ();
gtk_editable_set_editable (GTK_EDITABLE (config->priv->wname), FALSE);
@@ -146,6 +152,7 @@ gdaui_dsn_editor_init (GdauiDsnEditor *config, GdauiDsnEditorClass *klass)
label = gtk_label_new_with_mnemonic (_("_System wide data source:"));
gtk_misc_set_alignment (GTK_MISC (label), 0, -1.);
+ gtk_size_group_add_widget (labels_size_group, label);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
config->priv->is_system = gtk_check_button_new ();
@@ -161,6 +168,7 @@ gdaui_dsn_editor_init (GdauiDsnEditor *config, GdauiDsnEditorClass *klass)
gtk_label_set_markup_with_mnemonic (GTK_LABEL (label), str);
g_free (str);
gtk_misc_set_alignment (GTK_MISC (label), 0.0, 0.5);
+ gtk_size_group_add_widget (labels_size_group, label);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3, GTK_FILL, GTK_FILL, 0, 0);
config->priv->wprovider = gdaui_provider_selector_new ();
@@ -173,6 +181,7 @@ gdaui_dsn_editor_init (GdauiDsnEditor *config, GdauiDsnEditorClass *klass)
label = gtk_label_new_with_mnemonic (_("_Description:"));
gtk_misc_set_alignment (GTK_MISC (label), 0, -1.);
+ gtk_size_group_add_widget (labels_size_group, label);
gtk_widget_show (label);
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 3, 4, GTK_FILL, GTK_FILL, 0, 0);
config->priv->wdesc = gtk_entry_new ();
@@ -206,6 +215,8 @@ gdaui_dsn_editor_init (GdauiDsnEditor *config, GdauiDsnEditorClass *klass)
g_signal_connect (G_OBJECT (config->priv->dsn_spec), "changed",
G_CALLBACK (field_changed_cb), config);
gtk_container_add (GTK_CONTAINER (config->priv->dsn_spec_expander), config->priv->dsn_spec);
+ _gdaui_provider_spec_editor_add_to_size_group (GDAUI_PROVIDER_SPEC_EDITOR (config->priv->dsn_spec), labels_size_group,
+ GDAUI_BASIC_FORM_LABELS);
gtk_widget_show (config->priv->dsn_spec);
/* connection's authentication */
@@ -219,7 +230,11 @@ gdaui_dsn_editor_init (GdauiDsnEditor *config, GdauiDsnEditorClass *klass)
g_signal_connect (G_OBJECT (config->priv->dsn_auth), "changed",
G_CALLBACK (field_changed_cb), config);
gtk_container_add (GTK_CONTAINER (config->priv->dsn_auth_expander), config->priv->dsn_auth);
+ _gdaui_provider_auth_editor_add_to_size_group (GDAUI_PROVIDER_AUTH_EDITOR (config->priv->dsn_auth), labels_size_group,
+ GDAUI_BASIC_FORM_LABELS);
gtk_widget_show (config->priv->dsn_auth);
+
+ g_object_unref (labels_size_group);
}
static void
diff --git a/libgda-ui/internal/Makefile.am b/libgda-ui/internal/Makefile.am
index dc58b46..d40534a 100644
--- a/libgda-ui/internal/Makefile.am
+++ b/libgda-ui/internal/Makefile.am
@@ -1,8 +1,6 @@
noinst_LTLIBRARIES = libgda-ui-internal.la
AM_CPPFLAGS = \
- -I$(top_builddir)/ui \
- -I$(top_srcdir)/ui \
-I$(top_builddir) \
-I$(top_srcdir) \
-I$(top_srcdir)/libgda \
diff --git a/libgda-ui/internal/gdaui-provider-auth-editor.c b/libgda-ui/internal/gdaui-provider-auth-editor.c
index 0bf1dfd..ef4262f 100644
--- a/libgda-ui/internal/gdaui-provider-auth-editor.c
+++ b/libgda-ui/internal/gdaui-provider-auth-editor.c
@@ -32,6 +32,9 @@ struct _GdauiProviderAuthEditorPrivate {
GtkWidget *auth_widget;
gboolean auth_needed;
+
+ GtkSizeGroup *labels_size_group;
+ GtkSizeGroup *entries_size_group;
};
static void gdaui_provider_auth_editor_class_init (GdauiProviderAuthEditorClass *klass);
@@ -121,6 +124,14 @@ gdaui_provider_auth_editor_finalize (GObject *object)
g_return_if_fail (GDAUI_IS_PROVIDER_AUTH_EDITOR (auth));
/* free memory */
+ if (auth->priv->labels_size_group) {
+ g_object_unref (auth->priv->labels_size_group);
+ auth->priv->labels_size_group = NULL;
+ }
+ if (auth->priv->entries_size_group) {
+ g_object_unref (auth->priv->entries_size_group);
+ auth->priv->entries_size_group = NULL;
+ }
if (auth->priv->provider)
g_free (auth->priv->provider);
@@ -257,6 +268,15 @@ _gdaui_provider_auth_editor_set_provider (GdauiProviderAuthEditor *auth, const g
if (auth->priv->auth_widget) {
gtk_container_add (GTK_CONTAINER (auth), auth->priv->auth_widget);
gtk_widget_show (auth->priv->auth_widget);
+
+ if (auth->priv->labels_size_group)
+ gdaui_basic_form_add_to_size_group (GDAUI_BASIC_FORM (auth->priv->auth_widget),
+ auth->priv->labels_size_group,
+ GDAUI_BASIC_FORM_LABELS);
+ if (auth->priv->entries_size_group)
+ gdaui_basic_form_add_to_size_group (GDAUI_BASIC_FORM (auth->priv->auth_widget),
+ auth->priv->entries_size_group,
+ GDAUI_BASIC_FORM_ENTRIES);
}
g_signal_emit_by_name (auth, "changed");
@@ -428,3 +448,25 @@ _gdaui_provider_auth_editor_set_auth (GdauiProviderAuthEditor *auth, const gchar
g_signal_emit_by_name (auth, "changed");
}
+
+/**
+ * _gdaui_provider_auth_editor_add_to_size_group
+ * @auth: a #GdauiProviderAuthEditor widget
+ */
+void
+_gdaui_provider_auth_editor_add_to_size_group (GdauiProviderAuthEditor *auth, GtkSizeGroup *size_group,
+ GdauiBasicFormPart part)
+{
+ g_return_if_fail (GDAUI_IS_PROVIDER_AUTH_EDITOR (auth));
+ g_return_if_fail (GTK_IS_SIZE_GROUP (size_group));
+
+ g_return_if_fail (! ((auth->priv->labels_size_group && (part == GDAUI_BASIC_FORM_LABELS)) ||
+ (auth->priv->entries_size_group && (part == GDAUI_BASIC_FORM_ENTRIES))));
+ if (part == GDAUI_BASIC_FORM_LABELS)
+ auth->priv->labels_size_group = g_object_ref (size_group);
+ else
+ auth->priv->entries_size_group = g_object_ref (size_group);
+
+ if (auth->priv->auth_widget)
+ gdaui_basic_form_add_to_size_group (GDAUI_BASIC_FORM (auth->priv->auth_widget), size_group, part);
+}
diff --git a/libgda-ui/internal/gdaui-provider-auth-editor.h b/libgda-ui/internal/gdaui-provider-auth-editor.h
index 532de8b..a957fb0 100644
--- a/libgda-ui/internal/gdaui-provider-auth-editor.h
+++ b/libgda-ui/internal/gdaui-provider-auth-editor.h
@@ -23,7 +23,7 @@
#ifndef __GDAUI_PROVIDER_AUTH_EDITOR_H__
#define __GDAUI_PROVIDER_AUTH_EDITOR_H__
-#include <gtk/gtk.h>
+#include <libgda-ui/gdaui-basic-form.h>
G_BEGIN_DECLS
@@ -58,6 +58,8 @@ gboolean _gdaui_provider_auth_editor_is_valid (GdauiProviderAuthEditor *a
gchar *_gdaui_provider_auth_editor_get_auth (GdauiProviderAuthEditor *auth);
void _gdaui_provider_auth_editor_set_auth (GdauiProviderAuthEditor *auth, const gchar *auth_string);
+void _gdaui_provider_auth_editor_add_to_size_group (GdauiProviderAuthEditor *auth, GtkSizeGroup *size_group,
+ GdauiBasicFormPart part);
G_END_DECLS
#endif
diff --git a/libgda-ui/internal/gdaui-provider-spec-editor.c b/libgda-ui/internal/gdaui-provider-spec-editor.c
index 8076186..4738010 100644
--- a/libgda-ui/internal/gdaui-provider-spec-editor.c
+++ b/libgda-ui/internal/gdaui-provider-spec-editor.c
@@ -37,6 +37,9 @@ struct _GdauiProviderSpecEditorPrivate {
WidgetType type;
GtkWidget *form; /* what it really is is determined by @type */
gchar *cnc_string; /* as it was last updated */
+
+ GtkSizeGroup *labels_size_group;
+ GtkSizeGroup *entries_size_group;
};
static void gdaui_provider_spec_editor_class_init (GdauiProviderSpecEditorClass *klass);
@@ -210,6 +213,12 @@ adapt_form_widget (GdauiProviderSpecEditor *spec)
g_object_unref (dset);
spec->priv->form = wid;
+ if (spec->priv->labels_size_group)
+ gdaui_basic_form_add_to_size_group (GDAUI_BASIC_FORM (spec->priv->form), spec->priv->labels_size_group,
+ GDAUI_BASIC_FORM_LABELS);
+ if (spec->priv->entries_size_group)
+ gdaui_basic_form_add_to_size_group (GDAUI_BASIC_FORM (spec->priv->form), spec->priv->entries_size_group,
+ GDAUI_BASIC_FORM_ENTRIES);
update_form_contents (spec);
g_signal_connect (G_OBJECT (wid), "holder-changed",
G_CALLBACK (dsn_form_changed), spec);
@@ -237,6 +246,14 @@ gdaui_provider_spec_editor_dispose (GObject *object)
g_return_if_fail (GDAUI_IS_PROVIDER_SPEC_EDITOR (spec));
/* free memory */
+ if (spec->priv->labels_size_group) {
+ g_object_unref (spec->priv->labels_size_group);
+ spec->priv->labels_size_group = NULL;
+ }
+ if (spec->priv->entries_size_group) {
+ g_object_unref (spec->priv->entries_size_group);
+ spec->priv->entries_size_group = NULL;
+ }
/* chain to parent class */
parent_class->dispose (object);
@@ -485,3 +502,24 @@ _gdaui_provider_spec_editor_set_specs (GdauiProviderSpecEditor *spec, const gcha
update_form_contents (spec);
}
+
+/**
+ * _gdaui_provider_spec_editor_add_to_size_group
+ * @spec: a #GdauiProviderSpecEditor widget
+ */
+void
+_gdaui_provider_spec_editor_add_to_size_group (GdauiProviderSpecEditor *spec, GtkSizeGroup *size_group,
+ GdauiBasicFormPart part)
+{
+ g_return_if_fail (GDAUI_IS_PROVIDER_SPEC_EDITOR (spec));
+ g_return_if_fail (GTK_IS_SIZE_GROUP (size_group));
+
+ g_return_if_fail (! ((spec->priv->labels_size_group && (part == GDAUI_BASIC_FORM_LABELS)) ||
+ (spec->priv->entries_size_group && (part == GDAUI_BASIC_FORM_ENTRIES))));
+ if (part == GDAUI_BASIC_FORM_LABELS)
+ spec->priv->labels_size_group = g_object_ref (size_group);
+ else
+ spec->priv->entries_size_group = g_object_ref (size_group);
+
+ gdaui_basic_form_add_to_size_group (GDAUI_BASIC_FORM (spec->priv->form), size_group, part);
+}
diff --git a/libgda-ui/internal/gdaui-provider-spec-editor.h b/libgda-ui/internal/gdaui-provider-spec-editor.h
index a5d1e68..6aaa9b5 100644
--- a/libgda-ui/internal/gdaui-provider-spec-editor.h
+++ b/libgda-ui/internal/gdaui-provider-spec-editor.h
@@ -23,7 +23,7 @@
#ifndef __GDAUI_PROVIDER_SPEC_EDITOR_H__
#define __GDAUI_PROVIDER_SPEC_EDITOR_H__
-#include <gtk/gtk.h>
+#include <libgda-ui/gdaui-basic-form.h>
G_BEGIN_DECLS
@@ -57,6 +57,9 @@ gboolean _gdaui_provider_spec_editor_is_valid (GdauiProviderSpecEditor *s
gchar *_gdaui_provider_spec_editor_get_specs (GdauiProviderSpecEditor *spec);
void _gdaui_provider_spec_editor_set_specs (GdauiProviderSpecEditor *spec, const gchar *specs_string);
+void _gdaui_provider_spec_editor_add_to_size_group (GdauiProviderSpecEditor *spec, GtkSizeGroup *size_group,
+ GdauiBasicFormPart part);
+
G_END_DECLS
#endif
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]