Esempio n. 1
0
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);
    }
}
Esempio n. 2
0
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 ();


}