[nautilus/wip/ernestask/long-live-the-desktop: 11/12] program-choosing: drop eel dependency



commit 4ed3b0c5bb526c35a3aac978cef82b51eca6b5c5
Author: Ernestas Kulik <ernestask gnome org>
Date:   Thu Dec 21 23:36:09 2017 +0200

    program-choosing: drop eel dependency
    
    Terminal applications are launched via eel, and, since this file is the
    only consumer of that API, the code from eel can be moved over.

 eel/eel-gnome-extensions.c       | 63 ----------------------------------------
 eel/eel-gnome-extensions.h       | 34 ----------------------
 eel/eel-gtk-extensions.c         |  1 -
 eel/eel.h                        |  1 -
 eel/meson.build                  |  2 --
 src/nautilus-canvas-dnd.c        |  1 -
 src/nautilus-files-view.c        |  1 -
 src/nautilus-program-choosing.c  | 34 ++++++++++++----------
 src/nautilus-properties-window.c |  1 -
 9 files changed, 18 insertions(+), 120 deletions(-)
---
diff --git a/eel/eel-gtk-extensions.c b/eel/eel-gtk-extensions.c
index 8e7a35753..0bc621e2a 100644
--- a/eel/eel-gtk-extensions.c
+++ b/eel/eel-gtk-extensions.c
@@ -27,7 +27,6 @@
 #include "eel-gtk-extensions.h"
 
 #include "eel-glib-extensions.h"
-#include "eel-gnome-extensions.h"
 #include "eel-string.h"
 
 #include <X11/Xlib.h>
diff --git a/eel/eel.h b/eel/eel.h
index e028d7d4c..32cf2c37b 100644
--- a/eel/eel.h
+++ b/eel/eel.h
@@ -26,7 +26,6 @@
 #include <eel/eel-art-extensions.h>
 #include <eel/eel-gdk-extensions.h>
 #include <eel/eel-glib-extensions.h>
-#include <eel/eel-gnome-extensions.h>
 #include <eel/eel-graphic-effects.h>
 #include <eel/eel-gtk-extensions.h>
 #include <eel/eel-self-checks.h>
diff --git a/eel/meson.build b/eel/meson.build
index c8e76cede..6f353829f 100644
--- a/eel/meson.build
+++ b/eel/meson.build
@@ -11,8 +11,6 @@ libeel_2_sources = [
   'eel-gdk-extensions.c',
   'eel-glib-extensions.h',
   'eel-glib-extensions.c',
-  'eel-gnome-extensions.h',
-  'eel-gnome-extensions.c',
   'eel-graphic-effects.h',
   'eel-graphic-effects.c',
   'eel-gtk-extensions.h',
diff --git a/src/nautilus-canvas-dnd.c b/src/nautilus-canvas-dnd.c
index 27f1a6c3b..5fb97c34b 100644
--- a/src/nautilus-canvas-dnd.c
+++ b/src/nautilus-canvas-dnd.c
@@ -40,7 +40,6 @@
 #include "nautilus-metadata.h"
 #include "nautilus-selection-canvas-item.h"
 #include <eel/eel-glib-extensions.h>
-#include <eel/eel-gnome-extensions.h>
 #include <eel/eel-graphic-effects.h>
 #include <eel/eel-gtk-extensions.h>
 #include <eel/eel-stock-dialogs.h>
diff --git a/src/nautilus-files-view.c b/src/nautilus-files-view.c
index ddde56e02..7a8f3fe74 100644
--- a/src/nautilus-files-view.c
+++ b/src/nautilus-files-view.c
@@ -57,7 +57,6 @@
 #include <fcntl.h>
 
 #include <eel/eel-glib-extensions.h>
-#include <eel/eel-gnome-extensions.h>
 #include <eel/eel-gtk-extensions.h>
 #include <eel/eel-stock-dialogs.h>
 #include <eel/eel-string.h>
diff --git a/src/nautilus-program-choosing.c b/src/nautilus-program-choosing.c
index 08d51f2fc..52d654a87 100644
--- a/src/nautilus-program-choosing.c
+++ b/src/nautilus-program-choosing.c
@@ -26,7 +26,6 @@
 #include "nautilus-global-preferences.h"
 #include "nautilus-icon-info.h"
 #include "nautilus-recent.h"
-#include <eel/eel-gnome-extensions.h>
 #include <eel/eel-stock-dialogs.h>
 #include <gtk/gtk.h>
 #include <glib/gi18n.h>
@@ -200,29 +199,32 @@ launch_application_from_command_internal (const gchar *full_command,
                                           GdkScreen   *screen,
                                           gboolean     use_terminal)
 {
-    GAppInfo *app;
-    GdkAppLaunchContext *ctx;
-    GdkDisplay *display;
+    GAppInfoCreateFlags flags;
+    g_autoptr (GError) error = NULL;
+    g_autoptr (GAppInfo) app = NULL;
 
+    flags = G_APP_INFO_CREATE_NONE;
     if (use_terminal)
     {
-        eel_gnome_open_terminal_on_screen (full_command, screen);
+        flags = G_APP_INFO_CREATE_NEEDS_TERMINAL;
     }
-    else
+
+    app = g_app_info_create_from_commandline (full_command, NULL, flags, &error);
+    if (app != NULL && !(use_terminal && screen == NULL))
     {
-        app = g_app_info_create_from_commandline (full_command, NULL, 0, NULL);
+        GdkDisplay *display;
+        g_autoptr (GdkAppLaunchContext) context = NULL;
 
-        if (app != NULL)
-        {
-            display = gdk_screen_get_display (screen);
-            ctx = gdk_display_get_app_launch_context (display);
-            gdk_app_launch_context_set_screen (ctx, screen);
+        display = gdk_screen_get_display (screen);
+        context = gdk_display_get_app_launch_context (display);
+        gdk_app_launch_context_set_screen (context, screen);
 
-            g_app_info_launch (app, NULL, G_APP_LAUNCH_CONTEXT (ctx), NULL);
+        g_app_info_launch (app, NULL, G_APP_LAUNCH_CONTEXT (context), &error);
+    }
 
-            g_object_unref (app);
-            g_object_unref (ctx);
-        }
+    if (error != NULL)
+    {
+        g_message ("Could not start application: %s", error->message);
     }
 }
 
diff --git a/src/nautilus-properties-window.c b/src/nautilus-properties-window.c
index 46f491f30..1308d9ca2 100644
--- a/src/nautilus-properties-window.c
+++ b/src/nautilus-properties-window.c
@@ -39,7 +39,6 @@
 
 #include <eel/eel-accessibility.h>
 #include <eel/eel-glib-extensions.h>
-#include <eel/eel-gnome-extensions.h>
 #include <eel/eel-gtk-extensions.h>
 #include <eel/eel-stock-dialogs.h>
 #include <eel/eel-string.h>


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