Beispiel #1
0
static void print_flags (void)
{
    int i;

    tty_setcolor (COLOR_NORMAL);

    for (i = 0; i < 3; i++){
	dlg_move (ch_dlg, BY+1, 9+i);
	tty_print_char (ch_flags [i]);
    }
    
    for (i = 0; i < 3; i++){
	dlg_move (ch_dlg, BY + 1, 17 + i);
	tty_print_char (ch_flags [i+3]);
    }
    
    for (i = 0; i < 3; i++){
	dlg_move (ch_dlg, BY + 1, 25 + i);
	tty_print_char (ch_flags [i+6]);
    }

    update_permissions ();

    for (i = 0; i < 15; i++){
	dlg_move (ch_dlg, BY+1, 35+i);
	tty_print_char (ch_flags[9]);
    }
    for (i = 0; i < 15; i++){
	dlg_move (ch_dlg, BY + 1, 53 + i);
	tty_print_char (ch_flags[10]);
    }
}
Beispiel #2
0
static void
get_permissions_reply (DBusGProxy *proxy,
                       GHashTable *permissions,
                       GError *error,
                       gpointer user_data)
{
	BMClient *self = BM_CLIENT (user_data);

	BM_CLIENT_GET_PRIVATE (self)->perm_call = NULL;
	update_permissions (BM_CLIENT (user_data), error ? NULL : permissions);
}
Beispiel #3
0
Datei: achown.c Projekt: jskDr/mc
static void
chown_info_update (void)
{
    char buffer[BUF_SMALL];

    /* mode */
    g_snprintf (buffer, sizeof (buffer), "Permissions (octal): %o", get_mode ());
    label_set_text (l_mode, buffer);

    /* permissions */
    update_permissions ();
}
Beispiel #4
0
static void
get_permissions_sync (BMClient *self)
{
	gboolean success;
	GHashTable *permissions = NULL;

	success = dbus_g_proxy_call_with_timeout (BM_CLIENT_GET_PRIVATE (self)->client_proxy,
	                                          "GetPermissions", 3000, NULL,
	                                          G_TYPE_INVALID,
	                                          DBUS_TYPE_G_MAP_OF_STRING, &permissions, G_TYPE_INVALID);
	update_permissions (self, success ? permissions : NULL);
	if (permissions)
		g_hash_table_destroy (permissions);
}
Beispiel #5
0
static void chown_info_update (void)
{
    /* display file info */
    tty_setcolor (COLOR_NORMAL);
    
    /* name && mode */
    dlg_move (ch_dlg, 3, 8);
    tty_print_string (str_fit_to_term (fname, 45, J_LEFT_FIT));
    dlg_move (ch_dlg, BY + 2, 9);
    tty_printf ("%12o", get_mode ());
    
    /* permissions */
    update_permissions ();
}
static void update_ui (FmFilePropData *data)
{
    GtkImage *img =  (GtkImage*) data->icon;

    if ( data->single_type ) // all files are of the same mime-type
    {
        GIcon *icon = NULL;
        // FIXME_pcm: handle custom icons for some files

        /* FIXME_pcm: display special property pages for special files or
         * some specified mime-types. */
        if ( data->single_file ) // only one file is selected.
        {
            FmFileInfo *file_info =  (FmFileInfo*)fm_list_peek_head (data->files);

            icon = fm_file_info_get_gicon (file_info);
        }

        if (data->mime_type)
        {
            if (!icon)
            {
                FmIcon *ficon = fm_mime_type_get_icon (data->mime_type);
                if (ficon)
                    icon = ficon->gicon;
            }
            gtk_label_set_text (GTK_LABEL (data->type), fm_mime_type_get_desc (data->mime_type));
        }

        if (icon)
            gtk_image_set_from_gicon (img, icon, GTK_ICON_SIZE_DIALOG);

        if ( data->single_file && fm_file_info_is_symlink (data->file_info) )
        {
            gtk_widget_show (data->target_label);
            gtk_widget_show (data->target);
            gtk_label_set_text (GTK_LABEL (data->target), fm_file_info_get_target (data->file_info));

            // gtk_label_set_text (data->type, fm_mime_type_get_desc (data->mime_type));
        }
        else
        {
            gtk_widget_destroy (data->target_label);
            gtk_widget_destroy (data->target);
        }
    }
    else
    {
        gtk_image_set_from_stock (img, GTK_STOCK_DND_MULTIPLE, GTK_ICON_SIZE_DIALOG);
        gtk_widget_set_sensitive (data->name, FALSE);

        gtk_label_set_text (GTK_LABEL (data->type), _("Files of different types"));

        gtk_widget_destroy (data->target_label);
        gtk_widget_destroy (data->target);

        gtk_widget_destroy (data->open_with_label);
        gtk_widget_destroy (data->open_with);
        data->open_with = data->open_with_label = NULL;
    }

    // FIXME_pcm: check if all files has the same parent dir, mtime, or atime
    if ( data->single_file )
    {
        char buf[128];
        FmPath *parent = fm_path_get_parent (fm_file_info_get_path (data->file_info));
        char *parent_str = parent ? fm_path_display_name (parent, TRUE) : NULL;
        gtk_entry_set_text (GTK_ENTRY (data->name), fm_file_info_get_disp_name (data->file_info));
        if (parent_str)
        {
            gtk_label_set_text (GTK_LABEL (data->dir), parent_str);
            g_free (parent_str);
        }
        else
            gtk_label_set_text (GTK_LABEL (data->dir), "");
        gtk_label_set_text (GTK_LABEL (data->mtime), fm_file_info_get_disp_mtime (data->file_info));

        // FIXME_pcm: need to encapsulate this in an libfm API.
        strftime ( buf, sizeof ( buf ),
                   "%x %R",
                   localtime ( &data->file_info->atime ) );
        gtk_label_set_text (GTK_LABEL (data->atime), buf);
    }
    else
    {
        gtk_entry_set_text (GTK_ENTRY (data->name), _("Multiple Files"));
        gtk_widget_set_sensitive (data->name, FALSE);
    }

    update_permissions (data);

    on_timeout (data);
}