[libgda/gtk3] API changes corrections



commit 15ba1c5e2e8d6641a66ab336dad8b74aa0a66e58
Author: Vivien Malerba <malerba gnome-db org>
Date:   Fri Feb 18 21:26:13 2011 +0100

    API changes corrections

 control-center/dsn-properties-dialog.c |   40 ++++++++++++++++++++------------
 tools/browser/common/fk-declare.c      |    4 ---
 2 files changed, 25 insertions(+), 19 deletions(-)
---
diff --git a/control-center/dsn-properties-dialog.c b/control-center/dsn-properties-dialog.c
index fe272a3..f37a4ef 100644
--- a/control-center/dsn-properties-dialog.c
+++ b/control-center/dsn-properties-dialog.c
@@ -245,30 +245,40 @@ dsn_properties_dialog (GtkWindow *parent, const gchar *dsn)
 		break;
 		case BROWSE_BUTTON:
 		{
-			char *argv[3];
+			GAppInfo *appinfo;
+			GdkAppLaunchContext *context;
+			GdkScreen *screen;
 			gboolean sresult;
 			GError *lerror = NULL;
+			gchar *cmd;
 #ifdef G_OS_WIN32
 #define EXENAME "gda-browser-" GDA_ABI_VERSION ".exe"
 #else
 #define EXENAME "gda-browser-" GDA_ABI_VERSION
 #endif
 			/* run the gda-browser tool */
-			argv[0] = gda_gbr_get_file_path (GDA_BIN_DIR, (gchar *) EXENAME, NULL);
-			argv[1] = (char *) dsn;
-			argv[2] = NULL;
-
-			sresult = gdk_spawn_on_screen (gtk_widget_get_screen (GTK_WIDGET (dialog)),
-						       NULL, argv, NULL, 0,
-						       NULL, NULL, NULL, &lerror);
-			if (!sresult && lerror && (lerror->domain == G_SPAWN_ERROR) && (lerror->code == G_SPAWN_ERROR_NOENT)) {
-				g_error_free (lerror);
-				g_free (argv[0]);
-				argv[0] = g_strdup (EXENAME);
-				sresult = g_spawn_async (NULL, argv, NULL, G_SPAWN_SEARCH_PATH,
-							 NULL, NULL, NULL, &lerror);
+			cmd = gda_gbr_get_file_path (GDA_BIN_DIR, (char *) EXENAME, NULL);
+			appinfo = g_app_info_create_from_commandline (cmd,
+								      "Gda browser",
+								      G_APP_INFO_CREATE_NONE,
+								      NULL);
+			g_free (cmd);
+			
+			screen = gtk_widget_get_screen (GTK_WIDGET (parent));
+			context = gdk_display_get_app_launch_context (gdk_screen_get_display (screen));
+			gdk_app_launch_context_set_screen (context, screen);
+			sresult = g_app_info_launch (appinfo, NULL, G_APP_LAUNCH_CONTEXT (context), NULL);
+			if (! sresult) {
+				g_object_unref (appinfo);
+				appinfo = g_app_info_create_from_commandline (EXENAME,
+									      "Gda Control center",
+									      G_APP_INFO_CREATE_NONE,
+									      NULL);
+				sresult = g_app_info_launch (appinfo, NULL, G_APP_LAUNCH_CONTEXT (context), &lerror);
 			}
-			g_free (argv [0]);
+			g_object_unref (context);
+			g_object_unref (appinfo);
+
 			if (!sresult) {
 				GtkWidget *msgdialog;
 				msgdialog = gtk_message_dialog_new_with_markup (GTK_WINDOW (dialog), GTK_DIALOG_MODAL,
diff --git a/tools/browser/common/fk-declare.c b/tools/browser/common/fk-declare.c
index 0849efc..c6c5ab8 100644
--- a/tools/browser/common/fk-declare.c
+++ b/tools/browser/common/fk-declare.c
@@ -177,11 +177,7 @@ create_internal_layout (FkDeclare *decl)
 	gint i, nrows;
 	GSList *list;
 
-#if GTK_CHECK_VERSION(2,18,0)
 	dcontents = gtk_dialog_get_content_area (GTK_DIALOG (decl));
-#else
-	dcontents = GTK_DIALOG (decl)->vbox;
-#endif
 	gtk_box_set_spacing (GTK_BOX (dcontents), 5);
 
 	/* label */



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]