libgnomedb r1723 - in trunk: . data data/16x16 data/22x22 doc/C doc/C/images doc/C/tmpl extra/demos glade glade3 libgnomedb libgnomedb-extra libgnomedb-extra/data libgnomedb-graph libgnomedb/data-entries po testing
- From: vivien svn gnome org
- To: svn-commits-list gnome org
- Subject: libgnomedb r1723 - in trunk: . data data/16x16 data/22x22 doc/C doc/C/images doc/C/tmpl extra/demos glade glade3 libgnomedb libgnomedb-extra libgnomedb-extra/data libgnomedb-graph libgnomedb/data-entries po testing
- Date: Wed, 14 May 2008 20:54:10 +0100 (BST)
Author: vivien
Date: Wed May 14 19:54:09 2008
New Revision: 1723
URL: http://svn.gnome.org/viewvc/libgnomedb?rev=1723&view=rev
Log:
2008-05-14 Vivien Malerba <malerba gnome-db org>
* adaptations to Libgda V4's API
* renamed GnomeDbDataSourceSelector to GnomeDbDsnSelector
* renamed GnomeDbDsnSpec to GnomeDbProviderSpecEditor
Added:
trunk/data/16x16/widget-gnomedb-gnome-db-dsn-selector.png
- copied unchanged from r1722, /trunk/data/16x16/widget-gnomedb-gnome-db-data-source-selector.png
trunk/data/16x16/widget-gnomedb-gnome-db-provider-spec-editor.png
- copied unchanged from r1722, /trunk/data/16x16/widget-gnomedb-gnome-db-dsn-spec.png
trunk/data/22x22/widget-gnomedb-gnome-db-dsn-selector.png
- copied unchanged from r1722, /trunk/data/22x22/widget-gnomedb-gnome-db-data-source-selector.png
trunk/data/22x22/widget-gnomedb-gnome-db-provider-spec-editor.png
- copied unchanged from r1722, /trunk/data/22x22/widget-gnomedb-gnome-db-dsn-spec.png
trunk/doc/C/images/gnome-db-provider-spec-editor.png
trunk/doc/C/tmpl/gnome-db-provider-editor.sgml
- copied, changed from r1722, /trunk/doc/C/tmpl/gnome-db-dsn-spec.sgml
trunk/libgnomedb/gnome-db-dsn-selector.c
- copied, changed from r1722, /trunk/libgnomedb/gnome-db-data-source-selector.c
trunk/libgnomedb/gnome-db-dsn-selector.h
- copied, changed from r1722, /trunk/libgnomedb/gnome-db-data-source-selector.h
trunk/libgnomedb/gnome-db-provider-spec-editor.c
- copied, changed from r1722, /trunk/libgnomedb/gnome-db-dsn-spec.c
trunk/libgnomedb/gnome-db-provider-spec-editor.h
- copied, changed from r1722, /trunk/libgnomedb/gnome-db-dsn-spec.h
Removed:
trunk/data/16x16/widget-gnomedb-gnome-db-data-source-selector.png
trunk/data/16x16/widget-gnomedb-gnome-db-dsn-spec.png
trunk/data/22x22/widget-gnomedb-gnome-db-data-source-selector.png
trunk/data/22x22/widget-gnomedb-gnome-db-dsn-spec.png
trunk/doc/C/tmpl/gnome-db-dsn-spec.sgml
trunk/libgnomedb-extra/gnome-db-dbms-update-viewer.c
trunk/libgnomedb-extra/gnome-db-dbms-update-viewer.h
trunk/libgnomedb/gnome-db-data-source-selector.c
trunk/libgnomedb/gnome-db-data-source-selector.h
trunk/libgnomedb/gnome-db-dsn-spec.c
trunk/libgnomedb/gnome-db-dsn-spec.h
Modified:
trunk/ChangeLog
trunk/Makefile.am
trunk/NEWS
trunk/data/16x16/Makefile.am
trunk/data/22x22/Makefile.am
trunk/data/Makefile.am
trunk/doc/C/libgnomedb-4.0-docs.sgml
trunk/doc/C/libgnomedb-4.0-sections.txt
trunk/doc/C/libgnomedb-4.0.types
trunk/doc/C/tmpl/gnome-db-data-source-selector.sgml
trunk/doc/C/tmpl/gnome-db-provider-selector.sgml
trunk/extra/demos/ddl_queries.c
trunk/glade/glade-gnomedb.c
trunk/glade3/gnomedb.xml.in
trunk/libgnomedb-extra/data/Makefile.am
trunk/libgnomedb-graph/Makefile.am
trunk/libgnomedb/Makefile.am
trunk/libgnomedb/data-entries/gnome-db-entry-combo.c
trunk/libgnomedb/gnome-db-connection-properties.c
trunk/libgnomedb/gnome-db-connection-properties.h
trunk/libgnomedb/gnome-db-dsn-assistant.c
trunk/libgnomedb/gnome-db-dsn-editor.c
trunk/libgnomedb/gnome-db-login.c
trunk/libgnomedb/gnome-db-provider-selector.c
trunk/libgnomedb/gnome-db-provider-selector.h
trunk/libgnomedb/gnome-db-transaction-status.c
trunk/libgnomedb/libgnomedb.h.in
trunk/po/POTFILES.in
trunk/testing/test-dyn-widgets.c
Modified: trunk/Makefile.am
==============================================================================
--- trunk/Makefile.am (original)
+++ trunk/Makefile.am Wed May 14 19:54:09 2008
@@ -26,21 +26,17 @@
libgnomedb-extra \
$(GRAPHLIB_DIRECTORY) \
$(LIBGLADE_DIRECTORY) \
+ $(GLADE3_DIRECTORY) \
control-center \
testing \
extra \
doc \
data
-#$(GLADE3_DIRECTORY)
-
example_files =\
samples/SALES.mysql5.sql \
- samples/SALES.mysql5.xml \
samples/SALES.mysql.sql \
- samples/SALES.mysql.xml \
samples/SALES.postgres.sql \
- samples/SALES.postgres.xml \
samples/README \
samples/SimpleExample/example.c \
samples/SimpleExample/gladeui.glade \
Modified: trunk/NEWS
==============================================================================
--- trunk/NEWS (original)
+++ trunk/NEWS Wed May 14 19:54:09 2008
@@ -1,3 +1,10 @@
+libgnomedb 3.99.3, 2008
+
+ Adaptations to Libgda's V4 API changes, and:
+ - removed support for the GnomeCanvas (now uses exclusively GooCanvas)
+ - reworked the login dialog to correctly handle connections which don't need authentication
+ - this release is API incompatible with the V3 versions
+
libgnomedb 3.1.2, 2007-10-24
- Filtering based on an SQL expression is now possible in the grid and form
Modified: trunk/data/16x16/Makefile.am
==============================================================================
--- trunk/data/16x16/Makefile.am (original)
+++ trunk/data/16x16/Makefile.am Wed May 14 19:54:09 2008
@@ -6,12 +6,12 @@
widget-gnomedb-gnome-db-combo.png \
widget-gnomedb-gnome-db-connection-properties.png\
widget-gnomedb-gnome-db-data-import.png \
- widget-gnomedb-gnome-db-data-source-selector.png \
+ widget-gnomedb-gnome-db-dsn-selector.png \
widget-gnomedb-gnome-db-data-widget-info.png \
widget-gnomedb-gnome-db-dbms-update-viewer.png \
widget-gnomedb-gnome-db-dsn-assistant.png \
widget-gnomedb-gnome-db-dsn-editor.png \
- widget-gnomedb-gnome-db-dsn-spec.png \
+ widget-gnomedb-gnome-db-provider-spec-editor.png \
widget-gnomedb-gnome-db-editor.png \
widget-gnomedb-gnome-db-entry-string.png \
widget-gnomedb-gnome-db-entry-boolean.png \
Modified: trunk/data/22x22/Makefile.am
==============================================================================
--- trunk/data/22x22/Makefile.am (original)
+++ trunk/data/22x22/Makefile.am Wed May 14 19:54:09 2008
@@ -6,12 +6,12 @@
widget-gnomedb-gnome-db-combo.png \
widget-gnomedb-gnome-db-connection-properties.png\
widget-gnomedb-gnome-db-data-import.png \
- widget-gnomedb-gnome-db-data-source-selector.png \
+ widget-gnomedb-gnome-db-dsn-selector.png \
widget-gnomedb-gnome-db-data-widget-info.png \
widget-gnomedb-gnome-db-dbms-update-viewer.png \
widget-gnomedb-gnome-db-dsn-assistant.png \
widget-gnomedb-gnome-db-dsn-editor.png \
- widget-gnomedb-gnome-db-dsn-spec.png \
+ widget-gnomedb-gnome-db-provider-spec-editor.png \
widget-gnomedb-gnome-db-editor.png \
widget-gnomedb-gnome-db-entry-string.png \
widget-gnomedb-gnome-db-entry-boolean.png \
Modified: trunk/data/Makefile.am
==============================================================================
--- trunk/data/Makefile.am (original)
+++ trunk/data/Makefile.am Wed May 14 19:54:09 2008
@@ -86,4 +86,4 @@
import_encodings.xml \
server_operation.glade
-CLEANFILES = libgnomedb.keys
+CLEANFILES = libgnomedb.keys libgnomedb-4.0.schemas
Added: trunk/doc/C/images/gnome-db-provider-spec-editor.png
==============================================================================
Binary files (empty file) and trunk/doc/C/images/gnome-db-provider-spec-editor.png Wed May 14 19:54:09 2008 differ
Modified: trunk/doc/C/libgnomedb-4.0-docs.sgml
==============================================================================
--- trunk/doc/C/libgnomedb-4.0-docs.sgml (original)
+++ trunk/doc/C/libgnomedb-4.0-docs.sgml Wed May 14 19:54:09 2008
@@ -8,9 +8,9 @@
<!ENTITY libgnomedb-init SYSTEM "xml/libgnomedb.xml">
<!ENTITY libgnomedb-combo SYSTEM "xml/gnome-db-combo.xml">
<!ENTITY libgnomedb-connection-properties SYSTEM "xml/gnome-db-connection-properties.xml">
-<!ENTITY libgnomedb-data-source-selector SYSTEM "xml/gnome-db-data-source-selector.xml">
+<!ENTITY libgnomedb-data-source-selector SYSTEM "xml/gnome-db-dsn-selector.xml">
<!ENTITY libgnomedb-dsn-assistant SYSTEM "xml/gnome-db-dsn-assistant.xml">
-<!ENTITY libgnomedb-dsn-spec SYSTEM "xml/gnome-db-dsn-spec.xml">
+<!ENTITY libgnomedb-dsn-spec SYSTEM "xml/gnome-db-provider-spec-editor.xml">
<!ENTITY libgnomedb-dsn-editor SYSTEM "xml/gnome-db-dsn-editor.xml">
<!ENTITY libgnomedb-editor SYSTEM "xml/gnome-db-editor.xml">
<!ENTITY libgnomedb-error-dialog SYSTEM "xml/gnome-db-error-dialog.xml">
Modified: trunk/doc/C/libgnomedb-4.0-sections.txt
==============================================================================
--- trunk/doc/C/libgnomedb-4.0-sections.txt (original)
+++ trunk/doc/C/libgnomedb-4.0-sections.txt Wed May 14 19:54:09 2008
@@ -214,21 +214,21 @@
</SECTION>
<SECTION>
-<FILE>gnome-db-data-source-selector</FILE>
-<TITLE>GnomeDbDataSourceSelector</TITLE>
-GnomeDbDataSourceSelector
-GnomeDbDataSourceSelectorClass
-GnomeDbDataSourceSelectorPrivate
-gnome_db_data_source_selector_new
-gnome_db_data_source_selector_get_dsn
-gnome_db_data_source_selector_set_dsn
-<SUBSECTION Standard>
-GNOME_DB_DATA_SOURCE_SELECTOR
-GNOME_DB_DATA_SOURCE_SELECTOR_CLASS
-GNOME_DB_IS_DATA_SOURCE_SELECTOR
-GNOME_DB_IS_DATA_SOURCE_SELECTOR_CLASS
-GNOME_DB_TYPE_DATA_SOURCE_SELECTOR
-gnome_db_data_source_selector_get_type
+<FILE>gnome-db-dsn-selector</FILE>
+<TITLE>GnomeDbDsnSelector</TITLE>
+GnomeDbDsnSelector
+GnomeDbDsnSelectorClass
+GnomeDbDsnSelectorPrivate
+gnome_db_dsn_selector_new
+gnome_db_dsn_selector_get_dsn
+gnome_db_dsn_selector_set_dsn
+<SUBSECTION Standard>
+GNOME_DB_DSN_SELECTOR
+GNOME_DB_DSN_SELECTOR_CLASS
+GNOME_DB_IS_DSN_SELECTOR
+GNOME_DB_IS_DSN_SELECTOR_CLASS
+GNOME_DB_TYPE_DSN_SELECTOR
+gnome_db_dsn_selector_get_type
</SECTION>
<SECTION>
@@ -267,23 +267,23 @@
</SECTION>
<SECTION>
-<FILE>gnome-db-dsn-spec</FILE>
-<TITLE>GnomeDbDsnSpec</TITLE>
-GnomeDbDsnSpec
-GnomeDbDsnSpecClass
-GnomeDbDsnSpecPrivate
-gnome_db_dsn_spec_new
-gnome_db_dsn_spec_set_provider
-gnome_db_dsn_spec_is_valid
-gnome_db_dsn_spec_get_specs
-gnome_db_dsn_spec_set_specs
-<SUBSECTION Standard>
-GNOME_DB_DSN_SPEC
-GNOME_DB_DSN_SPEC_CLASS
-GNOME_DB_IS_DSN_SPEC
-GNOME_DB_IS_DSN_SPEC_CLASS
-GNOME_DB_TYPE_DSN_SPEC
-gnome_db_dsn_spec_get_type
+<FILE>gnome-db-provider-spec-editor</FILE>
+<TITLE>GnomeDbProviderSpecEditor</TITLE>
+GnomeDbProviderSpecEditor
+GnomeDbProviderSpecEditorClass
+GnomeDbProviderSpecEditorPrivate
+gnome_db_provider_spec_editor_new
+gnome_db_provider_spec_editor_set_provider
+gnome_db_provider_spec_editor_is_valid
+gnome_db_provider_spec_editor_get_specs
+gnome_db_provider_spec_editor_set_specs
+<SUBSECTION Standard>
+GNOME_DB_PROVIDER_SPEC_EDITOR
+GNOME_DB_PROVIDER_SPEC_EDITOR_CLASS
+GNOME_DB_IS_PROVIDER_SPEC_EDITOR
+GNOME_DB_IS_PROVIDER_SPEC_EDITOR_CLASS
+GNOME_DB_TYPE_PROVIDER_SPEC_EDITOR
+gnome_db_provider_spec_editor_get_type
</SECTION>
<SECTION>
Modified: trunk/doc/C/libgnomedb-4.0.types
==============================================================================
--- trunk/doc/C/libgnomedb-4.0.types (original)
+++ trunk/doc/C/libgnomedb-4.0.types Wed May 14 19:54:09 2008
@@ -8,12 +8,12 @@
gnome_db_data_cell_renderer_info_get_type
gnome_db_data_cell_renderer_textual_get_type
gnome_db_data_entry_get_type
-gnome_db_data_source_selector_get_type
+gnome_db_dsn_selector_get_type
gnome_db_data_store_get_type
gnome_db_data_widget_get_type
gnome_db_data_widget_info_get_type
gnome_db_dsn_editor_get_type
-gnome_db_dsn_spec_get_type
+gnome_db_provider_spec_editor_get_type
gnome_db_editor_get_type
gnome_db_entry_boolean_get_type
gnome_db_entry_cidr_get_type
Modified: trunk/doc/C/tmpl/gnome-db-data-source-selector.sgml
==============================================================================
--- trunk/doc/C/tmpl/gnome-db-data-source-selector.sgml (original)
+++ trunk/doc/C/tmpl/gnome-db-data-source-selector.sgml Wed May 14 19:54:09 2008
@@ -1,5 +1,5 @@
<!-- ##### SECTION Title ##### -->
-GnomeDbDataSourceSelector
+GnomeDbDsnSelector
<!-- ##### SECTION Short_Description ##### -->
A combo box style widget to select a data source
@@ -17,31 +17,31 @@
<!-- ##### SECTION Stability_Level ##### -->
-<!-- ##### STRUCT GnomeDbDataSourceSelector ##### -->
+<!-- ##### STRUCT GnomeDbDsnSelector ##### -->
<para>
</para>
-<!-- ##### ARG GnomeDbDataSourceSelector:source-name ##### -->
+<!-- ##### ARG GnomeDbDsnSelector:source-name ##### -->
<para>
</para>
-<!-- ##### STRUCT GnomeDbDataSourceSelectorClass ##### -->
+<!-- ##### STRUCT GnomeDbDsnSelectorClass ##### -->
<para>
</para>
@parent_class:
-<!-- ##### STRUCT GnomeDbDataSourceSelectorPrivate ##### -->
+<!-- ##### STRUCT GnomeDbDsnSelectorPrivate ##### -->
<para>
</para>
-<!-- ##### FUNCTION gnome_db_data_source_selector_new ##### -->
+<!-- ##### FUNCTION gnome_db_dsn_selector_new ##### -->
<para>
</para>
@@ -50,7 +50,7 @@
@Returns:
-<!-- ##### FUNCTION gnome_db_data_source_selector_get_dsn ##### -->
+<!-- ##### FUNCTION gnome_db_dsn_selector_get_dsn ##### -->
<para>
</para>
@@ -59,7 +59,7 @@
@Returns:
-<!-- ##### FUNCTION gnome_db_data_source_selector_set_dsn ##### -->
+<!-- ##### FUNCTION gnome_db_dsn_selector_set_dsn ##### -->
<para>
</para>
Copied: trunk/doc/C/tmpl/gnome-db-provider-editor.sgml (from r1722, /trunk/doc/C/tmpl/gnome-db-dsn-spec.sgml)
==============================================================================
--- /trunk/doc/C/tmpl/gnome-db-dsn-spec.sgml (original)
+++ trunk/doc/C/tmpl/gnome-db-provider-editor.sgml Wed May 14 19:54:09 2008
@@ -1,12 +1,12 @@
<!-- ##### SECTION Title ##### -->
-GnomeDbDsnSpec
+GnomeDbProviderSpecEditor
<!-- ##### SECTION Short_Description ##### -->
a form to enter information required to open a connection
<!-- ##### SECTION Long_Description ##### -->
<para>
-The #GnomeDbDsnSpec widget contains a form to display and edit
+The #GnomeDbProviderSpecEditor widget contains a form to display and edit
the information required by a provider to open a connection.
</para>
@@ -19,25 +19,25 @@
<!-- ##### SECTION Stability_Level ##### -->
-<!-- ##### STRUCT GnomeDbDsnSpec ##### -->
+<!-- ##### STRUCT GnomeDbProviderSpecEditor ##### -->
<para>
</para>
-<!-- ##### SIGNAL GnomeDbDsnSpec::changed ##### -->
+<!-- ##### SIGNAL GnomeDbProviderSpecEditor::changed ##### -->
<para>
</para>
@dbdsnspec: the object which received the signal.
-<!-- ##### ARG GnomeDbDsnSpec:provider ##### -->
+<!-- ##### ARG GnomeDbProviderSpecEditor:provider ##### -->
<para>
</para>
-<!-- ##### STRUCT GnomeDbDsnSpecClass ##### -->
+<!-- ##### STRUCT GnomeDbProviderSpecEditorClass ##### -->
<para>
</para>
@@ -45,13 +45,13 @@
@parent_class:
@changed:
-<!-- ##### STRUCT GnomeDbDsnSpecPrivate ##### -->
+<!-- ##### STRUCT GnomeDbProviderSpecEditorPrivate ##### -->
<para>
</para>
-<!-- ##### FUNCTION gnome_db_dsn_spec_new ##### -->
+<!-- ##### FUNCTION gnome_db_provider_spec_editor_new ##### -->
<para>
</para>
@@ -60,7 +60,7 @@
@Returns:
-<!-- ##### FUNCTION gnome_db_dsn_spec_set_provider ##### -->
+<!-- ##### FUNCTION gnome_db_provider_spec_editor_set_provider ##### -->
<para>
</para>
@@ -69,7 +69,7 @@
@provider:
-<!-- ##### FUNCTION gnome_db_dsn_spec_is_valid ##### -->
+<!-- ##### FUNCTION gnome_db_provider_spec_editor_is_valid ##### -->
<para>
</para>
@@ -78,7 +78,7 @@
@Returns:
-<!-- ##### FUNCTION gnome_db_dsn_spec_get_specs ##### -->
+<!-- ##### FUNCTION gnome_db_provider_spec_editor_get_specs ##### -->
<para>
</para>
@@ -87,7 +87,7 @@
@Returns:
-<!-- ##### FUNCTION gnome_db_dsn_spec_set_specs ##### -->
+<!-- ##### FUNCTION gnome_db_provider_spec_editor_set_specs ##### -->
<para>
</para>
Modified: trunk/doc/C/tmpl/gnome-db-provider-selector.sgml
==============================================================================
--- trunk/doc/C/tmpl/gnome-db-provider-selector.sgml (original)
+++ trunk/doc/C/tmpl/gnome-db-provider-selector.sgml Wed May 14 19:54:09 2008
@@ -44,31 +44,3 @@
@Returns:
-<!-- ##### FUNCTION gnome_db_provider_selector_get_selected_provider ##### -->
-<para>
-
-</para>
-
- selector:
- Returns:
-
-
-<!-- ##### FUNCTION gnome_db_provider_selector_get_selected_provider_obj ##### -->
-<para>
-
-</para>
-
- selector:
- Returns:
-
-
-<!-- ##### FUNCTION gnome_db_provider_selector_set_selected_provider ##### -->
-<para>
-
-</para>
-
- selector:
- provider:
- Returns:
-
-
Modified: trunk/extra/demos/ddl_queries.c
==============================================================================
--- trunk/extra/demos/ddl_queries.c (original)
+++ trunk/extra/demos/ddl_queries.c Wed May 14 19:54:09 2008
@@ -88,7 +88,7 @@
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, 0, 0, 0);
wid = gnome_db_provider_selector_new ();
- gnome_db_provider_selector_set_selected_provider (GNOME_DB_PROVIDER_SELECTOR (wid),
+ gnome_db_provider_selector_set_provider (GNOME_DB_PROVIDER_SELECTOR (wid),
"SQLite");
gtk_table_attach (GTK_TABLE (table), wid, 1, 2, 1, 2, GTK_EXPAND | GTK_FILL, 0, 0, 0);
data->prov_sel = GNOME_DB_PROVIDER_SELECTOR (wid);
@@ -208,7 +208,7 @@
prov = data->prov;
else {
/* create the GdaServerProvider object */
- data->prov = gnome_db_provider_selector_get_selected_provider_obj (data->prov_sel);
+ data->prov = gnome_db_provider_selector_get_provider_obj (data->prov_sel);
prov = data->prov;
}
Modified: trunk/glade/glade-gnomedb.c
==============================================================================
--- trunk/glade/glade-gnomedb.c (original)
+++ trunk/glade/glade-gnomedb.c Wed May 14 19:54:09 2008
@@ -58,7 +58,7 @@
glade_register_widget (GNOME_DB_TYPE_CONNECTION_PROPERTIES,
glade_standard_build_widget,
NULL, NULL);
- glade_register_widget (GNOME_DB_TYPE_DATA_SOURCE_SELECTOR,
+ glade_register_widget (GNOME_DB_TYPE_DSN_SELECTOR,
glade_standard_build_widget,
NULL, NULL);
#ifdef HAVE_GTKTWOTEN
Modified: trunk/glade3/gnomedb.xml.in
==============================================================================
--- trunk/glade3/gnomedb.xml.in (original)
+++ trunk/glade3/gnomedb.xml.in Wed May 14 19:54:09 2008
@@ -37,7 +37,7 @@
<glade-widget-class name="GnomeDbDataImport" generic-name="gnome-db-data-import" title="Data Import" />
- <glade-widget-class name="GnomeDbDataSourceSelector" generic-name="gnome-db-data-source-selector" title="DSN selector">
+ <glade-widget-class name="GnomeDbDsnSelector" generic-name="gnome-db-dsn-selector" title="DSN selector">
<properties>
<property id="layout_spec" ignore = "True" />
<property id="items" disabled = "True" />
@@ -59,7 +59,7 @@
</properties>
</glade-widget-class>
- <glade-widget-class name="GnomeDbDsnSpec" generic-name="gnome-db-dsn-spec" title="Connection specifics editor">
+ <glade-widget-class name="GnomeDbProviderSpecEditor" generic-name="gnome-db-provider-spec-editor" title="Connection specifics editor">
<properties>
<property id="size" disabled = "True" />
</properties>
@@ -275,7 +275,7 @@
<glade-widget-class-ref name="GnomeDbConnectionProperties"/>
<glade-widget-class-ref name="GnomeDbDsnAssistant"/>
<glade-widget-class-ref name="GnomeDbDsnEditor"/>
- <glade-widget-class-ref name="GnomeDbDsnSpec"/>
+ <glade-widget-class-ref name="GnomeDbProviderSpecEditor"/>
<glade-widget-class-ref name="GnomeDbErrorDialog"/>
<glade-widget-class-ref name="GnomeDbError"/>
<glade-widget-class-ref name="GnomeDbReportEditor"/>
Modified: trunk/libgnomedb-extra/data/Makefile.am
==============================================================================
--- trunk/libgnomedb-extra/data/Makefile.am (original)
+++ trunk/libgnomedb-extra/data/Makefile.am Wed May 14 19:54:09 2008
@@ -30,3 +30,6 @@
UniqueConstraint.png \
View.png \
Views.png
+
+EXTRA_DIST = \
+ $(pixmap_DATA)
Modified: trunk/libgnomedb-graph/Makefile.am
==============================================================================
--- trunk/libgnomedb-graph/Makefile.am (original)
+++ trunk/libgnomedb-graph/Makefile.am Wed May 14 19:54:09 2008
@@ -20,6 +20,7 @@
libgnomedb_graph_headers = \
$(global_header) \
gnome-db-canvas.h \
+ gnome-db-canvas-decl.h \
gnome-db-canvas-cursor.h \
gnome-db-canvas-db-relations.h \
gnome-db-canvas-table.h \
Modified: trunk/libgnomedb/Makefile.am
==============================================================================
--- trunk/libgnomedb/Makefile.am (original)
+++ trunk/libgnomedb/Makefile.am Wed May 14 19:54:09 2008
@@ -30,14 +30,15 @@
gnome-db-connection-properties.h \
gnome-db-data-entry.h \
gnome-db-data-import.h \
- gnome-db-data-source-selector.h \
+ gnome-db-dsn-selector.h \
gnome-db-data-store.h \
gnome-db-data-widget.h \
gnome-db-data-widget-info.h \
gnome-db-data-widget-filter.h \
gnome-db-decl.h \
gnome-db-dsn-editor.h \
- gnome-db-dsn-spec.h \
+ gnome-db-provider-auth-editor.h \
+ gnome-db-provider-spec-editor.h \
gnome-db-enum-types.h \
gnome-db-enums.h \
gnome-db-find-dialog.h \
@@ -73,13 +74,14 @@
gnome-db-connection-properties.c \
gnome-db-data-entry.c \
gnome-db-data-import.c \
- gnome-db-data-source-selector.c \
+ gnome-db-dsn-selector.c \
gnome-db-data-store.c \
gnome-db-data-widget.c \
gnome-db-data-widget-info.c \
gnome-db-data-widget-filter.c \
gnome-db-dsn-editor.c \
- gnome-db-dsn-spec.c \
+ gnome-db-provider-auth-editor.c \
+ gnome-db-provider-spec-editor.c \
gnome-db-find-dialog.c \
gnome-db-form.c \
gnome-db-grid.c \
Modified: trunk/libgnomedb/data-entries/gnome-db-entry-combo.c
==============================================================================
--- trunk/libgnomedb/data-entries/gnome-db-entry-combo.c (original)
+++ trunk/libgnomedb/data-entries/gnome-db-entry-combo.c Wed May 14 19:54:09 2008
@@ -566,7 +566,7 @@
g_return_val_if_fail (combo && GNOME_DB_IS_ENTRY_COMBO (combo), NULL);
g_return_val_if_fail (combo->priv, NULL);
- return gnome_db_combo_get_values_ext (combo->priv->combo_entry, 0, NULL);
+ return gnome_db_combo_get_values_ext (GNOME_DB_COMBO (combo->priv->combo_entry), 0, NULL);
}
/**
Modified: trunk/libgnomedb/gnome-db-connection-properties.c
==============================================================================
--- trunk/libgnomedb/gnome-db-connection-properties.c (original)
+++ trunk/libgnomedb/gnome-db-connection-properties.c Wed May 14 19:54:09 2008
@@ -22,8 +22,10 @@
#include <glib/gi18n-lib.h>
#include <gtk/gtk.h>
+#include <libgda/libgda.h>
#include <libgnomedb/gnome-db-util.h>
#include <libgnomedb/gnome-db-grid.h>
+#include <libgnomedb/gnome-db-transaction-status.h>
#include "gnome-db-connection-properties.h"
#define PARENT_TYPE GTK_TYPE_VBOX
@@ -32,10 +34,12 @@
GdaConnection *cnc;
/* widgets */
- GtkWidget *connection_name;
- GtkWidget *connection_string;
- GtkWidget *connection_provider;
- GtkWidget *connection_username;
+ GtkWidget *cnc_name;
+ GtkWidget *cnc_string;
+ GtkWidget *cnc_provider;
+ GtkWidget *cnc_username;
+ GtkWidget *cnc_status;
+ GtkWidget *cnc_trans;
GtkWidget *feature_list;
};
@@ -61,24 +65,52 @@
static GObjectClass *parent_class = NULL;
-/*
- * Private functions
- */
static void
refresh_widget (GnomeDbConnectionProperties *props)
{
+ const gchar *cstr;
+ GdaQuarkList* ql;
+
g_return_if_fail (GNOME_DB_IS_CONNECTION_PROPERTIES (props));
- gtk_entry_set_text (GTK_ENTRY (props->priv->connection_name),
- gda_connection_get_dsn (props->priv->cnc));
- gtk_entry_set_text (GTK_ENTRY (props->priv->connection_string),
- gda_connection_get_cnc_string (props->priv->cnc));
- gtk_entry_set_text (GTK_ENTRY (props->priv->connection_provider),
- gda_connection_get_provider_name (props->priv->cnc));
- TO_IMPLEMENT;
- /*gtk_entry_set_text (GTK_ENTRY (props->priv->connection_username),
- gda_connection_get_username (props->priv->cnc));*/
+ if (props->priv->cnc) {
+ cstr = gda_connection_get_dsn (props->priv->cnc);
+ gtk_label_set_text (GTK_LABEL (props->priv->cnc_name), cstr ? cstr : "");
+ cstr = gda_connection_get_cnc_string (props->priv->cnc);
+ gtk_label_set_text (GTK_LABEL (props->priv->cnc_string), cstr ? cstr : "");
+ cstr = gda_connection_get_provider_name (props->priv->cnc);
+ gtk_label_set_text (GTK_LABEL (props->priv->cnc_provider), cstr ? cstr : "");
+
+ gtk_label_set_text (GTK_LABEL (props->priv->cnc_status),
+ gda_connection_is_opened (props->priv->cnc) ? _("Opened"): _("Closed"));
+
+ /* only get USERNAME from the the authentication string */
+ cstr = gda_connection_get_authentication (props->priv->cnc);
+ ql = gda_quark_list_new_from_string (cstr);
+ cstr = gda_quark_list_find (ql, "USERNAME");
+ gtk_label_set_text (GTK_LABEL (props->priv->cnc_username), cstr ? cstr : "");
+ gda_quark_list_free (ql);
+ }
+ else {
+ gtk_label_set_markup (GTK_LABEL (props->priv->cnc_name), "");
+ gtk_label_set_text (GTK_LABEL (props->priv->cnc_string), "");
+ gtk_label_set_text (GTK_LABEL (props->priv->cnc_provider), "");
+ gtk_label_set_text (GTK_LABEL (props->priv->cnc_status), "");
+ gtk_label_set_text (GTK_LABEL (props->priv->cnc_username), "");
+ }
+}
+
+static void
+cnc_status_changed_cb (GdaConnection *cnc, GnomeDbConnectionProperties *props)
+{
+ refresh_widget (props);
+}
+
+static void
+cnc_error_cb (GdaConnection *cnc, GdaConnectionEvent *event, GnomeDbConnectionProperties *props)
+{
+ refresh_widget (props);
}
/*
@@ -98,8 +130,47 @@
g_object_class_install_property (object_class, PROP_CNC,
g_param_spec_object("connection", NULL, NULL,
- GDA_TYPE_CONNECTION,
- G_PARAM_READWRITE));
+ GDA_TYPE_CONNECTION, G_PARAM_READWRITE));
+}
+
+static const gchar *
+get_feature_name (GdaConnectionFeature f)
+{
+ switch (f) {
+ case GDA_CONNECTION_FEATURE_AGGREGATES:
+ return _("Aggregates");
+ case GDA_CONNECTION_FEATURE_BLOBS:
+ return _("Blobs");
+ case GDA_CONNECTION_FEATURE_INDEXES:
+ return _("Indexes");
+ case GDA_CONNECTION_FEATURE_INHERITANCE:
+ return _("Inheritance");
+ case GDA_CONNECTION_FEATURE_NAMESPACES:
+ return _("Namespaces");
+ case GDA_CONNECTION_FEATURE_PROCEDURES:
+ return _("Procedures");
+ case GDA_CONNECTION_FEATURE_SEQUENCES:
+ return _("Sequences");
+ case GDA_CONNECTION_FEATURE_SQL:
+ return _("SQL");
+ case GDA_CONNECTION_FEATURE_TRANSACTIONS:
+ return _("Transactions");
+ case GDA_CONNECTION_FEATURE_SAVEPOINTS:
+ return _("Savepoints");
+ case GDA_CONNECTION_FEATURE_SAVEPOINTS_REMOVE:
+ return _("Savepoint removal");
+ case GDA_CONNECTION_FEATURE_TRIGGERS:
+ return _("Triggers");
+ case GDA_CONNECTION_FEATURE_UPDATABLE_CURSOR:
+ return _("Updatable cursors");
+ case GDA_CONNECTION_FEATURE_USERS:
+ return _("Users definition");
+ case GDA_CONNECTION_FEATURE_VIEWS:
+ return _("Views");
+ default:
+ g_warning ("Unknown GdaConnectionFeature %d", f);
+ return "Unknown feature";
+ }
}
static void
@@ -132,52 +203,116 @@
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
gtk_widget_show (label);
- table = gnome_db_new_table_widget (6, 3, FALSE);
+ table = gtk_table_new (6, 2, FALSE);
gtk_box_pack_start (GTK_BOX (hbox), table, TRUE, TRUE, 0);
- label = gnome_db_new_label_widget (_("Data source name"));
+ label = gtk_label_new (_("Data source name:"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0., -1);
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 2, 2);
- props->priv->connection_name = gnome_db_new_entry_widget (0, FALSE);
- gtk_table_attach (GTK_TABLE (table), props->priv->connection_name,
+ props->priv->cnc_name = gtk_label_new ("");
+ gtk_misc_set_alignment (GTK_MISC (props->priv->cnc_name), 0., -1);
+ gtk_label_set_selectable (GTK_LABEL (props->priv->cnc_name), TRUE);
+ gtk_table_attach (GTK_TABLE (table), props->priv->cnc_name,
1, 2, 0, 1, GTK_FILL, GTK_FILL, 2, 2);
- label = gnome_db_new_label_widget (_("Connection string"));
+ label = gtk_label_new (_("Connection string:"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0., -1);
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 2, 2);
- props->priv->connection_string = gnome_db_new_entry_widget (0, FALSE);
- gtk_table_attach (GTK_TABLE (table), props->priv->connection_string,
+ props->priv->cnc_string = gtk_label_new ("");
+ gtk_misc_set_alignment (GTK_MISC (props->priv->cnc_string), 0., -1);
+ gtk_label_set_line_wrap (GTK_LABEL (props->priv->cnc_string), TRUE);
+ gtk_label_set_selectable (GTK_LABEL (props->priv->cnc_string), TRUE);
+ gtk_table_attach (GTK_TABLE (table), props->priv->cnc_string,
1, 2, 1, 2, GTK_FILL, GTK_FILL, 2, 2);
- label = gnome_db_new_label_widget (_("Provider"));
+ label = gtk_label_new (_("Provider:"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0., -1);
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 2, 3, GTK_FILL, GTK_FILL, 2, 2);
- props->priv->connection_provider = gnome_db_new_entry_widget (0, FALSE);
- gtk_table_attach (GTK_TABLE (table), props->priv->connection_provider,
+ props->priv->cnc_provider = gtk_label_new ("");
+ gtk_misc_set_alignment (GTK_MISC (props->priv->cnc_provider), 0., -1);
+ gtk_label_set_selectable (GTK_LABEL (props->priv->cnc_provider), TRUE);
+ gtk_table_attach (GTK_TABLE (table), props->priv->cnc_provider,
1, 2, 2, 3, GTK_FILL, GTK_FILL, 2, 2);
- label = gnome_db_new_label_widget (_("User name"));
+ label = gtk_label_new (_("User name:"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0., -1);
gtk_table_attach (GTK_TABLE (table), label, 0, 1, 3, 4, GTK_FILL, GTK_FILL, 2, 2);
- props->priv->connection_username = gnome_db_new_entry_widget (0, FALSE);
- gtk_table_attach (GTK_TABLE (table), props->priv->connection_username,
+ props->priv->cnc_username = gtk_label_new ("");
+ gtk_misc_set_alignment (GTK_MISC (props->priv->cnc_username), 0., -1);
+ gtk_label_set_selectable (GTK_LABEL (props->priv->cnc_username), TRUE);
+ gtk_table_attach (GTK_TABLE (table), props->priv->cnc_username,
1, 2, 3, 4, GTK_FILL, GTK_FILL, 2, 2);
+ label = gtk_label_new (_("Status:"));
+ gtk_misc_set_alignment (GTK_MISC (label), 0., -1);
+ gtk_table_attach (GTK_TABLE (table), label, 0, 1, 4, 5, GTK_FILL, GTK_FILL, 2, 2);
+ props->priv->cnc_status = gtk_label_new ("");
+ gtk_misc_set_alignment (GTK_MISC (props->priv->cnc_status), 0., -1);
+ gtk_label_set_selectable (GTK_LABEL (props->priv->cnc_status), TRUE);
+ gtk_table_attach (GTK_TABLE (table), props->priv->cnc_status,
+ 1, 2, 4, 5, GTK_FILL, GTK_FILL, 2, 2);
+
/* create feature list */
+ GtkWidget *exp;
+
+ exp = gtk_expander_new ("");
str = g_strdup_printf ("<b>%s:</b>", _("Features"));
label = gtk_label_new ("");
gtk_label_set_markup (GTK_LABEL (label), str);
gtk_misc_set_alignment (GTK_MISC (label), 0., -1);
g_free (str);
- gtk_box_pack_start (GTK_BOX (props), label, FALSE, TRUE, 2);
+ gtk_expander_set_label_widget (GTK_EXPANDER (exp), label);
+
+ gtk_box_pack_start (GTK_BOX (props), exp, FALSE, FALSE, 2);
hbox = gtk_hbox_new (FALSE, 0); /* HIG */
- gtk_box_pack_start (GTK_BOX (props), hbox, FALSE, FALSE, 0);
+ gtk_container_add (GTK_CONTAINER (exp), hbox);
gtk_widget_show (hbox);
label = gtk_label_new (" ");
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
gtk_widget_show (label);
- /* props->priv->feature_list = gnome_db_new_grid_widget (NULL); */
- /* gnome_db_grid_set_show_title (GNOME_DB_GRID (props->priv->feature_list), FALSE); */
- props->priv->feature_list = gtk_label_new ("Not yet implemented");
- gtk_box_pack_start (GTK_BOX (hbox), props->priv->feature_list, TRUE, TRUE, 0);
+ GdaConnectionFeature f;
+ props->priv->feature_list = gtk_table_new (GDA_CONNECTION_FEATURE_LAST, 2, FALSE);
+ gtk_table_set_row_spacings (GTK_TABLE (props->priv->feature_list), 6);
+ gtk_table_set_col_spacings (GTK_TABLE (props->priv->feature_list), 6);
+ for (f = 0; f < GDA_CONNECTION_FEATURE_LAST; f++) {
+ gchar *str;
+ label = gtk_label_new (get_feature_name (f));
+ gtk_misc_set_alignment (GTK_MISC (label), 0., -1);
+ gtk_table_attach (GTK_TABLE (props->priv->feature_list), label, 0, 1, f, f+1, GTK_FILL, GTK_FILL, 0, 0);
+ label = gtk_label_new ("");
+ gtk_misc_set_alignment (GTK_MISC (label), 0., -1);
+ gtk_table_attach (GTK_TABLE (props->priv->feature_list), label, 1, 2, f, f+1, GTK_FILL, GTK_FILL, 0, 0);
+ str = g_strdup_printf ("_f%d", f);
+ g_object_set_data (G_OBJECT (props->priv->feature_list), str, label);
+ g_free (str);
+ }
+ gtk_box_pack_start (GTK_BOX (hbox), props->priv->feature_list, TRUE, TRUE, 0);
+
+ /* transaction status */
+ exp = gtk_expander_new ("");
+ str = g_strdup_printf ("<b>%s:</b>", _("Transaction status"));
+ label = gtk_label_new ("");
+ gtk_label_set_markup (GTK_LABEL (label), str);
+ gtk_misc_set_alignment (GTK_MISC (label), 0., -1);
+ g_free (str);
+ gtk_expander_set_label_widget (GTK_EXPANDER (exp), label);
+
+ gtk_box_pack_start (GTK_BOX (props), exp, FALSE, FALSE, 2);
+
+ hbox = gtk_hbox_new (FALSE, 0); /* HIG */
+ gtk_container_add (GTK_CONTAINER (exp), hbox);
+ gtk_widget_show (hbox);
+ label = gtk_label_new (" ");
+ gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
+ gtk_widget_show (label);
+
+ props->priv->cnc_trans = gnome_db_transaction_status_new (NULL);
+ gtk_box_pack_start (GTK_BOX (hbox), props->priv->cnc_trans, TRUE, TRUE, 0);
+
+ gtk_widget_show_all ((GtkWidget*) props);
+ gtk_widget_hide ((GtkWidget*) props);
}
static void
@@ -189,6 +324,10 @@
/* free memory */
if (GDA_IS_CONNECTION (props->priv->cnc)) {
+ g_signal_handlers_disconnect_by_func (props->priv->cnc,
+ G_CALLBACK (cnc_status_changed_cb), props);
+ g_signal_handlers_disconnect_by_func (props->priv->cnc,
+ G_CALLBACK (cnc_error_cb), props);
g_object_unref (G_OBJECT (props->priv->cnc));
props->priv->cnc = NULL;
}
@@ -200,10 +339,11 @@
parent_class->finalize (object);
}
-static void gnome_db_connection_properties_set_property (GObject *object,
- guint param_id,
- const GValue *value,
- GParamSpec *pspec)
+static void
+gnome_db_connection_properties_set_property (GObject *object,
+ guint param_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
GnomeDbConnectionProperties *properties;
GdaConnection *cnc;
@@ -213,16 +353,17 @@
switch (param_id)
{
case PROP_CNC:
- cnc = GDA_CONNECTION (g_value_get_object (value));
+ cnc = (GdaConnection*) g_value_get_object (value);
gnome_db_connection_properties_set_connection (properties, cnc);
break;
}
}
-static void gnome_db_connection_properties_get_property (GObject* object,
- guint param_id,
- GValue *value,
- GParamSpec *pspec)
+static void
+gnome_db_connection_properties_get_property (GObject* object,
+ guint param_id,
+ GValue *value,
+ GParamSpec *pspec)
{
GnomeDbConnectionProperties *properties;
@@ -299,19 +440,48 @@
*
*/
void
-gnome_db_connection_properties_set_connection (GnomeDbConnectionProperties *props,
- GdaConnection *cnc)
+gnome_db_connection_properties_set_connection (GnomeDbConnectionProperties *props, GdaConnection *cnc)
{
+ GdaConnectionFeature f;
+
g_return_if_fail (GNOME_DB_IS_CONNECTION_PROPERTIES (props));
+ g_return_if_fail (!cnc || GDA_IS_CONNECTION (cnc));
- if (GDA_IS_CONNECTION (props->priv->cnc))
+ if (GDA_IS_CONNECTION (props->priv->cnc)) {
+ g_signal_handlers_disconnect_by_func (props->priv->cnc,
+ G_CALLBACK (cnc_status_changed_cb), props);
+ g_signal_handlers_disconnect_by_func (props->priv->cnc,
+ G_CALLBACK (cnc_error_cb), props);
g_object_unref (G_OBJECT (props->priv->cnc));
+ }
props->priv->cnc = cnc;
- if (GDA_IS_CONNECTION (props->priv->cnc)) {
+ for (f = 0; f < GDA_CONNECTION_FEATURE_LAST; f++) {
+ gchar *str;
+ GtkWidget *label;
+ str = g_strdup_printf ("_f%d", f);
+ label = g_object_get_data (G_OBJECT (props->priv->feature_list), str);
+ g_free (str);
+ if (cnc && gda_connection_supports_feature (cnc, f))
+ gtk_label_set_text (GTK_LABEL (label), _("Yes"));
+ else
+ gtk_label_set_text (GTK_LABEL (label), _("No"));
+ }
+
+ if (props->priv->cnc) {
g_object_ref (G_OBJECT (props->priv->cnc));
refresh_widget (props);
+ g_signal_connect (G_OBJECT (props->priv->cnc), "conn-closed",
+ G_CALLBACK (cnc_status_changed_cb), props);
+ g_signal_connect (G_OBJECT (props->priv->cnc), "conn-opened",
+ G_CALLBACK (cnc_status_changed_cb), props);
+ g_signal_connect (G_OBJECT (props->priv->cnc), "dsn-changed",
+ G_CALLBACK (cnc_status_changed_cb), props);
+ g_signal_connect (G_OBJECT (props->priv->cnc), "error",
+ G_CALLBACK (cnc_error_cb), props);
}
+ g_object_set (G_OBJECT (props->priv->cnc_trans), "connection", props->priv->cnc, NULL);
+
g_object_notify (G_OBJECT (props), "connection");
}
Modified: trunk/libgnomedb/gnome-db-connection-properties.h
==============================================================================
--- trunk/libgnomedb/gnome-db-connection-properties.h (original)
+++ trunk/libgnomedb/gnome-db-connection-properties.h Wed May 14 19:54:09 2008
@@ -1,5 +1,5 @@
/* GNOME DB library
- * Copyright (C) 1999-2002 The GNOME Foundation.
+ * Copyright (C) 1999 - 2008 The GNOME Foundation.
*
* AUTHORS:
* Rodrigo Moya <rodrigo gnome-db org>
@@ -47,8 +47,8 @@
GtkVBoxClass parent_class;
};
-GType gnome_db_connection_properties_get_type (void) G_GNUC_CONST;
-GtkWidget *gnome_db_connection_properties_new (GdaConnection *cnc);
+GType gnome_db_connection_properties_get_type (void) G_GNUC_CONST;
+GtkWidget *gnome_db_connection_properties_new (GdaConnection *cnc);
GdaConnection *gnome_db_connection_properties_get_connection (GnomeDbConnectionProperties *props);
void gnome_db_connection_properties_set_connection (GnomeDbConnectionProperties *props,
GdaConnection *cnc);
Modified: trunk/libgnomedb/gnome-db-dsn-assistant.c
==============================================================================
--- trunk/libgnomedb/gnome-db-dsn-assistant.c (original)
+++ trunk/libgnomedb/gnome-db-dsn-assistant.c Wed May 14 19:54:09 2008
@@ -27,7 +27,8 @@
#include <libgda/gda-holder.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <libgnomedb/gnome-db-dsn-assistant.h>
-#include <libgnomedb/gnome-db-dsn-spec.h>
+#include <libgnomedb/gnome-db-provider-spec-editor.h>
+#include <libgnomedb/gnome-db-provider-auth-editor.h>
#include <libgnomedb/gnome-db-provider-selector.h>
#include <libgnomedb/gnome-db-util.h>
#include <libgnomedb/gnome-db-server-operation.h>
@@ -43,7 +44,8 @@
PAGE_OPT_CREATE_DB = 2,
PAGE_CREATE_DB_INFO = 3,
PAGE_CONNECT_INFO = 4,
- PAGE_LAST = 5
+ PAGE_AUTH_INFO = 5,
+ PAGE_LAST = 6
};
struct _GnomeDbDsnAssistantPrivate {
@@ -57,8 +59,6 @@
GtkWidget *general_name;
GtkWidget *general_provider;
GtkWidget *general_description;
- GtkWidget *general_username;
- GtkWidget *general_password;
GtkWidget *general_is_system;
GtkWidget *choose_toggle;
@@ -69,6 +69,10 @@
GtkWidget *cnc_params_page;
GtkWidget *provider_container;
GtkWidget *provider_detail;
+
+ GtkWidget *cnc_auth_page;
+ GtkWidget *auth_container;
+ GtkWidget *auth_detail;
};
static void gnome_db_dsn_assistant_class_init (GnomeDbDsnAssistantClass *klass);
@@ -146,7 +150,7 @@
}
/* make the connection string for the data source */
- prov_info = gda_config_get_provider_info (gnome_db_provider_selector_get_selected_provider
+ prov_info = gda_config_get_provider_info (gnome_db_provider_selector_get_provider
(GNOME_DB_PROVIDER_SELECTOR (assistant->priv->general_provider)));
g_return_if_fail (prov_info);
for (dsn_params = prov_info->dsn_params->holders; dsn_params; dsn_params = dsn_params->next) {
@@ -181,15 +185,15 @@
assistant->priv->dsn_info = g_new0 (GdaDataSourceInfo, 1);
assistant->priv->dsn_info->name = g_strdup (gtk_entry_get_text (GTK_ENTRY (assistant->priv->general_name)));
assistant->priv->dsn_info->provider = g_strdup (
- gnome_db_provider_selector_get_selected_provider (
+ gnome_db_provider_selector_get_provider (
GNOME_DB_PROVIDER_SELECTOR (assistant->priv->general_provider)));
if (cnc_string) {
assistant->priv->dsn_info->cnc_string = cnc_string->str;
g_string_free (cnc_string, FALSE);
}
else
- assistant->priv->dsn_info->cnc_string = gnome_db_dsn_spec_get_specs
- (GNOME_DB_DSN_SPEC (assistant->priv->provider_detail));
+ assistant->priv->dsn_info->cnc_string = gnome_db_provider_spec_editor_get_specs
+ (GNOME_DB_PROVIDER_SPEC_EDITOR (assistant->priv->provider_detail));
assistant->priv->dsn_info->description =
g_strdup (gtk_entry_get_text (GTK_ENTRY (assistant->priv->general_description)));
assistant->priv->dsn_info->auth_string = NULL; TO_IMPLEMENT;
@@ -209,7 +213,7 @@
{
if (! assistant->priv->create_db_op)
assistant->priv->create_db_op =
- gda_prepare_create_database (gnome_db_provider_selector_get_selected_provider (
+ gda_prepare_create_database (gnome_db_provider_selector_get_provider (
GNOME_DB_PROVIDER_SELECTOR (assistant->priv->general_provider)),
NULL, NULL);
@@ -217,11 +221,19 @@
}
static void
-dsn_spec_changed_cb (GnomeDbDsnSpec *spec, GnomeDbDsnAssistant *assistant)
+dsn_spec_changed_cb (GnomeDbProviderSpecEditor *spec, GnomeDbDsnAssistant *assistant)
{
gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant),
assistant->priv->cnc_params_page,
- gnome_db_dsn_spec_is_valid (spec));
+ gnome_db_provider_spec_editor_is_valid (spec));
+}
+
+static void
+dsn_auth_changed_cb (GnomeDbProviderAuthEditor *auth, GnomeDbDsnAssistant *assistant)
+{
+ gtk_assistant_set_page_complete (GTK_ASSISTANT (assistant),
+ assistant->priv->cnc_auth_page,
+ gnome_db_provider_auth_editor_is_valid (auth));
}
static void
@@ -244,7 +256,6 @@
/* is the database creation supported by the chosen provider? */
op = get_specs_database_creation (assistant);
if (op) {
- /*assistant->priv->newdb_params = gnome_db_server_operation_new (op);*/
assistant->priv->newdb_params = g_object_new (GNOME_DB_TYPE_SERVER_OPERATION,
"opt_header", TRUE, "server_operation", op, NULL);
gtk_widget_show (assistant->priv->newdb_params);
@@ -257,11 +268,10 @@
gtk_widget_set_sensitive (assistant->priv->choose_toggle, FALSE);
/* dsn spec for the selected provider */
- provider = gnome_db_provider_selector_get_selected_provider (
- GNOME_DB_PROVIDER_SELECTOR (assistant->priv->general_provider));
+ provider = gnome_db_provider_selector_get_provider (GNOME_DB_PROVIDER_SELECTOR (assistant->priv->general_provider));
g_assert (provider);
if (!assistant->priv->provider_detail) {
- assistant->priv->provider_detail = gnome_db_dsn_spec_new (provider);
+ assistant->priv->provider_detail = gnome_db_provider_spec_editor_new (provider);
gtk_box_pack_start (GTK_BOX (assistant->priv->provider_container),
assistant->priv->provider_detail, TRUE, TRUE, 0);
gtk_widget_show (assistant->priv->provider_detail);
@@ -269,7 +279,19 @@
G_CALLBACK (dsn_spec_changed_cb), assistant);
}
else
- gnome_db_dsn_spec_set_provider (GNOME_DB_DSN_SPEC (assistant->priv->provider_detail), provider);
+ gnome_db_provider_spec_editor_set_provider (GNOME_DB_PROVIDER_SPEC_EDITOR (assistant->priv->provider_detail), provider);
+
+ /* dsn authentication for the selected provider */
+ if (!assistant->priv->auth_detail) {
+ assistant->priv->auth_detail = gnome_db_provider_auth_editor_new (provider);
+ gtk_box_pack_start (GTK_BOX (assistant->priv->auth_container),
+ assistant->priv->auth_detail, TRUE, TRUE, 0);
+ gtk_widget_show (assistant->priv->auth_detail);
+ g_signal_connect (assistant->priv->auth_detail, "changed",
+ G_CALLBACK (dsn_auth_changed_cb), assistant);
+ }
+ else
+ gnome_db_provider_auth_editor_set_provider (GNOME_DB_PROVIDER_AUTH_EDITOR (assistant->priv->auth_detail), provider);
}
static void
@@ -349,7 +371,19 @@
return PAGE_CONNECT_INFO;
case PAGE_CREATE_DB_INFO:
return PAGE_LAST;
- case PAGE_CONNECT_INFO:
+ case PAGE_CONNECT_INFO: {
+ GdaProviderInfo *pinfo;
+ const gchar *provider;
+ provider = gnome_db_provider_selector_get_provider (GNOME_DB_PROVIDER_SELECTOR (assistant->priv->general_provider));
+ g_assert (provider);
+ pinfo = gda_config_get_provider_info (provider);
+ g_assert (pinfo);
+ if (pinfo->auth_params && pinfo->auth_params->holders)
+ return PAGE_AUTH_INFO;
+ else
+ return PAGE_LAST;
+ }
+ case PAGE_AUTH_INFO:
return PAGE_LAST;
case PAGE_LAST:
break;
@@ -409,7 +443,7 @@
*/
vbox = gtk_vbox_new (FALSE, 5);
- table = gtk_table_new (7, 2, FALSE);
+ table = gtk_table_new (5, 2, FALSE);
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
gtk_container_set_border_width (GTK_CONTAINER (table), 10);
gtk_table_set_row_spacings (GTK_TABLE (table), 3);
@@ -466,20 +500,6 @@
assistant->priv->general_description = gnome_db_new_entry_widget (0, TRUE);
gtk_table_attach_defaults (GTK_TABLE (table), assistant->priv->general_description, 1, 2, 4, 5);
-
- label = gtk_label_new (_("Username:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0., 0.);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 5, 6, GTK_FILL, 0, 0, 0);
-
- assistant->priv->general_username = gnome_db_new_entry_widget (0, TRUE);
- gtk_table_attach_defaults (GTK_TABLE (table), assistant->priv->general_username, 1, 2, 5, 6);
-
- label = gtk_label_new (_("Password:"));
- gtk_misc_set_alignment (GTK_MISC (label), 0., 0.);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 6, 7, GTK_FILL, 0, 0, 0);
-
- assistant->priv->general_password = gnome_db_new_entry_widget (0, TRUE);
- gtk_table_attach_defaults (GTK_TABLE (table), assistant->priv->general_password, 1, 2, 6, 7);
gtk_widget_show_all (vbox);
@@ -585,6 +605,30 @@
assistant->priv->cnc_params_page = vbox;
/*
+ * authentication page
+ */
+ vbox = gtk_vbox_new (FALSE, 5);
+ gtk_container_set_border_width (GTK_CONTAINER (vbox), 10);
+
+ label = gnome_db_new_label_widget (NULL);
+ gtk_label_set_markup (GTK_LABEL (label),
+ _("The following fields represent the authentication information needed "
+ "to open a connection."));
+ gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
+ gtk_box_pack_start (GTK_BOX (vbox), label, FALSE, FALSE, 0);
+
+ assistant->priv->auth_container = gnome_db_new_vbox_widget (FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (vbox), assistant->priv->auth_container, TRUE, TRUE, 0);
+
+ gtk_widget_show_all (vbox);
+
+ gtk_assistant_append_page (assist, vbox);
+ gtk_assistant_set_page_title (assist, vbox, _("Authentication parameters"));
+ gtk_assistant_set_page_header_image (assist, vbox, assistant->priv->logo);
+ gtk_assistant_set_page_type (assist, vbox, GTK_ASSISTANT_PAGE_CONTENT);
+ assistant->priv->cnc_auth_page = vbox;
+
+ /*
* end page
*/
vbox = gtk_vbox_new (FALSE, 5);
Modified: trunk/libgnomedb/gnome-db-dsn-editor.c
==============================================================================
--- trunk/libgnomedb/gnome-db-dsn-editor.c (original)
+++ trunk/libgnomedb/gnome-db-dsn-editor.c Wed May 14 19:54:09 2008
@@ -30,7 +30,8 @@
#include <libgnomedb/gnome-db-util.h>
#include <libgnomedb/gnome-db-basic-form.h>
#include <glib/gi18n-lib.h>
-#include "gnome-db-dsn-spec.h"
+#include "gnome-db-provider-spec-editor.h"
+#include "gnome-db-provider-auth-editor.h"
#define PARENT_TYPE GTK_TYPE_VBOX
@@ -38,12 +39,14 @@
GtkWidget *wname;
GtkWidget *wprovider;
GtkWidget *wdesc;
- GtkWidget *wauth;
GtkWidget *is_system;
- GtkWidget *expander;
+ GtkWidget *dsn_spec_expander;
GtkWidget *dsn_spec;
+ GtkWidget *dsn_auth_expander;
+ GtkWidget *dsn_auth;
+
GdaDataSourceInfo *dsn_info;
};
@@ -90,8 +93,8 @@
{
if (widget == config->priv->wprovider)
/* replace the expander's contents */
- gnome_db_dsn_spec_set_provider (GNOME_DB_DSN_SPEC (config->priv->dsn_spec),
- gnome_db_provider_selector_get_selected_provider
+ gnome_db_provider_spec_editor_set_provider (GNOME_DB_PROVIDER_SPEC_EDITOR (config->priv->dsn_spec),
+ gnome_db_provider_selector_get_provider
(GNOME_DB_PROVIDER_SELECTOR (config->priv->wprovider)));
g_signal_emit (config, gnome_db_dsn_editor_signals[CHANGED], 0, NULL);
@@ -118,7 +121,7 @@
config->priv->dsn_info = g_new0 (GdaDataSourceInfo, 1);
/* set up widgets */
- table = gnome_db_new_table_widget (7, 3, FALSE);
+ table = gnome_db_new_table_widget (8, 3, FALSE);
gtk_box_pack_start (GTK_BOX (config), table, TRUE, TRUE, 0);
str = g_strdup_printf ("%s <span foreground='red' weight='bold'>*</span>", _("Data source _name:"));
@@ -175,29 +178,32 @@
gtk_table_attach (GTK_TABLE (table), config->priv->wdesc, 1, 2, 3, 4,
GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0);
- TO_IMPLEMENT; /* handle correctly authentification */
- label = gnome_db_new_label_widget (_("_Authentification:"));
- gtk_widget_show (label);
- gtk_table_attach (GTK_TABLE (table), label, 0, 1, 4, 5, GTK_FILL, GTK_FILL, 0, 0);
- config->priv->wauth = gnome_db_new_entry_widget (0, TRUE);
- gtk_label_set_mnemonic_widget (GTK_LABEL (label), config->priv->wauth);
- gtk_widget_show (config->priv->wauth);
- g_signal_connect (G_OBJECT (config->priv->wauth), "changed",
- G_CALLBACK (field_changed_cb), config);
- gtk_table_attach (GTK_TABLE (table), config->priv->wauth, 1, 2, 4, 5,
+ /* connection's spec */
+ exp = gtk_expander_new (_("Connection's parameters"));
+ config->priv->dsn_spec_expander = exp;
+ gtk_widget_show (exp);
+ gtk_table_attach (GTK_TABLE (table), config->priv->dsn_spec_expander, 0, 2, 6, 7,
GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0);
+ config->priv->dsn_spec = gnome_db_provider_spec_editor_new (gnome_db_provider_selector_get_provider
+ (GNOME_DB_PROVIDER_SELECTOR (config->priv->wprovider)));
+ 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);
+ gtk_widget_show (config->priv->dsn_spec);
- exp = gtk_expander_new (_("Connection's specific parameters"));
- config->priv->expander = exp;
+ /* connection's authentication */
+ exp = gtk_expander_new (_("Authentication"));
+ config->priv->dsn_auth_expander = exp;
gtk_widget_show (exp);
- gtk_table_attach (GTK_TABLE (table), config->priv->expander, 0, 2, 6, 7,
+ gtk_table_attach (GTK_TABLE (table), config->priv->dsn_auth_expander, 0, 2, 7, 8,
GTK_FILL|GTK_EXPAND, GTK_FILL, 0, 0);
- config->priv->dsn_spec = gnome_db_dsn_spec_new (gnome_db_provider_selector_get_selected_provider
+ config->priv->dsn_auth = gnome_db_provider_auth_editor_new (gnome_db_provider_selector_get_provider
(GNOME_DB_PROVIDER_SELECTOR (config->priv->wprovider)));
- g_signal_connect (G_OBJECT (config->priv->dsn_spec), "changed",
+ g_signal_connect (G_OBJECT (config->priv->dsn_auth), "changed",
G_CALLBACK (field_changed_cb), config);
- gtk_container_add (GTK_CONTAINER (config->priv->expander), config->priv->dsn_spec);
+ gtk_container_add (GTK_CONTAINER (config->priv->dsn_auth_expander), config->priv->dsn_auth);
gtk_widget_show (config->priv->dsn_spec);
+
}
static void
@@ -280,11 +286,11 @@
g_free (dsn_info->description); dsn_info->description = NULL;
g_free (dsn_info->auth_string); dsn_info->auth_string = NULL;
dsn_info->name = g_strdup (gtk_entry_get_text (GTK_ENTRY (config->priv->wname)));
- dsn_info->provider = g_strdup (gnome_db_provider_selector_get_selected_provider
+ dsn_info->provider = g_strdup (gnome_db_provider_selector_get_provider
(GNOME_DB_PROVIDER_SELECTOR (config->priv->wprovider)));
- dsn_info->cnc_string = gnome_db_dsn_spec_get_specs (GNOME_DB_DSN_SPEC (config->priv->dsn_spec));
+ dsn_info->cnc_string = gnome_db_provider_spec_editor_get_specs (GNOME_DB_PROVIDER_SPEC_EDITOR (config->priv->dsn_spec));
dsn_info->description = g_strdup (gtk_entry_get_text (GTK_ENTRY (config->priv->wdesc)));
- dsn_info->auth_string = g_strdup (gtk_entry_get_text (GTK_ENTRY (config->priv->wauth)));
+ dsn_info->auth_string = gnome_db_provider_auth_editor_get_auth (GNOME_DB_PROVIDER_AUTH_EDITOR (config->priv->dsn_auth));
dsn_info->is_system = gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (config->priv->is_system));
return dsn_info;
@@ -292,30 +298,66 @@
/**
* gnome_db_dsn_editor_set_dsn
- * @config:
- * @dsn_info:
+ * @editor: a #GnomeDbDsnEditor widget
+ * @dsn_info: a #GdaDataSourceInfo pointer or %NULL
+ *
*
+ * Requests that @editor update its contents with @dsn_info's contents
*/
void
-gnome_db_dsn_editor_set_dsn (GnomeDbDsnEditor *config, const GdaDataSourceInfo *dsn_info)
+gnome_db_dsn_editor_set_dsn (GnomeDbDsnEditor *editor, const GdaDataSourceInfo *dsn_info)
{
- g_return_if_fail (GNOME_DB_IS_DSN_EDITOR (config));
- g_return_if_fail (dsn_info != NULL);
-
- gtk_entry_set_text (GTK_ENTRY (config->priv->wname), dsn_info->name);
- gnome_db_provider_selector_set_selected_provider (GNOME_DB_PROVIDER_SELECTOR (config->priv->wprovider),
- dsn_info->provider);
- gnome_db_dsn_spec_set_specs (GNOME_DB_DSN_SPEC (config->priv->dsn_spec), dsn_info->cnc_string);
- gtk_entry_set_text (GTK_ENTRY (config->priv->wdesc), dsn_info->description ? dsn_info->description : "");
- gtk_entry_set_text (GTK_ENTRY (config->priv->wauth), dsn_info->auth_string ? dsn_info->auth_string : "");
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (config->priv->is_system), dsn_info->is_system);
+ g_return_if_fail (GNOME_DB_IS_DSN_EDITOR (editor));
- if (dsn_info->is_system && !gda_config_can_modify_system_config ())
- gtk_widget_set_sensitive (GTK_WIDGET (config), FALSE);
+ if (dsn_info) {
+ gtk_entry_set_text (GTK_ENTRY (editor->priv->wname), dsn_info->name);
+ gnome_db_provider_selector_set_provider (GNOME_DB_PROVIDER_SELECTOR (editor->priv->wprovider),
+ dsn_info->provider);
+ gnome_db_provider_spec_editor_set_provider (GNOME_DB_PROVIDER_SPEC_EDITOR (editor->priv->dsn_spec), dsn_info->provider);
+ gnome_db_provider_spec_editor_set_specs (GNOME_DB_PROVIDER_SPEC_EDITOR (editor->priv->dsn_spec), dsn_info->cnc_string);
+ gtk_entry_set_text (GTK_ENTRY (editor->priv->wdesc), dsn_info->description ? dsn_info->description : "");
+ gnome_db_provider_auth_editor_set_provider (GNOME_DB_PROVIDER_AUTH_EDITOR (editor->priv->dsn_auth), dsn_info->provider);
+ gnome_db_provider_auth_editor_set_auth (GNOME_DB_PROVIDER_AUTH_EDITOR (editor->priv->dsn_auth), dsn_info->auth_string);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (editor->priv->is_system), dsn_info->is_system);
+
+ if (dsn_info->is_system && !gda_config_can_modify_system_config ()) {
+ gtk_widget_set_sensitive (editor->priv->wname, FALSE);
+ gtk_widget_set_sensitive (editor->priv->wprovider, FALSE);
+ gtk_widget_set_sensitive (editor->priv->wdesc, FALSE);
+ gtk_widget_set_sensitive (editor->priv->dsn_spec, FALSE);
+ gtk_widget_set_sensitive (editor->priv->dsn_auth, FALSE);
+ gtk_widget_set_sensitive (editor->priv->is_system, FALSE);
+ }
+ else {
+ gtk_widget_set_sensitive (editor->priv->wname, FALSE);
+ gtk_widget_set_sensitive (editor->priv->wprovider, TRUE);
+ gtk_widget_set_sensitive (editor->priv->wdesc, TRUE);
+ gtk_widget_set_sensitive (editor->priv->dsn_spec, TRUE);
+ gtk_widget_set_sensitive (editor->priv->dsn_auth, TRUE);
+ gtk_widget_set_sensitive (editor->priv->is_system, gda_config_can_modify_system_config ());
+ }
+ gtk_widget_show (editor->priv->dsn_spec_expander);
+ if (gda_config_dsn_needs_authentication (dsn_info->name))
+ gtk_widget_show (editor->priv->dsn_auth_expander);
+ else
+ gtk_widget_hide (editor->priv->dsn_auth_expander);
+ }
else {
- gtk_widget_set_sensitive (GTK_WIDGET (config), TRUE);
- gtk_widget_set_sensitive (config->priv->wname, FALSE); /* FIXME */
- gtk_widget_set_sensitive (config->priv->is_system,
- gda_config_can_modify_system_config ());
+ gtk_entry_set_text (GTK_ENTRY (editor->priv->wname), "");
+ gnome_db_provider_selector_set_provider (GNOME_DB_PROVIDER_SELECTOR (editor->priv->wprovider), NULL);
+ gnome_db_provider_spec_editor_set_provider (GNOME_DB_PROVIDER_SPEC_EDITOR (editor->priv->dsn_spec), NULL);
+ gtk_entry_set_text (GTK_ENTRY (editor->priv->wdesc), "");
+ gnome_db_provider_auth_editor_set_provider (GNOME_DB_PROVIDER_AUTH_EDITOR (editor->priv->dsn_auth), NULL);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (editor->priv->is_system), FALSE);
+
+ gtk_widget_set_sensitive (editor->priv->wname, FALSE);
+ gtk_widget_set_sensitive (editor->priv->wprovider, FALSE);
+ gtk_widget_set_sensitive (editor->priv->wdesc, FALSE);
+ gtk_widget_set_sensitive (editor->priv->dsn_spec, FALSE);
+ gtk_widget_set_sensitive (editor->priv->dsn_auth, FALSE);
+ gtk_widget_set_sensitive (editor->priv->is_system, FALSE);
+
+ gtk_widget_hide (editor->priv->dsn_spec_expander);
+ gtk_widget_hide (editor->priv->dsn_auth_expander);
}
}
Copied: trunk/libgnomedb/gnome-db-dsn-selector.c (from r1722, /trunk/libgnomedb/gnome-db-data-source-selector.c)
==============================================================================
--- /trunk/libgnomedb/gnome-db-data-source-selector.c (original)
+++ trunk/libgnomedb/gnome-db-dsn-selector.c Wed May 14 19:54:09 2008
@@ -24,25 +24,25 @@
#include <string.h>
#include <libgda/gda-config.h>
-#include <libgnomedb/gnome-db-data-source-selector.h>
+#include <libgnomedb/gnome-db-dsn-selector.h>
#include <libgnomedb/gnome-db-util.h>
#include <gtk/gtkcelllayout.h>
#include <gtk/gtkcellrenderer.h>
#include <gtk/gtkcellrenderertext.h>
-struct _GnomeDbDataSourceSelectorPrivate {
+struct _GnomeDbDsnSelectorPrivate {
};
-static void gnome_db_data_source_selector_class_init (GnomeDbDataSourceSelectorClass *klass);
-static void gnome_db_data_source_selector_init (GnomeDbDataSourceSelector *selector,
- GnomeDbDataSourceSelectorClass *klass);
-static void gnome_db_data_source_selector_finalize (GObject *object);
+static void gnome_db_dsn_selector_class_init (GnomeDbDsnSelectorClass *klass);
+static void gnome_db_dsn_selector_init (GnomeDbDsnSelector *selector,
+ GnomeDbDsnSelectorClass *klass);
+static void gnome_db_dsn_selector_finalize (GObject *object);
-static void gnome_db_data_source_selector_set_property(GObject *object,
+static void gnome_db_dsn_selector_set_property(GObject *object,
guint param_id,
const GValue *value,
GParamSpec *pspec);
-static void gnome_db_data_source_selector_get_property(GObject *object,
+static void gnome_db_dsn_selector_get_property(GObject *object,
guint param_id,
GValue *value,
GParamSpec *pspec);
@@ -57,19 +57,19 @@
static GObjectClass *parent_class = NULL;
/*
- * GnomeDbDataSourceSelector class implementation
+ * GnomeDbDsnSelector class implementation
*/
static void
-gnome_db_data_source_selector_class_init (GnomeDbDataSourceSelectorClass *klass)
+gnome_db_dsn_selector_class_init (GnomeDbDsnSelectorClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
parent_class = g_type_class_peek_parent (klass);
- object_class->finalize = gnome_db_data_source_selector_finalize;
- object_class->set_property = gnome_db_data_source_selector_set_property;
- object_class->get_property = gnome_db_data_source_selector_get_property;
+ object_class->finalize = gnome_db_dsn_selector_finalize;
+ object_class->set_property = gnome_db_dsn_selector_set_property;
+ object_class->get_property = gnome_db_dsn_selector_get_property;
g_object_class_install_property (object_class, PROP_SOURCE_NAME,
g_param_spec_string ("source-name", NULL, NULL, NULL,
@@ -78,15 +78,15 @@
static void
-gnome_db_data_source_selector_init (GnomeDbDataSourceSelector *selector,
- GnomeDbDataSourceSelectorClass *klass)
+gnome_db_dsn_selector_init (GnomeDbDsnSelector *selector,
+ GnomeDbDsnSelectorClass *klass)
{
GdaDataModel *model;
gint cols_index[] = {0};
- g_return_if_fail (GNOME_DB_IS_DATA_SOURCE_SELECTOR (selector));
+ g_return_if_fail (GNOME_DB_IS_DSN_SELECTOR (selector));
- selector->priv = g_new0 (GnomeDbDataSourceSelectorPrivate, 1);
+ selector->priv = g_new0 (GnomeDbDsnSelectorPrivate, 1);
model = gda_config_list_dsn ();
gnome_db_combo_set_model (GNOME_DB_COMBO (selector), model, 1, cols_index);
@@ -94,11 +94,11 @@
}
static void
-gnome_db_data_source_selector_finalize (GObject *object)
+gnome_db_dsn_selector_finalize (GObject *object)
{
- GnomeDbDataSourceSelector *selector = (GnomeDbDataSourceSelector *) object;
+ GnomeDbDsnSelector *selector = (GnomeDbDsnSelector *) object;
- g_return_if_fail (GNOME_DB_IS_DATA_SOURCE_SELECTOR (selector));
+ g_return_if_fail (GNOME_DB_IS_DSN_SELECTOR (selector));
g_free (selector->priv);
@@ -107,15 +107,16 @@
parent_class->finalize (object);
}
-static void gnome_db_data_source_selector_set_property(GObject *object,
- guint param_id,
- const GValue *value,
- GParamSpec *pspec)
+static void
+gnome_db_dsn_selector_set_property(GObject *object,
+ guint param_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
- GnomeDbDataSourceSelector *selector;
+ GnomeDbDsnSelector *selector;
GSList *list;
gint cols_index[] = {0};
- selector = GNOME_DB_DATA_SOURCE_SELECTOR (object);
+ selector = GNOME_DB_DSN_SELECTOR (object);
switch (param_id) {
case PROP_SOURCE_NAME:
@@ -126,20 +127,21 @@
}
}
-static void gnome_db_data_source_selector_get_property (GObject *object,
- guint param_id,
- GValue *value,
- GParamSpec *pspec)
+static void
+gnome_db_dsn_selector_get_property (GObject *object,
+ guint param_id,
+ GValue *value,
+ GParamSpec *pspec)
{
- GnomeDbDataSourceSelector *selector;
+ GnomeDbDsnSelector *selector;
GSList *list;
gint cols_index[] = {0};
- selector = GNOME_DB_DATA_SOURCE_SELECTOR (object);
+ selector = GNOME_DB_DSN_SELECTOR (object);
switch (param_id) {
case PROP_SOURCE_NAME:
list = gnome_db_combo_get_values_ext (GNOME_DB_COMBO (selector), 1, cols_index);
- if (list) {
+ if (list && list->data) {
g_value_set_string (value, g_value_get_string ((GValue*) list->data));
g_slist_free (list);
}
@@ -150,34 +152,33 @@
}
GType
-gnome_db_data_source_selector_get_type (void)
+gnome_db_dsn_selector_get_type (void)
{
static GType type = 0;
if (G_UNLIKELY (type == 0)) {
static const GTypeInfo info = {
- sizeof (GnomeDbDataSourceSelectorClass),
+ sizeof (GnomeDbDsnSelectorClass),
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
- (GClassInitFunc) gnome_db_data_source_selector_class_init,
+ (GClassInitFunc) gnome_db_dsn_selector_class_init,
NULL,
NULL,
- sizeof (GnomeDbDataSourceSelector),
+ sizeof (GnomeDbDsnSelector),
0,
- (GInstanceInitFunc) gnome_db_data_source_selector_init
+ (GInstanceInitFunc) gnome_db_dsn_selector_init
};
type = g_type_register_static (GNOME_DB_TYPE_COMBO,
- "GnomeDbDataSourceSelector",
+ "GnomeDbDsnSelector",
&info, 0);
}
return type;
}
/**
- * gnome_db_data_source_selector_new
- * @name: name of data source to display.
+ * gnome_db_dsn_selector_new
*
- * Create a new #GnomeDbDataSourceSelector, which is just a #GtkComboBox
+ * Create a new #GnomeDbDsnSelector, which is just a #GtkComboBox
* which displays, as its items, all the data sources currently
* configured in the system. It is useful for connection and configuration
* screens, where the user has to choose a data source to work with.
@@ -185,26 +186,21 @@
* Returns: the newly created widget.
*/
GtkWidget *
-gnome_db_data_source_selector_new (const gchar *name)
+gnome_db_dsn_selector_new (void)
{
- GnomeDbDataSourceSelector *selector;
-
- selector = g_object_new (GNOME_DB_TYPE_DATA_SOURCE_SELECTOR,
- "source-name", name, NULL);
-
- return GTK_WIDGET (selector);
+ return (GtkWidget*) g_object_new (GNOME_DB_TYPE_DSN_SELECTOR, NULL);
}
/**
- * gnome_db_data_source_selector_get_dsn
+ * gnome_db_dsn_selector_get_dsn
* @name: name of data source to display.
*
- * Get the Data Source Name (DSN) actualy selected in the #GnomeDbDataSourceSelector.
+ * Get the Data Source Name (DSN) actualy selected in the #GnomeDbDsnSelector.
*
* Returns: the DSN name actualy selected as a new string.
*/
gchar *
-gnome_db_data_source_selector_get_dsn (GnomeDbDataSourceSelector *selector)
+gnome_db_dsn_selector_get_dsn (GnomeDbDsnSelector *selector)
{
gchar *dsn;
@@ -214,14 +210,14 @@
}
/**
- * gnome_db_data_source_selector_set_dsn
+ * gnome_db_dsn_selector_set_dsn
* @name: name of data source to display.
*
- * Set the selected Data Source Name (DSN) in the #GnomeDbDataSourceSelector.
+ * Set the selected Data Source Name (DSN) in the #GnomeDbDsnSelector.
*
*/
void
-gnome_db_data_source_selector_set_dsn (GnomeDbDataSourceSelector *selector, const gchar *dsn)
+gnome_db_dsn_selector_set_dsn (GnomeDbDsnSelector *selector, const gchar *dsn)
{
g_object_set (G_OBJECT (selector), "source-name", dsn, NULL);
}
Copied: trunk/libgnomedb/gnome-db-dsn-selector.h (from r1722, /trunk/libgnomedb/gnome-db-data-source-selector.h)
==============================================================================
--- /trunk/libgnomedb/gnome-db-data-source-selector.h (original)
+++ trunk/libgnomedb/gnome-db-dsn-selector.h Wed May 14 19:54:09 2008
@@ -1,5 +1,5 @@
/* GNOME DB library
- * Copyright (C) 1999 - 2007 The GNOME Foundation.
+ * Copyright (C) 1999 - 2008 The GNOME Foundation.
*
* AUTHORS:
* Rodrigo Moya <rodrigo gnome-db org>
@@ -21,36 +21,36 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __GNOME_DB_DATA_SOURCE_SELECTOR_H__
-#define __GNOME_DB_DATA_SOURCE_SELECTOR_H__
+#ifndef __GNOME_DB_DSN_SELECTOR_H__
+#define __GNOME_DB_DSN_SELECTOR_H__
#include <libgnomedb/gnome-db-combo.h>
G_BEGIN_DECLS
-#define GNOME_DB_TYPE_DATA_SOURCE_SELECTOR (gnome_db_data_source_selector_get_type())
-#define GNOME_DB_DATA_SOURCE_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, GNOME_DB_TYPE_DATA_SOURCE_SELECTOR, GnomeDbDataSourceSelector))
-#define GNOME_DB_DATA_SOURCE_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, GNOME_DB_TYPE_DATA_SOURCE_SELECTOR, GnomeDbDataSourceSelectorClass))
-#define GNOME_DB_IS_DATA_SOURCE_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, GNOME_DB_TYPE_DATA_SOURCE_SELECTOR))
-#define GNOME_DB_IS_DATA_SOURCE_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_DB_TYPE_DATA_SOURCE_SELECTOR))
-
-typedef struct _GnomeDbDataSourceSelector GnomeDbDataSourceSelector;
-typedef struct _GnomeDbDataSourceSelectorClass GnomeDbDataSourceSelectorClass;
-typedef struct _GnomeDbDataSourceSelectorPrivate GnomeDbDataSourceSelectorPrivate;
+#define GNOME_DB_TYPE_DSN_SELECTOR (gnome_db_dsn_selector_get_type())
+#define GNOME_DB_DSN_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, GNOME_DB_TYPE_DSN_SELECTOR, GnomeDbDsnSelector))
+#define GNOME_DB_DSN_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, GNOME_DB_TYPE_DSN_SELECTOR, GnomeDbDsnSelectorClass))
+#define GNOME_DB_IS_DSN_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, GNOME_DB_TYPE_DSN_SELECTOR))
+#define GNOME_DB_IS_DSN_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_DB_TYPE_DSN_SELECTOR))
+
+typedef struct _GnomeDbDsnSelector GnomeDbDsnSelector;
+typedef struct _GnomeDbDsnSelectorClass GnomeDbDsnSelectorClass;
+typedef struct _GnomeDbDsnSelectorPrivate GnomeDbDsnSelectorPrivate;
-struct _GnomeDbDataSourceSelector {
+struct _GnomeDbDsnSelector {
GnomeDbCombo combo;
- GnomeDbDataSourceSelectorPrivate *priv;
+ GnomeDbDsnSelectorPrivate *priv;
};
-struct _GnomeDbDataSourceSelectorClass {
+struct _GnomeDbDsnSelectorClass {
GnomeDbComboClass parent_class;
};
-GType gnome_db_data_source_selector_get_type (void) G_GNUC_CONST;
-GtkWidget *gnome_db_data_source_selector_new (const gchar *name);
-gchar *gnome_db_data_source_selector_get_dsn (GnomeDbDataSourceSelector *selector);
-void gnome_db_data_source_selector_set_dsn (GnomeDbDataSourceSelector *selector, const gchar *dsn);
+GType gnome_db_dsn_selector_get_type (void) G_GNUC_CONST;
+GtkWidget *gnome_db_dsn_selector_new (void);
+gchar *gnome_db_dsn_selector_get_dsn (GnomeDbDsnSelector *selector);
+void gnome_db_dsn_selector_set_dsn (GnomeDbDsnSelector *selector, const gchar *dsn);
G_END_DECLS
Modified: trunk/libgnomedb/gnome-db-login.c
==============================================================================
--- trunk/libgnomedb/gnome-db-login.c (original)
+++ trunk/libgnomedb/gnome-db-login.c Wed May 14 19:54:09 2008
@@ -23,7 +23,7 @@
#include "gnome-db-decl.h"
#include <libgda/gda-config.h>
-#include <libgnomedb/gnome-db-data-source-selector.h>
+#include <libgnomedb/gnome-db-dsn-selector.h>
#ifdef HAVE_GTKTWOTEN
#include <libgnomedb/gnome-db-dsn-assistant.h>
#endif
@@ -87,7 +87,7 @@
add_dsn_cb (GtkButton *button, GnomeDbLogin *login);
#endif
static void
-dsn_entry_changed_cb (GnomeDbDataSourceSelector *sel, GnomeDbLogin *login);
+dsn_entry_changed_cb (GnomeDbDsnSelector *sel, GnomeDbLogin *login);
/*
* GnomeDbLogin class implementation
@@ -161,7 +161,8 @@
login->priv->dsn_label = label;
/* Create the DSN selector*/
- login->priv->dsn_entry = gnome_db_data_source_selector_new (login->priv->dsn_name);
+ login->priv->dsn_entry = gnome_db_dsn_selector_new ();
+ gnome_db_dsn_selector_set_dsn (GNOME_DB_DSN_SELECTOR (login->priv->dsn_entry), login->priv->dsn_name);
gtk_widget_show (login->priv->dsn_entry); /* Show the DSN selector */
gtk_table_attach (GTK_TABLE (table), login->priv->dsn_entry, 1, 2, 0, 1,
GTK_FILL | GTK_EXPAND | GTK_SHRINK, GTK_FILL, 0, 0);
@@ -329,12 +330,12 @@
#endif
static void
-dsn_entry_changed_cb (GnomeDbDataSourceSelector *sel, GnomeDbLogin *login)
+dsn_entry_changed_cb (GnomeDbDsnSelector *sel, GnomeDbLogin *login)
{
gchar *dsn;
GdaDataSourceInfo *info = NULL;
- dsn = gnome_db_data_source_selector_get_dsn (sel);
+ dsn = gnome_db_dsn_selector_get_dsn (sel);
info = gda_config_get_dsn (dsn);
@@ -379,7 +380,7 @@
if (login->priv->dsn_name)
return (const gchar *) login->priv->dsn_name;
- return gnome_db_data_source_selector_get_dsn (GNOME_DB_DATA_SOURCE_SELECTOR (login->priv->dsn_entry));
+ return gnome_db_dsn_selector_get_dsn (GNOME_DB_DSN_SELECTOR (login->priv->dsn_entry));
}
/**
@@ -399,7 +400,7 @@
if (!src)
g_warning (_("Datasource '%s' is not declared"), dsn);
else {
- gnome_db_data_source_selector_set_dsn (GNOME_DB_DATA_SOURCE_SELECTOR (login->priv->dsn_entry),
+ gnome_db_dsn_selector_set_dsn (GNOME_DB_DSN_SELECTOR (login->priv->dsn_entry),
dsn);
if (login->priv->auth_widget) {
Modified: trunk/libgnomedb/gnome-db-provider-selector.c
==============================================================================
--- trunk/libgnomedb/gnome-db-provider-selector.c (original)
+++ trunk/libgnomedb/gnome-db-provider-selector.c Wed May 14 19:54:09 2008
@@ -1,5 +1,5 @@
/* GNOME DB library
- * Copyright (C) 1999 - 2006 The GNOME Foundation.
+ * Copyright (C) 1999 - 2008 The GNOME Foundation.
*
* AUTHORS:
* Rodrigo Moya <rodrigo gnome-db org>
@@ -142,7 +142,7 @@
}
/**
- * gnome_db_provider_selector_get_selected_provider
+ * gnome_db_provider_selector_get_provider
* @selector: a #GnomeDbProviderSelector widget
*
* Get the selected provider.
@@ -150,14 +150,14 @@
* Returns: the selected provider
*/
const gchar *
-gnome_db_provider_selector_get_selected_provider (GnomeDbProviderSelector *selector)
+gnome_db_provider_selector_get_provider (GnomeDbProviderSelector *selector)
{
GSList *list;
const gchar *str;
g_return_val_if_fail (GNOME_DB_IS_PROVIDER_SELECTOR (selector), NULL);
list = gnome_db_combo_get_values (GNOME_DB_COMBO (selector));
- if (list) {
+ if (list && list->data) {
str = g_value_get_string ((GValue *)(list->data));
g_slist_free (list);
return str;
@@ -167,17 +167,16 @@
}
/**
- * gnome_db_provider_selector_set_selected_provider
+ * gnome_db_provider_selector_set_provider
* @selector: a #GnomeDbProviderSelector widget
- * @provider: the provider to be selected
+ * @provider: the provider to be selected, or %NULL for the default (SQLite)
*
* Forces @selector to be set on @provider
*
* Returns: TRUE if @provider has been selected
*/
gboolean
-gnome_db_provider_selector_set_selected_provider (GnomeDbProviderSelector *selector,
- const gchar *provider)
+gnome_db_provider_selector_set_provider (GnomeDbProviderSelector *selector, const gchar *provider)
{
GSList *list;
gboolean retval;
@@ -187,7 +186,7 @@
if (provider && *provider)
g_value_set_string (tmpval = gda_value_new (G_TYPE_STRING), provider);
- else
+ else
g_value_set_string (tmpval = gda_value_new (G_TYPE_STRING), "SQLite");
list = g_slist_append (NULL, tmpval);
@@ -199,7 +198,7 @@
}
/**
- * gnome_db_provider_selector_get_selected_provider_obj
+ * gnome_db_provider_selector_get_provider_obj
* @selector: a #GnomeDbProviderSelector widget
*
* Get the selected provider as a #GdaServerProvider object
@@ -207,13 +206,16 @@
* Returns: a new #GdaServerProvider or %NULL if an error occurred
*/
GdaServerProvider *
-gnome_db_provider_selector_get_selected_provider_obj (GnomeDbProviderSelector *selector)
+gnome_db_provider_selector_get_provider_obj (GnomeDbProviderSelector *selector)
{
GdaServerProvider *prov;
const gchar *pname;
g_return_val_if_fail (GNOME_DB_IS_PROVIDER_SELECTOR (selector), NULL);
- pname = gnome_db_provider_selector_get_selected_provider (selector);
- return gda_config_get_provider_object (pname, NULL);
+ pname = gnome_db_provider_selector_get_provider (selector);
+ if (pname)
+ return gda_config_get_provider_object (pname, NULL);
+ else
+ return NULL;
}
Modified: trunk/libgnomedb/gnome-db-provider-selector.h
==============================================================================
--- trunk/libgnomedb/gnome-db-provider-selector.h (original)
+++ trunk/libgnomedb/gnome-db-provider-selector.h Wed May 14 19:54:09 2008
@@ -1,5 +1,5 @@
/* GNOME DB library
- * Copyright (C) 1999 - 2005 The GNOME Foundation.
+ * Copyright (C) 1999 - 2008 The GNOME Foundation.
*
* AUTHORS:
* Rodrigo Moya <rodrigo gnome-db org>
@@ -21,8 +21,8 @@
* Boston, MA 02111-1307, USA.
*/
-#if !defined(__gnome_db_provider_selector_h__)
-# define __gnome_db_provider_selector_h__
+#ifndef __GNOME_DB_PROVIDER_SELECTOR_H__
+#define __GNOME_DB_PROVIDER_SELECTOR_H__
#include <libgnomedb/gnome-db-combo.h>
@@ -47,12 +47,12 @@
GnomeDbComboClass parent_class;
};
-GType gnome_db_provider_selector_get_type (void) G_GNUC_CONST;
-GtkWidget *gnome_db_provider_selector_new (void);
-GdaServerProvider *gnome_db_provider_selector_get_selected_provider_obj (GnomeDbProviderSelector *selector);
-const gchar *gnome_db_provider_selector_get_selected_provider (GnomeDbProviderSelector *selector);
-gboolean gnome_db_provider_selector_set_selected_provider (GnomeDbProviderSelector *selector,
- const gchar *provider);
+GType gnome_db_provider_selector_get_type (void) G_GNUC_CONST;
+GtkWidget *gnome_db_provider_selector_new (void);
+
+GdaServerProvider *gnome_db_provider_selector_get_provider_obj (GnomeDbProviderSelector *selector);
+const gchar *gnome_db_provider_selector_get_provider (GnomeDbProviderSelector *selector);
+gboolean gnome_db_provider_selector_set_provider (GnomeDbProviderSelector *selector, const gchar *provider);
G_END_DECLS
Copied: trunk/libgnomedb/gnome-db-provider-spec-editor.c (from r1722, /trunk/libgnomedb/gnome-db-dsn-spec.c)
==============================================================================
--- /trunk/libgnomedb/gnome-db-dsn-spec.c (original)
+++ trunk/libgnomedb/gnome-db-provider-spec-editor.c Wed May 14 19:54:09 2008
@@ -24,22 +24,17 @@
#include <gtk/gtklabel.h>
#include <gtk/gtktable.h>
#include <libgda/libgda.h>
-#include <libgnomedb/gnome-db-dsn-spec.h>
-#include <libgnomedb/gnome-db-provider-selector.h>
+#include <libgnomedb/gnome-db-provider-spec-editor.h>
#include <libgnomedb/gnome-db-util.h>
#include <libgnomedb/gnome-db-basic-form.h>
#include <glib/gi18n-lib.h>
-#define PARENT_TYPE GTK_TYPE_VBOX
-
typedef enum {
NO_PROVIDER,
- RAW_CNC_STRING,
- PROVIDER_FORM,
- PROVIDER_ERROR
+ PROVIDER_FORM
} WidgetType;
-struct _GnomeDbDsnSpecPrivate {
+struct _GnomeDbProviderSpecEditorPrivate {
gchar *provider;
WidgetType type;
@@ -47,17 +42,17 @@
gchar *cnc_string; /* as it was last updated */
};
-static void gnome_db_dsn_spec_class_init (GnomeDbDsnSpecClass *klass);
-static void gnome_db_dsn_spec_init (GnomeDbDsnSpec *spec,
- GnomeDbDsnSpecClass *klass);
-static void gnome_db_dsn_spec_finalize (GObject *object);
-static void gnome_db_dsn_spec_dispose (GObject *object);
+static void gnome_db_provider_spec_editor_class_init (GnomeDbProviderSpecEditorClass *klass);
+static void gnome_db_provider_spec_editor_init (GnomeDbProviderSpecEditor *spec,
+ GnomeDbProviderSpecEditorClass *klass);
+static void gnome_db_provider_spec_editor_finalize (GObject *object);
+static void gnome_db_provider_spec_editor_dispose (GObject *object);
-static void gnome_db_dsn_spec_set_property (GObject *object,
+static void gnome_db_provider_spec_editor_set_property (GObject *object,
guint param_id,
const GValue *value,
GParamSpec *pspec);
-static void gnome_db_dsn_spec_get_property (GObject *object,
+static void gnome_db_provider_spec_editor_get_property (GObject *object,
guint param_id,
GValue *value,
GParamSpec *pspec);
@@ -73,24 +68,24 @@
};
-static gint gnome_db_dsn_spec_signals[LAST_SIGNAL] = { 0 };
+static gint gnome_db_provider_spec_editor_signals[LAST_SIGNAL] = { 0 };
static GObjectClass *parent_class = NULL;
/*
- * GnomeDbDsnSpec class implementation
+ * GnomeDbProviderSpecEditor class implementation
*/
static void
-gnome_db_dsn_spec_class_init (GnomeDbDsnSpecClass *klass)
+gnome_db_provider_spec_editor_class_init (GnomeDbProviderSpecEditorClass *klass)
{
GObjectClass *object_class = G_OBJECT_CLASS (klass);
parent_class = g_type_class_peek_parent (klass);
- object_class->dispose = gnome_db_dsn_spec_dispose;
- object_class->finalize = gnome_db_dsn_spec_finalize;
- object_class->set_property = gnome_db_dsn_spec_set_property;
- object_class->get_property = gnome_db_dsn_spec_get_property;
+ object_class->dispose = gnome_db_provider_spec_editor_dispose;
+ object_class->finalize = gnome_db_provider_spec_editor_finalize;
+ object_class->set_property = gnome_db_provider_spec_editor_set_property;
+ object_class->get_property = gnome_db_provider_spec_editor_get_property;
klass->changed = NULL;
g_object_class_install_property (object_class, PROP_PROVIDER,
@@ -98,26 +93,21 @@
G_PARAM_READWRITE));
/* add class signals */
- gnome_db_dsn_spec_signals[CHANGED] =
+ gnome_db_provider_spec_editor_signals[CHANGED] =
g_signal_new ("changed",
G_TYPE_FROM_CLASS (object_class),
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (GnomeDbDsnSpecClass, changed),
+ G_STRUCT_OFFSET (GnomeDbProviderSpecEditorClass, changed),
NULL, NULL,
g_cclosure_marshal_VOID__VOID,
G_TYPE_NONE, 0);
}
static void
-update_form_contents (GnomeDbDsnSpec *spec)
+update_form_contents (GnomeDbProviderSpecEditor *spec)
{
/*g_print ("DSN: %s\n", spec->priv->cnc_string);*/
switch (spec->priv->type) {
- case RAW_CNC_STRING:
- g_assert (spec->priv->form);
- gtk_entry_set_text (GTK_ENTRY (spec->priv->form),
- spec->priv->cnc_string ? spec->priv->cnc_string : "");
- break;
case PROVIDER_FORM: {
/* update data set in form */
GdaSet *dset;
@@ -178,22 +168,16 @@
}
static void
-dsn_form_changed (GnomeDbBasicForm *form, GdaHolder *param, gboolean is_user_modif, GnomeDbDsnSpec *spec)
+dsn_form_changed (GnomeDbBasicForm *form, GdaHolder *param, gboolean is_user_modif, GnomeDbProviderSpecEditor *spec)
{
if (! is_user_modif)
return;
- g_signal_emit (spec, gnome_db_dsn_spec_signals[CHANGED], 0, NULL);
+ g_signal_emit (spec, gnome_db_provider_spec_editor_signals[CHANGED], 0, NULL);
}
static void
-dsn_entry_changed (GtkEntry *entry, GnomeDbDsnSpec *spec)
-{
- g_signal_emit (spec, gnome_db_dsn_spec_signals[CHANGED], 0, NULL);
-}
-
-static void
-adapt_form_widget (GnomeDbDsnSpec *spec)
+adapt_form_widget (GnomeDbProviderSpecEditor *spec)
{
/* destroy any previous widget */
if (spec->priv->form) {
@@ -240,20 +224,20 @@
static void
-gnome_db_dsn_spec_init (GnomeDbDsnSpec *spec, GnomeDbDsnSpecClass *klass)
+gnome_db_provider_spec_editor_init (GnomeDbProviderSpecEditor *spec, GnomeDbProviderSpecEditorClass *klass)
{
- g_return_if_fail (GNOME_DB_IS_DSN_SPEC (spec));
+ g_return_if_fail (GNOME_DB_IS_PROVIDER_SPEC_EDITOR (spec));
- spec->priv = g_new0 (GnomeDbDsnSpecPrivate, 1);
+ spec->priv = g_new0 (GnomeDbProviderSpecEditorPrivate, 1);
spec->priv->type = NO_PROVIDER;
}
static void
-gnome_db_dsn_spec_dispose (GObject *object)
+gnome_db_provider_spec_editor_dispose (GObject *object)
{
- GnomeDbDsnSpec *spec = (GnomeDbDsnSpec *) object;
+ GnomeDbProviderSpecEditor *spec = (GnomeDbProviderSpecEditor *) object;
- g_return_if_fail (GNOME_DB_IS_DSN_SPEC (spec));
+ g_return_if_fail (GNOME_DB_IS_PROVIDER_SPEC_EDITOR (spec));
/* free memory */
@@ -262,11 +246,11 @@
}
static void
-gnome_db_dsn_spec_finalize (GObject *object)
+gnome_db_provider_spec_editor_finalize (GObject *object)
{
- GnomeDbDsnSpec *spec = (GnomeDbDsnSpec *) object;
+ GnomeDbProviderSpecEditor *spec = (GnomeDbProviderSpecEditor *) object;
- g_return_if_fail (GNOME_DB_IS_DSN_SPEC (spec));
+ g_return_if_fail (GNOME_DB_IS_PROVIDER_SPEC_EDITOR (spec));
/* free memory */
if (spec->priv->cnc_string)
@@ -281,29 +265,31 @@
parent_class->finalize (object);
}
-static void gnome_db_dsn_spec_set_property (GObject *object,
+static void
+gnome_db_provider_spec_editor_set_property (GObject *object,
guint param_id,
const GValue *value,
GParamSpec *pspec)
{
- GnomeDbDsnSpec *spec;
- spec = GNOME_DB_DSN_SPEC (object);
+ GnomeDbProviderSpecEditor *spec;
+ spec = GNOME_DB_PROVIDER_SPEC_EDITOR (object);
switch(param_id) {
case PROP_PROVIDER:
- gnome_db_dsn_spec_set_provider (spec,
+ gnome_db_provider_spec_editor_set_provider (spec,
g_value_get_string (value));
break;
}
}
-static void gnome_db_dsn_spec_get_property (GObject *object,
+static void
+gnome_db_provider_spec_editor_get_property (GObject *object,
guint param_id,
GValue *value,
GParamSpec *pspec)
{
- GnomeDbDsnSpec *spec;
- spec = GNOME_DB_DSN_SPEC (object);
+ GnomeDbProviderSpecEditor *spec;
+ spec = GNOME_DB_PROVIDER_SPEC_EDITOR (object);
switch (param_id) {
case PROP_PROVIDER:
@@ -313,49 +299,49 @@
}
GType
-gnome_db_dsn_spec_get_type (void)
+gnome_db_provider_spec_editor_get_type (void)
{
static GType type = 0;
if (G_UNLIKELY (type == 0)) {
static const GTypeInfo info = {
- sizeof (GnomeDbDsnSpecClass),
+ sizeof (GnomeDbProviderSpecEditorClass),
(GBaseInitFunc) NULL,
(GBaseFinalizeFunc) NULL,
- (GClassInitFunc) gnome_db_dsn_spec_class_init,
+ (GClassInitFunc) gnome_db_provider_spec_editor_class_init,
NULL,
NULL,
- sizeof (GnomeDbDsnSpec),
+ sizeof (GnomeDbProviderSpecEditor),
0,
- (GInstanceInitFunc) gnome_db_dsn_spec_init
+ (GInstanceInitFunc) gnome_db_provider_spec_editor_init
};
- type = g_type_register_static (PARENT_TYPE, "GnomeDbDsnSpec",
+ type = g_type_register_static (GTK_TYPE_VBOX, "GnomeDbProviderSpecEditor",
&info, 0);
}
return type;
}
/**
- * gnome_db_dsn_spec_new
+ * gnome_db_provider_spec_editor_new
* @provider: the provider to be used
*
- * Creates a new #GnomeDbDsnSpec widget
+ * Creates a new #GnomeDbProviderSpecEditor widget
*
* Returns:
*/
GtkWidget *
-gnome_db_dsn_spec_new (const gchar *provider)
+gnome_db_provider_spec_editor_new (const gchar *provider)
{
- GnomeDbDsnSpec *spec;
+ GnomeDbProviderSpecEditor *spec;
- spec = g_object_new (GNOME_DB_TYPE_DSN_SPEC,
+ spec = g_object_new (GNOME_DB_TYPE_PROVIDER_SPEC_EDITOR,
"provider", provider, NULL);
return GTK_WIDGET (spec);
}
static gchar *
-params_to_string (GnomeDbDsnSpec *spec)
+params_to_string (GnomeDbProviderSpecEditor *spec)
{
GString *string = NULL;
gchar *str;
@@ -406,8 +392,8 @@
}
/**
- * gnome_db_dsn_spec_set_provider
- * @spec: a #GnomeDbDsnSpec widget
+ * gnome_db_provider_spec_editor_set_provider
+ * @spec: a #GnomeDbProviderSpecEditor widget
* @provider: the provider to be used
*
* Updates the displayed fields in @spec to represent the required
@@ -415,9 +401,9 @@
* @provider would require
*/
void
-gnome_db_dsn_spec_set_provider (GnomeDbDsnSpec *spec, const gchar *provider)
+gnome_db_provider_spec_editor_set_provider (GnomeDbProviderSpecEditor *spec, const gchar *provider)
{
- g_return_if_fail (GNOME_DB_IS_DSN_SPEC (spec));
+ g_return_if_fail (GNOME_DB_IS_PROVIDER_SPEC_EDITOR (spec));
g_return_if_fail (spec->priv);
if (spec->priv->provider)
@@ -430,8 +416,8 @@
}
/**
- * gnome_db_dsn_spec_is_valid
- * @spec: a #GnomeDbDsnSpec widget
+ * gnome_db_provider_spec_editor_is_valid
+ * @spec: a #GnomeDbProviderSpecEditor widget
*
* Tells if the current information displayed in @spec respects the
* provider's specifications (about non NULL values for example)
@@ -439,14 +425,12 @@
* Returns:
*/
gboolean
-gnome_db_dsn_spec_is_valid (GnomeDbDsnSpec *spec)
+gnome_db_provider_spec_editor_is_valid (GnomeDbProviderSpecEditor *spec)
{
- g_return_val_if_fail (GNOME_DB_IS_DSN_SPEC (spec), FALSE);
+ g_return_val_if_fail (GNOME_DB_IS_PROVIDER_SPEC_EDITOR (spec), FALSE);
g_return_val_if_fail (spec->priv, FALSE);
switch (spec->priv->type) {
- case RAW_CNC_STRING:
- return TRUE;
case PROVIDER_FORM:
g_assert (spec->priv->form);
return gnome_db_basic_form_is_valid (GNOME_DB_BASIC_FORM (spec->priv->form));
@@ -456,8 +440,8 @@
}
/**
- * gnome_db_dsn_spec_get_specs
- * @spec: a #GnomeDbDsnSpec widget
+ * gnome_db_provider_spec_editor_get_specs
+ * @spec: a #GnomeDbProviderSpecEditor widget
*
* Get the currently displayed provider's specific
* connection string
@@ -465,14 +449,12 @@
* Returns: a new string, or %NULL if no provider have been specified
*/
gchar *
-gnome_db_dsn_spec_get_specs (GnomeDbDsnSpec *spec)
+gnome_db_provider_spec_editor_get_specs (GnomeDbProviderSpecEditor *spec)
{
- g_return_val_if_fail (GNOME_DB_IS_DSN_SPEC (spec), NULL);
+ g_return_val_if_fail (GNOME_DB_IS_PROVIDER_SPEC_EDITOR (spec), NULL);
g_return_val_if_fail (spec->priv, NULL);
switch (spec->priv->type) {
- case RAW_CNC_STRING:
- return g_strdup (gtk_entry_get_text (GTK_ENTRY (spec->priv->form)));
case PROVIDER_FORM:
return params_to_string (spec);
default:
@@ -481,16 +463,16 @@
}
/**
- * gnome_db_dsn_spec_set_specs
- * @spec: a #GnomeDbDsnSpec widget
- * @specs:
+ * gnome_db_provider_spec_editor_set_specs
+ * @spec: a #GnomeDbProviderSpecEditor widget
+ * @specs_string:
*
* Sets the connection string to be displayed in the widget
*/
void
-gnome_db_dsn_spec_set_specs (GnomeDbDsnSpec *spec, const gchar *specs_string)
+gnome_db_provider_spec_editor_set_specs (GnomeDbProviderSpecEditor *spec, const gchar *specs_string)
{
- g_return_if_fail (GNOME_DB_IS_DSN_SPEC (spec));
+ g_return_if_fail (GNOME_DB_IS_PROVIDER_SPEC_EDITOR (spec));
g_return_if_fail (spec->priv);
/* save DSN string */
Copied: trunk/libgnomedb/gnome-db-provider-spec-editor.h (from r1722, /trunk/libgnomedb/gnome-db-dsn-spec.h)
==============================================================================
--- /trunk/libgnomedb/gnome-db-dsn-spec.h (original)
+++ trunk/libgnomedb/gnome-db-provider-spec-editor.h Wed May 14 19:54:09 2008
@@ -1,5 +1,5 @@
/* GNOME DB library
- * Copyright (C) 2005 The GNOME Foundation
+ * Copyright (C) 2005 - 2008 The GNOME Foundation
*
* AUTHORS:
* Vivien Malerba <malerba gnome_db org>
@@ -20,42 +20,42 @@
* Boston, MA 02111-1307, USA.
*/
-#ifndef __GNOME_DB_DSN_SPEC_H__
-#define __GNOME_DB_DSN_SPEC_H__
+#ifndef __GNOME_DB_PROVIDER_SPEC_EDITOR_H__
+#define __GNOME_DB_PROVIDER_SPEC_EDITOR_H__
#include <gtk/gtkvbox.h>
G_BEGIN_DECLS
-#define GNOME_DB_TYPE_DSN_SPEC (gnome_db_dsn_spec_get_type())
-#define GNOME_DB_DSN_SPEC(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, GNOME_DB_TYPE_DSN_SPEC, GnomeDbDsnSpec))
-#define GNOME_DB_DSN_SPEC_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, GNOME_DB_TYPE_DSN_SPEC, GnomeDbDsnSpecClass))
-#define GNOME_DB_IS_DSN_SPEC(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, GNOME_DB_TYPE_DSN_SPEC))
-#define GNOME_DB_IS_DSN_SPEC_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_DB_TYPE_DSN_SPEC))
-
-typedef struct _GnomeDbDsnSpec GnomeDbDsnSpec;
-typedef struct _GnomeDbDsnSpecClass GnomeDbDsnSpecClass;
-typedef struct _GnomeDbDsnSpecPrivate GnomeDbDsnSpecPrivate;
+#define GNOME_DB_TYPE_PROVIDER_SPEC_EDITOR (gnome_db_provider_spec_editor_get_type())
+#define GNOME_DB_PROVIDER_SPEC_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST (obj, GNOME_DB_TYPE_PROVIDER_SPEC_EDITOR, GnomeDbProviderSpecEditor))
+#define GNOME_DB_PROVIDER_SPEC_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST (klass, GNOME_DB_TYPE_PROVIDER_SPEC_EDITOR, GnomeDbProviderSpecEditorClass))
+#define GNOME_DB_IS_PROVIDER_SPEC_EDITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE (obj, GNOME_DB_TYPE_PROVIDER_SPEC_EDITOR))
+#define GNOME_DB_IS_PROVIDER_SPEC_EDITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GNOME_DB_TYPE_PROVIDER_SPEC_EDITOR))
+
+typedef struct _GnomeDbProviderSpecEditor GnomeDbProviderSpecEditor;
+typedef struct _GnomeDbProviderSpecEditorClass GnomeDbProviderSpecEditorClass;
+typedef struct _GnomeDbProviderSpecEditorPrivate GnomeDbProviderSpecEditorPrivate;
-struct _GnomeDbDsnSpec {
+struct _GnomeDbProviderSpecEditor {
GtkVBox box;
- GnomeDbDsnSpecPrivate *priv;
+ GnomeDbProviderSpecEditorPrivate *priv;
};
-struct _GnomeDbDsnSpecClass {
+struct _GnomeDbProviderSpecEditorClass {
GtkVBoxClass parent_class;
/* signals */
- void (* changed) (GnomeDbDsnSpec *spec);
+ void (* changed) (GnomeDbProviderSpecEditor *spec);
};
-GType gnome_db_dsn_spec_get_type (void) G_GNUC_CONST;
-GtkWidget *gnome_db_dsn_spec_new (const gchar *provider);
+GType gnome_db_provider_spec_editor_get_type (void) G_GNUC_CONST;
+GtkWidget *gnome_db_provider_spec_editor_new (const gchar *provider);
-void gnome_db_dsn_spec_set_provider (GnomeDbDsnSpec *spec, const gchar *provider);
-gboolean gnome_db_dsn_spec_is_valid (GnomeDbDsnSpec *spec);
-gchar *gnome_db_dsn_spec_get_specs (GnomeDbDsnSpec *spec);
-void gnome_db_dsn_spec_set_specs (GnomeDbDsnSpec *spec, const gchar *specs_string);
+void gnome_db_provider_spec_editor_set_provider (GnomeDbProviderSpecEditor *spec, const gchar *provider);
+gboolean gnome_db_provider_spec_editor_is_valid (GnomeDbProviderSpecEditor *spec);
+gchar *gnome_db_provider_spec_editor_get_specs (GnomeDbProviderSpecEditor *spec);
+void gnome_db_provider_spec_editor_set_specs (GnomeDbProviderSpecEditor *spec, const gchar *specs_string);
G_END_DECLS
Modified: trunk/libgnomedb/gnome-db-transaction-status.c
==============================================================================
--- trunk/libgnomedb/gnome-db-transaction-status.c (original)
+++ trunk/libgnomedb/gnome-db-transaction-status.c Wed May 14 19:54:09 2008
@@ -1,6 +1,6 @@
/* gnome-db-transaction-status.c
*
- * Copyright (C) 2002 - 2007 Vivien Malerba
+ * Copyright (C) 2002 - 2008 Vivien Malerba
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License as
@@ -28,13 +28,13 @@
static void gnome_db_transaction_status_dispose (GObject *object);
static void gnome_db_transaction_status_set_property (GObject *object,
- guint param_id,
- const GValue *value,
- GParamSpec *pspec);
+ guint param_id,
+ const GValue *value,
+ GParamSpec *pspec);
static void gnome_db_transaction_status_get_property (GObject *object,
- guint param_id,
- GValue *value,
- GParamSpec *pspec);
+ guint param_id,
+ GValue *value,
+ GParamSpec *pspec);
static void gnome_db_transaction_status_refresh (GnomeDbTransactionStatus *status);
static void gnome_db_transaction_status_clean (GnomeDbTransactionStatus *status);
@@ -126,13 +126,9 @@
GtkWidget *
gnome_db_transaction_status_new (GdaConnection *cnc)
{
- GObject *obj;
-
- g_return_val_if_fail (GDA_IS_CONNECTION (cnc), NULL);
-
- obj = g_object_new (GNOME_DB_TYPE_TRANSACTION_STATUS, "connection", cnc, NULL);
+ g_return_val_if_fail (!cnc || GDA_IS_CONNECTION (cnc), NULL);
- return (GtkWidget *) obj;
+ return (GtkWidget *) g_object_new (GNOME_DB_TYPE_TRANSACTION_STATUS, "connection", cnc, NULL);
}
static void
@@ -250,7 +246,7 @@
switch (ev->type) {
case GDA_TRANSACTION_STATUS_EVENT_SAVEPOINT:
case GDA_TRANSACTION_STATUS_EVENT_SQL:
- *length++;
+ (*length)++;
break;
case GDA_TRANSACTION_STATUS_EVENT_SUB_TRANSACTION: {
gint ldepth, llength;
Modified: trunk/libgnomedb/libgnomedb.h.in
==============================================================================
--- trunk/libgnomedb/libgnomedb.h.in (original)
+++ trunk/libgnomedb/libgnomedb.h.in Wed May 14 19:54:09 2008
@@ -54,13 +54,16 @@
#include <libgnomedb/gnome-db-basic-form.h>
#include <libgnomedb/gnome-db-combo.h>
#include <libgnomedb/gnome-db-connection-properties.h>
-#include <libgnomedb/gnome-db-data-source-selector.h>
#include <libgnomedb/gnome-db-data-store.h>
#include <libgnomedb/gnome-db-form.h>
#include <libgnomedb/gnome-db-data-import.h>
#include <libgnomedb/gnome-db-data-widget-info.h>
+#include <libgnomedb/gnome-db-dsn-selector.h>
#include <libgnomedb/gnome-db-dsn-editor.h>
-#include <libgnomedb/gnome-db-dsn-spec.h>
+#include <libgnomedb/gnome-db-dsn-assistant.h>
+#include <libgnomedb/gnome-db-provider-selector.h>
+#include <libgnomedb/gnome-db-provider-spec-editor.h>
+#include <libgnomedb/gnome-db-provider-auth-editor.h>
#include <libgnomedb/gnome-db-raw-form.h>
#include <libgnomedb/gnome-db-raw-grid.h>
#include <libgnomedb/gnome-db-grid.h>
Modified: trunk/po/POTFILES.in
==============================================================================
--- trunk/po/POTFILES.in (original)
+++ trunk/po/POTFILES.in Wed May 14 19:54:09 2008
@@ -1,13 +1,13 @@
[encoding: UTF-8]
# List of source files containing translatable strings.
# Please keep this list in alphabetical order.
-control-center/database-properties-3.0.desktop.in
+control-center/database-properties-4.0.desktop.in
control-center/dsn-config.c
control-center/dsn-properties-dialog.c
control-center/main.c
control-center/provider-config.c
data/libgnomedb.keys.in
-data/libgnomedb-3.0.schemas.in
+data/libgnomedb-4.0.schemas.in
data/server_operation.glade
extra/gnome-db-browser.c
extra/demos/main.c
@@ -29,15 +29,17 @@
libgnomedb/gnome-db-data-import.c
libgnomedb/gnome-db-data-store.c
libgnomedb/gnome-db-data-widget-filter.c
+libgnomedb/gnome-db-data-widget-info.c
libgnomedb/gnome-db-dsn-assistant.c
libgnomedb/gnome-db-dsn-editor.c
-libgnomedb/gnome-db-dsn-spec.c
libgnomedb/gnome-db-find-dialog.c
libgnomedb/gnome-db-form.c
libgnomedb/gnome-db-grid.c
libgnomedb/gnome-db-init.c
-libgnomedb/gnome-db-login-dialog.c
libgnomedb/gnome-db-login.c
+libgnomedb/gnome-db-login-dialog.c
+libgnomedb/gnome-db-provider-auth-editor.c
+libgnomedb/gnome-db-provider-spec-editor.c
libgnomedb/gnome-db-raw-form.c
libgnomedb/gnome-db-raw-grid.c
libgnomedb/gnome-db-server-operation.c
@@ -58,44 +60,24 @@
libgnomedb/plugins/gnome-db-entry-pict.c
libgnomedb/plugins/gnome-db-entry-pict-spec_string.xml.in
libgnomedb/plugins/gnome-db-entry-pict-spec.xml.in
-libgnomedb-extra/gnome-db-dbms-update-viewer.c
-libgnomedb-extra/gnome-db-error-dialog.c
libgnomedb-extra/gnome-db-error.c
+libgnomedb-extra/gnome-db-error-dialog.c
libgnomedb-extra/gnome-db-selector.c
-libgnomedb-extra/sel-aggregates.c
-libgnomedb-extra/sel-data-types.c
-libgnomedb-extra/sel-functions.c
-libgnomedb-extra/sel-graphs.c
-libgnomedb-extra/sel-onequery.c
-libgnomedb-extra/sel-onetable.c
-libgnomedb-extra/sel-onetarget.c
-libgnomedb-extra/sel-queries.c
-libgnomedb-extra/sel-tables.c
+libgnomedb-extra/gnome-db-selector-meta.c
+libgnomedb-extra/gnome-db-selector-part.c
+libgnomedb-extra/gnome-db-selector-schema.c
+libgnomedb-extra/gnome-db-selector-table.c
+libgnomedb-extra/gnome-db-selector-view.c
libgnomedb-extra/gnome-db-sql-console.c
+libgnomedb-graph/gnome-db-canvas.c
+libgnomedb-graph/gnome-db-canvas-column.c
libgnomedb-graph/gnome-db-canvas-db-relations.c
-libgnomedb-graph/gnome-db-canvas-field.c
-libgnomedb-graph/gnome-db-canvas-fkconstraint.c
-libgnomedb-graph/gnome-db-canvas-join.c
-libgnomedb-graph/gnome-db-canvas-query-struct.c
+libgnomedb-graph/gnome-db-canvas-fkey.c
+libgnomedb-graph/gnome-db-canvas-print.c
+libgnomedb-graph/gnome-db-canvas-table.c
+libgnomedb-graph/gnome-db-graph.c
+libgnomedb-graph/gnome-db-graph-item.c
libgnomedb/utility.c
-libgnomedb-graph/gnome-db-canvas-db-relations.c
-libgnomedb-graph/gnome-db-canvas-cursor.c
-libgnomedb-graph/gnome-db-canvas-entity.c
-libgnomedb-graph/gnome-db-canvas-field.c
-libgnomedb-graph/gnome-db-canvas-fkconstraint.c
-libgnomedb-graph/gnome-db-canvas-item.c
-libgnomedb-graph/gnome-db-canvas-join.c
-libgnomedb-graph/gnome-db-canvas-query-struct.c
-libgnomedb-graph/gnome-db-canvas-text.c
-libgnomedb-graph/gnome-db-canvas-tip.c
-libgnomedb-goo/gnome-db-goo-db-relations.c
-libgnomedb-goo/gnome-db-goo-entity.c
-libgnomedb-goo/gnome-db-goo-field.c
-libgnomedb-goo/gnome-db-goo-fkconstraint.c
-libgnomedb-goo/gnome-db-goo-join.c
-libgnomedb-goo/gnome-db-goo-print.c
-libgnomedb-goo/gnome-db-goo-query-struct.c
-libgnomedb-goo/gnome-db-goo.c
samples/SimpleExample/gladeui.glade
testing/test-dyn-widgets.c
testing/test-handlers.c
Modified: trunk/testing/test-dyn-widgets.c
==============================================================================
--- trunk/testing/test-dyn-widgets.c (original)
+++ trunk/testing/test-dyn-widgets.c Wed May 14 19:54:09 2008
@@ -76,7 +76,6 @@
* list of tests' functions
*/
static GtkWidget *editor_test_make (MainConfig *config);
-static GtkWidget *dsn_selector_test_make (MainConfig *config);
static GtkWidget *combo_test_make (MainConfig *config);
static void combo_test_clean (MainConfig *config, GtkWidget *test_widget);
@@ -94,6 +93,17 @@
static GtkWidget *format_entry_test_make (MainConfig *config);
+static GtkWidget *dsn_selector_test_make (MainConfig *config);
+static GtkWidget *dsn_editor_test_make (MainConfig *config);
+static GtkWidget *dsn_assistant_test_make (MainConfig *config);
+
+static GtkWidget *provider_selector_test_make (MainConfig *config);
+static GtkWidget *provider_spec_editor_test_make (MainConfig *config);
+static GtkWidget *provider_auth_editor_test_make (MainConfig *config);
+
+static GtkWidget *connection_properties_test_make (MainConfig *config);
+
+
/*
* tests decalaration
*/
@@ -112,15 +122,6 @@
test->signal_conn_changed = NULL;
list = g_slist_append (list, test);
- /* GnomeDbDataSourceSelector test */
- test = g_new0 (ATest, 1);
- test->test_name = "GnomeDbDataSourceSelector";
- test->test_descr = "";
- test->make_test_widget = dsn_selector_test_make;
- test->clean_data = NULL;
- test->signal_conn_changed = NULL;
- list = g_slist_append (list, test);
-
/* GnomeDbEditor test */
test = g_new0 (ATest, 1);
test->test_name = "GnomeDbEditor";
@@ -175,6 +176,69 @@
test->signal_conn_changed = NULL;
list = g_slist_append (list, test);
+ /* GnomeDbDsnSelector test */
+ test = g_new0 (ATest, 1);
+ test->test_name = "GnomeDbDsnSelector";
+ test->test_descr = "";
+ test->make_test_widget = dsn_selector_test_make;
+ test->clean_data = NULL;
+ test->signal_conn_changed = NULL;
+ list = g_slist_append (list, test);
+
+ /* GnomeDbDsnEditor test */
+ test = g_new0 (ATest, 1);
+ test->test_name = "GnomeDbDsnEditor";
+ test->test_descr = "";
+ test->make_test_widget = dsn_editor_test_make;
+ test->clean_data = NULL;
+ test->signal_conn_changed = NULL;
+ list = g_slist_append (list, test);
+
+ /* GnomeDbDsnAssistant test */
+ test = g_new0 (ATest, 1);
+ test->test_name = "GnomeDbDsnAssistant";
+ test->test_descr = "";
+ test->make_test_widget = dsn_assistant_test_make;
+ test->clean_data = NULL;
+ test->signal_conn_changed = NULL;
+ list = g_slist_append (list, test);
+
+ /* GnomeDbProviderSelector test */
+ test = g_new0 (ATest, 1);
+ test->test_name = "GnomeDbProviderSelector";
+ test->test_descr = "";
+ test->make_test_widget = provider_selector_test_make;
+ test->clean_data = NULL;
+ test->signal_conn_changed = NULL;
+ list = g_slist_append (list, test);
+
+ /* GnomeDbProviderSpecEditor test */
+ test = g_new0 (ATest, 1);
+ test->test_name = "GnomeDbProviderSpecEditor";
+ test->test_descr = "";
+ test->make_test_widget = provider_spec_editor_test_make;
+ test->clean_data = NULL;
+ test->signal_conn_changed = NULL;
+ list = g_slist_append (list, test);
+
+ /* GnomeDbProviderAuthEditor test */
+ test = g_new0 (ATest, 1);
+ test->test_name = "GnomeDbProviderAuthEditor";
+ test->test_descr = "";
+ test->make_test_widget = provider_auth_editor_test_make;
+ test->clean_data = NULL;
+ test->signal_conn_changed = NULL;
+ list = g_slist_append (list, test);
+
+ /* GnomeDbConnectionProperties test */
+ test = g_new0 (ATest, 1);
+ test->test_name = "GnomeDbConnectionProperties";
+ test->test_descr = "";
+ test->make_test_widget = connection_properties_test_make;
+ test->clean_data = NULL;
+ test->signal_conn_changed = NULL;
+ list = g_slist_append (list, test);
+
config->tests = list;
}
@@ -196,6 +260,7 @@
/*
* MAIN
*/
+static void add_test_page (MainConfig *config, ATest *test);
static void open_connection (MainConfig *config, const gchar *string);
static void destroy (GtkWidget *widget, gpointer data);
static gboolean delete_event (GtkWidget *widget, GdkEvent *event, gpointer data);
@@ -286,6 +351,13 @@
open_connection (config, str);
g_free (str);
}
+
+ /* start with the first test */
+ ATest *test;
+ test = g_slist_nth_data (config->tests, test_number);
+ if (!test)
+ test = config->tests->data;
+ add_test_page (config, test);
gtk_main ();
@@ -509,7 +581,6 @@
return menubar1;
}
-static void add_test_page (MainConfig *config, ATest *test);
static void
add_test_cb (GtkWidget *wid, MainConfig *config)
{
@@ -560,7 +631,6 @@
{
GtkWidget *wid, *label, *paned, *vb, *bb, *button, *nb;
gchar *str;
- ATest *test;
paned = gtk_hpaned_new ();
gtk_container_set_border_width (GTK_CONTAINER (paned), 5);
@@ -632,12 +702,6 @@
g_signal_connect (G_OBJECT (button), "clicked",
G_CALLBACK (right_del_clicked_cb), config);
- /* start with the first test */
- test = g_slist_nth_data (config->tests, test_number);
- if (!test)
- test = config->tests->data;
- add_test_page (config, test);
-
return paned;
}
@@ -786,23 +850,6 @@
/*
- * GnomeDbDataSourceSelector test
- */
-static GtkWidget *
-dsn_selector_test_make (MainConfig *config)
-{
- GtkWidget *ret, *wid;
-
- ret = gtk_table_new (3, 3, FALSE);
- wid = gnome_db_data_source_selector_new (NULL);
- gtk_table_attach (GTK_TABLE (ret), wid, 1, 2, 1, 2, 0, 0, 0, 0);
- gtk_widget_show (wid);
-
- return ret;
-}
-
-
-/*
* GnomeDbEditor test
*/
static GtkWidget *
@@ -1247,6 +1294,7 @@
gtk_container_add (GTK_CONTAINER (sw), console);
gtk_widget_show (console);
gtk_box_pack_start (GTK_BOX (vbox), sw, TRUE, TRUE, 0);
+ gtk_widget_show (sw);
g_signal_connect (G_OBJECT (console), "sql_entered",
G_CALLBACK (transaction_status_test_sql_entered_cb), data);
@@ -1274,11 +1322,53 @@
static gchar *
transaction_status_test_sql_entered_cb (GnomeDbSqlConsole *console, const gchar *sql, TestData11 *data)
{
- /*gda_connection_internal_treat_sql (data->config->cnc, sql, NULL);*/
- TO_IMPLEMENT;
- return g_strdup ("WARNING: this SQL is not run by the connection,"
- "\nbut just used as a shortcut to stimulate GdaConnection's\n"
- "transaction status tracking.");
+ static GdaSqlParser *parser = NULL;
+ GdaStatement *stmt;
+ GError *error = NULL;
+ const gchar *remain;
+ if (!parser) {
+ parser = gda_connection_create_parser (data->config->cnc);
+ if (!parser)
+ parser = gda_sql_parser_new ();
+ }
+ stmt = gda_sql_parser_parse_string (parser, sql, &remain, &error);
+ if (!stmt) {
+ gchar *ret = g_strdup (error && error->message ? error->message : "No detail");
+ if (error)
+ g_error_free (error);
+ return ret;
+ }
+
+ if (remain) {
+ gchar *ret = g_strdup_printf ("Remains: %s\n", remain);
+ g_object_unref (stmt);
+ return ret;
+ }
+
+ GObject *obj;
+ obj = gda_connection_statement_execute (data->config->cnc, stmt, NULL, GDA_STATEMENT_MODEL_RANDOM_ACCESS, NULL, &error);
+ g_object_unref (stmt);
+ if (!obj) {
+ gchar *ret = g_strdup (error && error->message ? error->message : "No detail");
+ if (error)
+ g_error_free (error);
+ return ret;
+ }
+ else if (GDA_IS_DATA_MODEL (obj)) {
+ gchar *ret = gda_data_model_dump_as_string (GDA_DATA_MODEL (obj));
+ g_object_unref (obj);
+ return ret;
+ }
+ else if (GDA_IS_SET (obj)) {
+ gchar *ret = g_strdup ("Ok\n");
+ g_object_unref (obj);
+ return ret;
+ }
+ else {
+ gchar *ret = g_strdup ("???\n");
+ g_object_unref (obj);
+ return ret;
+ }
}
/*
@@ -1610,3 +1700,211 @@
{
gtk_entry_set_text (GTK_ENTRY (data->entry), gtk_entry_get_text (GTK_ENTRY (data->set_text)));
}
+
+/*
+ * GnomeDbDsnSelector test
+ */
+static GtkWidget *
+dsn_selector_test_make (MainConfig *config)
+{
+ GtkWidget *ret, *wid, *dsnsel;
+
+ ret = gtk_table_new (2, 2, FALSE);
+ gtk_table_set_row_spacings (GTK_TABLE (ret), 5);
+ wid = gtk_label_new ("");
+ gtk_label_set_markup (GTK_LABEL (wid), "<b>DSN:</b>");
+ gtk_misc_set_alignment (GTK_MISC (wid), 0., 0.);
+ gtk_table_attach (GTK_TABLE (ret), wid, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
+
+ dsnsel = gnome_db_dsn_selector_new ();
+ gtk_table_attach (GTK_TABLE (ret), dsnsel, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
+
+ gtk_widget_show_all (ret);
+
+ return ret;
+}
+
+
+/*
+ * GnomeDbDsnEditor test
+ */
+
+static void
+dsn_editor_dsn_changed_cb (GnomeDbDsnSelector *dsel, GnomeDbDsnEditor *editor)
+{
+ GdaDataSourceInfo *info;
+ const gchar *dsn;
+ dsn = gnome_db_dsn_selector_get_dsn (GNOME_DB_DSN_SELECTOR (dsel));
+ info = gda_config_get_dsn (dsn);
+ gnome_db_dsn_editor_set_dsn (GNOME_DB_DSN_EDITOR (editor), info);
+}
+
+static GtkWidget *
+dsn_editor_test_make (MainConfig *config)
+{
+ GtkWidget *ret, *wid, *dsel;
+
+ ret = gtk_table_new (2, 2, FALSE);
+ gtk_table_set_row_spacings (GTK_TABLE (ret), 5);
+ wid = gtk_label_new ("");
+ gtk_label_set_markup (GTK_LABEL (wid), "<b>DSN:</b>");
+ gtk_misc_set_alignment (GTK_MISC (wid), 0., 0.);
+ gtk_table_attach (GTK_TABLE (ret), wid, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
+
+ dsel = gnome_db_dsn_selector_new ();
+ gnome_db_combo_add_undef_choice (GNOME_DB_COMBO (dsel), TRUE);
+ gtk_table_attach (GTK_TABLE (ret), dsel, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
+
+ wid = gtk_label_new ("");
+ gtk_label_set_markup (GTK_LABEL (wid), "<b>DSN editor:</b>");
+ gtk_misc_set_alignment (GTK_MISC (wid), 0., 0.);
+ gtk_table_attach (GTK_TABLE (ret), wid, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
+
+ wid = gnome_db_dsn_editor_new ();
+ gtk_table_attach_defaults (GTK_TABLE (ret), wid, 1, 2, 1, 2);
+ g_signal_connect (dsel, "changed", G_CALLBACK (dsn_editor_dsn_changed_cb), wid);
+
+ dsn_editor_dsn_changed_cb (GNOME_DB_DSN_SELECTOR (dsel), GNOME_DB_DSN_EDITOR (wid));
+
+ gtk_widget_show_all (ret);
+
+ return ret;
+}
+
+/*
+ * GnomeDbDsnAssistant test
+ */
+static GtkWidget *
+dsn_assistant_test_make (MainConfig *config)
+{
+ GtkWidget *ret, *wid;
+
+ ret = gtk_table_new (3, 3, FALSE);
+ wid = gnome_db_dsn_assistant_new ();
+ gtk_widget_show (wid);
+
+ return ret;
+}
+
+/*
+ * GnomeDbProviderSelector test
+ */
+static GtkWidget *
+provider_selector_test_make (MainConfig *config)
+{
+ GtkWidget *ret, *wid, *psel;
+
+ ret = gtk_table_new (2, 2, FALSE);
+ gtk_table_set_row_spacings (GTK_TABLE (ret), 5);
+ wid = gtk_label_new ("");
+ gtk_label_set_markup (GTK_LABEL (wid), "<b>Provider:</b>");
+ gtk_misc_set_alignment (GTK_MISC (wid), 0., 0.);
+ gtk_table_attach (GTK_TABLE (ret), wid, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
+
+ psel = gnome_db_provider_selector_new ();
+ gtk_table_attach (GTK_TABLE (ret), psel, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
+
+ gtk_widget_show_all (ret);
+
+ return ret;
+}
+
+/*
+ * GnomeDbProviderSpecEditor test
+ */
+static void
+provider_spec_prov_changed_cb (GnomeDbProviderSelector *prov_sel, GnomeDbProviderSpecEditor *editor)
+{
+ gnome_db_provider_spec_editor_set_provider (GNOME_DB_PROVIDER_SPEC_EDITOR (editor),
+ gnome_db_provider_selector_get_provider (GNOME_DB_PROVIDER_SELECTOR (prov_sel)));
+}
+
+static GtkWidget *
+provider_spec_editor_test_make (MainConfig *config)
+{
+ GtkWidget *ret, *wid, *psel;
+
+ ret = gtk_table_new (2, 2, FALSE);
+ gtk_table_set_row_spacings (GTK_TABLE (ret), 5);
+ wid = gtk_label_new ("");
+ gtk_label_set_markup (GTK_LABEL (wid), "<b>Provider:</b>");
+ gtk_misc_set_alignment (GTK_MISC (wid), 0., 0.);
+ gtk_table_attach (GTK_TABLE (ret), wid, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
+
+ psel = gnome_db_provider_selector_new ();
+ gnome_db_combo_add_undef_choice (GNOME_DB_COMBO (psel), TRUE);
+ gtk_table_attach (GTK_TABLE (ret), psel, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
+
+ wid = gtk_label_new ("");
+ gtk_label_set_markup (GTK_LABEL (wid), "<b>Spec editor:</b>");
+ gtk_misc_set_alignment (GTK_MISC (wid), 0., 0.);
+ gtk_table_attach (GTK_TABLE (ret), wid, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
+
+ wid = gnome_db_provider_spec_editor_new (NULL);
+ gtk_table_attach_defaults (GTK_TABLE (ret), wid, 1, 2, 1, 2);
+ g_signal_connect (psel, "changed", G_CALLBACK (provider_spec_prov_changed_cb), wid);
+
+ provider_spec_prov_changed_cb (GNOME_DB_PROVIDER_SELECTOR (psel), GNOME_DB_PROVIDER_SPEC_EDITOR (wid));
+
+ gtk_widget_show_all (ret);
+
+ return ret;
+}
+
+/*
+ * GnomeDbProviderAuthEditor test
+ */
+static void
+provider_auth_prov_changed_cb (GnomeDbProviderSelector *prov_sel, GnomeDbProviderAuthEditor *editor)
+{
+ gnome_db_provider_auth_editor_set_provider (GNOME_DB_PROVIDER_AUTH_EDITOR (editor),
+ gnome_db_provider_selector_get_provider (GNOME_DB_PROVIDER_SELECTOR (prov_sel)));
+}
+
+static GtkWidget *
+provider_auth_editor_test_make (MainConfig *config)
+{
+ GtkWidget *ret, *wid, *psel;
+
+ ret = gtk_table_new (2, 2, FALSE);
+ gtk_table_set_row_spacings (GTK_TABLE (ret), 5);
+ wid = gtk_label_new ("");
+ gtk_label_set_markup (GTK_LABEL (wid), "<b>Provider:</b>");
+ gtk_misc_set_alignment (GTK_MISC (wid), 0., 0.);
+ gtk_table_attach (GTK_TABLE (ret), wid, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
+
+ psel = gnome_db_provider_selector_new ();
+ gnome_db_combo_add_undef_choice (GNOME_DB_COMBO (psel), TRUE);
+ gtk_table_attach (GTK_TABLE (ret), psel, 1, 2, 0, 1, GTK_FILL, 0, 0, 0);
+
+ wid = gtk_label_new ("");
+ gtk_label_set_markup (GTK_LABEL (wid), "<b>Authentication editor:</b>");
+ gtk_misc_set_alignment (GTK_MISC (wid), 0., 0.);
+ gtk_table_attach (GTK_TABLE (ret), wid, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
+
+ wid = gnome_db_provider_auth_editor_new (NULL);
+ gtk_table_attach_defaults (GTK_TABLE (ret), wid, 1, 2, 1, 2);
+ g_signal_connect (psel, "changed", G_CALLBACK (provider_auth_prov_changed_cb), wid);
+
+ provider_auth_prov_changed_cb (GNOME_DB_PROVIDER_SELECTOR (psel), GNOME_DB_PROVIDER_AUTH_EDITOR (wid));
+
+ gtk_widget_show_all (ret);
+
+ return ret;
+}
+
+/*
+ * GnomeDbConnectionProperties test
+ */
+static GtkWidget *
+connection_properties_test_make (MainConfig *config)
+{
+ GtkWidget *vbox, *wid;
+
+ vbox = gtk_vbox_new (FALSE, 5);
+ wid = gnome_db_connection_properties_new (config->cnc);
+ gtk_box_pack_start (GTK_BOX (vbox), wid, TRUE, TRUE, 0);
+ gtk_widget_show (wid);
+
+ return vbox;
+}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]