1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145
|
#ifndef SCREEM_SITE_VIEW_H
#define SCREEM_SITE_VIEW_H
#include <config.h>
#include <gtk/gtk.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include "screem-site.h"
#include "screem-file-browser.h"
typedef enum {
SCREEM_SITE_VIEW_FOLDER,
SCREEM_SITE_VIEW_FILE
} ScreemSiteViewNodeType;
typedef struct {
GtkTreeIter *images;
GtkTreeIter *styles;
GtkTreeIter *scripts;
ScreemFileBrowser *browser;
ScreemSite *site;
} ScreemSiteView;
typedef struct {
gchar *fullname;
ScreemSite *site;
ScreemSiteViewNodeType type;
gpointer monitor_handle;
ScreemSiteView *view;
} ScreemSiteViewNodeInfo;
struct ScreemSitePrivate{
GObject *application;
ScreemSiteView *view;
gchar *name;
gchar *pathname;
gchar *remote_url;
UploadMethods remote_method;
gchar *remote_path;
gchar *remote_user;
gchar *remote_pass;
gboolean passive_ftp; /* sitecopy : use passive ftp */
gboolean no_delete; /* sitecopy : delete remote files */
gboolean check_moved; /* sitecopy : check moved files */
gboolean no_overwrite; /* sitecopy : overwrite remote files */
ScreemSitePerms permissions; /* sitecopy : permissions handling */
ScreemSiteSymlinks symlinks; /* sitecopy : symlinks handling */
gchar *http_url;
gchar *cvs_root;
gchar *site_template_path;
gchar *template_path;
GHashTable *pages;
GSList *untitled;
/* the site todo object */
GObject *tasks;
/* a hash table of open documents in this site, keyed
* by the window they are in */
GHashTable *documents;
gboolean is_import; /* flag to signify if we are importing a
non screem site */
gboolean fake_site; /* indicates if we are just a bunch of random
open pages rather than a screem site */
GList *auto_open; /* list of files to be auto opened */
gboolean auto_update; /* auto update from CVS upon opening the site */
gboolean auto_update_ask;
/* if we should preview from publish address for static and
dynamic pages */
gboolean preview_static;
gboolean preview_dynamic;
GtkListStore *excludes;
GtkListStore *ignores;
GtkListStore *asciis;
/* if ctags should be used or not */
gboolean ctags;
};
void screem_site_view_destroy( ScreemSite *site );
gint screem_site_view_compare_func( GtkTreeModel *model,
GtkTreeIter *a, GtkTreeIter *b,
ScreemSite *site );
ScreemSiteViewNodeInfo*
screem_site_view_node_info_new( ScreemSiteViewNodeType type, ScreemSite *site,
gpointer data, struct stat *s );
void screem_site_view_set_val_at( GtkTreeStore *store, GtkTreeIter *iter,
ScreemSiteViewNodeInfo *info );
void screem_site_view_set_model( ScreemSite *site );
void screem_site_init_tree_view( GtkWidget *view,
GtkUIManager *merge, GtkActionGroup *group );
GtkTreeModel *screem_site_get_model( ScreemSite *site );
gboolean screem_site_view_create_dir( ScreemSite *site, GtkWidget *widget,
const gchar *dir );
void screem_site_view_show_properties( ScreemSite *site,
const gchar *uri,
GtkWindow *window );
GtkTreeModel *screem_site_get_statistics( ScreemSite *site );
void screem_site_view_update( ScreemSite *site );
void screem_site_view_removed( ScreemFileBrowser *browser, const gchar *uri,
GtkTreeIter *it,
gpointer data );
void screem_site_view_added( ScreemFileBrowser *browser, const gchar *uri,
const gchar *mime_type,
GtkTreeIter *it,
gpointer data );
void screem_site_view_icon_change( ScreemFileBrowser *browser, const gchar *uri,
const gchar *mime_type,
GtkTreeIter *it,
gpointer data );
void screem_site_view_file_op( GnomeVFSMonitorEventType type,
const gchar *uri, gpointer data );
#endif
|