Lines 72-79
Link Here
|
72 |
const rtl::OUString LIB_RECENT_FILE = UNISTRING("librecentfile.so"); |
72 |
const rtl::OUString LIB_RECENT_FILE = UNISTRING("librecentfile.so"); |
73 |
const rtl::OUString DEFAULT_CONTEXT = UNISTRING("DefaultContext"); |
73 |
const rtl::OUString DEFAULT_CONTEXT = UNISTRING("DefaultContext"); |
74 |
|
74 |
|
|
|
75 |
#ifdef GTK_IS_BROKEN |
75 |
void * (* sym_gtk_recent_manager_get_default) () = NULL; |
76 |
void * (* sym_gtk_recent_manager_get_default) () = NULL; |
76 |
void (* sym_gtk_recent_manager_add_item) (void *, const char *) = NULL; |
77 |
void (* sym_gtk_recent_manager_add_item) (void *, const char *) = NULL; |
|
|
78 |
#endif |
77 |
|
79 |
|
78 |
// We need to re-encode file urls because osl_getFileURLFromSystemPath converts |
80 |
// We need to re-encode file urls because osl_getFileURLFromSystemPath converts |
79 |
// to UTF-8 before encoding non ascii characters, which is not what other apps expect. |
81 |
// to UTF-8 before encoding non ascii characters, which is not what other apps expect. |
Lines 114-119
Link Here
|
114 |
return url; |
116 |
return url; |
115 |
} |
117 |
} |
116 |
|
118 |
|
|
|
119 |
#ifdef GTK_IS_BROKEN |
117 |
bool init_recent_manager_api() |
120 |
bool init_recent_manager_api() |
118 |
{ |
121 |
{ |
119 |
oslModule hDefault; |
122 |
oslModule hDefault; |
Lines 128-151
Link Here
|
128 |
bool ret = (NULL != sym_gtk_recent_manager_get_default) && (NULL != sym_gtk_recent_manager_add_item); |
131 |
bool ret = (NULL != sym_gtk_recent_manager_get_default) && (NULL != sym_gtk_recent_manager_add_item); |
129 |
return ret; |
132 |
return ret; |
130 |
} |
133 |
} |
131 |
|
134 |
#endif |
132 |
|
135 |
|
133 |
//############################## |
136 |
//############################## |
134 |
void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& aMimeType) |
137 |
void AddToRecentDocumentList(const rtl::OUString& aFileUrl, const rtl::OUString& aMimeType) |
135 |
{ |
138 |
{ |
|
|
139 |
#ifdef GTK_IS_BROKEN |
136 |
static bool bIsRecentManagerPresent = init_recent_manager_api(); |
140 |
static bool bIsRecentManagerPresent = init_recent_manager_api(); |
|
|
141 |
#endif |
137 |
|
142 |
|
138 |
// Convert file URL for external use (see above) |
143 |
// Convert file URL for external use (see above) |
139 |
rtl::OUString externalUrl = translateToExternalUrl(aFileUrl); |
144 |
rtl::OUString externalUrl = translateToExternalUrl(aFileUrl); |
140 |
if( 0 == externalUrl.getLength() ) |
145 |
if( 0 == externalUrl.getLength() ) |
141 |
externalUrl = aFileUrl; |
146 |
externalUrl = aFileUrl; |
142 |
|
147 |
|
|
|
148 |
#ifdef GTK_IS_BROKEN |
143 |
if( bIsRecentManagerPresent ) |
149 |
if( bIsRecentManagerPresent ) |
144 |
{ |
150 |
{ |
145 |
void * recent_manager = sym_gtk_recent_manager_get_default(); |
151 |
void * recent_manager = sym_gtk_recent_manager_get_default(); |
146 |
sym_gtk_recent_manager_add_item(recent_manager, rtl::OUStringToOString(aFileUrl, RTL_TEXTENCODING_UTF8).getStr()); |
152 |
sym_gtk_recent_manager_add_item(recent_manager, rtl::OUStringToOString(aFileUrl, RTL_TEXTENCODING_UTF8).getStr()); |
147 |
} |
153 |
} |
148 |
else |
154 |
else |
|
|
155 |
#endif |
149 |
{ |
156 |
{ |
150 |
rtl::OUString librecentfile_url = get_absolute_library_url(LIB_RECENT_FILE); |
157 |
rtl::OUString librecentfile_url = get_absolute_library_url(LIB_RECENT_FILE); |