[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r11819 - gnunet gnunet-gtk/contrib gnunet-gtk/src
From: |
gnunet |
Subject: |
[GNUnet-SVN] r11819 - gnunet gnunet-gtk/contrib gnunet-gtk/src |
Date: |
Sun, 20 Jun 2010 11:00:36 +0200 |
Author: grothoff
Date: 2010-06-20 11:00:36 +0200 (Sun, 20 Jun 2010)
New Revision: 11819
Modified:
gnunet-gtk/contrib/publish_dialog.glade
gnunet-gtk/contrib/publish_edit_dialog.glade
gnunet-gtk/src/fs_event_handler.c
gnunet-gtk/src/main_window_file_publish.c
gnunet/TODO
Log:
publish start implementation
Modified: gnunet/TODO
===================================================================
--- gnunet/TODO 2010-06-19 21:32:33 UTC (rev 11818)
+++ gnunet/TODO 2010-06-20 09:00:36 UTC (rev 11819)
@@ -17,8 +17,12 @@
- only connect() sockets that are ready (select()) [Nils]
[On W32, we need to select after calling socket before doing connect etc.]
* GNUNET-GTK:
- - implement publish dialog
- + execute (publish)
+ - handle publish events
+ + start
+ + progress
+ + completed
+ + stopped
+ + suspend
- directory support:
+ download start: recursive/directory (!) & from-URI only
+ handle download lost-parent (move to 'from-URI only' tab)
@@ -86,6 +90,8 @@
+ search error
+ download error
+ download resume
+ + publish resume
+ + publish error
- implement open directory dialog
- implement new-pseudonym dialog
- namespace search
@@ -137,7 +143,6 @@
0.9.0:
* new webpage:
- - expand bibliography
- convert documentation pages to books
- update books (especially for developers)
- create good Drupal theme for GNUnet
Modified: gnunet-gtk/contrib/publish_dialog.glade
===================================================================
--- gnunet-gtk/contrib/publish_dialog.glade 2010-06-19 21:32:33 UTC (rev
11818)
+++ gnunet-gtk/contrib/publish_dialog.glade 2010-06-20 09:00:36 UTC (rev
11819)
@@ -2,24 +2,40 @@
<interface>
<requires lib="gtk+" version="2.20"/>
<!-- interface-naming-policy project-wide -->
- <object class="GtkTreeStore" id="GNUNET_GTK_pseudonym_tree_store">
+ <object class="GtkImage" id="right_stock_image">
+ <property name="visible">True</property>
+ <property name="stock">gtk-go-forward</property>
+ </object>
+ <object class="GtkImage" id="left_stock_image">
+ <property name="visible">True</property>
+ <property name="stock">gtk-go-back</property>
+ </object>
+ <object class="GtkImage" id="add_stock_image_2">
+ <property name="visible">True</property>
+ <property name="stock">gtk-add</property>
+ </object>
+ <object class="GtkImage" id="new_stock_image">
+ <property name="visible">True</property>
+ <property name="stock">gtk-new</property>
+ </object>
+ <object class="GtkImage" id="add_stock_image">
+ <property name="visible">True</property>
+ <property name="stock">gtk-add</property>
+ </object>
+ <object class="GtkTreeStore"
id="GNUNET_GTK_file_sharing_publishing_tree_store">
<columns>
- <!-- column-name local_name -->
+ <!-- column-name filesize -->
<column type="gchararray"/>
- <!-- column-name namespace_handle -->
- <column type="gpointer"/>
- <!-- column-name last_id -->
+ <!-- column-name do_index -->
+ <column type="gboolean"/>
+ <!-- column-name filename -->
<column type="gchararray"/>
- <!-- column-name last_uri -->
- <column type="gchararray"/>
- <!-- column-name last_meta -->
+ <!-- column-name anonymity_level -->
+ <column type="guint"/>
+ <!-- column-name priority -->
+ <column type="guint"/>
+ <!-- column-name file_information_struct -->
<column type="gpointer"/>
- <!-- column-name next_id -->
- <column type="gchararray"/>
- <!-- column-name last_description_from_meta -->
- <column type="gchararray"/>
- <!-- column-name next_id_editable -->
- <column type="gboolean"/>
</columns>
</object>
<object class="GtkDialog" id="GNUNET_GTK_master_publish_dialog">
@@ -92,26 +108,27 @@
<property name="visible">True</property>
<property name="n_rows">2</property>
<property name="n_columns">3</property>
- <property name="homogeneous">True</property>
<child>
<object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_add_button">
- <property name="label">gtk-add</property>
+ <property name="label">Add _File</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_action_appearance">False</property>
- <property name="use_stock">True</property>
+ <property name="image">add_stock_image</property>
+ <property name="use_underline">True</property>
<signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_add_button_clicked_cb" swapped="no"/>
</object>
</child>
<child>
<object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_open_button">
- <property name="label">gtk-open</property>
+ <property name="label">Add _Directory</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_action_appearance">False</property>
- <property name="use_stock">True</property>
+ <property name="image">add_stock_image_2</property>
+ <property name="use_underline">True</property>
<signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_open_button_clicked_cb" swapped="no"/>
</object>
<packing>
@@ -157,26 +174,24 @@
</child>
<child>
<object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_new_button">
- <property name="label">gtk-new</property>
+ <property name="label">_Create empty directory</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_action_appearance">False</property>
- <property name="use_stock">True</property>
+ <property name="image">new_stock_image</property>
+ <property name="use_underline">True</property>
<signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_new_button_clicked_cb" swapped="no"/>
</object>
<packing>
<property name="left_attach">1</property>
- <property name="right_attach">2</property>
+ <property name="right_attach">3</property>
</packing>
</child>
- <child>
- <placeholder/>
- </child>
</object>
<packing>
<property name="expand">False</property>
- <property name="padding">50</property>
+ <property name="padding">25</property>
<property name="position">0</property>
</packing>
</child>
@@ -222,13 +237,14 @@
</child>
<child>
<object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_left_button">
- <property name="label">gtk-go-back</property>
+ <property name="label">_Left</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_action_appearance">False</property>
- <property name="use_stock">True</property>
+ <property name="image">left_stock_image</property>
+ <property name="use_underline">True</property>
<signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_left_button_clicked_cb" swapped="no"/>
</object>
<packing>
@@ -238,13 +254,14 @@
</child>
<child>
<object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_right_button">
- <property name="label">gtk-go-forward</property>
+ <property name="label">_Right</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property name="use_action_appearance">False</property>
- <property name="use_stock">True</property>
+ <property name="image">right_stock_image</property>
+ <property name="use_underline">True</property>
<signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_right_button_clicked_cb"
swapped="no"/>
</object>
<packing>
@@ -263,7 +280,7 @@
</object>
<packing>
<property name="expand">False</property>
- <property name="padding">50</property>
+ <property name="padding">25</property>
<property name="position">1</property>
</packing>
</child>
@@ -394,20 +411,24 @@
<action-widget
response="-5">GNUNET_GTK_master_publish_dialog_execute_button</action-widget>
</action-widgets>
</object>
- <object class="GtkTreeStore"
id="GNUNET_GTK_file_sharing_publishing_tree_store">
+ <object class="GtkTreeStore" id="GNUNET_GTK_pseudonym_tree_store">
<columns>
- <!-- column-name filesize -->
+ <!-- column-name local_name -->
<column type="gchararray"/>
- <!-- column-name do_index -->
- <column type="gboolean"/>
- <!-- column-name filename -->
+ <!-- column-name namespace_handle -->
+ <column type="gpointer"/>
+ <!-- column-name last_id -->
<column type="gchararray"/>
- <!-- column-name anonymity_level -->
- <column type="guint"/>
- <!-- column-name priority -->
- <column type="guint"/>
- <!-- column-name file_information_struct -->
+ <!-- column-name last_uri -->
+ <column type="gchararray"/>
+ <!-- column-name last_meta -->
<column type="gpointer"/>
+ <!-- column-name next_id -->
+ <column type="gchararray"/>
+ <!-- column-name last_description_from_meta -->
+ <column type="gchararray"/>
+ <!-- column-name next_id_editable -->
+ <column type="gboolean"/>
</columns>
</object>
</interface>
Modified: gnunet-gtk/contrib/publish_edit_dialog.glade
===================================================================
--- gnunet-gtk/contrib/publish_edit_dialog.glade 2010-06-19 21:32:33 UTC
(rev 11818)
+++ gnunet-gtk/contrib/publish_edit_dialog.glade 2010-06-20 09:00:36 UTC
(rev 11819)
@@ -2,26 +2,22 @@
<interface>
<requires lib="gtk+" version="2.20"/>
<!-- interface-naming-policy project-wide -->
- <object class="GtkListStore" id="GNUNET_GTK_metatype_list_store">
- <columns>
- <!-- column-name description -->
- <column type="gchararray"/>
- <!-- column-name guint1 -->
- <column type="guint"/>
- <!-- column-name helptext -->
- <column type="gchararray"/>
- </columns>
+ <object class="GtkAdjustment" id="priority_adjustment">
+ <property name="upper">10000000</property>
+ <property name="value">1000</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
</object>
- <object class="GtkListStore" id="GNUNET_GTK_meta_data_list_store">
+ <object class="GtkAdjustment" id="GNUNET_GTK_anonymity_adjustment">
+ <property name="upper">100000</property>
+ <property name="value">1</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkListStore" id="GNUNET_GTK_keyword_list_store">
<columns>
- <!-- column-name extractor_meta_type -->
- <column type="guint"/>
- <!-- column-name extractor_meta_format -->
- <column type="guint"/>
- <!-- column-name extractor_meta_type_string -->
+ <!-- column-name keyword -->
<column type="gchararray"/>
- <!-- column-name extracotr_meta_value -->
- <column type="gchararray"/>
</columns>
</object>
<object class="GtkDialog" id="GNUNET_GTK_edit_file_information_dialog">
@@ -362,6 +358,7 @@
<object class="GtkButton"
id="GNUNET_GTK_edit_file_information_keyword_list_del_button">
<property name="label">gtk-delete</property>
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
<property
name="use_action_appearance">False</property>
@@ -629,22 +626,26 @@
<action-widget
response="-5">GNUNET_GTK_edit_file_information_confirm_button</action-widget>
</action-widgets>
</object>
- <object class="GtkListStore" id="GNUNET_GTK_keyword_list_store">
+ <object class="GtkListStore" id="GNUNET_GTK_meta_data_list_store">
<columns>
- <!-- column-name keyword -->
+ <!-- column-name extractor_meta_type -->
+ <column type="guint"/>
+ <!-- column-name extractor_meta_format -->
+ <column type="guint"/>
+ <!-- column-name extractor_meta_type_string -->
<column type="gchararray"/>
+ <!-- column-name extracotr_meta_value -->
+ <column type="gchararray"/>
</columns>
</object>
- <object class="GtkAdjustment" id="GNUNET_GTK_anonymity_adjustment">
- <property name="upper">100000</property>
- <property name="value">1</property>
- <property name="step_increment">1</property>
- <property name="page_increment">10</property>
+ <object class="GtkListStore" id="GNUNET_GTK_metatype_list_store">
+ <columns>
+ <!-- column-name description -->
+ <column type="gchararray"/>
+ <!-- column-name guint1 -->
+ <column type="guint"/>
+ <!-- column-name helptext -->
+ <column type="gchararray"/>
+ </columns>
</object>
- <object class="GtkAdjustment" id="priority_adjustment">
- <property name="upper">10000000</property>
- <property name="value">1000</property>
- <property name="step_increment">1</property>
- <property name="page_increment">10</property>
- </object>
</interface>
Modified: gnunet-gtk/src/fs_event_handler.c
===================================================================
--- gnunet-gtk/src/fs_event_handler.c 2010-06-19 21:32:33 UTC (rev 11818)
+++ gnunet-gtk/src/fs_event_handler.c 2010-06-20 09:00:36 UTC (rev 11819)
@@ -814,13 +814,20 @@
{
switch (info->status)
{
- case GNUNET_FS_STATUS_PUBLISH_START: GNUNET_break (0); break;
- case GNUNET_FS_STATUS_PUBLISH_RESUME: GNUNET_break (0); break;
- case GNUNET_FS_STATUS_PUBLISH_SUSPEND: GNUNET_break (0); break;
- case GNUNET_FS_STATUS_PUBLISH_PROGRESS: GNUNET_break (0); break;
- case GNUNET_FS_STATUS_PUBLISH_ERROR: GNUNET_break (0); break;
- case GNUNET_FS_STATUS_PUBLISH_COMPLETED: GNUNET_break (0); break;
- case GNUNET_FS_STATUS_PUBLISH_STOPPED: GNUNET_break (0); break;
+ case GNUNET_FS_STATUS_PUBLISH_START:
+ GNUNET_break (0); break;
+ case GNUNET_FS_STATUS_PUBLISH_RESUME:
+ GNUNET_break (0); break;
+ case GNUNET_FS_STATUS_PUBLISH_SUSPEND:
+ GNUNET_break (0); break;
+ case GNUNET_FS_STATUS_PUBLISH_PROGRESS:
+ GNUNET_break (0); break;
+ case GNUNET_FS_STATUS_PUBLISH_ERROR:
+ GNUNET_break (0); break;
+ case GNUNET_FS_STATUS_PUBLISH_COMPLETED:
+ GNUNET_break (0); break;
+ case GNUNET_FS_STATUS_PUBLISH_STOPPED:
+ GNUNET_break (0); break;
case GNUNET_FS_STATUS_DOWNLOAD_START:
return setup_download (info->value.download.pctx,
info->value.download.sctx,
Modified: gnunet-gtk/src/main_window_file_publish.c
===================================================================
--- gnunet-gtk/src/main_window_file_publish.c 2010-06-19 21:32:33 UTC (rev
11818)
+++ gnunet-gtk/src/main_window_file_publish.c 2010-06-20 09:00:36 UTC (rev
11819)
@@ -854,7 +854,44 @@
/**
+ * Get the file information struct corresponding to the
+ * given iter in the publish dialog tree model. Recursively
+ * builds the file information struct from the subtree.
+ *
+ * @param tm model to grab fi from
+ * @param iter position to grab fi from
+ * @return file information from the given position (never NULL)
*/
+static struct GNUNET_FS_FileInformation *
+get_file_information (GtkTreeModel *tm,
+ GtkTreeIter *iter)
+{
+ struct GNUNET_FS_FileInformation *fi;
+ struct GNUNET_FS_FileInformation *fic;
+ struct GtkTreeIter child;
+
+ gtk_tree_model_get (tm, iter,
+ 5, &fi,
+ -1);
+ GNUNET_assert (fi != NULL);
+ if (gtk_tree_model_iter_children (tm, &child, iter))
+ {
+ GNUNET_break (GNUNET_YES ==
+ GNUNET_FS_file_information_is_directory (fi));
+ do
+ {
+ fic = get_file_information (tm, &child);
+ GNUNET_break (GNUNET_OK ==
+ GNUNET_FS_file_information_add (fi, fic));
+ }
+ while (gtk_tree_model_iter_next (tm, &child));
+ }
+ return fi;
+}
+
+
+/**
+ */
void
GNUNET_GTK_main_menu_file_publish_activate_cb (GtkWidget * dummy,
gpointer data)
@@ -864,6 +901,9 @@
gint ret;
GtkTreeView *tv;
GtkTreeSelection *sel;
+ GtkTreeIter iter;
+ struct GNUNET_FS_FileInformation *fi;
+ GtkTreeModel *tm;
GNUNET_assert (master_builder == NULL);
master_builder = GNUNET_GTK_get_new_builder ("publish_dialog.glade");
@@ -879,18 +919,26 @@
ls = GTK_TREE_STORE (gtk_builder_get_object (master_builder,
"GNUNET_GTK_pseudonym_tree_store"));
/* FIXME: populate 'ls' */
-#if WTF
- GtkTreeStore *pts;
- pts = GTK_TREE_STORE (gtk_builder_get_object (master_builder,
-
"GNUNET_GTK_file_sharing_publishing_tree_store"));
-#endif
ret = gtk_dialog_run (GTK_DIALOG (ad));
if (ret == GTK_RESPONSE_OK)
{
- /* FIXME: trigger publication! */
- GNUNET_break (0);
+ /* FIXME: grab namespace from ls! */
+ tm = GTK_TREE_MODEL (gtk_builder_get_object (master_builder,
+
"GNUNET_GTK_file_sharing_publishing_tree_store"));
+ if (gtk_tree_model_get_iter_first (tm, &iter))
+ do
+ {
+ fi = get_file_information (tm, &iter);
+ GNUNET_FS_publish_start (fs,
+ fi,
+ NULL /* FIXME: namespace */,
+ NULL /* FIXME: namespace id */,
+ NULL /* FIXME: namespace uid */,
+ GNUNET_FS_PUBLISH_OPTION_NONE);
+ }
+ while (gtk_tree_model_iter_next (tm, &iter));
}
- /* FIXME: free state from 'ls' and pts */
+ /* FIXME: free state from 'ls' */
gtk_widget_destroy (ad);
g_object_unref (G_OBJECT (master_builder));
master_builder = NULL;
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r11819 - gnunet gnunet-gtk/contrib gnunet-gtk/src,
gnunet <=