gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r3565 - in gnunet-gtk: . src/plugins/fs


From: grothoff
Subject: [GNUnet-SVN] r3565 - in gnunet-gtk: . src/plugins/fs
Date: Sun, 29 Oct 2006 14:40:46 -0800 (PST)

Author: grothoff
Date: 2006-10-29 14:40:43 -0800 (Sun, 29 Oct 2006)
New Revision: 3565

Modified:
   gnunet-gtk/TODO
   gnunet-gtk/src/plugins/fs/collection.c
   gnunet-gtk/src/plugins/fs/download.c
   gnunet-gtk/src/plugins/fs/meta.c
   gnunet-gtk/src/plugins/fs/meta.h
   gnunet-gtk/src/plugins/fs/namespace.c
   gnunet-gtk/src/plugins/fs/search.c
   gnunet-gtk/src/plugins/fs/upload.c
Log:
updates

Modified: gnunet-gtk/TODO
===================================================================
--- gnunet-gtk/TODO     2006-10-29 21:58:28 UTC (rev 3564)
+++ gnunet-gtk/TODO     2006-10-29 22:40:43 UTC (rev 3565)
@@ -1,8 +1,5 @@
 0.7.1:
 - support new FSUI apis: [pre0]
-  * update UI event management for upload
-  * complete UI options processing for search and download and upload;
-    including recursive download, anonymity levels, etc.
   * fix thread context switching: switch to GTK Thread before UI updates!
   * test, test, test!
   * support abort of search/download/upload (without killing it)

Modified: gnunet-gtk/src/plugins/fs/collection.c
===================================================================
--- gnunet-gtk/src/plugins/fs/collection.c      2006-10-29 21:58:28 UTC (rev 
3564)
+++ gnunet-gtk/src/plugins/fs/collection.c      2006-10-29 22:40:43 UTC (rev 
3565)
@@ -72,13 +72,9 @@
   gtk_dialog_set_default_response(GTK_DIALOG(dialog),
                                  GTK_RESPONSE_OK);
   if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
-    nameLine
-      = glade_xml_get_widget(metaXML,
-                            "collectionUpdateIntervalComboBoxEntry");
-    nameLine
-      = gtk_bin_get_child(GTK_BIN(nameLine));
     updateIntervalString
-      = gtk_entry_get_text(GTK_ENTRY(nameLine));
+      = getEntryLineValue(metaXML,
+                         "collectionUpdateIntervalComboBoxEntry");
     if (0 == strcmp(_("--sporadic update--"),
                    updateIntervalString))
       updateInterval = ECRS_SBLOCK_UPDATE_SPORADIC;

Modified: gnunet-gtk/src/plugins/fs/download.c
===================================================================
--- gnunet-gtk/src/plugins/fs/download.c        2006-10-29 21:58:28 UTC (rev 
3564)
+++ gnunet-gtk/src/plugins/fs/download.c        2006-10-29 22:40:43 UTC (rev 
3565)
@@ -538,7 +538,8 @@
    
   addLogEntry(_("Downloading `%s'"), idc_name);
   FSUI_startDownload(ctx,
-                    0, /* FIXME: anonymity level */
+                    getSpinButtonValue(searchContext->searchXML,
+                                       "downloadAnonymitySpinButton"),
                     NO, /* FIXME: isRecursive */
                     idc_uri,
                     idc_meta,

Modified: gnunet-gtk/src/plugins/fs/meta.c
===================================================================
--- gnunet-gtk/src/plugins/fs/meta.c    2006-10-29 21:58:28 UTC (rev 3564)
+++ gnunet-gtk/src/plugins/fs/meta.c    2006-10-29 22:40:43 UTC (rev 3565)
@@ -464,13 +464,8 @@
 int tryParseTimeInterval(GladeXML * xml,
                         const char * intervalComboBoxEntry,
                         TIME_T * interval) {
-  GtkWidget * update;
-  const char * timeSpec;
-
-  update = glade_xml_get_widget(xml,
-                               intervalComboBoxEntry);
-  timeSpec = gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(update))));
-  return parseTimeInterval(timeSpec,
+  return parseTimeInterval(getEntryLineValue(xml,
+                                            intervalComboBoxEntry),
                           interval);
 }
 
@@ -580,5 +575,21 @@
   return ret;
 }
 
+int getToggleButtonValue(GladeXML * xml,
+                        const char * widgetName) {
+  return 
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(glade_xml_get_widget(xml,
+                                                                            
widgetName)));
+}
 
+const char * getEntryLineValue(GladeXML * xml,
+                              const char * widgetName) {
+  GtkBin * line;
+  GtkEntry * entry;
+
+  line = GTK_BIN(glade_xml_get_widget(xml,
+                                     widgetName));
+  entry = GTK_ENTRY(gtk_bin_get_child(line));
+  return gtk_entry_get_text(entry);
+}
+
 /* end of meta.c */

Modified: gnunet-gtk/src/plugins/fs/meta.h
===================================================================
--- gnunet-gtk/src/plugins/fs/meta.h    2006-10-29 21:58:28 UTC (rev 3564)
+++ gnunet-gtk/src/plugins/fs/meta.h    2006-10-29 22:40:43 UTC (rev 3565)
@@ -69,15 +69,21 @@
 int parseTimeInterval(const char * frequency,
                      TIME_T * interval);
 
-unsigned int getSpinButtonValue(GladeXML * xml,
-                               const char * spinButtonName);
-
 char * getMimeTypeFromMetaData(const struct ECRS_MetaData * meta);
 
 char * getFileNameFromMetaData(const struct ECRS_MetaData * meta);
 
 char * getDescriptionFromMetaData(const struct ECRS_MetaData * meta);
 
+unsigned int getSpinButtonValue(GladeXML * xml,
+                               const char * spinButtonName);
+
+int getToggleButtonValue(GladeXML * xml,
+                        const char * widgetName);
+
+const char * getEntryLineValue(GladeXML * xml,
+                              const char * widgetName);
+
 GdkPixbuf * getThumbnailFromMetaData(const struct ECRS_MetaData * meta);
 
 GtkWidget * extractMainWidgetFromWindow(GladeXML * xml,

Modified: gnunet-gtk/src/plugins/fs/namespace.c
===================================================================
--- gnunet-gtk/src/plugins/fs/namespace.c       2006-10-29 21:58:28 UTC (rev 
3564)
+++ gnunet-gtk/src/plugins/fs/namespace.c       2006-10-29 22:40:43 UTC (rev 
3565)
@@ -57,7 +57,6 @@
 
 static GtkWidget * makeNamespaceFrame(GtkWidget ** treeview,
                                      GtkWidget ** anonSpin) {
-  GtkWidget * window;
   GtkWidget * child;
   GtkWidget * resultList;
   GtkCellRenderer * renderer;
@@ -72,8 +71,8 @@
                    "namespaceContentFrame",
                    PACKAGE_NAME);
   connectGladeWithPlugins(namespaceXML);
-  window = glade_xml_get_widget(namespaceXML,
-                               "namespaceContentFrame");
+  child = extractMainWidgetFromWindow(namespaceXML,
+                                     "namespaceContentFrame");
   resultList = glade_xml_get_widget(namespaceXML,
                                    "namespaceContentFrameTreeView");
   *anonSpin = glade_xml_get_widget(namespaceXML,
@@ -229,11 +228,8 @@
   
gtk_tree_view_column_set_resizable(gtk_tree_view_get_column(GTK_TREE_VIEW(resultList),
                                               col - 1),
                                               TRUE);
-  child = gtk_bin_get_child(GTK_BIN(window));
-  gtk_widget_ref(GTK_WIDGET(child));
-  gtk_container_remove(GTK_CONTAINER(window),
-                      child);
-  gtk_widget_destroy(window);
+
+                                     
   UNREF(namespaceXML);
   DEBUG_END();
 

Modified: gnunet-gtk/src/plugins/fs/search.c
===================================================================
--- gnunet-gtk/src/plugins/fs/search.c  2006-10-29 21:58:28 UTC (rev 3564)
+++ gnunet-gtk/src/plugins/fs/search.c  2006-10-29 22:40:43 UTC (rev 3565)
@@ -46,14 +46,12 @@
   gint i;
   SearchList * list;
   GtkTreeIter iter;
-  GtkWidget * searchKeywordGtkCB;
+  GtkComboBox * searchKeywordGtkCB;
   GtkWidget * searchNamespaceGtkCB;
   GtkNotebook * notebook;
 
-  searchKeywordGtkCB
-    = glade_xml_get_widget(getMainXML(),
-                          "fssearchKeywordComboBoxEntry");
-  searchString = 
gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(searchKeywordGtkCB))));
+  searchString = getEntryLineValue(getMainXML(),
+                                  "fssearchKeywordComboBoxEntry");
   if (searchString == NULL) {
     GE_LOG(ectx,
           GE_ERROR | GE_USER | GE_IMMEDIATE,
@@ -62,13 +60,14 @@
   }
   /* add the keyword to the list of keywords that have
      been used so far */
-  i = gtk_combo_box_get_active(GTK_COMBO_BOX(searchKeywordGtkCB));
+  searchKeywordGtkCB
+    = GTK_COMBO_BOX(glade_xml_get_widget(getMainXML(),
+                                        "fssearchKeywordComboBoxEntry"));
+  i = gtk_combo_box_get_active(searchKeywordGtkCB);
   if (i == -1) {
     GtkListStore * model;
 
-    model = GTK_LIST_STORE
-      (gtk_combo_box_get_model
-       (GTK_COMBO_BOX(searchKeywordGtkCB)));
+    model = GTK_LIST_STORE(gtk_combo_box_get_model(searchKeywordGtkCB));
     gtk_list_store_prepend(model,
                           &iter);
     gtk_list_store_set(model,
@@ -608,6 +607,14 @@
 }
 
 /**
+ * FSUI event: a search was aborted.
+ * Update views accordingly.
+ */
+void fs_search_aborted(SearchList * list) {
+  /* FIXME: show aborted status somehow! */
+}
+
+/**
  * FSUI event: a search was stopped.  Remove the
  * respective tab and its entry in the summary.
  */

Modified: gnunet-gtk/src/plugins/fs/upload.c
===================================================================
--- gnunet-gtk/src/plugins/fs/upload.c  2006-10-29 21:58:28 UTC (rev 3564)
+++ gnunet-gtk/src/plugins/fs/upload.c  2006-10-29 22:40:43 UTC (rev 3565)
@@ -186,7 +186,7 @@
   return ret;
 }
 
-/* *************** Glade UI event handling ************** */
+/* *************** user upload event handling ************** */
 
 
 void on_selectAlternativePreviewButton_selection_changed_fs(GtkWidget * 
preview,
@@ -224,50 +224,17 @@
                           "metaDataDialogMetaDataList");
 }
 
-typedef struct {
-  int anon;
-  int doRec;
-  int doIndex;
-  int deepIndex;
-  const char * filename;
-  struct ECRS_URI * keywordURI;
-  struct ECRS_URI * gkeywordURI;
-  struct ECRS_MetaData * meta;
-  struct FSUI_UploadList * fsui_list; // FIXME: use this!
-} UploadClosure;
-
-static void * doUpload(void * cls) {
-  UploadClosure * uc = cls;
-
-  uc->fsui_list = FSUI_startUpload(ctx,
-                                  uc->filename,
-                                  (DirectoryScanCallback) &disk_directory_scan,
-                                  ectx,
-                                  uc->anon,
-                                  1000, /* FIXME: priority */
-                                  uc->doIndex,
-                                  YES, /* FIXME: do extract */
-                                  uc->deepIndex,
-                                  uc->meta,
-                                  uc->gkeywordURI,
-                                  uc->keywordURI);
-  return NULL;
-}
-
 void on_fsinsertuploadbutton_clicked_fs(gpointer dummy,
                                        GtkWidget * uploadButton) {
-  UploadClosure uc;
   const char * filenamerest;
-  GtkWidget * uploadLine;
-  GtkWidget * entry;
+  const char * filename;
   GtkWidget * dialog;
-  GtkWidget * recBut;
-  GtkWidget * idxBut;
-  GtkWidget * deepIndex;
   EXTRACTOR_ExtractorList * extractors;
   char * config;
+  struct ECRS_URI * keywordURI;
+  struct ECRS_URI * gkeywordURI;
+  struct ECRS_MetaData * meta;
 
-  DEBUG_BEGIN();
   extractors = EXTRACTOR_loadDefaultLibraries();
   config = NULL;
   GC_get_configuration_value_string(cfg,
@@ -281,10 +248,8 @@
     FREE(config);
   }
 
-  uploadLine = glade_xml_get_widget(getMainXML(),
-                                   "uploadFilenameComboBoxEntry");
-  entry = gtk_bin_get_child(GTK_BIN(uploadLine));
-  uc.filename = gtk_entry_get_text(GTK_ENTRY(entry));
+  filename = getEntryLineValue(getMainXML(),
+                              "uploadFilenameComboBoxEntry");
   metaXML
     = glade_xml_new(getGladeFileName(),
                    "metaDataDialog",
@@ -292,155 +257,137 @@
   connectGladeWithPlugins(metaXML);
   dialog = glade_xml_get_widget(metaXML,
                                "metaDataDialog");
-  uc.meta = ECRS_createMetaData();
+  meta = ECRS_createMetaData();
   ECRS_extractMetaData(ectx,
-                      uc.meta,
-                      uc.filename,
+                      meta,
+                      filename,
                       extractors);
   EXTRACTOR_removeAll(extractors);
-  filenamerest = &uc.filename[strlen(uc.filename)-1];
-  while ( (filenamerest > uc.filename) &&
+  filenamerest = &filename[strlen(filename)-1];
+  while ( (filenamerest > filename) &&
          (filenamerest[-1] != DIR_SEPARATOR) )
     filenamerest--;
-  ECRS_addToMetaData(uc.meta,
+  ECRS_addToMetaData(meta,
                     EXTRACTOR_FILENAME,
                     filenamerest);
   createMetaDataListTreeView(metaXML,
                             "metaDataDialogMetaDataList",
                             "previewImage",
-                            uc.meta);
-  uc.keywordURI = ECRS_metaDataToUri(uc.meta);
-  ECRS_freeMetaData(uc.meta);
+                            meta);
+  keywordURI = ECRS_metaDataToUri(meta);
+  ECRS_freeMetaData(meta);
   createKeywordListTreeView(metaXML,
                            "metaDataDialogKeywordList",
-                           uc.keywordURI);
-  ECRS_freeUri(uc.keywordURI);
+                           keywordURI);
+  ECRS_freeUri(keywordURI);
   createMetaTypeComboBox(metaXML,
                         "metaDataDialogMetaTypeComboBox");
   gtk_dialog_set_default_response(GTK_DIALOG(dialog),
                                  GTK_RESPONSE_OK);
   if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_CANCEL) {
-    addLogEntry(_("Uploading `%s'"), filenamerest);
-
-    recBut = glade_xml_get_widget(getMainXML(),
-                                 "scopeRecursiveButton");
-    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(recBut)))
-      uc.doRec = YES;
-    else
-      uc.doRec = NO;
-    idxBut = glade_xml_get_widget(getMainXML(),
-                                 "indexbutton");
-    if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(idxBut)))
-      uc.doIndex = YES;
-    else
-      uc.doIndex = NO;
-
-    uc.meta = getMetaDataFromList(metaXML,
-                                 "metaDataDialogMetaDataList",
-                                 "previewImage");
-    uc.keywordURI = getKeywordURIFromList(metaXML,
-                                         "metaDataDialogKeywordList");
-    uc.anon = getSpinButtonValue(getMainXML(),
-                                "uploadAnonymityLevelSpinButton");   
-    deepIndex = glade_xml_get_widget(getMainXML(),
-                                    "deepIndexCheckButton");
-    uc.deepIndex = (TRUE == 
gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(deepIndex))) ? YES : NO;
-    uc.gkeywordURI = ECRS_stringToUri(ectx,
-                                     ECRS_URI_PREFIX
-                                     ECRS_SEARCH_INFIX);
-    run_with_save_calls(&doUpload,
-                       &uc);
-    ECRS_freeMetaData(uc.meta);
-    ECRS_freeUri(uc.gkeywordURI);
-    ECRS_freeUri(uc.keywordURI);
+    meta = getMetaDataFromList(metaXML,
+                              "metaDataDialogMetaDataList",
+                              "previewImage");
+    keywordURI = getKeywordURIFromList(metaXML,
+                                      "metaDataDialogKeywordList");
+    gkeywordURI = ECRS_stringToUri(ectx,
+                                  ECRS_URI_PREFIX
+                                  ECRS_SEARCH_INFIX);
+    FSUI_startUpload(ctx,
+                    filename,
+                    (DirectoryScanCallback) &disk_directory_scan,
+                    ectx,
+                    getSpinButtonValue(getMainXML(),
+                                       "uploadAnonymityLevelSpinButton"),
+                    getSpinButtonValue(getMainXML(),
+                                       "contentPrioritySpinButton"),
+                    getToggleButtonValue(getMainXML(),
+                                         "indexbutton"),
+                    getToggleButtonValue(getMainXML(),
+                                         "doExtractCheckButton"),
+                    getToggleButtonValue(getMainXML(),
+                                         "deepIndexCheckButton"),
+                    meta,
+                    gkeywordURI,
+                    keywordURI);
+    ECRS_freeMetaData(meta);
+    ECRS_freeUri(gkeywordURI);
+    ECRS_freeUri(keywordURI);
   }
   gtk_widget_destroy (dialog);
   UNREF(metaXML);
   metaXML = NULL;
-  DEBUG_END();
 }
 
-static char * selectFile(const char *oldfilename) {
 #ifndef MINGW
-  GtkWidget *dialog;
+
+static char * 
+selectFile(const char * oldfilename) {
   GladeXML * uploadXML;
-  GtkWidget * recBut;
-  char *ret;
+  GtkFileChooser * dialog;
+  char * ret;
 
   uploadXML
     = glade_xml_new(getGladeFileName(),
                    "uploadfilechooserdialog",
                    PACKAGE_NAME);
   connectGladeWithPlugins(uploadXML);
-  dialog = glade_xml_get_widget(uploadXML,
-                               "uploadfilechooserdialog");
-
-  recBut = glade_xml_get_widget(getMainXML(),
-                               "scopeRecursiveButton");
-
-  /* show the user last used dir */
-  gtk_file_chooser_set_filename(GTK_FILE_CHOOSER(dialog),
-                                  oldfilename);
-
-  if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(recBut)))
-    gtk_file_chooser_set_action(GTK_FILE_CHOOSER(dialog),
+  dialog = GTK_FILE_CHOOSER(glade_xml_get_widget(uploadXML,
+                                                "uploadfilechooserdialog"));
+  gtk_file_chooser_set_filename(dialog,
+                               oldfilename);
+  if (getToggleButtonValue(getMainXML(),
+                          "scopeRecursiveButton")) 
+    gtk_file_chooser_set_action(dialog,
                                GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER);
-
-  if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_CANCEL) {
-    char * filename;
-
-    filename = gtk_file_chooser_get_filename(GTK_FILE_CHOOSER(dialog));
-    ret = STRDUP(filename);
-    g_free(filename);
-  } else
+  if (gtk_dialog_run(GTK_DIALOG(dialog)) != GTK_RESPONSE_CANCEL) 
+    ret = gtk_file_chooser_get_filename(dialog);
+  else
     ret = NULL;
-
-  gtk_widget_destroy (dialog);
+  gtk_widget_destroy(GTK_WIDGET(dialog));
   UNREF(uploadXML);
   return ret;
+}
+
 #else /* MINGW */
-  GtkWidget *fileBut;
-  char *fn;
 
-  fileBut = glade_xml_get_widget(getMainXML(),
-        "scopeFileOnlyButton");
-  if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(fileBut)))
-    fn = plibc_ChooseFile(_("Choose the file you want to publish."),
-      OFN_FILEMUSTEXIST | OFN_SHAREAWARE);
-  else
-    fn = plibc_ChooseDir(_("Choose the directory you want to publish."),
+static char * 
+selectFile(const char * oldfilename) {
+  if (getToggleButtonValue(getMainXML(),
+                          "scopeFileOnlyButton"))
+    return plibc_ChooseFile(_("Choose the file you want to publish."),
+                           OFN_FILEMUSTEXIST | OFN_SHAREAWARE);
+  return plibc_ChooseDir(_("Choose the directory you want to publish."),
                         BIF_USENEWUI | BIF_SHAREABLE | BIF_NONEWFOLDERBUTTON);
-
-  return fn;
-#endif /* MINGW */
 }
+#endif /* MINGW */
 
 void on_mainFileSharingInsertBrowseButton_clicked_fs(GtkWidget * browseButton,
                                                     gpointer dummy) {
   char * filename;
   const char *oldfilename;
   GtkWidget * uploadLine;
-  GtkWidget * entry;
+  GtkEntry * entry;
   GtkListStore * model;
   GtkTreeIter iter;
 
   uploadLine = glade_xml_get_widget(getMainXML(),
                                    "uploadFilenameComboBoxEntry");
-  entry = gtk_bin_get_child(GTK_BIN(uploadLine));
-  oldfilename = gtk_entry_get_text(GTK_ENTRY(entry));
-  if ((filename = selectFile(oldfilename))) {
-    gtk_entry_set_text(GTK_ENTRY(entry),
-                      filename);
-    model = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(uploadLine)));
-    gtk_list_store_prepend(model,
-                          &iter);
-    gtk_list_store_set(model,
-                      &iter,
-                      0,
-                      filename,
-                      -1);
-    free(filename);
-  }
+  entry = GTK_ENTRY(gtk_bin_get_child(GTK_BIN(uploadLine)));
+  oldfilename = gtk_entry_get_text(entry);
+  if (NULL == (filename = selectFile(oldfilename)))
+    return;  
+  gtk_entry_set_text(entry,
+                    filename);
+  model = GTK_LIST_STORE(gtk_combo_box_get_model(GTK_COMBO_BOX(uploadLine)));
+  gtk_list_store_prepend(model,
+                        &iter);
+  gtk_list_store_set(model,
+                    &iter,
+                    0,
+                    filename,
+                    -1);
+  free(filename); 
 }
 
 /* end of upload.c */





reply via email to

[Prev in Thread] Current Thread [Next in Thread]