summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErnestas Kulik <ernestask@gnome.org>2017-12-21 23:36:09 +0200
committerErnestas Kulik <ernestask@gnome.org>2018-01-02 13:11:10 +0200
commite3777b541063d2dcd2f42124bbe5910244919e1c (patch)
tree4ac767a5fdb6324bf4562df63cd9bc40ddad64f8
parentac0e5578d291073fc034e5a206dcb36a2fd0220f (diff)
downloadnautilus-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.c63
-rw-r--r--eel/eel-gnome-extensions.h34
-rw-r--r--eel/eel-gtk-extensions.c1
-rw-r--r--eel/eel.h1
-rw-r--r--eel/meson.build2
-rw-r--r--src/nautilus-canvas-dnd.c1
-rw-r--r--src/nautilus-files-view.c1
-rw-r--r--src/nautilus-program-choosing.c34
-rw-r--r--src/nautilus-properties-window.c1
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>
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>