my homework was late :-)
[midnight-commander.git] / gnome / gnome-file-property-dialog.h
blob4d656d342f38cf5024e31f100556261d6358bef2
1 /* gnome-file-property-dialog.h
2 * Copyright (C) 1999 Free Software Foundation
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
14 * You should have received a copy of the GNU Library General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
19 #ifndef __GNOME_FILE_PROPERTY_DIALOG_H__
20 #define __GNOME_FILE_PROPERTY_DIALOG_H__
22 #include <gnome.h>
23 #include "gdesktop.h"
24 #include <sys/stat.h>
25 #include <unistd.h>
26 #ifdef __cplusplus
27 extern "C" {
28 #pragma }
29 #endif /* __cplusplus */
31 #define GNOME_TYPE_FILE_PROPERTY_DIALOG (gnome_file_property_dialog_get_type ())
32 #define GNOME_FILE_PROPERTY_DIALOG(obj) (GTK_CHECK_CAST ((obj), GNOME_TYPE_FILE_PROPERTY_DIALOG, GnomeFilePropertyDialog))
33 #define GNOME_FILE_PROPERTY_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), GNOME_TYPE_FILE_PROPERTY_DIALOG, GnomeFilePropertyDialogClass))
34 #define GNOME_IS_FILE_PROPERTY_DIALOG(obj) (GTK_CHECK_TYPE ((obj), GNOME_TYPE_FILE_PROPERTY_DIALOG))
35 #define GNOME_IS_FILE_PROPERTY_DIALOG_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((obj), GNOME_TYPE_FILE_PROPERTY_DIALOG))
37 typedef struct _GnomeFilePropertyDialog GnomeFilePropertyDialog;
38 typedef struct _GnomeFilePropertyDialogClass GnomeFilePropertyDialogClass;
40 struct _GnomeFilePropertyDialog
42 GnomeDialog parent;
44 gchar *file_name;
45 gchar *user_name;
46 gchar *group_name;
47 gchar *mode_name;
49 struct stat st;
50 gboolean executable;
51 gboolean modifyable;
52 GtkWidget *file_entry;
54 /* Permissions stuff */
55 GtkWidget *mode_label;
57 GtkWidget *suid, *sgid, *svtx;
58 GtkWidget *rusr, *wusr, *xusr;
59 GtkWidget *rgrp, *wgrp, *xgrp;
60 GtkWidget *roth, *woth, *xoth;
62 GtkWidget *owner_entry;
63 GtkWidget *group_entry;
64 gint euid;
66 /* Settings Stuff */
67 GtkWidget *open_label, *open_entry, *open_cbox;
68 GtkWidget *prop1_label, *prop1_entry, *prop1_cbox;
69 GtkWidget *prop2_label, *prop2_entry, *prop2_cbox, *prop2_hline;
70 GtkWidget *button;
71 GtkWidget *desktop_entry;
72 GtkWidget *caption_entry;
73 GtkWidget *needs_terminal_check;
75 gchar *fm_open;
76 gchar *fm_view;
77 gchar *drop_target;
78 gchar *edit;
79 const gchar *mime_fm_open;
80 const gchar *mime_fm_view;
81 const gchar *mime_drop_target;
82 const gchar *mime_edit;
83 gchar *icon_filename;
84 gchar *desktop_url;
85 gchar *caption;
87 gboolean can_set_icon;
88 gboolean needs_terminal;
90 GdkImlibImage *im;
92 /* Private Data */
93 gboolean changing;
95 struct _GnomeFilePropertyDialogClass
97 GnomeDialogClass parent_class;
101 GtkType gnome_file_property_dialog_get_type (void);
102 GtkWidget *gnome_file_property_dialog_new (gchar *file_name, gboolean can_set_icon);
103 gint gnome_file_property_dialog_make_changes (GnomeFilePropertyDialog *file_property_dialog);
105 #ifdef __cplusplus
107 #endif /* __cplusplus */
110 #endif /* __GNOME_FILE_PROPERTY_DIALOG_H__ */