[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r25220 - gnunet-gtk/contrib
From: |
gnunet |
Subject: |
[GNUnet-SVN] r25220 - gnunet-gtk/contrib |
Date: |
Tue, 4 Dec 2012 13:26:09 +0100 |
Author: grothoff
Date: 2012-12-04 13:26:09 +0100 (Tue, 04 Dec 2012)
New Revision: 25220
Added:
gnunet-gtk/contrib/gnunet_setup_gns_edit_aaaa.glade
gnunet-gtk/contrib/gnunet_setup_gns_edit_cname.glade
gnunet-gtk/contrib/gnunet_setup_gns_edit_leho.glade
gnunet-gtk/contrib/gnunet_setup_gns_edit_mx.glade
gnunet-gtk/contrib/gnunet_setup_gns_edit_ns.glade
gnunet-gtk/contrib/gnunet_setup_gns_edit_pkey.glade
gnunet-gtk/contrib/gnunet_setup_gns_edit_ptr.glade
gnunet-gtk/contrib/gnunet_setup_gns_edit_soa.glade
gnunet-gtk/contrib/gnunet_setup_gns_edit_srv.glade
gnunet-gtk/contrib/gnunet_setup_gns_edit_txt.glade
gnunet-gtk/contrib/gnunet_setup_gns_edit_vpn.glade
Modified:
gnunet-gtk/contrib/Makefile.am
gnunet-gtk/contrib/gnunet_setup_gtk_main_window.glade
Log:
more custom record type editing dialogs
Modified: gnunet-gtk/contrib/Makefile.am
===================================================================
--- gnunet-gtk/contrib/Makefile.am 2012-12-04 10:47:05 UTC (rev 25219)
+++ gnunet-gtk/contrib/Makefile.am 2012-12-04 12:26:09 UTC (rev 25220)
@@ -51,7 +51,19 @@
gnunet_setup_calendar_dialog.glade \
gnunet_setup_qr_save_as_dialog.glade \
gnunet_setup_gtk_main_window.glade \
- gnunet_setup_gns_edit_a.glade
+ gnunet_setup_gns_edit_a.glade \
+ gnunet_setup_gns_edit_ns.glade \
+ gnunet_setup_gns_edit_cname.glade \
+ gnunet_setup_gns_edit_soa.glade \
+ gnunet_setup_gns_edit_ptr.glade \
+ gnunet_setup_gns_edit_mx.glade \
+ gnunet_setup_gns_edit_txt.glade \
+ gnunet_setup_gns_edit_aaaa.glade \
+ gnunet_setup_gns_edit_pkey.glade \
+ gnunet_setup_gns_edit_leho.glade \
+ gnunet_setup_gns_edit_srv.glade \
+ gnunet_setup_gns_edit_vpn.glade \
+ gnunet_setup_gns_edit_pseu.glade
install-data-local:
$(mkinstalldirs) $(DESTDIR)$(pkgpixdir)
Added: gnunet-gtk/contrib/gnunet_setup_gns_edit_aaaa.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gns_edit_aaaa.glade
(rev 0)
+++ gnunet-gtk/contrib/gnunet_setup_gns_edit_aaaa.glade 2012-12-04 12:26:09 UTC
(rev 25220)
@@ -0,0 +1,596 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkAdjustment" id="absolute_expiration_hours_adjustment">
+ <property name="upper">23</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">12</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_minutes_adjustment">
+ <property name="upper">59</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_seconds_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkDialog" id="edit_aaaa_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <signal name="response" handler="GNS_edit_a_dialog_response_cb"
swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="edit_dialog_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="edit_dialog_action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="edit_dialog_cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_delete_button">
+ <property name="label">gtk-delete</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_save_button">
+ <property name="label">gtk-save</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Store the
updated record in the database. If the record is public, GNUnet will begin to
publish the record to the world, limiting your ability to change it later
(based on the selected expiration values).</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_name_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_name_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_name_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_name_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Name
of the record in the zone.</property>
+ <property name="max_length">63</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_name_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_name_in_zone_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">in</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_zone_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Select the desired zone for the record. Changing this value
here will move the record to the selected zone.</property>
+ <property name="model">zone_liststore</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_zone_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_name_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Name</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_aaaa_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_aaaa_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">4</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_aaaa_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_aaaa_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Enter
the IPv6 address for the A record here. The format is the usual format (i.e.
::1).</property>
+ <property name="max_length">15</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_a_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_aaaa_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Destination
IPv6 Address</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_options_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_options_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_options_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_public_checkbutton">
+ <property name="label" translatable="yes">Record is
public (visible to other users)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Not
that while it is recommended that 'private' records should be in the 'private
zone', you are allowed to mark records in other zones as private as well.
Please be aware that once a record is made public, you are less free to change
expiration times. Most importantly, if your record is set to never expire, you
will never be able to change the mapping in the future if the record is
public.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_shadow_checkbutton">
+ <property name="label" translatable="yes">Record is a
shadow record (valid after other records expire)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">A
shadow record is a record which becomes valid in the future. They are not used
as long as a second non-expired record with the same name and type exists. This
is useful if a mapping is to be changed as soon as an existing record expires.
For example, if a users are supposed to switch at midnight from one IP address
to another, two records would be placed into the system: one that is valid
until midnight, and a second "shadow" record that becomes valid at
midnight.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_options_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Options</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_expiration_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment"
id="edit_dialog_expiration_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">5</property>
+ <property name="bottom_padding">5</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_expiration_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_expiration_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_relative_radiobutton">
+ <property name="label"
translatable="yes">Relative</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with a relative expiration time (such as 1 week) are
always valid for at least that time period into the future. In other words, the
auto-renew their own expiration to the given time period into the future. When
you convert a public record with a relative expiration time to one with an
absolute expiration time, the earliest possible expiration will be the
respective relative time in the future. Use relative expiration times for
entries for which you do not know a specific date when they will
expire.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_relative_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_absolute_radiobutton">
+ <property name="label"
translatable="yes">Absolute</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with an absolute expiration time are valid until the
specified date. You can change that date to an even later date, but you cannot
set it to an earlier time (as other users may have cached the longer expiration
time). Use absolute expiration times if you know that a particular record will
only be valid until a particular day.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_absolute_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_never_radiobutton">
+ <property name="label"
translatable="yes">Never</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records can be set to be valid forever. This is great if you
are worried about censorship or certain that the mapping will never change.
Note that if you set a public record to never expire, you cannot later change
it (as other users are free to cache the old value forever).</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar"
id="edit_dialog_expiration_absolute_calendar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Select the date on which you want this record to expire. At
that date, you can then create a new mapping or have a shadow record go
automatically into effect. Note that for public records you cannot change the
expiration time to an earlier date after the fact.</property>
+ <property name="year">2012</property>
+ <property name="month">9</property>
+ <property name="day">17</property>
+ <property name="show_week_numbers">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox"
id="edit_dialog_expiration_absolute_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_hours_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Hours:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_hours_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which hour of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_hours_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_minutes_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Minutes:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_minutes_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which minute of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_minutes_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_seconds_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Seconds:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_seconds_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which second of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_seconds_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_expiration_relative_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Relative expiration time of the record. The syntax is a
number followed by a space and a time unit, possibly followed by additional
numbers and time units. For example, you can specify "1 d" or "6 h 30 m 15 s".
Use the drop-down menu to select from a set of common defaults. (Editing is not
possible right now as Gtk2 and Gtk3 use incompatible ways for doing this.)
</property>
+ <property
name="model">edit_dialog_expiration_relative_liststore</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_expiration_relative_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_expiration_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Expiration
Time</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">edit_dialog_cancel_button</action-widget>
+ <action-widget response="-2">edit_dialog_delete_button</action-widget>
+ <action-widget response="-5">edit_dialog_save_button</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkListStore" id="edit_dialog_expiration_relative_liststore">
+ <columns>
+ <!-- column-name relativetime -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">7 days</col>
+ </row>
+ <row>
+ <col id="0">1 day</col>
+ </row>
+ <row>
+ <col id="0">1 h</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="zone_liststore">
+ <columns>
+ <!-- column-name zonename -->
+ <column type="gchararray"/>
+ <!-- column-name optionname -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Master Zone</col>
+ <col id="1">ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Private Zone</col>
+ <col id="1">PRIVATE_ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Shorten Zone</col>
+ <col id="1">SHORTEN_ZONEKEY</col>
+ </row>
+ </data>
+ </object>
+</interface>
Added: gnunet-gtk/contrib/gnunet_setup_gns_edit_cname.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gns_edit_cname.glade
(rev 0)
+++ gnunet-gtk/contrib/gnunet_setup_gns_edit_cname.glade 2012-12-04
12:26:09 UTC (rev 25220)
@@ -0,0 +1,596 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkAdjustment" id="absolute_expiration_hours_adjustment">
+ <property name="upper">23</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">12</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_minutes_adjustment">
+ <property name="upper">59</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_seconds_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkDialog" id="edit_cname_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <signal name="response" handler="GNS_edit_a_dialog_response_cb"
swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="edit_dialog_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="edit_dialog_action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="edit_dialog_cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_delete_button">
+ <property name="label">gtk-delete</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_save_button">
+ <property name="label">gtk-save</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Store the
updated record in the database. If the record is public, GNUnet will begin to
publish the record to the world, limiting your ability to change it later
(based on the selected expiration values).</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_name_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_name_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_name_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_name_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Name
of the record in the zone.</property>
+ <property name="max_length">63</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_name_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_name_in_zone_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">in</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_zone_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Select the desired zone for the record. Changing this value
here will move the record to the selected zone.</property>
+ <property name="model">zone_liststore</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_zone_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_name_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Name</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_cname_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_cname_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">4</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_cname_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_cname_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Enter
the name for which this name is an alias.</property>
+ <property name="max_length">15</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_a_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_cname_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Canonical
Name (CNAME)</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_options_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_options_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_options_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_public_checkbutton">
+ <property name="label" translatable="yes">Record is
public (visible to other users)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Not
that while it is recommended that 'private' records should be in the 'private
zone', you are allowed to mark records in other zones as private as well.
Please be aware that once a record is made public, you are less free to change
expiration times. Most importantly, if your record is set to never expire, you
will never be able to change the mapping in the future if the record is
public.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_shadow_checkbutton">
+ <property name="label" translatable="yes">Record is a
shadow record (valid after other records expire)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">A
shadow record is a record which becomes valid in the future. They are not used
as long as a second non-expired record with the same name and type exists. This
is useful if a mapping is to be changed as soon as an existing record expires.
For example, if a users are supposed to switch at midnight from one IP address
to another, two records would be placed into the system: one that is valid
until midnight, and a second "shadow" record that becomes valid at
midnight.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_options_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Options</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_expiration_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment"
id="edit_dialog_expiration_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">5</property>
+ <property name="bottom_padding">5</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_expiration_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_expiration_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_relative_radiobutton">
+ <property name="label"
translatable="yes">Relative</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with a relative expiration time (such as 1 week) are
always valid for at least that time period into the future. In other words, the
auto-renew their own expiration to the given time period into the future. When
you convert a public record with a relative expiration time to one with an
absolute expiration time, the earliest possible expiration will be the
respective relative time in the future. Use relative expiration times for
entries for which you do not know a specific date when they will
expire.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_relative_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_absolute_radiobutton">
+ <property name="label"
translatable="yes">Absolute</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with an absolute expiration time are valid until the
specified date. You can change that date to an even later date, but you cannot
set it to an earlier time (as other users may have cached the longer expiration
time). Use absolute expiration times if you know that a particular record will
only be valid until a particular day.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_absolute_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_never_radiobutton">
+ <property name="label"
translatable="yes">Never</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records can be set to be valid forever. This is great if you
are worried about censorship or certain that the mapping will never change.
Note that if you set a public record to never expire, you cannot later change
it (as other users are free to cache the old value forever).</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar"
id="edit_dialog_expiration_absolute_calendar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Select the date on which you want this record to expire. At
that date, you can then create a new mapping or have a shadow record go
automatically into effect. Note that for public records you cannot change the
expiration time to an earlier date after the fact.</property>
+ <property name="year">2012</property>
+ <property name="month">9</property>
+ <property name="day">17</property>
+ <property name="show_week_numbers">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox"
id="edit_dialog_expiration_absolute_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_hours_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Hours:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_hours_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which hour of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_hours_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_minutes_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Minutes:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_minutes_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which minute of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_minutes_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_seconds_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Seconds:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_seconds_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which second of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_seconds_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_expiration_relative_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Relative expiration time of the record. The syntax is a
number followed by a space and a time unit, possibly followed by additional
numbers and time units. For example, you can specify "1 d" or "6 h 30 m 15 s".
Use the drop-down menu to select from a set of common defaults. (Editing is not
possible right now as Gtk2 and Gtk3 use incompatible ways for doing this.)
</property>
+ <property
name="model">edit_dialog_expiration_relative_liststore</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_expiration_relative_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_expiration_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Expiration
Time</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">edit_dialog_cancel_button</action-widget>
+ <action-widget response="-2">edit_dialog_delete_button</action-widget>
+ <action-widget response="-5">edit_dialog_save_button</action-widget>
+ </action-widgets>
+ </object>
+ <object class="GtkListStore" id="edit_dialog_expiration_relative_liststore">
+ <columns>
+ <!-- column-name relativetime -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">7 days</col>
+ </row>
+ <row>
+ <col id="0">1 day</col>
+ </row>
+ <row>
+ <col id="0">1 h</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="zone_liststore">
+ <columns>
+ <!-- column-name zonename -->
+ <column type="gchararray"/>
+ <!-- column-name optionname -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Master Zone</col>
+ <col id="1">ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Private Zone</col>
+ <col id="1">PRIVATE_ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Shorten Zone</col>
+ <col id="1">SHORTEN_ZONEKEY</col>
+ </row>
+ </data>
+ </object>
+</interface>
Added: gnunet-gtk/contrib/gnunet_setup_gns_edit_leho.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gns_edit_leho.glade
(rev 0)
+++ gnunet-gtk/contrib/gnunet_setup_gns_edit_leho.glade 2012-12-04 12:26:09 UTC
(rev 25220)
@@ -0,0 +1,596 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkAdjustment" id="absolute_expiration_hours_adjustment">
+ <property name="upper">23</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">12</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_minutes_adjustment">
+ <property name="upper">59</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_seconds_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkListStore" id="edit_dialog_expiration_relative_liststore">
+ <columns>
+ <!-- column-name relativetime -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">7 days</col>
+ </row>
+ <row>
+ <col id="0">1 day</col>
+ </row>
+ <row>
+ <col id="0">1 h</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="zone_liststore">
+ <columns>
+ <!-- column-name zonename -->
+ <column type="gchararray"/>
+ <!-- column-name optionname -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Master Zone</col>
+ <col id="1">ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Private Zone</col>
+ <col id="1">PRIVATE_ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Shorten Zone</col>
+ <col id="1">SHORTEN_ZONEKEY</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkDialog" id="edit_leho_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <signal name="response" handler="GNS_edit_a_dialog_response_cb"
swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="edit_dialog_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="edit_dialog_action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="edit_dialog_cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_delete_button">
+ <property name="label">gtk-delete</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_save_button">
+ <property name="label">gtk-save</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Store the
updated record in the database. If the record is public, GNUnet will begin to
publish the record to the world, limiting your ability to change it later
(based on the selected expiration values).</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_name_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_name_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_name_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_name_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Name
of the record in the zone.</property>
+ <property name="max_length">63</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_name_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_name_in_zone_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">in</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_zone_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Select the desired zone for the record. Changing this value
here will move the record to the selected zone.</property>
+ <property name="model">zone_liststore</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_zone_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_name_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Name</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_leho_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_leho_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">4</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_leho_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_leho_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Enter
the DNS name under which this system is reachable using traditional
DNS.</property>
+ <property name="max_length">15</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_a_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_leho_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Legacy
Hostname in DNS (LEHO)</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_options_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_options_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_options_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_public_checkbutton">
+ <property name="label" translatable="yes">Record is
public (visible to other users)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Not
that while it is recommended that 'private' records should be in the 'private
zone', you are allowed to mark records in other zones as private as well.
Please be aware that once a record is made public, you are less free to change
expiration times. Most importantly, if your record is set to never expire, you
will never be able to change the mapping in the future if the record is
public.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_shadow_checkbutton">
+ <property name="label" translatable="yes">Record is a
shadow record (valid after other records expire)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">A
shadow record is a record which becomes valid in the future. They are not used
as long as a second non-expired record with the same name and type exists. This
is useful if a mapping is to be changed as soon as an existing record expires.
For example, if a users are supposed to switch at midnight from one IP address
to another, two records would be placed into the system: one that is valid
until midnight, and a second "shadow" record that becomes valid at
midnight.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_options_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Options</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_expiration_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment"
id="edit_dialog_expiration_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">5</property>
+ <property name="bottom_padding">5</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_expiration_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_expiration_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_relative_radiobutton">
+ <property name="label"
translatable="yes">Relative</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with a relative expiration time (such as 1 week) are
always valid for at least that time period into the future. In other words, the
auto-renew their own expiration to the given time period into the future. When
you convert a public record with a relative expiration time to one with an
absolute expiration time, the earliest possible expiration will be the
respective relative time in the future. Use relative expiration times for
entries for which you do not know a specific date when they will
expire.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_relative_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_absolute_radiobutton">
+ <property name="label"
translatable="yes">Absolute</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with an absolute expiration time are valid until the
specified date. You can change that date to an even later date, but you cannot
set it to an earlier time (as other users may have cached the longer expiration
time). Use absolute expiration times if you know that a particular record will
only be valid until a particular day.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_absolute_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_never_radiobutton">
+ <property name="label"
translatable="yes">Never</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records can be set to be valid forever. This is great if you
are worried about censorship or certain that the mapping will never change.
Note that if you set a public record to never expire, you cannot later change
it (as other users are free to cache the old value forever).</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar"
id="edit_dialog_expiration_absolute_calendar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Select the date on which you want this record to expire. At
that date, you can then create a new mapping or have a shadow record go
automatically into effect. Note that for public records you cannot change the
expiration time to an earlier date after the fact.</property>
+ <property name="year">2012</property>
+ <property name="month">9</property>
+ <property name="day">17</property>
+ <property name="show_week_numbers">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox"
id="edit_dialog_expiration_absolute_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_hours_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Hours:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_hours_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which hour of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_hours_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_minutes_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Minutes:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_minutes_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which minute of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_minutes_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_seconds_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Seconds:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_seconds_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which second of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_seconds_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_expiration_relative_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Relative expiration time of the record. The syntax is a
number followed by a space and a time unit, possibly followed by additional
numbers and time units. For example, you can specify "1 d" or "6 h 30 m 15 s".
Use the drop-down menu to select from a set of common defaults. (Editing is not
possible right now as Gtk2 and Gtk3 use incompatible ways for doing this.)
</property>
+ <property
name="model">edit_dialog_expiration_relative_liststore</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_expiration_relative_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_expiration_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Expiration
Time</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">edit_dialog_cancel_button</action-widget>
+ <action-widget response="-2">edit_dialog_delete_button</action-widget>
+ <action-widget response="-5">edit_dialog_save_button</action-widget>
+ </action-widgets>
+ </object>
+</interface>
Added: gnunet-gtk/contrib/gnunet_setup_gns_edit_mx.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gns_edit_mx.glade
(rev 0)
+++ gnunet-gtk/contrib/gnunet_setup_gns_edit_mx.glade 2012-12-04 12:26:09 UTC
(rev 25220)
@@ -0,0 +1,625 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkAdjustment" id="absolute_expiration_hours_adjustment">
+ <property name="upper">23</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">12</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_minutes_adjustment">
+ <property name="upper">59</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_seconds_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkListStore" id="edit_dialog_expiration_relative_liststore">
+ <columns>
+ <!-- column-name relativetime -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">7 days</col>
+ </row>
+ <row>
+ <col id="0">1 day</col>
+ </row>
+ <row>
+ <col id="0">1 h</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="zone_liststore">
+ <columns>
+ <!-- column-name zonename -->
+ <column type="gchararray"/>
+ <!-- column-name optionname -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Master Zone</col>
+ <col id="1">ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Private Zone</col>
+ <col id="1">PRIVATE_ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Shorten Zone</col>
+ <col id="1">SHORTEN_ZONEKEY</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkDialog" id="edit_mx_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <signal name="response" handler="GNS_edit_a_dialog_response_cb"
swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="edit_dialog_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="edit_dialog_action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="edit_dialog_cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_delete_button">
+ <property name="label">gtk-delete</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_save_button">
+ <property name="label">gtk-save</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Store the
updated record in the database. If the record is public, GNUnet will begin to
publish the record to the world, limiting your ability to change it later
(based on the selected expiration values).</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_name_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_name_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_name_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_name_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Name
of the record in the zone.</property>
+ <property name="max_length">63</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_name_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_name_in_zone_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">in</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_zone_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Select the desired zone for the record. Changing this value
here will move the record to the selected zone.</property>
+ <property name="model">zone_liststore</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_zone_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_name_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Name</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_mx_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_mx_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">4</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_mx_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_mx_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Enter
the hostname of the mail server here</property>
+ <property name="max_length">15</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_a_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_nx_distance_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">distance</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_mx_distance_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Enter
the preference number (or distance, as smaller values are preferred) of the
given mailserver here</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_mx_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Mail
eXchanger record (MX)</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_options_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_options_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_options_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_public_checkbutton">
+ <property name="label" translatable="yes">Record is
public (visible to other users)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Not
that while it is recommended that 'private' records should be in the 'private
zone', you are allowed to mark records in other zones as private as well.
Please be aware that once a record is made public, you are less free to change
expiration times. Most importantly, if your record is set to never expire, you
will never be able to change the mapping in the future if the record is
public.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_shadow_checkbutton">
+ <property name="label" translatable="yes">Record is a
shadow record (valid after other records expire)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">A
shadow record is a record which becomes valid in the future. They are not used
as long as a second non-expired record with the same name and type exists. This
is useful if a mapping is to be changed as soon as an existing record expires.
For example, if a users are supposed to switch at midnight from one IP address
to another, two records would be placed into the system: one that is valid
until midnight, and a second "shadow" record that becomes valid at
midnight.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_options_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Options</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_expiration_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment"
id="edit_dialog_expiration_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">5</property>
+ <property name="bottom_padding">5</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_expiration_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_expiration_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_relative_radiobutton">
+ <property name="label"
translatable="yes">Relative</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with a relative expiration time (such as 1 week) are
always valid for at least that time period into the future. In other words, the
auto-renew their own expiration to the given time period into the future. When
you convert a public record with a relative expiration time to one with an
absolute expiration time, the earliest possible expiration will be the
respective relative time in the future. Use relative expiration times for
entries for which you do not know a specific date when they will
expire.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_relative_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_absolute_radiobutton">
+ <property name="label"
translatable="yes">Absolute</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with an absolute expiration time are valid until the
specified date. You can change that date to an even later date, but you cannot
set it to an earlier time (as other users may have cached the longer expiration
time). Use absolute expiration times if you know that a particular record will
only be valid until a particular day.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_absolute_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_never_radiobutton">
+ <property name="label"
translatable="yes">Never</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records can be set to be valid forever. This is great if you
are worried about censorship or certain that the mapping will never change.
Note that if you set a public record to never expire, you cannot later change
it (as other users are free to cache the old value forever).</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar"
id="edit_dialog_expiration_absolute_calendar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Select the date on which you want this record to expire. At
that date, you can then create a new mapping or have a shadow record go
automatically into effect. Note that for public records you cannot change the
expiration time to an earlier date after the fact.</property>
+ <property name="year">2012</property>
+ <property name="month">9</property>
+ <property name="day">17</property>
+ <property name="show_week_numbers">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox"
id="edit_dialog_expiration_absolute_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_hours_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Hours:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_hours_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which hour of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_hours_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_minutes_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Minutes:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_minutes_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which minute of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_minutes_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_seconds_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Seconds:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_seconds_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which second of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_seconds_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_expiration_relative_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Relative expiration time of the record. The syntax is a
number followed by a space and a time unit, possibly followed by additional
numbers and time units. For example, you can specify "1 d" or "6 h 30 m 15 s".
Use the drop-down menu to select from a set of common defaults. (Editing is not
possible right now as Gtk2 and Gtk3 use incompatible ways for doing this.)
</property>
+ <property
name="model">edit_dialog_expiration_relative_liststore</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_expiration_relative_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_expiration_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Expiration
Time</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">edit_dialog_cancel_button</action-widget>
+ <action-widget response="-2">edit_dialog_delete_button</action-widget>
+ <action-widget response="-5">edit_dialog_save_button</action-widget>
+ </action-widgets>
+ </object>
+</interface>
Added: gnunet-gtk/contrib/gnunet_setup_gns_edit_ns.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gns_edit_ns.glade
(rev 0)
+++ gnunet-gtk/contrib/gnunet_setup_gns_edit_ns.glade 2012-12-04 12:26:09 UTC
(rev 25220)
@@ -0,0 +1,596 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkAdjustment" id="absolute_expiration_hours_adjustment">
+ <property name="upper">23</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">12</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_minutes_adjustment">
+ <property name="upper">59</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_seconds_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkListStore" id="edit_dialog_expiration_relative_liststore">
+ <columns>
+ <!-- column-name relativetime -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">7 days</col>
+ </row>
+ <row>
+ <col id="0">1 day</col>
+ </row>
+ <row>
+ <col id="0">1 h</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="zone_liststore">
+ <columns>
+ <!-- column-name zonename -->
+ <column type="gchararray"/>
+ <!-- column-name optionname -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Master Zone</col>
+ <col id="1">ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Private Zone</col>
+ <col id="1">PRIVATE_ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Shorten Zone</col>
+ <col id="1">SHORTEN_ZONEKEY</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkDialog" id="edit_ns_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <signal name="response" handler="GNS_edit_a_dialog_response_cb"
swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="edit_dialog_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="edit_dialog_action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="edit_dialog_cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_delete_button">
+ <property name="label">gtk-delete</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_save_button">
+ <property name="label">gtk-save</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Store the
updated record in the database. If the record is public, GNUnet will begin to
publish the record to the world, limiting your ability to change it later
(based on the selected expiration values).</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_name_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_name_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_name_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_name_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Name
of the record in the zone.</property>
+ <property name="max_length">63</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_name_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_name_in_zone_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">in</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_zone_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Select the desired zone for the record. Changing this value
here will move the record to the selected zone.</property>
+ <property name="model">zone_liststore</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_zone_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_name_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Name</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_ns_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_ns_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">4</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_ns_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_ns_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Enter
the name of the DNS nameserver for the subzone.</property>
+ <property name="max_length">15</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_a_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_ns_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Name of the
authoritative name server for the given name</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_options_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_options_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_options_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_public_checkbutton">
+ <property name="label" translatable="yes">Record is
public (visible to other users)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Not
that while it is recommended that 'private' records should be in the 'private
zone', you are allowed to mark records in other zones as private as well.
Please be aware that once a record is made public, you are less free to change
expiration times. Most importantly, if your record is set to never expire, you
will never be able to change the mapping in the future if the record is
public.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_shadow_checkbutton">
+ <property name="label" translatable="yes">Record is a
shadow record (valid after other records expire)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">A
shadow record is a record which becomes valid in the future. They are not used
as long as a second non-expired record with the same name and type exists. This
is useful if a mapping is to be changed as soon as an existing record expires.
For example, if a users are supposed to switch at midnight from one IP address
to another, two records would be placed into the system: one that is valid
until midnight, and a second "shadow" record that becomes valid at
midnight.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_options_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Options</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_expiration_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment"
id="edit_dialog_expiration_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">5</property>
+ <property name="bottom_padding">5</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_expiration_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_expiration_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_relative_radiobutton">
+ <property name="label"
translatable="yes">Relative</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with a relative expiration time (such as 1 week) are
always valid for at least that time period into the future. In other words, the
auto-renew their own expiration to the given time period into the future. When
you convert a public record with a relative expiration time to one with an
absolute expiration time, the earliest possible expiration will be the
respective relative time in the future. Use relative expiration times for
entries for which you do not know a specific date when they will
expire.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_relative_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_absolute_radiobutton">
+ <property name="label"
translatable="yes">Absolute</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with an absolute expiration time are valid until the
specified date. You can change that date to an even later date, but you cannot
set it to an earlier time (as other users may have cached the longer expiration
time). Use absolute expiration times if you know that a particular record will
only be valid until a particular day.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_absolute_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_never_radiobutton">
+ <property name="label"
translatable="yes">Never</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records can be set to be valid forever. This is great if you
are worried about censorship or certain that the mapping will never change.
Note that if you set a public record to never expire, you cannot later change
it (as other users are free to cache the old value forever).</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar"
id="edit_dialog_expiration_absolute_calendar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Select the date on which you want this record to expire. At
that date, you can then create a new mapping or have a shadow record go
automatically into effect. Note that for public records you cannot change the
expiration time to an earlier date after the fact.</property>
+ <property name="year">2012</property>
+ <property name="month">9</property>
+ <property name="day">17</property>
+ <property name="show_week_numbers">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox"
id="edit_dialog_expiration_absolute_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_hours_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Hours:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_hours_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which hour of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_hours_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_minutes_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Minutes:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_minutes_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which minute of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_minutes_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_seconds_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Seconds:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_seconds_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which second of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_seconds_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_expiration_relative_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Relative expiration time of the record. The syntax is a
number followed by a space and a time unit, possibly followed by additional
numbers and time units. For example, you can specify "1 d" or "6 h 30 m 15 s".
Use the drop-down menu to select from a set of common defaults. (Editing is not
possible right now as Gtk2 and Gtk3 use incompatible ways for doing this.)
</property>
+ <property
name="model">edit_dialog_expiration_relative_liststore</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_expiration_relative_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_expiration_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Expiration
Time</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">edit_dialog_cancel_button</action-widget>
+ <action-widget response="-2">edit_dialog_delete_button</action-widget>
+ <action-widget response="-5">edit_dialog_save_button</action-widget>
+ </action-widgets>
+ </object>
+</interface>
Added: gnunet-gtk/contrib/gnunet_setup_gns_edit_pkey.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gns_edit_pkey.glade
(rev 0)
+++ gnunet-gtk/contrib/gnunet_setup_gns_edit_pkey.glade 2012-12-04 12:26:09 UTC
(rev 25220)
@@ -0,0 +1,596 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkAdjustment" id="absolute_expiration_hours_adjustment">
+ <property name="upper">23</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">12</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_minutes_adjustment">
+ <property name="upper">59</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_seconds_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkListStore" id="edit_dialog_expiration_relative_liststore">
+ <columns>
+ <!-- column-name relativetime -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">7 days</col>
+ </row>
+ <row>
+ <col id="0">1 day</col>
+ </row>
+ <row>
+ <col id="0">1 h</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="zone_liststore">
+ <columns>
+ <!-- column-name zonename -->
+ <column type="gchararray"/>
+ <!-- column-name optionname -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Master Zone</col>
+ <col id="1">ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Private Zone</col>
+ <col id="1">PRIVATE_ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Shorten Zone</col>
+ <col id="1">SHORTEN_ZONEKEY</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkDialog" id="edit_pkey_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <signal name="response" handler="GNS_edit_a_dialog_response_cb"
swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="edit_dialog_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="edit_dialog_action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="edit_dialog_cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_delete_button">
+ <property name="label">gtk-delete</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_save_button">
+ <property name="label">gtk-save</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Store the
updated record in the database. If the record is public, GNUnet will begin to
publish the record to the world, limiting your ability to change it later
(based on the selected expiration values).</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_name_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_name_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_name_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_name_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Name
of the record in the zone.</property>
+ <property name="max_length">63</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_name_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_name_in_zone_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">in</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_zone_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Select the desired zone for the record. Changing this value
here will move the record to the selected zone.</property>
+ <property name="model">zone_liststore</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_zone_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_name_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Name</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_pkey_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_pkey_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">4</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_pkey_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_pkey_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Enter
the hash of the public key of the authority here.</property>
+ <property name="max_length">15</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_a_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_a_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>GADS
authority for the subzone (PKEY)</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_options_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_options_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_options_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_public_checkbutton">
+ <property name="label" translatable="yes">Record is
public (visible to other users)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Not
that while it is recommended that 'private' records should be in the 'private
zone', you are allowed to mark records in other zones as private as well.
Please be aware that once a record is made public, you are less free to change
expiration times. Most importantly, if your record is set to never expire, you
will never be able to change the mapping in the future if the record is
public.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_shadow_checkbutton">
+ <property name="label" translatable="yes">Record is a
shadow record (valid after other records expire)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">A
shadow record is a record which becomes valid in the future. They are not used
as long as a second non-expired record with the same name and type exists. This
is useful if a mapping is to be changed as soon as an existing record expires.
For example, if a users are supposed to switch at midnight from one IP address
to another, two records would be placed into the system: one that is valid
until midnight, and a second "shadow" record that becomes valid at
midnight.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_options_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Options</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_expiration_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment"
id="edit_dialog_expiration_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">5</property>
+ <property name="bottom_padding">5</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_expiration_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_expiration_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_relative_radiobutton">
+ <property name="label"
translatable="yes">Relative</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with a relative expiration time (such as 1 week) are
always valid for at least that time period into the future. In other words, the
auto-renew their own expiration to the given time period into the future. When
you convert a public record with a relative expiration time to one with an
absolute expiration time, the earliest possible expiration will be the
respective relative time in the future. Use relative expiration times for
entries for which you do not know a specific date when they will
expire.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_relative_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_absolute_radiobutton">
+ <property name="label"
translatable="yes">Absolute</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with an absolute expiration time are valid until the
specified date. You can change that date to an even later date, but you cannot
set it to an earlier time (as other users may have cached the longer expiration
time). Use absolute expiration times if you know that a particular record will
only be valid until a particular day.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_absolute_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_never_radiobutton">
+ <property name="label"
translatable="yes">Never</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records can be set to be valid forever. This is great if you
are worried about censorship or certain that the mapping will never change.
Note that if you set a public record to never expire, you cannot later change
it (as other users are free to cache the old value forever).</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar"
id="edit_dialog_expiration_absolute_calendar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Select the date on which you want this record to expire. At
that date, you can then create a new mapping or have a shadow record go
automatically into effect. Note that for public records you cannot change the
expiration time to an earlier date after the fact.</property>
+ <property name="year">2012</property>
+ <property name="month">9</property>
+ <property name="day">17</property>
+ <property name="show_week_numbers">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox"
id="edit_dialog_expiration_absolute_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_hours_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Hours:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_hours_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which hour of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_hours_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_minutes_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Minutes:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_minutes_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which minute of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_minutes_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_seconds_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Seconds:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_seconds_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which second of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_seconds_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_expiration_relative_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Relative expiration time of the record. The syntax is a
number followed by a space and a time unit, possibly followed by additional
numbers and time units. For example, you can specify "1 d" or "6 h 30 m 15 s".
Use the drop-down menu to select from a set of common defaults. (Editing is not
possible right now as Gtk2 and Gtk3 use incompatible ways for doing this.)
</property>
+ <property
name="model">edit_dialog_expiration_relative_liststore</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_expiration_relative_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_expiration_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Expiration
Time</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">edit_dialog_cancel_button</action-widget>
+ <action-widget response="-2">edit_dialog_delete_button</action-widget>
+ <action-widget response="-5">edit_dialog_save_button</action-widget>
+ </action-widgets>
+ </object>
+</interface>
Added: gnunet-gtk/contrib/gnunet_setup_gns_edit_ptr.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gns_edit_ptr.glade
(rev 0)
+++ gnunet-gtk/contrib/gnunet_setup_gns_edit_ptr.glade 2012-12-04 12:26:09 UTC
(rev 25220)
@@ -0,0 +1,596 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkAdjustment" id="absolute_expiration_hours_adjustment">
+ <property name="upper">23</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">12</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_minutes_adjustment">
+ <property name="upper">59</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_seconds_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkListStore" id="edit_dialog_expiration_relative_liststore">
+ <columns>
+ <!-- column-name relativetime -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">7 days</col>
+ </row>
+ <row>
+ <col id="0">1 day</col>
+ </row>
+ <row>
+ <col id="0">1 h</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="zone_liststore">
+ <columns>
+ <!-- column-name zonename -->
+ <column type="gchararray"/>
+ <!-- column-name optionname -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Master Zone</col>
+ <col id="1">ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Private Zone</col>
+ <col id="1">PRIVATE_ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Shorten Zone</col>
+ <col id="1">SHORTEN_ZONEKEY</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkDialog" id="edit_ptr_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <signal name="response" handler="GNS_edit_a_dialog_response_cb"
swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="edit_dialog_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="edit_dialog_action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="edit_dialog_cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_delete_button">
+ <property name="label">gtk-delete</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_save_button">
+ <property name="label">gtk-save</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Store the
updated record in the database. If the record is public, GNUnet will begin to
publish the record to the world, limiting your ability to change it later
(based on the selected expiration values).</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_name_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_name_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_name_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_name_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Name
of the record in the zone.</property>
+ <property name="max_length">63</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_name_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_name_in_zone_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">in</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_zone_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Select the desired zone for the record. Changing this value
here will move the record to the selected zone.</property>
+ <property name="model">zone_liststore</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_zone_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_name_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Name</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_ptr_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_ptr_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">4</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_ptr_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_ptr_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Enter
the IPv4 address for the A record here. The format is the usual dotted-decimal
format (i.e. 127.0.0.1).</property>
+ <property name="max_length">253</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_a_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_ptr_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Canonical
name (PTR)</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_options_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_options_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_options_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_public_checkbutton">
+ <property name="label" translatable="yes">Record is
public (visible to other users)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Not
that while it is recommended that 'private' records should be in the 'private
zone', you are allowed to mark records in other zones as private as well.
Please be aware that once a record is made public, you are less free to change
expiration times. Most importantly, if your record is set to never expire, you
will never be able to change the mapping in the future if the record is
public.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_shadow_checkbutton">
+ <property name="label" translatable="yes">Record is a
shadow record (valid after other records expire)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">A
shadow record is a record which becomes valid in the future. They are not used
as long as a second non-expired record with the same name and type exists. This
is useful if a mapping is to be changed as soon as an existing record expires.
For example, if a users are supposed to switch at midnight from one IP address
to another, two records would be placed into the system: one that is valid
until midnight, and a second "shadow" record that becomes valid at
midnight.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_options_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Options</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_expiration_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment"
id="edit_dialog_expiration_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">5</property>
+ <property name="bottom_padding">5</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_expiration_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_expiration_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_relative_radiobutton">
+ <property name="label"
translatable="yes">Relative</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with a relative expiration time (such as 1 week) are
always valid for at least that time period into the future. In other words, the
auto-renew their own expiration to the given time period into the future. When
you convert a public record with a relative expiration time to one with an
absolute expiration time, the earliest possible expiration will be the
respective relative time in the future. Use relative expiration times for
entries for which you do not know a specific date when they will
expire.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_relative_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_absolute_radiobutton">
+ <property name="label"
translatable="yes">Absolute</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with an absolute expiration time are valid until the
specified date. You can change that date to an even later date, but you cannot
set it to an earlier time (as other users may have cached the longer expiration
time). Use absolute expiration times if you know that a particular record will
only be valid until a particular day.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_absolute_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_never_radiobutton">
+ <property name="label"
translatable="yes">Never</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records can be set to be valid forever. This is great if you
are worried about censorship or certain that the mapping will never change.
Note that if you set a public record to never expire, you cannot later change
it (as other users are free to cache the old value forever).</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar"
id="edit_dialog_expiration_absolute_calendar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Select the date on which you want this record to expire. At
that date, you can then create a new mapping or have a shadow record go
automatically into effect. Note that for public records you cannot change the
expiration time to an earlier date after the fact.</property>
+ <property name="year">2012</property>
+ <property name="month">9</property>
+ <property name="day">17</property>
+ <property name="show_week_numbers">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox"
id="edit_dialog_expiration_absolute_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_hours_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Hours:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_hours_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which hour of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_hours_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_minutes_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Minutes:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_minutes_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which minute of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_minutes_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_seconds_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Seconds:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_seconds_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which second of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_seconds_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_expiration_relative_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Relative expiration time of the record. The syntax is a
number followed by a space and a time unit, possibly followed by additional
numbers and time units. For example, you can specify "1 d" or "6 h 30 m 15 s".
Use the drop-down menu to select from a set of common defaults. (Editing is not
possible right now as Gtk2 and Gtk3 use incompatible ways for doing this.)
</property>
+ <property
name="model">edit_dialog_expiration_relative_liststore</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_expiration_relative_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_expiration_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Expiration
Time</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">edit_dialog_cancel_button</action-widget>
+ <action-widget response="-2">edit_dialog_delete_button</action-widget>
+ <action-widget response="-5">edit_dialog_save_button</action-widget>
+ </action-widgets>
+ </object>
+</interface>
Added: gnunet-gtk/contrib/gnunet_setup_gns_edit_soa.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gns_edit_soa.glade
(rev 0)
+++ gnunet-gtk/contrib/gnunet_setup_gns_edit_soa.glade 2012-12-04 12:26:09 UTC
(rev 25220)
@@ -0,0 +1,831 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkAdjustment" id="absolute_expiration_hours_adjustment">
+ <property name="upper">23</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">12</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_minutes_adjustment">
+ <property name="upper">59</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_seconds_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkListStore" id="edit_dialog_expiration_relative_liststore">
+ <columns>
+ <!-- column-name relativetime -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">7 days</col>
+ </row>
+ <row>
+ <col id="0">1 day</col>
+ </row>
+ <row>
+ <col id="0">1 h</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkAdjustment" id="soa_expire_time_adjustment">
+ <property name="upper">4150788095</property>
+ <property name="value">86400</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="soa_minimum_ttl_adjustment">
+ <property name="upper">9999999</property>
+ <property name="value">3600</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="soa_refresh_time_adjustment">
+ <property name="upper">99999999</property>
+ <property name="value">3600</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="soa_retry_time_adjustment">
+ <property name="upper">999999999</property>
+ <property name="value">600</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="soa_serial_adjustment">
+ <property name="upper">99999999</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkListStore" id="zone_liststore">
+ <columns>
+ <!-- column-name zonename -->
+ <column type="gchararray"/>
+ <!-- column-name optionname -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Master Zone</col>
+ <col id="1">ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Private Zone</col>
+ <col id="1">PRIVATE_ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Shorten Zone</col>
+ <col id="1">SHORTEN_ZONEKEY</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkDialog" id="edit_soa_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <signal name="response" handler="GNS_edit_a_dialog_response_cb"
swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="edit_dialog_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="edit_dialog_action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="edit_dialog_cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_delete_button">
+ <property name="label">gtk-delete</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_save_button">
+ <property name="label">gtk-save</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Store the
updated record in the database. If the record is public, GNUnet will begin to
publish the record to the world, limiting your ability to change it later
(based on the selected expiration values).</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_name_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_name_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_name_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_name_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Name
of the record in the zone.</property>
+ <property name="max_length">63</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_name_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_name_in_zone_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">in</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_zone_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Select the desired zone for the record. Changing this value
here will move the record to the selected zone.</property>
+ <property name="model">zone_liststore</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_zone_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_name_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Name</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_soa_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_soa_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">4</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkTable" id="edit_dialog_soa_table">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="n_rows">7</property>
+ <property name="n_columns">2</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_soa_source_host_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Source
host:</property>
+ </object>
+ <packing>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_soa_email_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Contact
e-mail:</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_soa_serial_number_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Serial
number:</property>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_soa_refresh_time_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Refresh
time:</property>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_soa_retry_time_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Retry
time:</property>
+ </object>
+ <packing>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_soa_expire_time_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Expire
time:</property>
+ </object>
+ <packing>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_soa_minimum_ttl_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">Minimum
TTL:</property>
+ </object>
+ <packing>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_soa_serial_number_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">This
number should be incremented for every zone update.</property>
+ <property name="max_length">6</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">soa_serial_adjustment</property>
+ <property name="numeric">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_soa_refresh_time_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">The
value is in seconds.</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">soa_refresh_time_adjustment</property>
+ <property name="numeric">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_soa_retry_time_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">The
value is in seconds.</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">soa_retry_time_adjustment</property>
+ <property name="numeric">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_soa_expire_time_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">The
value is in seconds.</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">soa_expire_time_adjustment</property>
+ <property name="numeric">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_soa_minimum_ttl_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">The
value is in seconds.</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">soa_minimum_ttl_adjustment</property>
+ <property name="numeric">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry"
id="edit_dialog_soa_source_host_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Name
of the host responsible for the zone.</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry"
id="edit_dialog_soa_contact_email_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Note
that a "." is used instead of "@" in the e-mail address!</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_soa_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Start of
Authority (SOA) information</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_options_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_options_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_options_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_public_checkbutton">
+ <property name="label" translatable="yes">Record is
public (visible to other users)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Not
that while it is recommended that 'private' records should be in the 'private
zone', you are allowed to mark records in other zones as private as well.
Please be aware that once a record is made public, you are less free to change
expiration times. Most importantly, if your record is set to never expire, you
will never be able to change the mapping in the future if the record is
public.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_shadow_checkbutton">
+ <property name="label" translatable="yes">Record is a
shadow record (valid after other records expire)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">A
shadow record is a record which becomes valid in the future. They are not used
as long as a second non-expired record with the same name and type exists. This
is useful if a mapping is to be changed as soon as an existing record expires.
For example, if a users are supposed to switch at midnight from one IP address
to another, two records would be placed into the system: one that is valid
until midnight, and a second "shadow" record that becomes valid at
midnight.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_options_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Options</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_expiration_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment"
id="edit_dialog_expiration_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">5</property>
+ <property name="bottom_padding">5</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_expiration_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_expiration_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_relative_radiobutton">
+ <property name="label"
translatable="yes">Relative</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with a relative expiration time (such as 1 week) are
always valid for at least that time period into the future. In other words, the
auto-renew their own expiration to the given time period into the future. When
you convert a public record with a relative expiration time to one with an
absolute expiration time, the earliest possible expiration will be the
respective relative time in the future. Use relative expiration times for
entries for which you do not know a specific date when they will
expire.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_relative_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_absolute_radiobutton">
+ <property name="label"
translatable="yes">Absolute</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with an absolute expiration time are valid until the
specified date. You can change that date to an even later date, but you cannot
set it to an earlier time (as other users may have cached the longer expiration
time). Use absolute expiration times if you know that a particular record will
only be valid until a particular day.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_absolute_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_never_radiobutton">
+ <property name="label"
translatable="yes">Never</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records can be set to be valid forever. This is great if you
are worried about censorship or certain that the mapping will never change.
Note that if you set a public record to never expire, you cannot later change
it (as other users are free to cache the old value forever).</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar"
id="edit_dialog_expiration_absolute_calendar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Select the date on which you want this record to expire. At
that date, you can then create a new mapping or have a shadow record go
automatically into effect. Note that for public records you cannot change the
expiration time to an earlier date after the fact.</property>
+ <property name="year">2012</property>
+ <property name="month">9</property>
+ <property name="day">17</property>
+ <property name="show_week_numbers">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox"
id="edit_dialog_expiration_absolute_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_hours_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Hours:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_hours_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which hour of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_hours_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_minutes_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Minutes:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_minutes_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which minute of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_minutes_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_seconds_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Seconds:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_seconds_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which second of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_seconds_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_expiration_relative_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Relative expiration time of the record. The syntax is a
number followed by a space and a time unit, possibly followed by additional
numbers and time units. For example, you can specify "1 d" or "6 h 30 m 15 s".
Use the drop-down menu to select from a set of common defaults. (Editing is not
possible right now as Gtk2 and Gtk3 use incompatible ways for doing this.)
</property>
+ <property
name="model">edit_dialog_expiration_relative_liststore</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_expiration_relative_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_expiration_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Expiration
Time</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">edit_dialog_cancel_button</action-widget>
+ <action-widget response="-2">edit_dialog_delete_button</action-widget>
+ <action-widget response="-5">edit_dialog_save_button</action-widget>
+ </action-widgets>
+ </object>
+</interface>
Added: gnunet-gtk/contrib/gnunet_setup_gns_edit_srv.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gns_edit_srv.glade
(rev 0)
+++ gnunet-gtk/contrib/gnunet_setup_gns_edit_srv.glade 2012-12-04 12:26:09 UTC
(rev 25220)
@@ -0,0 +1,719 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkAdjustment" id="absolute_expiration_hours_adjustment">
+ <property name="upper">23</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">12</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_minutes_adjustment">
+ <property name="upper">59</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_seconds_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkListStore" id="edit_dialog_expiration_relative_liststore">
+ <columns>
+ <!-- column-name relativetime -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">7 days</col>
+ </row>
+ <row>
+ <col id="0">1 day</col>
+ </row>
+ <row>
+ <col id="0">1 h</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkAdjustment" id="srv_weight_adjustment">
+ <property name="upper">65535</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="srv_port_adjustment">
+ <property name="upper">65535</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="srv_priority_adjustment">
+ <property name="upper">9999999</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkListStore" id="zone_liststore">
+ <columns>
+ <!-- column-name zonename -->
+ <column type="gchararray"/>
+ <!-- column-name optionname -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Master Zone</col>
+ <col id="1">ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Private Zone</col>
+ <col id="1">PRIVATE_ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Shorten Zone</col>
+ <col id="1">SHORTEN_ZONEKEY</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkDialog" id="edit_srv_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <signal name="response" handler="GNS_edit_a_dialog_response_cb"
swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="edit_dialog_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="edit_dialog_action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="edit_dialog_cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_delete_button">
+ <property name="label">gtk-delete</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_save_button">
+ <property name="label">gtk-save</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Store the
updated record in the database. If the record is public, GNUnet will begin to
publish the record to the world, limiting your ability to change it later
(based on the selected expiration values).</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_name_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_name_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_name_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_name_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Name
of the record in the zone.</property>
+ <property name="max_length">63</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_name_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_name_in_zone_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">in</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_zone_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Select the desired zone for the record. Changing this value
here will move the record to the selected zone.</property>
+ <property name="model">zone_liststore</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_zone_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_name_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Name</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_srv_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_srv_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">4</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkTable" id="edit_dialog_srv_table">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="n_rows">4</property>
+ <property name="n_columns">2</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_srv_priority_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Priority:</property>
+ </object>
+ <packing>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_srv_weight_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Weight:</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="edit_dialog_srv_port_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Port:</property>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_srv_target_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Target:</property>
+ </object>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_srv_priority_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Priority of the target, lower values means more
preferred</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">srv_priority_adjustment</property>
+ <property name="numeric">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_srv_weight_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Relative weight for records with the same priority</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">srv_weight_adjustment</property>
+ <property name="numeric">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_srv_port_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">TCP
or UDP port on which the service is to be found</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">srv_port_adjustment</property>
+ <property name="numeric">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry"
id="edit_dialog_srv_target_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Canonical hostname of the machine providing the
service</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_srv_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Service
record (SRV)</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_options_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_options_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_options_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_public_checkbutton">
+ <property name="label" translatable="yes">Record is
public (visible to other users)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Not
that while it is recommended that 'private' records should be in the 'private
zone', you are allowed to mark records in other zones as private as well.
Please be aware that once a record is made public, you are less free to change
expiration times. Most importantly, if your record is set to never expire, you
will never be able to change the mapping in the future if the record is
public.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_shadow_checkbutton">
+ <property name="label" translatable="yes">Record is a
shadow record (valid after other records expire)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">A
shadow record is a record which becomes valid in the future. They are not used
as long as a second non-expired record with the same name and type exists. This
is useful if a mapping is to be changed as soon as an existing record expires.
For example, if a users are supposed to switch at midnight from one IP address
to another, two records would be placed into the system: one that is valid
until midnight, and a second "shadow" record that becomes valid at
midnight.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_options_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Options</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_expiration_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment"
id="edit_dialog_expiration_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">5</property>
+ <property name="bottom_padding">5</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_expiration_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_expiration_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_relative_radiobutton">
+ <property name="label"
translatable="yes">Relative</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with a relative expiration time (such as 1 week) are
always valid for at least that time period into the future. In other words, the
auto-renew their own expiration to the given time period into the future. When
you convert a public record with a relative expiration time to one with an
absolute expiration time, the earliest possible expiration will be the
respective relative time in the future. Use relative expiration times for
entries for which you do not know a specific date when they will
expire.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_relative_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_absolute_radiobutton">
+ <property name="label"
translatable="yes">Absolute</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with an absolute expiration time are valid until the
specified date. You can change that date to an even later date, but you cannot
set it to an earlier time (as other users may have cached the longer expiration
time). Use absolute expiration times if you know that a particular record will
only be valid until a particular day.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_absolute_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_never_radiobutton">
+ <property name="label"
translatable="yes">Never</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records can be set to be valid forever. This is great if you
are worried about censorship or certain that the mapping will never change.
Note that if you set a public record to never expire, you cannot later change
it (as other users are free to cache the old value forever).</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar"
id="edit_dialog_expiration_absolute_calendar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Select the date on which you want this record to expire. At
that date, you can then create a new mapping or have a shadow record go
automatically into effect. Note that for public records you cannot change the
expiration time to an earlier date after the fact.</property>
+ <property name="year">2012</property>
+ <property name="month">9</property>
+ <property name="day">17</property>
+ <property name="show_week_numbers">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox"
id="edit_dialog_expiration_absolute_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_hours_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Hours:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_hours_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which hour of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_hours_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_minutes_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Minutes:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_minutes_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which minute of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_minutes_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_seconds_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Seconds:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_seconds_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which second of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_seconds_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_expiration_relative_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Relative expiration time of the record. The syntax is a
number followed by a space and a time unit, possibly followed by additional
numbers and time units. For example, you can specify "1 d" or "6 h 30 m 15 s".
Use the drop-down menu to select from a set of common defaults. (Editing is not
possible right now as Gtk2 and Gtk3 use incompatible ways for doing this.)
</property>
+ <property
name="model">edit_dialog_expiration_relative_liststore</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_expiration_relative_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_expiration_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Expiration
Time</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">edit_dialog_cancel_button</action-widget>
+ <action-widget response="-2">edit_dialog_delete_button</action-widget>
+ <action-widget response="-5">edit_dialog_save_button</action-widget>
+ </action-widgets>
+ </object>
+</interface>
Added: gnunet-gtk/contrib/gnunet_setup_gns_edit_txt.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gns_edit_txt.glade
(rev 0)
+++ gnunet-gtk/contrib/gnunet_setup_gns_edit_txt.glade 2012-12-04 12:26:09 UTC
(rev 25220)
@@ -0,0 +1,596 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkAdjustment" id="absolute_expiration_hours_adjustment">
+ <property name="upper">23</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">12</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_minutes_adjustment">
+ <property name="upper">59</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_seconds_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkListStore" id="edit_dialog_expiration_relative_liststore">
+ <columns>
+ <!-- column-name relativetime -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">7 days</col>
+ </row>
+ <row>
+ <col id="0">1 day</col>
+ </row>
+ <row>
+ <col id="0">1 h</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="zone_liststore">
+ <columns>
+ <!-- column-name zonename -->
+ <column type="gchararray"/>
+ <!-- column-name optionname -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Master Zone</col>
+ <col id="1">ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Private Zone</col>
+ <col id="1">PRIVATE_ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Shorten Zone</col>
+ <col id="1">SHORTEN_ZONEKEY</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkDialog" id="edit_txt_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <signal name="response" handler="GNS_edit_a_dialog_response_cb"
swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="edit_dialog_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="edit_dialog_action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="edit_dialog_cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_delete_button">
+ <property name="label">gtk-delete</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_save_button">
+ <property name="label">gtk-save</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Store the
updated record in the database. If the record is public, GNUnet will begin to
publish the record to the world, limiting your ability to change it later
(based on the selected expiration values).</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_name_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_name_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_name_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_name_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Name
of the record in the zone.</property>
+ <property name="max_length">63</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_name_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_name_in_zone_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">in</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_zone_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Select the desired zone for the record. Changing this value
here will move the record to the selected zone.</property>
+ <property name="model">zone_liststore</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_zone_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_name_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Name</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_txt_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_txt_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">4</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_txt_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_txt_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="has_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Enter
the IPv4 address for the A record here. The format is the usual dotted-decimal
format (i.e. 127.0.0.1).</property>
+ <property name="max_length">15</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_a_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_txt_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Text value
(TXT)</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_options_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_options_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_options_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_public_checkbutton">
+ <property name="label" translatable="yes">Record is
public (visible to other users)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Not
that while it is recommended that 'private' records should be in the 'private
zone', you are allowed to mark records in other zones as private as well.
Please be aware that once a record is made public, you are less free to change
expiration times. Most importantly, if your record is set to never expire, you
will never be able to change the mapping in the future if the record is
public.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_shadow_checkbutton">
+ <property name="label" translatable="yes">Record is a
shadow record (valid after other records expire)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">A
shadow record is a record which becomes valid in the future. They are not used
as long as a second non-expired record with the same name and type exists. This
is useful if a mapping is to be changed as soon as an existing record expires.
For example, if a users are supposed to switch at midnight from one IP address
to another, two records would be placed into the system: one that is valid
until midnight, and a second "shadow" record that becomes valid at
midnight.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_options_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Options</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_expiration_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment"
id="edit_dialog_expiration_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">5</property>
+ <property name="bottom_padding">5</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_expiration_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_expiration_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_relative_radiobutton">
+ <property name="label"
translatable="yes">Relative</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with a relative expiration time (such as 1 week) are
always valid for at least that time period into the future. In other words, the
auto-renew their own expiration to the given time period into the future. When
you convert a public record with a relative expiration time to one with an
absolute expiration time, the earliest possible expiration will be the
respective relative time in the future. Use relative expiration times for
entries for which you do not know a specific date when they will
expire.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_relative_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_absolute_radiobutton">
+ <property name="label"
translatable="yes">Absolute</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with an absolute expiration time are valid until the
specified date. You can change that date to an even later date, but you cannot
set it to an earlier time (as other users may have cached the longer expiration
time). Use absolute expiration times if you know that a particular record will
only be valid until a particular day.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_absolute_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_never_radiobutton">
+ <property name="label"
translatable="yes">Never</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records can be set to be valid forever. This is great if you
are worried about censorship or certain that the mapping will never change.
Note that if you set a public record to never expire, you cannot later change
it (as other users are free to cache the old value forever).</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar"
id="edit_dialog_expiration_absolute_calendar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Select the date on which you want this record to expire. At
that date, you can then create a new mapping or have a shadow record go
automatically into effect. Note that for public records you cannot change the
expiration time to an earlier date after the fact.</property>
+ <property name="year">2012</property>
+ <property name="month">9</property>
+ <property name="day">17</property>
+ <property name="show_week_numbers">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox"
id="edit_dialog_expiration_absolute_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_hours_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Hours:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_hours_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which hour of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_hours_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_minutes_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Minutes:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_minutes_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which minute of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_minutes_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_seconds_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Seconds:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_seconds_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which second of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_seconds_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_expiration_relative_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Relative expiration time of the record. The syntax is a
number followed by a space and a time unit, possibly followed by additional
numbers and time units. For example, you can specify "1 d" or "6 h 30 m 15 s".
Use the drop-down menu to select from a set of common defaults. (Editing is not
possible right now as Gtk2 and Gtk3 use incompatible ways for doing this.)
</property>
+ <property
name="model">edit_dialog_expiration_relative_liststore</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_expiration_relative_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_expiration_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Expiration
Time</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">edit_dialog_cancel_button</action-widget>
+ <action-widget response="-2">edit_dialog_delete_button</action-widget>
+ <action-widget response="-5">edit_dialog_save_button</action-widget>
+ </action-widgets>
+ </object>
+</interface>
Added: gnunet-gtk/contrib/gnunet_setup_gns_edit_vpn.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gns_edit_vpn.glade
(rev 0)
+++ gnunet-gtk/contrib/gnunet_setup_gns_edit_vpn.glade 2012-12-04 12:26:09 UTC
(rev 25220)
@@ -0,0 +1,697 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<interface>
+ <requires lib="gtk+" version="2.24"/>
+ <!-- interface-naming-policy project-wide -->
+ <object class="GtkAdjustment" id="absolute_expiration_hours_adjustment">
+ <property name="upper">23</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">12</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_minutes_adjustment">
+ <property name="upper">59</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="absolute_expiration_seconds_adjustment">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkListStore" id="edit_dialog_expiration_relative_liststore">
+ <columns>
+ <!-- column-name relativetime -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0">7 days</col>
+ </row>
+ <row>
+ <col id="0">1 day</col>
+ </row>
+ <row>
+ <col id="0">1 h</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkListStore" id="zone_liststore">
+ <columns>
+ <!-- column-name zonename -->
+ <column type="gchararray"/>
+ <!-- column-name optionname -->
+ <column type="gchararray"/>
+ </columns>
+ <data>
+ <row>
+ <col id="0" translatable="yes">Master Zone</col>
+ <col id="1">ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Private Zone</col>
+ <col id="1">PRIVATE_ZONEKEY</col>
+ </row>
+ <row>
+ <col id="0" translatable="yes">Shorten Zone</col>
+ <col id="1">SHORTEN_ZONEKEY</col>
+ </row>
+ </data>
+ </object>
+ <object class="GtkDialog" id="edit_vpn_dialog">
+ <property name="can_focus">False</property>
+ <property name="border_width">5</property>
+ <property name="modal">True</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <signal name="response" handler="GNS_edit_a_dialog_response_cb"
swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="edit_dialog_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="edit_dialog_action_area">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="edit_dialog_cancel_button">
+ <property name="label">gtk-cancel</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_delete_button">
+ <property name="label">gtk-delete</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">True</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="edit_dialog_save_button">
+ <property name="label">gtk-save</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="has_default">True</property>
+ <property name="receives_default">True</property>
+ <property name="tooltip_text" translatable="yes">Store the
updated record in the database. If the record is public, GNUnet will begin to
publish the record to the world, limiting your ability to change it later
(based on the selected expiration values).</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">True</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_name_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_name_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_name_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_name_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Name
of the record in the zone.</property>
+ <property name="max_length">63</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <signal name="changed"
handler="GNS_edit_dialog_name_entry_changed_cb" swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_name_in_zone_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes">in</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">10</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_zone_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Select the desired zone for the record. Changing this value
here will move the record to the selected zone.</property>
+ <property name="model">zone_liststore</property>
+ <property name="active">0</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_zone_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_name_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Name</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_vpn_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_vpn_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">4</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkTable" id="edit_dialog_vpn_table">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="n_rows">3</property>
+ <property name="n_columns">2</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_vpn_protocol_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Protocol:</property>
+ </object>
+ <packing>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel" id="edit_dialog_vpn_peer_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Peer:</property>
+ </object>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_vpn_servicename_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Identifier:</property>
+ </object>
+ <packing>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="x_options"></property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox"
id="edit_dialog_vpn_protocol_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_vpn_protocol_tcp_radiobutton">
+ <property name="label"
translatable="yes">TCP</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Service is available via TCP</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_vpn_protocol_udp_radiobutton">
+ <property name="label"
translatable="yes">UDP</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Service is available via UDP</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_vpn_protocol_tcp_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry" id="edit_dialog_vpn_peer_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Enter
the identity (gnunet-peerinfo -s) of the peer offering the service
here.</property>
+ <property name="max_length">127</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkEntry"
id="edit_dialog_vpn_identifier_entry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text" translatable="yes">Each
GNUnet service is identified by an identiifer (name, password) that can be
freely chosen by the service provider. This string should be entered
here.</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ </object>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_vpn_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>GNUnet VPN
address (GADS only)</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_options_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment" id="edit_dialog_options_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_options_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_public_checkbutton">
+ <property name="label" translatable="yes">Record is
public (visible to other users)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">Not
that while it is recommended that 'private' records should be in the 'private
zone', you are allowed to mark records in other zones as private as well.
Please be aware that once a record is made public, you are less free to change
expiration times. Most importantly, if your record is set to never expire, you
will never be able to change the mapping in the future if the record is
public.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCheckButton"
id="edit_dialog_options_shadow_checkbutton">
+ <property name="label" translatable="yes">Record is a
shadow record (valid after other records expire)</property>
+ <property name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text" translatable="yes">A
shadow record is a record which becomes valid in the future. They are not used
as long as a second non-expired record with the same name and type exists. This
is useful if a mapping is to be changed as soon as an existing record expires.
For example, if a users are supposed to switch at midnight from one IP address
to another, two records would be placed into the system: one that is valid
until midnight, and a second "shadow" record that becomes valid at
midnight.</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_options_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes"><b>Options</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkFrame" id="edit_dialog_expiration_frame">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label_xalign">0</property>
+ <property name="shadow_type">none</property>
+ <child>
+ <object class="GtkAlignment"
id="edit_dialog_expiration_alignment">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="top_padding">5</property>
+ <property name="bottom_padding">5</property>
+ <property name="left_padding">12</property>
+ <child>
+ <object class="GtkVBox" id="edit_dialog_expiration_vbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">5</property>
+ <child>
+ <object class="GtkHBox" id="edit_dialog_expiration_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_relative_radiobutton">
+ <property name="label"
translatable="yes">Relative</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with a relative expiration time (such as 1 week) are
always valid for at least that time period into the future. In other words, the
auto-renew their own expiration to the given time period into the future. When
you convert a public record with a relative expiration time to one with an
absolute expiration time, the earliest possible expiration will be the
respective relative time in the future. Use relative expiration times for
entries for which you do not know a specific date when they will
expire.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_relative_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_absolute_radiobutton">
+ <property name="label"
translatable="yes">Absolute</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records with an absolute expiration time are valid until the
specified date. You can change that date to an even later date, but you cannot
set it to an earlier time (as other users may have cached the longer expiration
time). Use absolute expiration times if you know that a particular record will
only be valid until a particular day.</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ <signal name="toggled"
handler="GNS_edit_dialog_expiration_absolute_radiobutton_toggled_cb"
swapped="no"/>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton"
id="edit_dialog_expiration_never_radiobutton">
+ <property name="label"
translatable="yes">Never</property>
+ <property
name="use_action_appearance">False</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="tooltip_text"
translatable="yes">Records can be set to be valid forever. This is great if you
are worried about censorship or certain that the mapping will never change.
Note that if you set a public record to never expire, you cannot later change
it (as other users are free to cache the old value forever).</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ <property
name="group">edit_dialog_expiration_relative_radiobutton</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkCalendar"
id="edit_dialog_expiration_absolute_calendar">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Select the date on which you want this record to expire. At
that date, you can then create a new mapping or have a shadow record go
automatically into effect. Note that for public records you cannot change the
expiration time to an earlier date after the fact.</property>
+ <property name="year">2012</property>
+ <property name="month">9</property>
+ <property name="day">17</property>
+ <property name="show_week_numbers">True</property>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox"
id="edit_dialog_expiration_absolute_hbox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_hours_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Hours:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_hours_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which hour of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_hours_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_minutes_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Minutes:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_minutes_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which minute of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_minutes_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkLabel"
id="edit_dialog_expiration_absolute_seconds_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label"
translatable="yes">Seconds:</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="padding">5</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkSpinButton"
id="edit_dialog_expiration_absolute_seconds_spinbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip_text"
translatable="yes">Which second of the day selected above should the record
expire?</property>
+ <property name="max_length">2</property>
+ <property name="invisible_char">●</property>
+ <property
name="primary_icon_activatable">False</property>
+ <property
name="secondary_icon_activatable">False</property>
+ <property
name="primary_icon_sensitive">True</property>
+ <property
name="secondary_icon_sensitive">True</property>
+ <property
name="adjustment">absolute_expiration_seconds_adjustment</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">5</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox"
id="edit_dialog_expiration_relative_combobox">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="tooltip_text"
translatable="yes">Relative expiration time of the record. The syntax is a
number followed by a space and a time unit, possibly followed by additional
numbers and time units. For example, you can specify "1 d" or "6 h 30 m 15 s".
Use the drop-down menu to select from a set of common defaults. (Editing is not
possible right now as Gtk2 and Gtk3 use incompatible ways for doing this.)
</property>
+ <property
name="model">edit_dialog_expiration_relative_liststore</property>
+ <property name="entry_text_column">0</property>
+ <child>
+ <object class="GtkCellRendererText"
id="edit_dialog_expiration_relative_combobox_cellrenderertext"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ </object>
+ </child>
+ <child type="label">
+ <object class="GtkLabel" id="edit_dialog_expiration_label">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="label" translatable="yes"><b>Expiration
Time</b></property>
+ <property name="use_markup">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">True</property>
+ <property name="fill">True</property>
+ <property name="position">4</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-6">edit_dialog_cancel_button</action-widget>
+ <action-widget response="-2">edit_dialog_delete_button</action-widget>
+ <action-widget response="-5">edit_dialog_save_button</action-widget>
+ </action-widgets>
+ </object>
+</interface>
Modified: gnunet-gtk/contrib/gnunet_setup_gtk_main_window.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_setup_gtk_main_window.glade 2012-12-04
10:47:05 UTC (rev 25219)
+++ gnunet-gtk/contrib/gnunet_setup_gtk_main_window.glade 2012-12-04
12:26:09 UTC (rev 25220)
@@ -4685,60 +4685,52 @@
<data>
<row>
<col id="0">1</col>
- <col id="1" translatable="yes">A</col>
+ <col id="1" translatable="no">A</col>
</row>
<row>
<col id="0">2</col>
- <col id="1" translatable="yes">NS</col>
+ <col id="1" translatable="no">NS</col>
</row>
<row>
<col id="0">5</col>
- <col id="1" translatable="yes">CNAME</col>
+ <col id="1" translatable="no">CNAME</col>
</row>
<row>
<col id="0">6</col>
- <col id="1" translatable="yes">SOA</col>
+ <col id="1" translatable="no">SOA</col>
</row>
<row>
<col id="0">12</col>
- <col id="1" translatable="yes">PTR</col>
+ <col id="1" translatable="no">PTR</col>
</row>
<row>
<col id="0">15</col>
- <col id="1" translatable="yes">MX</col>
+ <col id="1" translatable="no">MX</col>
</row>
<row>
<col id="0">16</col>
- <col id="1" translatable="yes">TXT</col>
+ <col id="1" translatable="no">TXT</col>
</row>
<row>
<col id="0">28</col>
- <col id="1" translatable="yes">AAAA</col>
+ <col id="1" translatable="no">AAAA</col>
</row>
<row>
<col id="0">65536</col>
- <col id="1" translatable="yes">PKEY</col>
+ <col id="1" translatable="no">PKEY</col>
</row>
<row>
<col id="0">65538</col>
- <col id="1" translatable="yes">LEHO</col>
+ <col id="1" translatable="no">LEHO</col>
</row>
<row>
<col id="0">33</col>
- <col id="1" translatable="yes">SRV</col>
+ <col id="1" translatable="no">SRV</col>
</row>
<row>
<col id="0">65539</col>
- <col id="1" translatable="yes">VPN</col>
+ <col id="1" translatable="no">VPN</col>
</row>
- <row>
- <col id="0">65540</col>
- <col id="1" translatable="yes">REV</col>
- </row>
- <row>
- <col id="0">65537</col>
- <col id="1" translatable="yes">PSEU</col>
- </row>
</data>
</object>
<object class="GtkAdjustment"
id="GNUNET_setup_hostlist_server_port_adjustment">
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r25220 - gnunet-gtk/contrib,
gnunet <=