Update upstream source from tag 'upstream/4.8.3'
Update to upstream version '4.8.3'
with Debian dir 2677c3ab7c0add6d85dbbb8dd371db018b66abe4
Fabio Fantoni
2 years ago
79 | 79 | static GAppInfo * |
80 | 80 | gmenu_desktopappinfo_dup (GAppInfo *appinfo) |
81 | 81 | { |
82 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
83 | ||
82 | 84 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
83 | 85 | GMenuDesktopAppInfo *new_info; |
84 | 86 | |
108 | 110 | static const char * |
109 | 111 | gmenu_desktopappinfo_get_id (GAppInfo *appinfo) |
110 | 112 | { |
113 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
114 | ||
111 | 115 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
112 | 116 | |
113 | 117 | return info->desktop_id; |
116 | 120 | static const char * |
117 | 121 | gmenu_desktopappinfo_get_name (GAppInfo *appinfo) |
118 | 122 | { |
123 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
124 | ||
119 | 125 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
120 | 126 | return g_app_info_get_name (G_APP_INFO(info->super_appinfo)); |
121 | 127 | } |
123 | 129 | static const char * |
124 | 130 | gmenu_desktopappinfo_get_description (GAppInfo *appinfo) |
125 | 131 | { |
132 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
133 | ||
126 | 134 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
127 | 135 | return g_app_info_get_description (G_APP_INFO(info->super_appinfo)); |
128 | 136 | } |
130 | 138 | static const char * |
131 | 139 | gmenu_desktopappinfo_get_executable (GAppInfo *appinfo) |
132 | 140 | { |
141 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
142 | ||
133 | 143 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
134 | 144 | return g_app_info_get_executable (G_APP_INFO(info->super_appinfo)); |
135 | 145 | } |
137 | 147 | static GIcon * |
138 | 148 | gmenu_desktopappinfo_get_icon (GAppInfo *appinfo) |
139 | 149 | { |
150 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
151 | ||
140 | 152 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
141 | 153 | return g_app_info_get_icon (G_APP_INFO(info->super_appinfo)); |
142 | 154 | } |
144 | 156 | static gboolean |
145 | 157 | gmenu_desktopappinfo_launch (GAppInfo *appinfo, GList *files, GAppLaunchContext *launch_context, GError **error) |
146 | 158 | { |
159 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
160 | ||
147 | 161 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
148 | 162 | return g_app_info_launch (G_APP_INFO(info->super_appinfo), files, launch_context, error); |
149 | 163 | } |
151 | 165 | static gboolean |
152 | 166 | gmenu_desktopappinfo_supports_uris (GAppInfo *appinfo) |
153 | 167 | { |
168 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
169 | ||
154 | 170 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
155 | 171 | return g_app_info_supports_uris (G_APP_INFO(info->super_appinfo)); |
156 | 172 | } |
158 | 174 | static gboolean |
159 | 175 | gmenu_desktopappinfo_supports_files (GAppInfo *appinfo) |
160 | 176 | { |
177 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
178 | ||
161 | 179 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
162 | 180 | return g_app_info_supports_files (G_APP_INFO(info->super_appinfo)); |
163 | 181 | } |
168 | 186 | GAppLaunchContext *launch_context, |
169 | 187 | GError **error) |
170 | 188 | { |
189 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
190 | ||
171 | 191 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
172 | 192 | return g_app_info_launch_uris (G_APP_INFO(info->super_appinfo), uris, launch_context, error); |
173 | 193 | } |
175 | 195 | static gboolean |
176 | 196 | gmenu_desktopappinfo_should_show (GAppInfo *appinfo) |
177 | 197 | { |
198 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
199 | ||
178 | 200 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
179 | 201 | return g_app_info_should_show (G_APP_INFO(info->super_appinfo)); |
180 | 202 | } |
184 | 206 | const char *content_type, |
185 | 207 | GError **error) |
186 | 208 | { |
209 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
210 | ||
187 | 211 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
188 | 212 | return g_app_info_set_as_default_for_type (G_APP_INFO(info->super_appinfo), content_type, error); |
189 | 213 | } |
193 | 217 | const char *extension, |
194 | 218 | GError **error) |
195 | 219 | { |
220 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
221 | ||
196 | 222 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
197 | 223 | return g_app_info_set_as_default_for_extension (G_APP_INFO(info->super_appinfo), extension, error); |
198 | 224 | } |
202 | 228 | const char *content_type, |
203 | 229 | GError **error) |
204 | 230 | { |
231 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
232 | ||
205 | 233 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
206 | 234 | return g_app_info_add_supports_type (G_APP_INFO(info->super_appinfo), content_type, error); |
207 | 235 | } |
209 | 237 | static gboolean |
210 | 238 | gmenu_desktopappinfo_can_remove_supports_type (GAppInfo *appinfo) |
211 | 239 | { |
240 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
241 | ||
212 | 242 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
213 | 243 | return g_app_info_can_remove_supports_type (G_APP_INFO(info->super_appinfo)); |
214 | 244 | } |
218 | 248 | const char *content_type, |
219 | 249 | GError **error) |
220 | 250 | { |
251 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
252 | ||
221 | 253 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
222 | 254 | return g_app_info_remove_supports_type (G_APP_INFO(info->super_appinfo), content_type, error); |
223 | 255 | } |
225 | 257 | static gboolean |
226 | 258 | gmenu_desktopappinfo_can_delete (GAppInfo *appinfo) |
227 | 259 | { |
260 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
261 | ||
228 | 262 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
229 | 263 | return g_app_info_can_delete (G_APP_INFO(info->super_appinfo)); |
230 | 264 | } |
232 | 266 | static gboolean |
233 | 267 | gmenu_desktopappinfo_delete (GAppInfo *appinfo) |
234 | 268 | { |
269 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
270 | ||
235 | 271 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
236 | 272 | return g_app_info_delete (G_APP_INFO(info->super_appinfo)); |
237 | 273 | } |
239 | 275 | static const char * |
240 | 276 | gmenu_desktopappinfo_get_commandline (GAppInfo *appinfo) |
241 | 277 | { |
278 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
279 | ||
242 | 280 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
243 | 281 | return g_app_info_get_commandline (G_APP_INFO(info->super_appinfo)); |
244 | 282 | } |
246 | 284 | static const char * |
247 | 285 | gmenu_desktopappinfo_get_display_name (GAppInfo *appinfo) |
248 | 286 | { |
287 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
288 | ||
249 | 289 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
250 | 290 | return g_app_info_get_display_name (G_APP_INFO(info->super_appinfo)); |
251 | 291 | } |
255 | 295 | const char *content_type, |
256 | 296 | GError **error) |
257 | 297 | { |
298 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
299 | ||
258 | 300 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
259 | 301 | return g_app_info_set_as_last_used_for_type (G_APP_INFO(info->super_appinfo), content_type, error); |
260 | 302 | } |
262 | 304 | static const char ** |
263 | 305 | gmenu_desktopappinfo_get_supported_types (GAppInfo *appinfo) |
264 | 306 | { |
307 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
308 | ||
265 | 309 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); |
266 | 310 | return g_app_info_get_supported_types (G_APP_INFO(info->super_appinfo)); |
267 | 311 | } |
411 | 455 | */ |
412 | 456 | const char * gmenu_desktopappinfo_get_filename (GMenuDesktopAppInfo *appinfo) |
413 | 457 | { |
414 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
415 | return g_desktop_app_info_get_filename (info->super_appinfo); | |
458 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
459 | return g_desktop_app_info_get_filename (appinfo->super_appinfo); | |
416 | 460 | } |
417 | 461 | |
418 | 462 | /** |
425 | 469 | */ |
426 | 470 | const char * gmenu_desktopappinfo_get_generic_name (GMenuDesktopAppInfo *appinfo) |
427 | 471 | { |
428 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
429 | return g_desktop_app_info_get_generic_name (info->super_appinfo); | |
472 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
473 | return g_desktop_app_info_get_generic_name (appinfo->super_appinfo); | |
430 | 474 | } |
431 | 475 | |
432 | 476 | /** |
440 | 484 | */ |
441 | 485 | const char * gmenu_desktopappinfo_get_categories (GMenuDesktopAppInfo *appinfo) |
442 | 486 | { |
443 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
444 | return g_desktop_app_info_get_categories (info->super_appinfo); | |
487 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
488 | return g_desktop_app_info_get_categories (appinfo->super_appinfo); | |
445 | 489 | } |
446 | 490 | |
447 | 491 | /** |
454 | 498 | */ |
455 | 499 | const char * const *gmenu_desktopappinfo_get_keywords (GMenuDesktopAppInfo *appinfo) |
456 | 500 | { |
457 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
458 | return g_desktop_app_info_get_keywords (info->super_appinfo); | |
501 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
502 | return g_desktop_app_info_get_keywords (appinfo->super_appinfo); | |
459 | 503 | } |
460 | 504 | |
461 | 505 | /** |
470 | 514 | */ |
471 | 515 | gboolean gmenu_desktopappinfo_get_nodisplay (GMenuDesktopAppInfo *appinfo) |
472 | 516 | { |
473 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
474 | return g_desktop_app_info_get_nodisplay (info->super_appinfo); | |
517 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
518 | return g_desktop_app_info_get_nodisplay (appinfo->super_appinfo); | |
475 | 519 | } |
476 | 520 | |
477 | 521 | /** |
497 | 541 | */ |
498 | 542 | gboolean gmenu_desktopappinfo_get_show_in (GMenuDesktopAppInfo *appinfo, const gchar *desktop_env) |
499 | 543 | { |
500 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
501 | return g_desktop_app_info_get_show_in (info->super_appinfo, desktop_env); | |
544 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
545 | return g_desktop_app_info_get_show_in (appinfo->super_appinfo, desktop_env); | |
502 | 546 | } |
503 | 547 | |
504 | 548 | /** |
517 | 561 | */ |
518 | 562 | const char * gmenu_desktopappinfo_get_startup_wm_class (GMenuDesktopAppInfo *appinfo) |
519 | 563 | { |
520 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
521 | ||
522 | return info->startup_wm_class; | |
564 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
565 | ||
566 | return appinfo->startup_wm_class; | |
523 | 567 | } |
524 | 568 | |
525 | 569 | /** |
533 | 577 | **/ |
534 | 578 | gboolean gmenu_desktopappinfo_get_is_hidden (GMenuDesktopAppInfo *appinfo) |
535 | 579 | { |
536 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
537 | return g_desktop_app_info_get_is_hidden (info->super_appinfo); | |
580 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
581 | return g_desktop_app_info_get_is_hidden (appinfo->super_appinfo); | |
538 | 582 | } |
539 | 583 | |
540 | 584 | /** |
549 | 593 | */ |
550 | 594 | gboolean gmenu_desktopappinfo_has_key (GMenuDesktopAppInfo *appinfo, const char *key) |
551 | 595 | { |
552 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
553 | return g_desktop_app_info_has_key (info->super_appinfo, key); | |
596 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
597 | return g_desktop_app_info_has_key (appinfo->super_appinfo, key); | |
554 | 598 | } |
555 | 599 | |
556 | 600 | /** |
567 | 611 | */ |
568 | 612 | char * gmenu_desktopappinfo_get_string (GMenuDesktopAppInfo *appinfo, const char *key) |
569 | 613 | { |
570 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
571 | return g_desktop_app_info_get_string (info->super_appinfo, key); | |
614 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
615 | return g_desktop_app_info_get_string (appinfo->super_appinfo, key); | |
572 | 616 | } |
573 | 617 | |
574 | 618 | /** |
586 | 630 | */ |
587 | 631 | char * gmenu_desktopappinfo_get_locale_string (GMenuDesktopAppInfo *appinfo, const char *key) |
588 | 632 | { |
589 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
590 | return g_desktop_app_info_get_locale_string (info->super_appinfo, key); | |
633 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
634 | return g_desktop_app_info_get_locale_string (appinfo->super_appinfo, key); | |
591 | 635 | } |
592 | 636 | |
593 | 637 | /** |
604 | 648 | */ |
605 | 649 | gboolean gmenu_desktopappinfo_get_boolean (GMenuDesktopAppInfo *appinfo, const char *key) |
606 | 650 | { |
607 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
608 | return g_desktop_app_info_get_boolean (info->super_appinfo, key); | |
651 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
652 | return g_desktop_app_info_get_boolean (appinfo->super_appinfo, key); | |
609 | 653 | } |
610 | 654 | |
611 | 655 | /** |
622 | 666 | **/ |
623 | 667 | const gchar * const * gmenu_desktopappinfo_list_actions (GMenuDesktopAppInfo *appinfo) |
624 | 668 | { |
625 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
626 | return g_desktop_app_info_list_actions (info->super_appinfo); | |
669 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
670 | return g_desktop_app_info_list_actions (appinfo->super_appinfo); | |
627 | 671 | } |
628 | 672 | |
629 | 673 | /** |
651 | 695 | */ |
652 | 696 | void gmenu_desktopappinfo_launch_action (GMenuDesktopAppInfo *appinfo, const gchar *action_name, GAppLaunchContext *launch_context) |
653 | 697 | { |
654 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
655 | g_desktop_app_info_launch_action (info->super_appinfo, action_name, launch_context); | |
698 | g_return_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo)); | |
699 | g_desktop_app_info_launch_action (appinfo->super_appinfo, action_name, launch_context); | |
656 | 700 | } |
657 | 701 | |
658 | 702 | /** |
673 | 717 | */ |
674 | 718 | gchar * gmenu_desktopappinfo_get_action_name (GMenuDesktopAppInfo *appinfo, const gchar *action_name) |
675 | 719 | { |
676 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
677 | return g_desktop_app_info_get_action_name (info->super_appinfo, action_name); | |
720 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), NULL); | |
721 | return g_desktop_app_info_get_action_name (appinfo->super_appinfo, action_name); | |
678 | 722 | } |
679 | 723 | |
680 | 724 | /** |
718 | 762 | gpointer pid_callback_data, |
719 | 763 | GError **error) |
720 | 764 | { |
721 | GMenuDesktopAppInfo *info = GMENU_DESKTOPAPPINFO (appinfo); | |
722 | return g_desktop_app_info_launch_uris_as_manager (info->super_appinfo, | |
765 | g_return_val_if_fail (GMENU_IS_DESKTOPAPPINFO (appinfo), FALSE); | |
766 | return g_desktop_app_info_launch_uris_as_manager (appinfo->super_appinfo, | |
723 | 767 | uris, |
724 | 768 | launch_context, |
725 | 769 | spawn_flags, |