Allow setting the environment for "OnlyShowIn"
This commit is contained in:
parent
224e24227b
commit
9b62d7c6a7
|
@ -61,6 +61,7 @@ int mimehandler_can_open(MimeHandler * handler);
|
|||
|
||||
String const ** mimehandler_get_categories(MimeHandler * handler);
|
||||
String const * mimehandler_get_comment(MimeHandler * handler, int translate);
|
||||
String const * mimehandler_get_environment(MimeHandler * handler);
|
||||
String const * mimehandler_get_filename(MimeHandler * handler);
|
||||
String const * mimehandler_get_generic_name(MimeHandler * handler,
|
||||
int translate);
|
||||
|
@ -74,6 +75,9 @@ String const * mimehandler_get_url(MimeHandler * handler);
|
|||
|
||||
int mimehandler_is_deleted(MimeHandler * handler);
|
||||
|
||||
int mimehandler_set_environment(MimeHandler * handler,
|
||||
String const * environment);
|
||||
|
||||
/* useful */
|
||||
int mimehandler_open(MimeHandler * handler, String const * filename);
|
||||
|
||||
|
|
|
@ -66,6 +66,7 @@ struct _MimeHandler
|
|||
String * filename;
|
||||
String ** categories;
|
||||
String ** types;
|
||||
String * environment;
|
||||
};
|
||||
|
||||
|
||||
|
@ -96,6 +97,7 @@ MimeHandler * mimehandler_new(void)
|
|||
handler->filename = NULL;
|
||||
handler->categories = NULL;
|
||||
handler->types = NULL;
|
||||
handler->environment = NULL;
|
||||
if(handler->config == NULL)
|
||||
{
|
||||
mimehandler_delete(handler);
|
||||
|
@ -143,6 +145,7 @@ void mimehandler_delete(MimeHandler * handler)
|
|||
_mimehandler_cache_invalidate(handler);
|
||||
config_delete(handler->config);
|
||||
string_delete(handler->filename);
|
||||
string_delete(handler->environment);
|
||||
object_delete(handler);
|
||||
}
|
||||
|
||||
|
@ -155,8 +158,9 @@ int mimehandler_can_display(MimeHandler * handler)
|
|||
|
||||
if(mimehandler_is_deleted(handler))
|
||||
return 0;
|
||||
/* XXX allow setting a value for the desktop environment */
|
||||
if(config_get(handler->config, SECTION, "OnlyShowIn") != NULL)
|
||||
if((p = config_get(handler->config, SECTION, "OnlyShowIn")) != NULL
|
||||
&& (handler->environment == NULL
|
||||
|| string_compare(p, handler->environment)))
|
||||
return 0;
|
||||
if((p = config_get(handler->config, SECTION, "NoDisplay")) != NULL
|
||||
&& string_compare(p, "true") == 0)
|
||||
|
@ -321,6 +325,13 @@ String const * mimehandler_get_comment(MimeHandler * handler, int translate)
|
|||
}
|
||||
|
||||
|
||||
/* mimehandler_get_environment */
|
||||
String const * mimehandler_get_environment(MimeHandler * handler)
|
||||
{
|
||||
return handler->environment;
|
||||
}
|
||||
|
||||
|
||||
/* mimehandler_get_filename */
|
||||
String const * mimehandler_get_filename(MimeHandler * handler)
|
||||
{
|
||||
|
@ -506,6 +517,20 @@ int mimehandler_is_deleted(MimeHandler * handler)
|
|||
}
|
||||
|
||||
|
||||
/* mimehandler_set_environment */
|
||||
int mimehandler_set_environment(MimeHandler * handler,
|
||||
String const * environment)
|
||||
{
|
||||
String * p;
|
||||
|
||||
if((p = string_new(environment)) == NULL)
|
||||
return -1;
|
||||
string_delete(handler->environment);
|
||||
handler->environment = p;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* useful */
|
||||
/* mimehandler_load */
|
||||
int mimehandler_load(MimeHandler * handler, String const * filename)
|
||||
|
|
Loading…
Reference in New Issue
Block a user