diff options
author | Ernestas Kulik <ernestask@gnome.org> | 2017-12-21 23:36:09 +0200 |
---|---|---|
committer | Ernestas Kulik <ernestask@gnome.org> | 2018-01-02 13:11:10 +0200 |
commit | e3777b541063d2dcd2f42124bbe5910244919e1c (patch) | |
tree | 4ac767a5fdb6324bf4562df63cd9bc40ddad64f8 | |
parent | ac0e5578d291073fc034e5a206dcb36a2fd0220f (diff) | |
download | nautilus-e3777b541063d2dcd2f42124bbe5910244919e1c.tar.gz |
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.
-rw-r--r-- | eel/eel-gnome-extensions.c | 63 | ||||
-rw-r--r-- | eel/eel-gnome-extensions.h | 34 | ||||
-rw-r--r-- | eel/eel-gtk-extensions.c | 1 | ||||
-rw-r--r-- | eel/eel.h | 1 | ||||
-rw-r--r-- | eel/meson.build | 2 | ||||
-rw-r--r-- | src/nautilus-canvas-dnd.c | 1 | ||||
-rw-r--r-- | src/nautilus-files-view.c | 1 | ||||
-rw-r--r-- | src/nautilus-program-choosing.c | 34 | ||||
-rw-r--r-- | src/nautilus-properties-window.c | 1 |
9 files changed, 18 insertions, 120 deletions
diff --git a/eel/eel-gnome-extensions.c b/eel/eel-gnome-extensions.c deleted file mode 100644 index 65de96180..000000000 --- a/eel/eel-gnome-extensions.c +++ /dev/null @@ -1,63 +0,0 @@ -/* eel-gnome-extensions.c - implementation of new functions that operate on - * gnome classes. Perhaps some of these should be - * rolled into gnome someday. - * - * Copyright (C) 1999, 2000, 2001 Eazel, Inc. - * - * The Gnome Library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public License as - * published by the Free Software Foundation; either version 2 of the - * License, or (at your option) any later version. - * - * The Gnome Library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with the Gnome Library; see the file COPYING.LIB. If not, - * see <http://www.gnu.org/licenses/>. - * - * Authors: Darin Adler <darin@eazel.com> - */ - -#include <config.h> - -#define GNOME_DESKTOP_USE_UNSTABLE_API - -#include "eel-gnome-extensions.h" - -#include <gtk/gtk.h> - -/* Return a command string containing the path to a terminal on this system. */ - -void -eel_gnome_open_terminal_on_screen (const char *command, - GdkScreen *screen) -{ - GAppInfo *app; - GdkAppLaunchContext *ctx; - GError *error = NULL; - GdkDisplay *display; - - app = g_app_info_create_from_commandline (command, NULL, G_APP_INFO_CREATE_NEEDS_TERMINAL, &error); - - if (app != NULL && screen != NULL) - { - display = gdk_screen_get_display (screen); - ctx = gdk_display_get_app_launch_context (display); - gdk_app_launch_context_set_screen (ctx, screen); - - g_app_info_launch (app, NULL, G_APP_LAUNCH_CONTEXT (ctx), &error); - - g_object_unref (app); - g_object_unref (ctx); - } - - if (error != NULL) - { - g_message ("Could not start application on terminal: %s", error->message); - - g_error_free (error); - } -} diff --git a/eel/eel-gnome-extensions.h b/eel/eel-gnome-extensions.h deleted file mode 100644 index 3465906a4..000000000 --- a/eel/eel-gnome-extensions.h +++ /dev/null @@ -1,34 +0,0 @@ - -/* eel-gnome-extensions.h - interface for new functions that operate on - gnome classes. Perhaps some of these should be - rolled into gnome someday. - - Copyright (C) 1999, 2000, 2001 Eazel, Inc. - - The Gnome Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Library General Public License as - published by the Free Software Foundation; either version 2 of the - License, or (at your option) any later version. - - The Gnome Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Library General Public License for more details. - - You should have received a copy of the GNU Library General Public - License along with the Gnome Library; see the file COPYING.LIB. If not, - see <http://www.gnu.org/licenses/>. - - Authors: Darin Adler <darin@eazel.com> -*/ - -#ifndef EEL_GNOME_EXTENSIONS_H -#define EEL_GNOME_EXTENSIONS_H - -#include <gtk/gtk.h> - -/* Open up a new terminal, optionally passing in a command to execute */ -void eel_gnome_open_terminal_on_screen (const char *command, - GdkScreen *screen); - -#endif /* EEL_GNOME_EXTENSIONS_H */ 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> @@ -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> |