eel: compare schemes without uri_is_* functions

Use g_uri_peek_scheme and compare with predefined schemes.
This commit is contained in:
Peter Eisenmann 2023-07-31 12:04:06 +02:00 committed by António Fernandes
parent 830ea4b30c
commit 3a047dc39a
4 changed files with 14 additions and 64 deletions

View file

@ -36,44 +36,6 @@
#include <string.h>
#include <stdlib.h>
gboolean
eel_uri_is_starred (const gchar *uri)
{
return g_str_has_prefix (uri, "starred:");
}
/* It also matches trashed folders inside Trash,
* use `eel_uri_is_trash_root` if that's not desirable. */
gboolean
eel_uri_is_trash (const char *uri)
{
return g_str_has_prefix (uri, "trash:");
}
gboolean
eel_uri_is_trash_root (const char *uri)
{
return g_strcmp0 (uri, "trash:///") == 0;
}
gboolean
eel_uri_is_recent (const char *uri)
{
return g_str_has_prefix (uri, "recent:");
}
gboolean
eel_uri_is_search (const char *uri)
{
return g_str_has_prefix (uri, EEL_SEARCH_URI);
}
gboolean
eel_uri_is_other_locations (const char *uri)
{
return g_str_has_prefix (uri, "other-locations:");
}
/**
* eel_filename_get_extension_offset:
* @filename: a null-terminated string representing the basename of a file, with

View file

@ -33,13 +33,6 @@ G_BEGIN_DECLS
#define EEL_TRASH_URI "trash:"
#define EEL_SEARCH_URI "x-nautilus-search:"
gboolean eel_uri_is_starred (const char *uri);
gboolean eel_uri_is_trash (const char *uri);
gboolean eel_uri_is_trash_root (const char *uri);
gboolean eel_uri_is_search (const char *uri);
gboolean eel_uri_is_other_locations (const char *uri);
gboolean eel_uri_is_recent (const char *uri);
char * eel_filename_strip_extension (const char *filename);
void eel_filename_get_rename_region (const char *filename,
int *start_offset,

View file

@ -64,6 +64,7 @@
#include "nautilus-lib-self-check-functions.h"
#include "nautilus-metadata.h"
#include "nautilus-module.h"
#include "nautilus-scheme.h"
#include "nautilus-signaller.h"
#include "nautilus-tag-manager.h"
#include "nautilus-thumbnails.h"
@ -4052,14 +4053,9 @@ nautilus_file_is_home (NautilusFile *file)
gboolean
nautilus_file_is_in_search (NautilusFile *file)
{
char *uri;
gboolean ret;
g_autoptr (GFile) location = nautilus_file_get_location (file);
uri = nautilus_file_get_uri (file);
ret = eel_uri_is_search (uri);
g_free (uri);
return ret;
return g_file_has_uri_scheme (location, SCHEME_NAUTILUS_SEARCH);
}
static gboolean
@ -8053,13 +8049,13 @@ nautilus_file_is_other_locations (NautilusFile *file)
gboolean
nautilus_file_is_starred_location (NautilusFile *file)
{
g_autofree gchar *uri = NULL;
g_autoptr (GFile) location = NULL;
g_return_val_if_fail (NAUTILUS_IS_FILE (file), FALSE);
uri = nautilus_file_get_uri (file);
location = nautilus_file_get_location (file);
return eel_uri_is_starred (uri);
return g_file_has_uri_scheme (location, SCHEME_NAUTILUS_SEARCH);
}
/**

View file

@ -25,6 +25,7 @@
#include "nautilus-global-preferences.h"
#include "nautilus-icon-info.h"
#include "nautilus-scheme.h"
#include "nautilus-ui-utilities.h"
#include "nautilus-window.h"
#include <eel/eel-vfs-extensions.h>
@ -40,21 +41,21 @@ static void
add_file_to_recent (NautilusFile *file,
GAppInfo *application)
{
const gchar *scheme;
GtkRecentData recent_data;
char *uri;
uri = nautilus_file_get_activation_uri (file);
g_autofree char *uri = nautilus_file_get_activation_uri (file);
if (uri == NULL)
{
uri = nautilus_file_get_uri (file);
}
/* do not add trash:// etc */
if (eel_uri_is_trash (uri) ||
eel_uri_is_search (uri) ||
eel_uri_is_recent (uri))
scheme = g_uri_peek_scheme (uri);
if (scheme != NULL &&
(g_str_equal (scheme, SCHEME_TRASH) ||
g_str_equal (scheme, SCHEME_NAUTILUS_SEARCH) ||
g_str_equal (scheme, SCHEME_RECENT)))
{
g_free (uri);
return;
}
@ -74,8 +75,6 @@ add_file_to_recent (NautilusFile *file,
g_free (recent_data.mime_type);
g_free (recent_data.app_name);
g_free (recent_data.app_exec);
g_free (uri);
}
void
nautilus_launch_application_for_mount (GAppInfo *app_info,