[Top][All Lists]
[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 */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r3565 - in gnunet-gtk: . src/plugins/fs,
grothoff <=