void try_get_deepin_icon(const char* _app_id, char** icon, int* operator_code) { char* app_id = g_strdup(_app_id); to_lower_inplace(app_id); if (is_deepin_app_id(app_id)) { g_debug("[%s] \"%s\" is deepin app id", __func__, app_id); *operator_code = get_deepin_app_id_operator(app_id); const char* operator_names[] = { "USE_ICONNAME", "USE_RUNTIME_WITH_BOARD", "USE_RUNTIME_WITHOUT_BOARD", "USE_PATH", "USE_DOMINANTCOLOR" }; g_debug("[%s] operator code is %s", __func__, operator_names[*operator_code]); switch (*operator_code) { case ICON_OPERATOR_USE_ICONNAME: { char* icon_name = get_deepin_app_id_value(app_id); char* icon_path = icon_name_to_path(icon_name, 48); g_free(icon_name); g_free(app_id); *icon = icon_path; break; } case ICON_OPERATOR_USE_RUNTIME_WITH_BOARD: g_free(app_id); *icon = NULL; break; case ICON_OPERATOR_USE_RUNTIME_WITHOUT_BOARD: g_free(app_id); *icon = NULL; break; case ICON_OPERATOR_USE_PATH: g_free(app_id); g_warning("[%s] Hasn't support set path Icon Handler\n", __func__); break; case ICON_OPERATOR_SET_DOMINANTCOLOR: g_free(app_id); g_warning("[%s] Hasn't support set dominantcolor Icon Handler\n", __func__); break; default: g_warning("[%s] Hasn't support unknow Icon Handler\n", __func__); } } else { g_debug("[%s] \"%s\" is not deepin app id", __func__, app_id); g_free(app_id); } }
void fileops_confirm_trash () { GtkWidget* dialog; int result; dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL, GTK_MESSAGE_WARNING, GTK_BUTTONS_CANCEL, NULL); gtk_window_set_title (GTK_WINDOW (dialog), _("Empty Trash")); gtk_window_set_modal (GTK_WINDOW (dialog), TRUE); char* _icon = icon_name_to_path ("user-trash-full", 16); if (_icon != NULL) { gtk_window_set_icon_from_file (GTK_WINDOW (dialog), _icon, NULL); g_free (_icon); } g_object_set (dialog, "text", _("Empty all items from Trash?"), "secondary-text", _("All items in the Trash will be permanently deleted."), NULL); gtk_dialog_add_buttons (GTK_DIALOG (dialog), _("Empty _Trash"), GTK_RESPONSE_OK, NULL); gtk_dialog_set_default_response (GTK_DIALOG (dialog), GTK_RESPONSE_OK); gtk_widget_add_events (dialog, GDK_FOCUS_CHANGE_MASK); g_signal_connect (dialog, "focus-in-event", G_CALLBACK(focus_cb), NULL); result = gtk_dialog_run (GTK_DIALOG (dialog)); gtk_widget_destroy (dialog); if (result == GTK_RESPONSE_OK) fileops_empty_trash (); }