aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/shared-folder/share-folder.c
diff options
context:
space:
mode:
authorJain Vivek <jvivek@src.gnome.org>2005-01-10 22:06:56 +0800
committerJain Vivek <jvivek@src.gnome.org>2005-01-10 22:06:56 +0800
commit9eba51db53e91fb748d096e0474e9df63234af53 (patch)
treeabbd39e4a713ca714345cae0be54793683309d4d /plugins/shared-folder/share-folder.c
parent01c7f390e72140243c19477485fb4e88509f6365 (diff)
downloadgsoc2013-evolution-9eba51db53e91fb748d096e0474e9df63234af53.tar
gsoc2013-evolution-9eba51db53e91fb748d096e0474e9df63234af53.tar.gz
gsoc2013-evolution-9eba51db53e91fb748d096e0474e9df63234af53.tar.bz2
gsoc2013-evolution-9eba51db53e91fb748d096e0474e9df63234af53.tar.lz
gsoc2013-evolution-9eba51db53e91fb748d096e0474e9df63234af53.tar.xz
gsoc2013-evolution-9eba51db53e91fb748d096e0474e9df63234af53.tar.zst
gsoc2013-evolution-9eba51db53e91fb748d096e0474e9df63234af53.zip
2005-01-10 Vivek Jain <jvivek@novell.com> Included
* install-shared.c : opens up a wizard on reading a shared folder notification and installs shared folder at the recepient end. * share-folder-common.c : added (refresh_folder_tree) : to refresh the folder tree when a folder is shared or a shared folder is created so that different icons are displayed (get_cnc): to get a connection (get_container_id):to get the container id of the folder user selects * share-folder.c : minor changes to fix the crash * Makefile.am : including install-shared.c in sources * org-gnome-shared-folder.eplug.in : added a plugin to the e-plugin list for the message-read event svn path=/trunk/; revision=28320
Diffstat (limited to 'plugins/shared-folder/share-folder.c')
-rw-r--r--plugins/shared-folder/share-folder.c345
1 files changed, 189 insertions, 156 deletions
diff --git a/plugins/shared-folder/share-folder.c b/plugins/shared-folder/share-folder.c
index b29fd285c8..3e142cebc2 100644
--- a/plugins/shared-folder/share-folder.c
+++ b/plugins/shared-folder/share-folder.c
@@ -38,6 +38,7 @@
#include <libedataserverui/e-contact-store.h>
#include <libgnomeui/gnome-ui-init.h>
#include <libgnome/gnome-init.h>
+#include <widgets/misc/e-error.h>
#include <e-gw-container.h>
#include <e-gw-connection.h>
#define ROOTNODE "vboxSharing"
@@ -47,7 +48,6 @@ static void share_folder_class_init (ShareFolderClass *class);
static void share_folder_init (ShareFolder *sf);
static void share_folder_destroy (GtkObject *obj);
static void share_folder_finalise (GObject *obj);
-
static void free_node(EShUsers *user);
static void free_all(ShareFolder *sf);
static void update_list_update (ShareFolder *sf);
@@ -95,7 +95,7 @@ share_folder_class_init (ShareFolderClass *klass)
{
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
GtkObjectClass *object_class = GTK_OBJECT_CLASS (klass);
-
+
parent_class = g_type_class_ref (gtk_vbox_get_type ());
object_class->destroy = share_folder_destroy;
gobject_class->finalize = share_folder_finalise;
@@ -158,7 +158,7 @@ find_node(GList *list, gchar *email)
for(i=0; tmp ; i++)
{
user= g_list_nth_data(tmp, 0);
- if(!strcmp(user->email, email)){
+ if(!g_ascii_strcasecmp(user->email, email)){
duplicate = i;
break;
}
@@ -173,22 +173,22 @@ static void
free_all(ShareFolder *sf)
{
if(sf->new_list){
- g_list_foreach (sf->new_list, free_node, NULL);
+ g_list_foreach (sf->new_list,(GFunc) free_node, NULL);
g_list_free (sf->new_list);
}
if(sf->update_list){
- g_list_foreach (sf->update_list, free_node, NULL);
+ g_list_foreach (sf->update_list, (GFunc) free_node, NULL);
g_list_free (sf->update_list);
}
sf->new_list = NULL;
e_gw_container_get_user_list (sf->gcontainer, &(sf->new_list));
if (sf->new_list) {
- g_list_foreach (sf->new_list, free_node, NULL);
+ g_list_foreach (sf->new_list, (GFunc) free_node, NULL);
g_list_free (sf->new_list);
}
if (sf->remove_list) {
- g_list_foreach (sf->remove_list, free_node, NULL);
+ g_list_foreach (sf->remove_list, (GFunc) free_node, NULL);
g_list_free (sf->remove_list);
}
@@ -220,26 +220,26 @@ update_list_update (ShareFolder *sf)
if (delete) {
rights = rights | 0x4;
}
-
+
if(sf->update_list){
tmp = g_list_last(sf->update_list);
user = g_list_nth_data(tmp, 0);
-/* if the user is still in the new list then remove from update list*/
- if (sf->new_list && user->email){
- sf->duplicate = find_node (sf->new_list, user->email);
- if (sf->duplicate != -1) {
- sf->update_list = g_list_remove(sf->update_list, user);
- free_node (user);
- if (g_list_length (sf->update_list) == 0)
- sf->update_list = NULL;
- user = g_list_nth_data (sf->new_list, sf->duplicate);
- sf->duplicate = -1;
- if(user->rights != rights)
- user->rights= rights;
+ /* if the user is still in the new list then remove from update list*/
+ if (sf->new_list && user->email){
+ sf->duplicate = find_node (sf->new_list, user->email);
+ if (sf->duplicate != -1) {
+ sf->update_list = g_list_remove(sf->update_list, user);
+ free_node (user);
+ if (g_list_length (sf->update_list) == 0)
+ sf->update_list = NULL;
+ user = g_list_nth_data (sf->new_list, sf->duplicate);
+ sf->duplicate = -1;
+ if(user->rights != rights)
+ user->rights= rights;
- return ;
+ return ;
+ }
}
- }
if (user) {
if(user->rights != rights){
@@ -259,14 +259,18 @@ update_list_update (ShareFolder *sf)
static void
display_container (EGwContainer *container , ShareFolder *sf)
{
- gint i;
gchar **tail;
gchar *id_shared;
gchar *id_unshared;
gboolean byme = FALSE;
gboolean tome = FALSE;
+ gchar *email = NULL;
+ gchar *msg;
+ GList *user_list = NULL;
+ EShUsers *user = NULL;
id_shared = g_strdup(e_gw_container_get_id(container));
+ g_print ("folder id: %s ours is %s\n",id_shared, sf->container_id);
/* this has to be done since id changes after the folder is shared*/
if( g_str_has_suffix (id_shared, "35")){
tail = g_strsplit(id_shared, "@", 2);
@@ -274,31 +278,37 @@ display_container (EGwContainer *container , ShareFolder *sf)
g_strfreev(tail);
}
- if((!strcmp(id_unshared, sf->container_id)) || (!strcmp(id_shared, sf->container_id)) ){
+ if((!g_ascii_strcasecmp(id_unshared, sf->container_id)) || (!g_ascii_strcasecmp(id_shared, sf->container_id)) ){
sf->gcontainer = container;
byme = e_gw_container_get_is_shared_by_me(container);
tome = e_gw_container_get_is_shared_to_me(container);
- if(byme | tome) {
-
- sf->users = e_gw_container_get_length (sf->gcontainer);
-
+ if(byme || tome) {
+ e_gw_container_get_user_list (sf->gcontainer, &user_list);
+ sf->users = g_list_length (user_list);
if(sf->users != 0) {
sf->is_shared = TRUE;
gtk_toggle_button_set_active((GtkToggleButton *) sf->shared, TRUE);
shared_clicked(sf->shared , sf);
- if(tome){
+ if (tome) {
gtk_widget_set_sensitive (GTK_WIDGET (sf->table), FALSE);
gtk_widget_set_sensitive (GTK_WIDGET (sf->shared), FALSE);
gtk_widget_set_sensitive (GTK_WIDGET (sf->not_shared), FALSE);
+ gtk_widget_set_sensitive (GTK_WIDGET (sf->scrolled_window), TRUE);
+ gtk_widget_set_sensitive (GTK_WIDGET (sf->user_list), TRUE);
- }
- gtk_widget_set_sensitive (GTK_WIDGET (sf->table), TRUE);
+ email = g_strdup (e_gw_container_get_owner (sf->gcontainer));
+ msg = g_strconcat (email, " (Owner)", NULL);
+ gtk_list_store_append (GTK_LIST_STORE (sf->model), &(sf->iter));
+ gtk_list_store_set (GTK_LIST_STORE (sf->model), &(sf->iter), 0, msg, -1);
+ g_free (msg);
+ g_free (email);
- gchar *email= NULL;
- gchar *msg;
- for(i = 0; i < sf->users; i++) {
+ } else
+ gtk_widget_set_sensitive (GTK_WIDGET (sf->table), TRUE);
- email = g_strdup (e_gw_container_get_email (sf->gcontainer, i));
+ while (user_list) {
+ user = user_list->data;
+ email = g_strdup (user->email);
msg = g_strdup_printf ("%s", email);
gtk_list_store_append (GTK_LIST_STORE (sf->model), &(sf->iter));
gtk_list_store_set (GTK_LIST_STORE (sf->model), &(sf->iter), 0, msg, -1);
@@ -306,7 +316,7 @@ display_container (EGwContainer *container , ShareFolder *sf)
g_free (email);
msg = NULL;
email = NULL;
- g_print("\n");
+ user_list = user_list->next;
}
/* i also need to display status*/
} else {
@@ -315,10 +325,7 @@ display_container (EGwContainer *container , ShareFolder *sf)
not_shared_clicked (sf->not_shared , sf);
}
}
-
-
}
-
}
static void
@@ -334,10 +341,9 @@ get_container_list (ShareFolder *sf)
display_container (E_GW_CONTAINER (container->data), sf);
}
- g_warning("Could not get the Container List");
-
+ else
+ g_warning("Could not get the Container List");
}
-
}
static void
@@ -349,7 +355,6 @@ user_selected(GtkTreeSelection *selection, ShareFolder *sf)
gchar *email = NULL;
int length=0;
-
/* This function should be called in the beginning of any probable subsequent event*/
update_list_update (sf);
@@ -358,7 +363,7 @@ user_selected(GtkTreeSelection *selection, ShareFolder *sf)
gtk_widget_set_sensitive (GTK_WIDGET (sf->frame), TRUE);
gtk_widget_set_sensitive (GTK_WIDGET (sf->remove), TRUE);
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON ( sf->add), FALSE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sf->add), FALSE);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sf->del), FALSE);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (sf->edit), FALSE);
gtk_tree_model_get (GTK_LIST_STORE (sf->model), &(sf->iter), 0, &email, -1);
@@ -400,18 +405,13 @@ user_selected(GtkTreeSelection *selection, ShareFolder *sf)
}
sf->duplicate = -1;
}
-
-
-
sf->update_list = g_list_append (sf->update_list, user);
length = g_list_length (sf->update_list);
}
else {
gtk_widget_set_sensitive (GTK_WIDGET (sf->frame), FALSE);
gtk_widget_set_sensitive (GTK_WIDGET (sf->remove), FALSE);
-
}
-
}
static void
@@ -430,60 +430,74 @@ not_shared_clicked (GtkRadioButton *button, ShareFolder *sf)
} else {
sf->flag_for_ok = 2;
}
-
gtk_widget_set_sensitive (GTK_WIDGET (sf->table), FALSE);
}
static void
add_clicked(GtkButton *button, ShareFolder *sf)
{
- static gchar *email = NULL;
+ gchar *email = NULL;
EShUsers *user = NULL;
GList *list = NULL;
gint rights = 0;
gint length;
gchar *msg = NULL;
-
- email = gtk_entry_get_text (GTK_ENTRY (sf->name));
- if (strcmp (email, "" )) {
- update_list_update (sf);
- user = g_new0 (EShUsers, 1);
- user->email = g_strdup(email);
- } else {
- return;
-
- }
- /*check whether already exists*/
- if (sf->gcontainer)
- e_gw_container_get_user_list (sf->gcontainer, &list);
+ EDestinationStore *destination_store;
+ GList *destinations, *tmp;
+ ENameSelectorEntry *name_selector_entry;
+
+ name_selector_entry = e_name_selector_peek_section_entry (sf->name_selector, "Add User");
+ destination_store = e_name_selector_entry_peek_destination_store (E_NAME_SELECTOR_ENTRY (
+ name_selector_entry));
+ destinations = e_destination_store_list_destinations (destination_store);
+ tmp = destinations;
+ for (; tmp != NULL; tmp = g_list_next (tmp)) {
+ email = e_destination_get_email (tmp->data);
+ if (g_strrstr (email, "@") == NULL)
+ e_error_run ((GtkWindow *)gtk_widget_get_toplevel((GtkWidget *) sf->table), "mail:shared-folder-invalid-user-error", email, NULL);
+ else {
+ if (g_ascii_strcasecmp (email, "" )) {
+ update_list_update (sf);
+ user = g_new0 (EShUsers, 1);
+ user->email = g_strdup(email);
+ } else {
+
+ return;
+ }
+ /*check whether already exists*/
+ if (sf->gcontainer)
+ e_gw_container_get_user_list (sf->gcontainer, &list);
- if (list && user->email){
+ if (list && user->email){
- sf->duplicate = find_node (list, user->email);
- if (sf->duplicate != -1) {
- sf->duplicate = -1;
- return ;
- }
- }
- if (sf->new_list && user->email){
+ sf->duplicate = find_node (list, user->email);
+ if (sf->duplicate != -1) {
+ sf->duplicate = -1;
+ return ;
+ }
+ }
+ if (sf->new_list && user->email){
- sf->duplicate = find_node (sf->new_list, user->email);
- if (sf->duplicate != -1) {
- sf->duplicate = -1;
- return ;
+ sf->duplicate = find_node (sf->new_list, user->email);
+ if (sf->duplicate != -1) {
+ sf->duplicate = -1;
+ return ;
+ }
+ }
+
+ user->rights = rights;
+ msg = g_strdup (user->email);
+ gtk_list_store_append (GTK_LIST_STORE (sf->model), &(sf->iter));
+ gtk_list_store_set (GTK_LIST_STORE (sf->model), &(sf->iter), 0, msg, -1);
+
+ g_free(msg);
+ sf->new_list = g_list_append (sf->new_list, user);
+ length = g_list_length (sf->new_list);
+ sf->flag_for_ok = 0;
}
}
+ gtk_entry_set_text (GTK_ENTRY(name_selector_entry), "");
- user->rights = rights;
- msg = g_strdup (user->email);
- gtk_list_store_append (GTK_LIST_STORE (sf->model), &(sf->iter));
- gtk_list_store_set (GTK_LIST_STORE (sf->model), &(sf->iter), 0, msg, -1);
-
- g_free(msg);
- sf->new_list = g_list_append (sf->new_list, user);
- length = g_list_length (sf->new_list);
- sf->flag_for_ok = 0;
- gtk_entry_set_text (sf->name, "");
}
static void
@@ -493,7 +507,7 @@ remove_clicked(GtkButton *button, ShareFolder *sf)
GList *list = NULL;
EShUsers *usr = NULL;
gchar *email;
-
+
/*check whether this is required*/
gtk_tree_model_get (GTK_LIST_STORE(sf->model), &(sf->iter), 0, &email, -1);
list = g_list_last (sf->update_list);
@@ -509,8 +523,6 @@ remove_clicked(GtkButton *button, ShareFolder *sf)
} else {
sf->remove_list = g_list_append (sf->remove_list, usr);
}
-
-
g_free (email);
gtk_list_store_remove (GTK_LIST_STORE (sf->model), &(sf->iter));
sf->flag_for_ok = 1;
@@ -519,57 +531,51 @@ remove_clicked(GtkButton *button, ShareFolder *sf)
void
share_folder (ShareFolder *sf)
{
-
update_list_update (sf);
-
if (E_IS_GW_CONNECTION (sf->cnc)) {
+ if(sf->flag_for_ok == 2){ /* you have to remove all the users*/
+ GList *list = NULL;
-
- if(sf->flag_for_ok == 2){ /* you have to remove all the users*/
- GList *list = NULL;
-
-
- if(sf->new_list){
- g_list_foreach (sf->new_list, free_node, NULL);
- g_list_free (sf->new_list);
- }
- if(sf->update_list){
- g_list_foreach (sf->update_list, free_node, NULL);
- g_list_free (sf->update_list);
- }
-
- sf->new_list = NULL;
- if(sf->remove_list){
- g_list_foreach (sf->remove_list, free_node, NULL);
- g_list_free (sf->remove_list);
- }
- sf->remove_list = NULL;
- if (sf->gcontainer) {
- e_gw_container_get_user_list (sf->gcontainer, &list);
- sf->remove_list = g_list_copy (list);
+ if(sf->new_list){
+ g_list_foreach (sf->new_list, (GFunc) free_node, NULL);
+ g_list_free (sf->new_list);
+ }
+ if(sf->update_list){
+ g_list_foreach (sf->update_list, (GFunc) free_node, NULL);
+ g_list_free (sf->update_list);
+ }
- } else {
- g_warning("Container is Null");
- }
-
+ sf->new_list = NULL;
+ if(sf->remove_list){
+ g_list_foreach (sf->remove_list,(GFunc) free_node, NULL);
+ g_list_free (sf->remove_list);
+ }
+ sf->remove_list = NULL;
+ if (sf->gcontainer) {
+ e_gw_container_get_user_list (sf->gcontainer, &list);
+ sf->remove_list = g_list_copy (list);
} else {
- if (sf->new_list) {
- if (e_gw_connection_share_folder (sf->cnc, sf->container_id, sf->new_list, sf->sub, sf->mesg, 0) == E_GW_CONNECTION_STATUS_OK);
- }
+ g_warning("Container is Null");
+ }
- if (sf->update_list) {
- if (e_gw_connection_share_folder (sf->cnc, sf->container_id, sf->update_list, sf->sub, sf->mesg, 2) == E_GW_CONNECTION_STATUS_OK);
- }
- }
+ } else {
+ if (sf->new_list) {
+ if (e_gw_connection_share_folder (sf->cnc, sf->container_id, sf->new_list, sf->sub, sf->mesg, 0) == E_GW_CONNECTION_STATUS_OK);
+ }
- if (sf->remove_list) {
- if (e_gw_connection_share_folder (sf->cnc, sf->container_id, sf->remove_list, sf->sub, sf->mesg, 1) == E_GW_CONNECTION_STATUS_OK);
+ if (sf->update_list) {
+ sf->sub = "Shared Folder rights updated";
+ if (e_gw_connection_share_folder (sf->cnc, sf->container_id, sf->update_list, sf->sub, sf->mesg, 2) == E_GW_CONNECTION_STATUS_OK);
}
-
- }
+ }
+ if (sf->remove_list) {
+ sf->sub = "Shared Folder removed";
+ if (e_gw_connection_share_folder (sf->cnc, sf->container_id, sf->remove_list, sf->sub, sf->mesg, 1) == E_GW_CONNECTION_STATUS_OK);
+ }
+ }
}
static void
@@ -578,7 +584,7 @@ not_ok_clicked(GtkButton *button, ShareFolder *sf)
gchar *subj = NULL;
gchar *msg = NULL;
- GtkTextIter *start,*end;
+ GtkTextIter *start, *end;
GtkTextBuffer *buffer;
buffer=g_new0(GtkTextBuffer,1);
@@ -587,16 +593,12 @@ not_ok_clicked(GtkButton *button, ShareFolder *sf)
subj = g_strdup (gtk_entry_get_text (sf->subject));
if(subj)
sf->sub = subj;
-
-
buffer = gtk_text_view_get_buffer (sf->message);
gtk_text_buffer_get_start_iter (buffer, start);
gtk_text_buffer_get_end_iter (buffer, end);
-
msg = g_strdup(gtk_text_buffer_get_text (buffer, start, end, FALSE));
if(msg)
sf->mesg = msg;
-
gtk_widget_destroy (GTK_WIDGET (sf->window));
}
@@ -615,9 +617,9 @@ notification_clicked(GtkButton *button, ShareFolder *sf)
static GladeXML *xmln;
GtkButton *not_ok;
GtkButton *not_cancel;
-
+
xmln = glade_xml_new (EVOLUTION_GLADEDIR "/properties.glade" ,"window1", NULL);
- sf->window = GTK_WINDOW (glade_xml_get_widget (xmln, "window1"));
+ sf->window = GTK_WIDGET (glade_xml_get_widget (xmln, "window1"));
sf->subject = GTK_ENTRY (glade_xml_get_widget (xmln, "entry3"));
gtk_entry_set_text(GTK_ENTRY (sf->subject) , sf->sub);
@@ -628,33 +630,66 @@ notification_clicked(GtkButton *button, ShareFolder *sf)
g_signal_connect ((gpointer) not_cancel, "clicked", G_CALLBACK (not_cancel_clicked), sf->window);
}
+static void
+addressbook_dialog_response (ENameSelectorDialog *name_selector_dialog, gint response, gpointer user_data)
+{
+ gtk_widget_hide (GTK_WIDGET (name_selector_dialog));
+}
+
+static void
+addressbook_entry_changed (GtkWidget *entry, gpointer user_data)
+{
+
+}
+
+static void
+address_button_clicked_cb (GtkButton *button, gpointer data)
+{
+ ShareFolder *sf = data;
+ ENameSelectorDialog *name_selector_dialog;
+
+ name_selector_dialog = e_name_selector_peek_dialog (sf->name_selector);
+ gtk_widget_show (GTK_WIDGET (name_selector_dialog));
+}
static void
share_folder_construct (ShareFolder *sf)
{
-
GladeXML *xml;
+ ENameSelectorDialog *name_selector_dialog;
+ ENameSelectorModel *name_selector_model;
+ ENameSelectorEntry *name_selector_entry;
+
xml = glade_xml_new (EVOLUTION_GLADEDIR "/properties.glade", ROOTNODE, NULL);
sf->xml =xml;
- if(!sf->xml) {
- g_warning("could not get xml");
+ if (!sf->xml) {
+ g_warning ("could not get xml");
}
- sf->vbox = GTK_VBOX(glade_xml_get_widget(sf->xml, "vboxSharing"));
-
-
+ sf->vbox = GTK_VBOX (glade_xml_get_widget(sf->xml, "vboxSharing"));
sf->table = GTK_WIDGET (glade_xml_get_widget (sf->xml, "table26"));
gtk_widget_set_sensitive (GTK_WIDGET (sf->table), FALSE);
sf->shared = GTK_RADIO_BUTTON (glade_xml_get_widget (sf->xml, "radShared"));
- g_signal_connect ((gpointer) sf->shared, "clicked", G_CALLBACK (shared_clicked), sf);
+ g_signal_connect ((gpointer) sf->shared, "clicked", G_CALLBACK (shared_clicked), sf);
sf->not_shared = GTK_RADIO_BUTTON (glade_xml_get_widget (sf->xml, "radNotShared"));
g_signal_connect ((gpointer) sf->not_shared, "clicked", G_CALLBACK (not_shared_clicked), sf);
-
sf->add_book = GTK_BUTTON (glade_xml_get_widget (sf->xml, "Address"));
- gtk_widget_set_sensitive (GTK_WIDGET (sf->add_book), FALSE);
- /*g_signal_connect((GtkWidget *) sf->add_book, "clicked", G_CALLBACK (add_book_clicked), sf);*/
+ gtk_widget_set_sensitive (GTK_WIDGET (sf->add_book), TRUE);
+ g_signal_connect((GtkWidget *) sf->add_book, "clicked", G_CALLBACK (address_button_clicked_cb), sf);
+
+ sf->name_selector = e_name_selector_new ();
+ name_selector_dialog = e_name_selector_peek_dialog (sf->name_selector);
+ g_signal_connect (name_selector_dialog, "response",
+ G_CALLBACK (addressbook_dialog_response), sf);
+
+ name_selector_model = e_name_selector_peek_model (sf->name_selector);
+ e_name_selector_model_add_section (name_selector_model, "Add User", "Add User", NULL);
+
+ name_selector_entry = e_name_selector_peek_section_entry (sf->name_selector, "Add User");
+ g_signal_connect (name_selector_entry, "changed",
+ G_CALLBACK (addressbook_entry_changed), sf);
sf->add_button = GTK_BUTTON (glade_xml_get_widget(sf->xml, "Add"));
g_signal_connect((GtkWidget *) sf->add_button, "clicked", G_CALLBACK (add_clicked), sf);
@@ -666,11 +701,11 @@ share_folder_construct (ShareFolder *sf)
sf->notification = GTK_BUTTON (glade_xml_get_widget (sf->xml, "Notification"));
g_signal_connect((GtkWidget *) sf->notification, "clicked", G_CALLBACK (notification_clicked), sf);
-
sf->name = GTK_ENTRY (glade_xml_get_widget (sf->xml, "entry2"));
/*TODO:connect name and label*/
- gtk_widget_show (GTK_WIDGET(sf->name));
-
+ gtk_widget_hide (GTK_WIDGET(sf->name));
+ gtk_table_attach ((GtkWidget *) sf->table, (GtkWidget *) name_selector_entry, 1, 2, 0, 1, GTK_FILL, GTK_EXPAND, 8, 0);
+ gtk_widget_show ((GtkWidget *) name_selector_entry);
sf->frame = GTK_FRAME (glade_xml_get_widget(sf->xml, "frame1"));
gtk_widget_set_sensitive(GTK_WIDGET (sf->frame), FALSE);
@@ -683,27 +718,25 @@ share_folder_construct (ShareFolder *sf)
sf->user_rights = GTK_LABEL (glade_xml_get_widget (sf->xml,"label550"));
- sf->scrolledwindow = GTK_WIDGET (glade_xml_get_widget (sf->xml,"scrolledwindow1"));
+ sf->scrolled_window = GTK_WIDGET (glade_xml_get_widget (sf->xml,"scrolledwindow1"));
- gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sf->scrolledwindow), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
+ gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sf->scrolled_window), GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
sf->model = gtk_list_store_new (1, G_TYPE_STRING);
sf->user_list = gtk_tree_view_new ();
- gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sf->scrolledwindow), sf->user_list);
+ gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (sf->scrolled_window), sf->user_list);
gtk_tree_view_set_model (GTK_TREE_VIEW (sf->user_list), GTK_TREE_MODEL (sf->model));
gtk_widget_show (GTK_WIDGET (sf->user_list));
-
sf->cell = gtk_cell_renderer_text_new ();
sf->column = gtk_tree_view_column_new_with_attributes ("Users", sf->cell, "text", 0, NULL);
gtk_tree_view_append_column (GTK_TREE_VIEW (sf->user_list),
GTK_TREE_VIEW_COLUMN (sf->column));
-
g_signal_connect(gtk_tree_view_get_selection(GTK_TREE_VIEW (sf->user_list)), "changed", G_CALLBACK (user_selected), sf);
}
ShareFolder *
-share_folder_new (gchar *ccnc, gchar *id)
+share_folder_new (EGwConnection *ccnc, gchar *id)
{
ShareFolder *new;
new = (ShareFolder *) g_object_new (share_folder_get_type (), NULL);
@@ -712,7 +745,7 @@ share_folder_new (gchar *ccnc, gchar *id)
new->container_id = id;
get_container_list(new);
- return (GtkWidget *) new;
+ return (ShareFolder *) new;
}