[libgda/gtk3] API changes corrections
- From: Vivien Malerba <vivien src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libgda/gtk3] API changes corrections
- Date: Sat, 19 Feb 2011 14:34:00 +0000 (UTC)
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]