[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r1886 - in gnunet-gtk: . src/plugins/fs
From: |
grothoff |
Subject: |
[GNUnet-SVN] r1886 - in gnunet-gtk: . src/plugins/fs |
Date: |
Wed, 24 Aug 2005 00:10:21 -0700 (PDT) |
Author: grothoff
Date: 2005-08-24 00:10:19 -0700 (Wed, 24 Aug 2005)
New Revision: 1886
Modified:
gnunet-gtk/gnunet-gtk.glade
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:
towards working namespace update
Modified: gnunet-gtk/gnunet-gtk.glade
===================================================================
--- gnunet-gtk/gnunet-gtk.glade 2005-08-24 07:08:19 UTC (rev 1885)
+++ gnunet-gtk/gnunet-gtk.glade 2005-08-24 07:10:19 UTC (rev 1886)
@@ -4651,8 +4651,8 @@
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
</packing>
</child>
</widget>
@@ -4893,7 +4893,7 @@
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">True</property>
+ <property name="expand">False</property>
<property name="fill">True</property>
</packing>
</child>
@@ -5300,8 +5300,8 @@
</widget>
<packing>
<property name="padding">0</property>
- <property name="expand">True</property>
- <property name="fill">True</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
</packing>
</child>
</widget>
@@ -5538,7 +5538,7 @@
<property name="use_stock">True</property>
<property name="relief">GTK_RELIEF_NORMAL</property>
<property name="focus_on_click">True</property>
- <signal name="clicked"
handler="on_namespaceUpdateMetaDataDialogMetaDataAddButton_clicked"
last_modification_time="Tue, 23 Aug 2005 08:41:20 GMT"/>
+ <signal name="clicked"
handler="on_namespaceInsertMetaDataDialogMetaDataAddButton_clicked"
last_modification_time="Wed, 24 Aug 2005 05:39:50 GMT"/>
</widget>
<packing>
<property name="padding">0</property>
@@ -6152,4 +6152,581 @@
</child>
</widget>
+<widget class="GtkDialog" id="namespaceUpdateDialog">
+ <property name="visible">True</property>
+ <property name="title" translatable="yes">Enter Meta-Information about
Namespace Content</property>
+ <property name="type">GTK_WINDOW_TOPLEVEL</property>
+ <property name="window_position">GTK_WIN_POS_NONE</property>
+ <property name="modal">True</property>
+ <property name="resizable">True</property>
+ <property name="destroy_with_parent">False</property>
+ <property name="decorated">True</property>
+ <property name="skip_taskbar_hint">False</property>
+ <property name="skip_pager_hint">False</property>
+ <property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
+ <property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
+ <property name="focus_on_map">True</property>
+ <property name="has_separator">True</property>
+
+ <child internal-child="vbox">
+ <widget class="GtkVBox" id="dialog-vbox5">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child internal-child="action_area">
+ <widget class="GtkHButtonBox" id="dialog-action_area4">
+ <property name="visible">True</property>
+ <property name="layout_style">GTK_BUTTONBOX_END</property>
+
+ <child>
+ <widget class="GtkButton" id="cancelbutton1">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-cancel</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-6</property>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="okbutton1">
+ <property name="visible">True</property>
+ <property name="can_default">True</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-ok</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <property name="response_id">-5</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">GTK_PACK_END</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkVBox" id="vbox19">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label127">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">Please provide
information about the update to the content in the namespace.</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox51">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label118">
+ <property name="visible">True</property>
+ <property name="label"
translatable="yes">Identifier:</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_RIGHT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">8</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="identifierLabel">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">BUG: SET
ME!</property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label125">
+ <property name="visible">True</property>
+ <property name="label"
translatable="yes">Anonymit_y:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">5</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkSpinButton"
id="namespaceUpdateAnonymitySpinButton">
+ <property agent="glademm"
name="cxx_visibility">public</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="climb_rate">1</property>
+ <property name="digits">0</property>
+ <property name="numeric">True</property>
+ <property name="update_policy">GTK_UPDATE_ALWAYS</property>
+ <property name="snap_to_ticks">False</property>
+ <property name="wrap">False</property>
+ <property name="adjustment">1 0 10000 1 10 10</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox48">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label120">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Next
Identifier:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_RIGHT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">6</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkComboBoxEntry"
id="nextIdentifierComboBoxEntry">
+ <property name="visible">True</property>
+ <property name="add_tearoffs">False</property>
+ <property name="has_frame">True</property>
+ <property name="focus_on_click">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label126">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Update
Interval:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">5</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkComboBoxEntry"
id="namespaceUpdateIntervalComboBoxEntry">
+ <property agent="glademm"
name="cxx_visibility">public</property>
+ <property name="visible">True</property>
+ <property name="items" translatable="yes">--no update--
+--sporadic update--
+1 day
+2 days
+1 week
+1 month
+1 year
+</property>
+ <property name="add_tearoffs">False</property>
+ <property name="has_frame">True</property>
+ <property name="focus_on_click">True</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox49">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label121">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Type:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">5</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkAlignment" id="alignment14">
+ <property name="border_width">1</property>
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xscale">1</property>
+ <property name="yscale">1</property>
+ <property name="top_padding">0</property>
+ <property name="bottom_padding">0</property>
+ <property name="left_padding">0</property>
+ <property name="right_padding">0</property>
+
+ <child>
+ <widget class="GtkComboBox"
id="namespaceUpdateMetaTypeComboBox">
+ <property agent="glademm"
name="cxx_visibility">public</property>
+ <property name="visible">True</property>
+ <property name="add_tearoffs">False</property>
+ <property name="focus_on_click">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">5</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label122">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Value:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_CENTER</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">5</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkEntry" id="namespaceUpdateMetaValueEntry">
+ <property agent="glademm"
name="cxx_visibility">public</property>
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Enter metadata
about the upload</property>
+ <property name="can_focus">True</property>
+ <property name="editable">True</property>
+ <property name="visibility">True</property>
+ <property name="max_length">0</property>
+ <property name="text" translatable="yes"></property>
+ <property name="has_frame">True</property>
+ <property name="invisible_char">*</property>
+ <property name="activates_default">False</property>
+ <accelerator key="Return" modifiers="0" signal="activate"/>
+ </widget>
+ <packing>
+ <property name="padding">5</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkButton" id="button14">
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Add the given
description to the meta-data describing the uploaded file.</property>
+ <property name="can_focus">True</property>
+ <property name="label">gtk-add</property>
+ <property name="use_stock">True</property>
+ <property name="relief">GTK_RELIEF_NORMAL</property>
+ <property name="focus_on_click">True</property>
+ <signal name="clicked"
handler="on_namespaceUpdateMetaDataDialogMetaDataAddButton_clicked"
last_modification_time="Tue, 23 Aug 2005 08:41:20 GMT"/>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkFrame" id="frame20">
+ <property name="visible">True</property>
+ <property name="label_xalign">0</property>
+ <property name="label_yalign">0.5</property>
+ <property name="shadow_type">GTK_SHADOW_NONE</property>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow30">
+ <property name="visible">True</property>
+ <property
name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property
name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property
name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkTreeView"
id="namespaceUpdateMetaDataTreeView">
+ <property agent="glademm"
name="cxx_visibility">public</property>
+ <property name="visible">True</property>
+ <property name="tooltip" translatable="yes">Select
entries and use the context menu (right click) in order to delete
keywords.</property>
+ <property name="can_focus">True</property>
+ <property name="headers_visible">True</property>
+ <property name="rules_hint">True</property>
+ <property name="reorderable">True</property>
+ <property name="enable_search">True</property>
+ <property name="fixed_height_mode">False</property>
+ <property name="hover_selection">False</property>
+ <property name="hover_expand">False</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+
+ <child>
+ <widget class="GtkLabel" id="label123">
+ <property name="visible">True</property>
+ <property name="label"
translatable="yes"><b>Meta-data</b></property>
+ <property name="use_underline">False</property>
+ <property name="use_markup">True</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">5</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="type">label_item</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkHBox" id="hbox50">
+ <property name="visible">True</property>
+ <property name="homogeneous">False</property>
+ <property name="spacing">0</property>
+
+ <child>
+ <widget class="GtkLabel" id="label124">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Preview:</property>
+ <property name="use_underline">True</property>
+ <property name="use_markup">False</property>
+ <property name="justify">GTK_JUSTIFY_LEFT</property>
+ <property name="wrap">False</property>
+ <property name="selectable">False</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">5</property>
+ <property name="ypad">0</property>
+ <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
+ <property name="width_chars">-1</property>
+ <property name="single_line_mode">False</property>
+ <property name="angle">0</property>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow31">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property
name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property
name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <property
name="window_placement">GTK_CORNER_TOP_LEFT</property>
+
+ <child>
+ <widget class="GtkViewport" id="viewport9">
+ <property name="visible">True</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+
+ <child>
+ <widget class="GtkImage"
id="namespaceUpdatePreviewImage">
+ <property agent="glademm"
name="cxx_visibility">public</property>
+ <property name="visible">True</property>
+ <property name="xalign">0.5</property>
+ <property name="yalign">0.5</property>
+ <property name="xpad">0</property>
+ <property name="ypad">0</property>
+ </widget>
+ </child>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ <packing>
+ <property name="padding">0</property>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ </packing>
+ </child>
+ </widget>
+ </child>
+</widget>
+
</glade-interface>
Modified: gnunet-gtk/src/plugins/fs/meta.c
===================================================================
--- gnunet-gtk/src/plugins/fs/meta.c 2005-08-24 07:08:19 UTC (rev 1885)
+++ gnunet-gtk/src/plugins/fs/meta.c 2005-08-24 07:10:19 UTC (rev 1886)
@@ -25,6 +25,8 @@
*/
#include "platform.h"
+#include "gnunetgtk_common.h"
+#include "helper.h"
#include "meta.h"
#include "fs.h"
#include <extractor.h>
@@ -383,4 +385,39 @@
return keywordURI;
}
+
+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))));
+ if (timeSpec == NULL)
+ return SYSERR;
+ if (0 == strcmp(_("--sporadic update--"),
+ timeSpec))
+ *interval = ECRS_SBLOCK_UPDATE_SPORADIC;
+ else if (0 == strcmp(_("--no update--"),
+ timeSpec))
+ *interval = ECRS_SBLOCK_UPDATE_NONE;
+ else
+ return parseTime(timeSpec,
+ interval);
+ return OK;
+}
+
+unsigned int getAnonymityLevel(GladeXML * xml,
+ const char * spinButtonName) {
+ GtkWidget * spin;
+
+ spin = glade_xml_get_widget(xml,
+ spinButtonName);
+ return gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin));
+}
+
+
+
/* end of meta.c */
Modified: gnunet-gtk/src/plugins/fs/meta.h
===================================================================
--- gnunet-gtk/src/plugins/fs/meta.h 2005-08-24 07:08:19 UTC (rev 1885)
+++ gnunet-gtk/src/plugins/fs/meta.h 2005-08-24 07:10:19 UTC (rev 1886)
@@ -59,5 +59,12 @@
const char * name);
+int tryParseTimeInterval(GladeXML * xml,
+ const char * intervalComboBoxEntry,
+ TIME_T * interval);
+
+unsigned int getAnonymityLevel(GladeXML * xml,
+ const char * spinButtonName);
+
/* end of meta.h */
#endif
Modified: gnunet-gtk/src/plugins/fs/namespace.c
===================================================================
--- gnunet-gtk/src/plugins/fs/namespace.c 2005-08-24 07:08:19 UTC (rev
1885)
+++ gnunet-gtk/src/plugins/fs/namespace.c 2005-08-24 07:10:19 UTC (rev
1886)
@@ -660,7 +660,7 @@
}
}
-void on_namespaceUpdateMetaDataDialogMetaDataAddButton_clicked(GtkWidget *
dummy1,
+void on_namespaceInsertMetaDataDialogMetaDataAddButton_clicked(GtkWidget *
dummy1,
GtkWidget *
dummy2) {
handleMetaDataListUpdate(metaXML,
"namespaceInsertMetaTypeComboBox",
@@ -671,14 +671,11 @@
void on_namespaceInsertButton_clicked(GtkWidget * dummy1,
GtkWidget * dummy2) {
const char * identifierName;
- const char * timeSpec;
NamespaceList * list;
GtkWidget * nameLine;
GtkWidget * page;
GtkWidget * notebook;
GtkWidget * dialog;
- GtkWidget * spin;
- GtkWidget * update;
struct ECRS_MetaData * meta;
HashCode512 nextId;
GtkWidget * contentList;
@@ -738,19 +735,9 @@
gtk_dialog_set_default_response(GTK_DIALOG(dialog),
GTK_RESPONSE_OK);
if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
- update = glade_xml_get_widget(metaXML,
- "updateIntervalComboBoxEntry");
- timeSpec =
gtk_entry_get_text(GTK_ENTRY(gtk_bin_get_child(GTK_BIN(update))));
- if (timeSpec == NULL)
- timeSpec = "";
- if (0 == strcmp(_("--sporadic update--"),
- timeSpec))
- cls.updateInterval = ECRS_SBLOCK_UPDATE_SPORADIC;
- else if (0 == strcmp(_("--no update--"),
- timeSpec))
- cls.updateInterval = ECRS_SBLOCK_UPDATE_NONE;
- else if (OK != parseTime(timeSpec,
- &cls.updateInterval)) {
+ if (OK != tryParseTimeInterval(metaXML,
+ "updateIntervalComboBoxEntry",
+ &cls.updateInterval)) {
gtk_widget_destroy(dialog);
UNREF(metaXML);
metaXML = NULL;
@@ -768,10 +755,9 @@
meta = getMetaDataFromList(metaXML,
"metaDataTreeView",
"namespaceInsertPreview");
- spin = glade_xml_get_widget(metaXML,
- "anonymitySpinButton");
cls.anonymityLevel
- = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin));
+ = getAnonymityLevel(metaXML,
+ "anonymitySpinButton");
nameLine = glade_xml_get_widget(metaXML,
"namespaceContentIdentifierEntry");
identifierName = gtk_entry_get_text(GTK_ENTRY(nameLine));
@@ -807,21 +793,171 @@
metaXML = NULL;
}
+typedef struct {
+ unsigned int anonymityLevel;
+ char * namespaceName;
+ TIME_T updateInterval;
+ HashCode512 lastId;
+ HashCode512 thisId;
+ HashCode512 * nextId;
+ struct ECRS_MetaData * meta;
+} UUC;
void on_namespaceUpdateButton_clicked(GtkWidget * dummy1,
GtkWidget * dummy2) {
+ const char * identifierName;
+ NamespaceList * list;
+ GtkWidget * nameLine;
+ GtkWidget * page;
+ GtkWidget * notebook;
GtkWidget * dialog;
+ GtkWidget * spin;
+ GtkWidget * update;
+ struct ECRS_MetaData * meta;
+ HashCode512 nextId;
+ GtkWidget * contentList;
+ GtkTreeSelection * selection;
+ GtkTreeSelection * selectionNamespace;
+ UUC cls;
+ gint num;
+ char * oldName;
+ struct ECRS_URI * uri;
- /* FIXME: implement update! */
- dialog = gtk_message_dialog_new
- (NULL,
- GTK_DIALOG_MODAL,
- GTK_MESSAGE_ERROR,
- GTK_BUTTONS_CLOSE,
- _("Not implemented!"));
- gtk_dialog_run(GTK_DIALOG(dialog));
- gtk_widget_destroy(dialog);
+ contentList
+ = glade_xml_get_widget(getMainXML(),
+ "availableContentList");
+ selection
+ = gtk_tree_view_get_selection(GTK_TREE_VIEW(contentList));
+ if (0 == gtk_tree_selection_count_selected_rows(selection)) {
+ /* IMPROVE-ME: disable the menu item
+ as long as this may happen! */
+ dialog = gtk_message_dialog_new
+ (NULL,
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_CLOSE,
+ _("You must select some available content for publication first!"));
+ gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
+ return;
+ }
+
+ notebook
+ = glade_xml_get_widget(getMainXML(),
+ "localNamespacesNotebook");
+ num = gtk_notebook_get_current_page(GTK_NOTEBOOK(notebook));
+ GNUNET_ASSERT(num != -1);
+ page =gtk_notebook_get_nth_page(GTK_NOTEBOOK(notebook),
+ num);
+ list = head;
+ while ( (list != NULL) &&
+ (list->namespacepage != page) )
+ list = list->next;
+ if (list == NULL) {
+ BREAK();
+ return;
+ }
+ cls.namespaceName = list->name;
+
+ /* check that in namespace (updateable) content is selected! */
+ selectionNamespace
+ = gtk_tree_view_get_selection(GTK_TREE_VIEW(list->treeview));
+ if (0 == gtk_tree_selection_count_selected_rows(selectionNamespace)) {
+ /* IMPROVE-ME: disable the menu item
+ as long as this may happen! */
+ dialog = gtk_message_dialog_new
+ (NULL,
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_CLOSE,
+ _("You must select some existing namespace content to be updated
first!"));
+ gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
+ return;
+ }
+
+ metaXML
+ = glade_xml_new(getGladeFileName(),
+ "namespaceUpdateDialog",
+ PACKAGE_NAME);
+ connectGladeWithPlugins(metaXML);
+
+
+ uri = NULL; // FIXME
+ oldName = STRDUP("FIXME"); // ECRS_uriToString(uri);
+ nameLine = glade_xml_get_widget(metaXML,
+ "identifierLabel");
+ gtk_label_set_text(GTK_LABEL(nameLine),
+ oldName);
+ FREE(oldName);
+ /* FIXME: set next identifier label! */
+
+ update = glade_xml_get_widget(metaXML,
+ "namespaceUpdateIntervalComboBoxEntry");
+ /* FIXME: set update interval! */
+
+
+ createMetaDataListTreeView(metaXML,
+ "namespaceUpdateMetaDataTreeView",
+ "namespaceUpdatePreviewImage",
+ NULL);
+ createMetaTypeComboBox(metaXML,
+ "namespaceUpdateMetaTypeComboBox");
+ dialog = glade_xml_get_widget(metaXML,
+ "namespaceUpdateDialog");
+ gtk_dialog_set_default_response(GTK_DIALOG(dialog),
+ GTK_RESPONSE_OK);
+ if (gtk_dialog_run(GTK_DIALOG(dialog)) == GTK_RESPONSE_OK) {
+ if (OK != tryParseTimeInterval(metaXML,
+ "namespaceUpdateIntervalComboBoxEntry",
+ &cls.updateInterval)) {
+ gtk_widget_destroy(dialog);
+ UNREF(metaXML);
+ metaXML = NULL;
+ dialog = gtk_message_dialog_new
+ (NULL,
+ GTK_DIALOG_MODAL,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_CLOSE,
+ _("Failed to parse given time interval!"));
+ gtk_dialog_run(GTK_DIALOG(dialog));
+ gtk_widget_destroy(dialog);
+ return;
+ }
+
+ meta = getMetaDataFromList(metaXML,
+ "namespaceUpdateMetaDataTreeView",
+ "namespaceUpdatePreviewImage");
+ spin = glade_xml_get_widget(metaXML,
+ "namespaceUpdateAnonymitySpinButton");
+ cls.anonymityLevel
+ = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(spin));
+ nameLine = glade_xml_get_widget(metaXML,
+ "nextIdentifierComboBoxEntry");
+ identifierName = gtk_entry_get_text(GTK_ENTRY(nameLine));
+ if ( (identifierName == NULL) ||
+ (strlen(identifierName) == 0)) {
+ cls.nextId = NULL;
+ } else {
+ hash(identifierName,
+ strlen(identifierName),
+ &nextId);
+ cls.nextId = &nextId;
+ }
+ cls.meta = meta;
+ /*
+ FIXME:
+ gtk_tree_selection_selected_foreach
+ (selection,
+ &initiateUpload,
+ &cls);
+ */
+ ECRS_freeMetaData(meta);
+ }
+ gtk_widget_destroy(dialog);
+ UNREF(metaXML);
+ metaXML = NULL;
}
void on_clearAvailableContentButton_clicked(GtkWidget * dummy1,
Modified: gnunet-gtk/src/plugins/fs/search.c
===================================================================
--- gnunet-gtk/src/plugins/fs/search.c 2005-08-24 07:08:19 UTC (rev 1885)
+++ gnunet-gtk/src/plugins/fs/search.c 2005-08-24 07:10:19 UTC (rev 1886)
@@ -28,6 +28,7 @@
#include "gnunetgtk_common.h"
#include "search.h"
#include "fs.h"
+#include "meta.h"
#include <extractor.h>
@@ -591,11 +592,9 @@
gtk_notebook_set_current_page(GTK_NOTEBOOK(notebook),
pages);
gtk_widget_show(notebook);
- spin = glade_xml_get_widget(getMainXML(),
- "searchAnonymitySelectionSpinButton");
FSUI_startSearch(ctx,
- gtk_spin_button_get_value_as_int
- (GTK_SPIN_BUTTON(spin)),
+ getAnonymityLevel(getMainXML(),
+ "searchAnonymitySelectionSpinButton"),
uri);
FREE(tabtxt);
}
Modified: gnunet-gtk/src/plugins/fs/upload.c
===================================================================
--- gnunet-gtk/src/plugins/fs/upload.c 2005-08-24 07:08:19 UTC (rev 1885)
+++ gnunet-gtk/src/plugins/fs/upload.c 2005-08-24 07:10:19 UTC (rev 1886)
@@ -364,8 +364,6 @@
"previewImage");
keywordURI = getKeywordURIFromList(metaXML,
"metaDataDialogKeywordList");
- spin = glade_xml_get_widget(getMainXML(),
- "uploadAnonymityLevelSpinButton");
if (doRec) {
gkeywordURI = ECRS_stringToUri(ECRS_URI_PREFIX
ECRS_SEARCH_INFIX);
@@ -381,8 +379,8 @@
} else {
FSUI_upload(ctx,
filename,
- gtk_spin_button_get_value_as_int
- (GTK_SPIN_BUTTON(spin)),
+ getAnonymityLevel(metaXML,
+ "uploadAnonymityLevelSpinButton"),
doIndex,
NO,
meta,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r1886 - in gnunet-gtk: . src/plugins/fs,
grothoff <=