[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r18991 - in gnunet-gtk: contrib src/fs
From: |
gnunet |
Subject: |
[GNUnet-SVN] r18991 - in gnunet-gtk: contrib src/fs |
Date: |
Thu, 5 Jan 2012 08:49:58 +0100 |
Author: grothoff
Date: 2012-01-05 08:49:58 +0100 (Thu, 05 Jan 2012)
New Revision: 18991
Modified:
gnunet-gtk/contrib/gnunet_fs_gtk_main_window.glade
gnunet-gtk/contrib/gnunet_fs_gtk_publish_dialog.glade
gnunet-gtk/src/fs/gnunet-fs-gtk-main_window_file_publish.c
Log:
-LRN: unbuildering the master publication editing dialog --- CG: yayh
Modified: gnunet-gtk/contrib/gnunet_fs_gtk_main_window.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_fs_gtk_main_window.glade 2012-01-05 07:48:35 UTC
(rev 18990)
+++ gnunet-gtk/contrib/gnunet_fs_gtk_main_window.glade 2012-01-05 07:49:58 UTC
(rev 18991)
@@ -12,26 +12,6 @@
<property name="step_increment">1</property>
<property name="page_increment">10</property>
</object>
- <object class="GtkTreeStore"
id="GNUNET_GTK_file_sharing_publishing_tree_store">
- <columns>
- <!-- column-name filesize -->
- <column type="gchararray"/>
- <!-- column-name do_index -->
- <column type="gboolean"/>
- <!-- column-name filename -->
- <column type="gchararray"/>
- <!-- column-name anonymity_level -->
- <column type="guint"/>
- <!-- column-name priority -->
- <column type="guint"/>
- <!-- column-name file_information_struct -->
- <column type="gpointer"/>
- <!-- column-name expiration_time_absolute -->
- <column type="guint64"/>
- <!-- column-name replication_level -->
- <column type="guint"/>
- </columns>
- </object>
<object class="GtkListStore" id="GNUNET_GTK_meta_data_list_store">
<columns>
<!-- column-name extractor_meta_type -->
@@ -44,6 +24,9 @@
<column type="gchararray"/>
</columns>
</object>
+ <object class="GtkTextBuffer"
id="GNUNET_GTK_open_url_dialog_url_textview_buffer">
+ <signal name="changed"
handler="GNUNET_GTK_open_url_dialog_url_textview_buffer_changed_cb"
swapped="no"/>
+ </object>
<object class="GtkWindow" id="GNUNET_GTK_open_url_window">
<property name="can_focus">False</property>
<property name="title" translatable="yes">Enter the URI to be
downloaded</property>
@@ -251,28 +234,6 @@
<column type="guint64"/>
</columns>
</object>
- <object class="GtkTreeStore" id="GNUNET_GTK_pseudonym_tree_store">
- <columns>
- <!-- column-name local_name -->
- <column type="gchararray"/>
- <!-- column-name namespace_handle -->
- <column type="gpointer"/>
- <!-- column-name last_id -->
- <column type="gchararray"/>
- <!-- column-name last_uri -->
- <column type="gchararray"/>
- <!-- column-name last_meta -->
- <column type="gpointer"/>
- <!-- column-name next_id -->
- <column type="gchararray"/>
- <!-- column-name last_description_from_meta -->
- <column type="gchararray"/>
- <!-- column-name next_id_editable -->
- <column type="gboolean"/>
- <!-- column-name current_id_editable -->
- <column type="gboolean"/>
- </columns>
- </object>
<object class="GtkFileChooserDialog"
id="GNUNET_GTK_publish_directory_dialog">
<property name="can_focus">False</property>
<property name="can_default">True</property>
@@ -287,7 +248,6 @@
<property name="action">select-folder</property>
<property name="create_folders">False</property>
<property name="select_multiple">True</property>
- <signal name="response"
handler="GNUNET_GTK_publish_directory_dialog_response_cb" swapped="no"/>
<child internal-child="vbox">
<object class="GtkVBox" id="dialog-vbox1">
<property name="visible">True</property>
@@ -571,7 +531,6 @@
<property name="create_folders">False</property>
<property name="select_multiple">True</property>
<signal name="delete-event" handler="gtk_widget_hide_on_delete"
swapped="no"/>
- <signal name="response"
handler="GNUNET_GTK_publish_file_dialog_response_cb" swapped="no"/>
<child internal-child="vbox">
<object class="GtkVBox" id="dialog-vbox5">
<property name="visible">True</property>
@@ -859,410 +818,6 @@
<column type="gpointer"/>
</columns>
</object>
- <object class="GtkWindow" id="GNUNET_GTK_master_publish_dialog">
- <property name="height_request">500</property>
- <property name="can_focus">False</property>
- <property name="title" translatable="yes">Publish content on
GNUnet</property>
- <property name="window_position">center-on-parent</property>
- <property name="destroy_with_parent">True</property>
- <property name="deletable">False</property>
- <property name="transient_for">GNUNET_GTK_main_window</property>
- <signal name="realize"
handler="GNUNET_GTK_master_publish_dialog_realize_cb" swapped="no"/>
- <signal name="delete-event"
handler="GNUNET_GTK_master_publish_dialog_delete_event_cb" swapped="no"/>
- <child>
- <object class="GtkVBox" id="GNUNET_GTK_master_publish_dialog_vbox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="border_width">4</property>
- <property name="spacing">7</property>
- <child>
- <object class="GtkScrolledWindow"
id="GNUNET_GTK_master_publish_dialog_file_information_scrolled_window">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hadjustment">adjustment5</property>
- <property name="vadjustment">adjustment6</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="vscrollbar_policy">automatic</property>
- <property name="shadow_type">in</property>
- <child>
- <object class="GtkTreeView"
id="GNUNET_GTK_master_publish_dialog_file_information_tree_view">
- <property name="height_request">100</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property
name="model">GNUNET_GTK_file_sharing_publishing_tree_store</property>
- <property name="hadjustment">adjustment5</property>
- <property name="vadjustment">adjustment6</property>
- <property name="enable_tree_lines">True</property>
- <child>
- <object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_file_information_filesize_column">
- <property name="sizing">autosize</property>
- <property name="title">Size</property>
- <child>
- <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_file_information_filesize_renderer"/>
- <attributes>
- <attribute name="text">0</attribute>
- </attributes>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_file_information_filename_column">
- <property name="resizable">True</property>
- <property name="sizing">autosize</property>
- <property name="title">Filename</property>
- <property name="expand">True</property>
- <property name="clickable">True</property>
- <property name="reorderable">True</property>
- <property name="sort_indicator">True</property>
- <child>
- <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_file_information_filename_renderer"/>
- <attributes>
- <attribute name="text">2</attribute>
- </attributes>
- </child>
- </object>
- </child>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox"
id="GNUNET_GTK_master_dialog_modification_button_hbox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <child>
- <object class="GtkTable"
id="GNUNET_GTK_master_publish_dialog_action_table">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="n_rows">2</property>
- <property name="n_columns">3</property>
- <child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_add_button">
- <property name="label" translatable="yes">Add
_File</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_underline">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_add_button_clicked_cb" swapped="no"/>
- </object>
- </child>
- <child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_new_button">
- <property name="label" translatable="yes">_Create empty
directory</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="image">new_stock_image</property>
- <property name="use_underline">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_new_button_clicked_cb" swapped="no"/>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">3</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_open_button">
- <property name="label" translatable="yes">Add
_Directory</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_underline">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_open_button_clicked_cb" swapped="no"/>
- </object>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_edit_button">
- <property name="label">gtk-edit</property>
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_edit_button_clicked_cb" swapped="no"/>
- </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="GtkButton"
id="GNUNET_GTK_master_publish_dialog_delete_button">
- <property name="label">gtk-delete</property>
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_delete_button_clicked_cb"
swapped="no"/>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="padding">25</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkTable"
id="GNUNET_GTK_master_publish_dialog_arrow_table">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="n_rows">2</property>
- <property name="n_columns">3</property>
- <property name="homogeneous">True</property>
- <child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_up_button">
- <property name="label">gtk-go-up</property>
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_up_button_clicked_cb" swapped="no"/>
- </object>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_left_button">
- <property name="label" translatable="yes">_Left</property>
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="image">left_stock_image</property>
- <property name="use_underline">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_left_button_clicked_cb" swapped="no"/>
- </object>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_down_button">
- <property name="label">gtk-go-down</property>
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="use_stock">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_down_button_clicked_cb" swapped="no"/>
- </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="GtkButton"
id="GNUNET_GTK_master_publish_dialog_right_button">
- <property name="label" translatable="yes">_Right</property>
- <property name="use_action_appearance">False</property>
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="receives_default">True</property>
- <property name="image">right_stock_image</property>
- <property name="use_underline">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_right_button_clicked_cb"
swapped="no"/>
- </object>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- </packing>
- </child>
- <child>
- <placeholder/>
- </child>
- <child>
- <placeholder/>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="padding">25</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">True</property>
- <property name="position">1</property>
- </packing>
- </child>
- <child>
- <object class="GtkScrolledWindow"
id="GNUNET_GTK_master_publish_dialog_pseudonym_scrolled_window">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="hadjustment">adjustment7</property>
- <property name="vadjustment">adjustment8</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="vscrollbar_policy">automatic</property>
- <property name="shadow_type">in</property>
- <child>
- <object class="GtkTreeView"
id="GNUNET_GTK_master_publish_dialog_pseudonym_tree_view">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property
name="model">GNUNET_GTK_pseudonym_tree_store</property>
- <property name="hadjustment">adjustment7</property>
- <property name="vadjustment">adjustment8</property>
- <property name="reorderable">True</property>
- <property name="rubber_banding">True</property>
- <property name="enable_grid_lines">both</property>
- <child>
- <object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_pseudonym_name_column">
- <property name="resizable">True</property>
- <property name="title">Pseudonym</property>
- <property name="clickable">True</property>
- <property name="reorderable">True</property>
- <property name="sort_indicator">True</property>
- <child>
- <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_pseudonym_name_renderer"/>
- <attributes>
- <attribute name="text">0</attribute>
- </attributes>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_pseudonym_identifier_column">
- <property name="resizable">True</property>
- <property name="sizing">autosize</property>
- <property name="title">Current identifier</property>
- <property name="clickable">True</property>
- <child>
- <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_pseudonym_identifier_renderer"/>
- <attributes>
- <attribute name="editable">8</attribute>
- <attribute name="text">2</attribute>
- </attributes>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_pseudonym_updates_column">
- <property name="resizable">True</property>
- <property name="sizing">autosize</property>
- <property name="fixed_width">5</property>
- <property name="title">Update identifier</property>
- <child>
- <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_pseudonym_updates_renderer"/>
- <attributes>
- <attribute name="editable">7</attribute>
- <attribute name="text">5</attribute>
- </attributes>
- </child>
- </object>
- </child>
- <child>
- <object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_pseudonym_description_column">
- <property name="title">Description (of existing
content)</property>
- <child>
- <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_pseudonym_description_renderer">
- <property name="wrap_mode">word</property>
- </object>
- <attributes>
- <attribute name="text">6</attribute>
- </attributes>
- </child>
- </object>
- </child>
- </object>
- </child>
- </object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">2</property>
- </packing>
- </child>
- <child>
- <object class="GtkHBox"
id="GNUNET_GTK_master_publish_dialog_master_buttons_hbox">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property name="spacing">2</property>
- <child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_execute_button">
- <property name="label" translatable="yes">_Execute</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_underline">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_execute_button_clicked_cb"
swapped="no"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">end</property>
- <property name="position">0</property>
- </packing>
- </child>
- <child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_cancel_button">
- <property name="label" translatable="yes">_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_underline">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_cancel_button_clicked_cb"
swapped="no"/>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="pack_type">end</property>
- <property name="position">1</property>
- </packing>
- </child>
- </object>
- <packing>
- <property name="expand">False</property>
- <property name="fill">False</property>
- <property name="position">3</property>
- </packing>
- </child>
- </object>
- </child>
- </object>
- <object class="GtkTextBuffer"
id="GNUNET_GTK_open_url_dialog_url_textview_buffer">
- <signal name="changed"
handler="GNUNET_GTK_open_url_dialog_url_textview_buffer_changed_cb"
swapped="no"/>
- </object>
<object class="GtkDialog" id="GNUNET_GTK_select_pseudonym_dialog">
<property name="can_focus">False</property>
<property name="border_width">5</property>
@@ -1376,16 +931,6 @@
<action-widget
response="-5">GNUNET_GTK_select_pseudonym_ok_button</action-widget>
</action-widgets>
</object>
- <object class="GtkAdjustment" id="adjustment3">
- <property name="upper">100</property>
- <property name="step_increment">1</property>
- <property name="page_increment">10</property>
- </object>
- <object class="GtkAdjustment" id="adjustment4">
- <property name="upper">100</property>
- <property name="step_increment">1</property>
- <property name="page_increment">10</property>
- </object>
<object class="GtkImage" id="add_stock_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -1403,6 +948,16 @@
<property name="page_increment">10</property>
<property name="page_size">10</property>
</object>
+ <object class="GtkAdjustment" id="adjustment3">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment4">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
<object class="GtkAdjustment" id="adjustment5">
<property name="upper">100</property>
<property name="step_increment">1</property>
@@ -1438,6 +993,11 @@
<property name="can_focus">False</property>
<property name="stock">gtk-execute</property>
</object>
+ <object class="GtkAdjustment" id="expiration_year_adjustment">
+ <property name="upper">9999</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
<object class="GtkImage" id="find_stock_image">
<property name="visible">True</property>
<property name="can_focus">False</property>
@@ -2222,19 +1782,6 @@
<property name="can_focus">False</property>
<property name="stock">gtk-open</property>
</object>
- <object class="GtkSizeGroup" id="enties_and_comboboxes_sizegroup">
- <property name="mode">vertical</property>
- <widgets>
- <widget name="main_window_search_entry"/>
- <widget name="main_window_search_anonymity_combobox"/>
- <widget name="main_window_search_mime_combobox"/>
- </widgets>
- </object>
- <object class="GtkAdjustment" id="expiration_year_adjustment">
- <property name="upper">9999</property>
- <property name="step_increment">1</property>
- <property name="page_increment">10</property>
- </object>
<object class="GtkAdjustment" id="priority_adjustment">
<property name="upper">10000000</property>
<property name="value">1000</property>
@@ -2256,16 +1803,19 @@
<property name="can_focus">False</property>
<property name="stock">gtk-go-up</property>
</object>
+ <object class="GtkSizeGroup" id="enties_and_comboboxes_sizegroup">
+ <property name="mode">vertical</property>
+ <widgets>
+ <widget name="main_window_search_entry"/>
+ <widget name="main_window_search_anonymity_combobox"/>
+ <widget name="main_window_search_mime_combobox"/>
+ </widgets>
+ </object>
<object class="GtkSizeGroup" id="sizegroup4">
<widgets>
<widget name="GNUNET_GTK_master_publish_dialog_cancel_button"/>
<widget name="GNUNET_GTK_master_publish_dialog_execute_button"/>
</widgets>
</object>
- <object class="GtkSizeGroup" id="sizegroup5">
- <widgets>
- <widget name="GNUNET_GTK_edit_publication_confirm_button"/>
- <widget name="GNUNET_GTK_edit_publication_cancel_button"/>
- </widgets>
- </object>
+ <object class="GtkSizeGroup" id="sizegroup5"/>
</interface>
Modified: gnunet-gtk/contrib/gnunet_fs_gtk_publish_dialog.glade
===================================================================
--- gnunet-gtk/contrib/gnunet_fs_gtk_publish_dialog.glade 2012-01-05
07:48:35 UTC (rev 18990)
+++ gnunet-gtk/contrib/gnunet_fs_gtk_publish_dialog.glade 2012-01-05
07:49:58 UTC (rev 18991)
@@ -2,50 +2,6 @@
<interface>
<requires lib="gtk+" version="2.20"/>
<!-- interface-naming-policy project-wide -->
- <object class="GtkAdjustment" id="adjustment4">
- <property name="upper">100</property>
- <property name="step_increment">1</property>
- <property name="page_increment">10</property>
- <property name="page_size">10</property>
- </object>
- <object class="GtkAdjustment" id="adjustment3">
- <property name="upper">100</property>
- <property name="step_increment">1</property>
- <property name="page_increment">10</property>
- <property name="page_size">10</property>
- </object>
- <object class="GtkAdjustment" id="adjustment2">
- <property name="upper">100</property>
- <property name="step_increment">1</property>
- <property name="page_increment">10</property>
- <property name="page_size">10</property>
- </object>
- <object class="GtkAdjustment" id="adjustment1">
- <property name="upper">100</property>
- <property name="step_increment">1</property>
- <property name="page_increment">10</property>
- <property name="page_size">10</property>
- </object>
- <object class="GtkImage" id="right_stock_image">
- <property name="visible">True</property>
- <property name="stock">gtk-go-forward</property>
- </object>
- <object class="GtkImage" id="left_stock_image">
- <property name="visible">True</property>
- <property name="stock">gtk-go-back</property>
- </object>
- <object class="GtkImage" id="add_stock_image_2">
- <property name="visible">True</property>
- <property name="stock">gtk-add</property>
- </object>
- <object class="GtkImage" id="new_stock_image">
- <property name="visible">True</property>
- <property name="stock">gtk-new</property>
- </object>
- <object class="GtkImage" id="add_stock_image">
- <property name="visible">True</property>
- <property name="stock">gtk-add</property>
- </object>
<object class="GtkTreeStore"
id="GNUNET_GTK_file_sharing_publishing_tree_store">
<columns>
<!-- column-name filesize -->
@@ -60,137 +16,132 @@
<column type="guint"/>
<!-- column-name file_information_struct -->
<column type="gpointer"/>
+ <!-- column-name expiration_time_absolute -->
+ <column type="guint64"/>
+ <!-- column-name replication_level -->
+ <column type="guint"/>
</columns>
</object>
- <object class="GtkDialog" id="GNUNET_GTK_master_publish_dialog">
+ <object class="GtkWindow" id="GNUNET_GTK_master_publish_dialog">
<property name="height_request">500</property>
- <property name="border_width">5</property>
+ <property name="can_focus">False</property>
<property name="title" translatable="yes">Publish content on
GNUnet</property>
- <property name="modal">True</property>
<property name="window_position">center-on-parent</property>
- <property name="type_hint">dialog</property>
- <property name="skip_taskbar_hint">True</property>
- <property name="has_separator">False</property>
- <child internal-child="vbox">
+ <property name="destroy_with_parent">True</property>
+ <property name="transient_for">GNUNET_GTK_main_window</property>
+ <signal name="delete-event"
handler="GNUNET_GTK_master_publish_dialog_delete_event_cb" swapped="no"/>
+ <signal name="realize"
handler="GNUNET_GTK_master_publish_dialog_realize_cb" swapped="no"/>
+ <child>
<object class="GtkVBox" id="GNUNET_GTK_master_publish_dialog_vbox">
<property name="visible">True</property>
- <property name="spacing">2</property>
+ <property name="can_focus">False</property>
+ <property name="border_width">4</property>
+ <property name="spacing">7</property>
<child>
- <object class="GtkVBox"
id="GNUNET_GTK_master_publish_dialog_file_information_vbox">
+ <object class="GtkScrolledWindow"
id="GNUNET_GTK_master_publish_dialog_file_information_scrolled_window">
<property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="hadjustment">adjustment5</property>
+ <property name="vadjustment">adjustment6</property>
+ <property name="hscrollbar_policy">automatic</property>
+ <property name="vscrollbar_policy">automatic</property>
+ <property name="shadow_type">in</property>
<child>
- <object class="GtkScrolledWindow"
id="GNUNET_GTK_master_publish_dialog_file_information_scrolled_window">
+ <object class="GtkTreeView"
id="GNUNET_GTK_master_publish_dialog_file_information_tree_view">
<property name="height_request">100</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="hadjustment">adjustment1</property>
- <property name="vadjustment">adjustment2</property>
- <property name="hscrollbar_policy">automatic</property>
- <property name="vscrollbar_policy">automatic</property>
+ <property
name="model">GNUNET_GTK_file_sharing_publishing_tree_store</property>
+ <property name="hadjustment">adjustment5</property>
+ <property name="vadjustment">adjustment6</property>
+ <property name="headers_clickable">False</property>
+ <property name="search_column">0</property>
+ <property name="enable_tree_lines">True</property>
<child>
- <object class="GtkTreeView"
id="GNUNET_GTK_master_publish_dialog_file_information_tree_view">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property
name="model">GNUNET_GTK_file_sharing_publishing_tree_store</property>
- <property name="hadjustment">adjustment1</property>
- <property name="vadjustment">adjustment2</property>
- <property name="enable_tree_lines">True</property>
+ <object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_file_information_filesize_column">
+ <property name="sizing">autosize</property>
+ <property name="title">Size</property>
<child>
- <object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_file_information_filesize_column">
- <property name="sizing">autosize</property>
- <property name="title"
translatable="yes">Size</property>
- <child>
- <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_file_information_filesize_renderer"/>
- <attributes>
- <attribute name="text">0</attribute>
- </attributes>
- </child>
- </object>
+ <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_file_information_filesize_renderer"/>
+ <attributes>
+ <attribute name="text">0</attribute>
+ </attributes>
</child>
+ </object>
+ </child>
+ <child>
+ <object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_file_information_filename_column">
+ <property name="sizing">autosize</property>
+ <property name="title">Filename</property>
+ <property name="expand">True</property>
+ <property name="clickable">True</property>
+ <property name="reorderable">True</property>
+ <property name="sort_indicator">True</property>
<child>
- <object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_file_information_filename_column">
- <property name="resizable">True</property>
- <property name="sizing">autosize</property>
- <property name="title"
translatable="yes">Filename</property>
- <property name="expand">True</property>
- <property name="clickable">True</property>
- <property name="reorderable">True</property>
- <property name="sort_indicator">True</property>
- <child>
- <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_file_information_filename_renderer"/>
- <attributes>
- <attribute name="text">2</attribute>
- </attributes>
- </child>
- </object>
+ <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_file_information_filename_renderer"/>
+ <attributes>
+ <attribute name="text">2</attribute>
+ </attributes>
</child>
</object>
</child>
</object>
- <packing>
- <property name="expand">True</property>
- <property name="fill">True</property>
- <property name="position">0</property>
- </packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
- <property name="padding">8</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkHBox"
id="GNUNET_GTK_master_dialog_modification_button_hbox">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<child>
<object class="GtkTable"
id="GNUNET_GTK_master_publish_dialog_action_table">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="n_rows">2</property>
<property name="n_columns">3</property>
<child>
<object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_add_button">
- <property name="label">Add _File</property>
+ <property name="label" translatable="yes">Add
_File</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_action_appearance">False</property>
- <property name="image">add_stock_image</property>
<property name="use_underline">True</property>
<signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_add_button_clicked_cb" swapped="no"/>
</object>
</child>
<child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_open_button">
- <property name="label">Add _Directory</property>
+ <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_new_button">
+ <property name="label" translatable="yes">_Create empty
directory</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_action_appearance">False</property>
- <property name="image">add_stock_image_2</property>
+ <property name="image">new_stock_image</property>
<property name="use_underline">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_open_button_clicked_cb" swapped="no"/>
+ <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_new_button_clicked_cb" swapped="no"/>
</object>
<packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
+ <property name="left_attach">1</property>
+ <property name="right_attach">3</property>
</packing>
</child>
<child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_delete_button">
- <property name="label">gtk-delete</property>
+ <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_open_button">
+ <property name="label" translatable="yes">Add
_Directory</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
- <property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <property name="use_stock">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_delete_button_clicked_cb"
swapped="no"/>
+ <property name="use_underline">True</property>
+ <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_open_button_clicked_cb" swapped="no"/>
</object>
<packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
<property name="top_attach">1</property>
<property name="bottom_attach">2</property>
</packing>
@@ -198,11 +149,11 @@
<child>
<object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_edit_button">
<property name="label">gtk-edit</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
<signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_edit_button_clicked_cb" swapped="no"/>
</object>
@@ -214,19 +165,21 @@
</packing>
</child>
<child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_new_button">
- <property name="label">_Create empty directory</property>
+ <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_delete_button">
+ <property name="label">gtk-delete</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <property name="image">new_stock_image</property>
- <property name="use_underline">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_new_button_clicked_cb" swapped="no"/>
+ <property name="use_stock">True</property>
+ <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_delete_button_clicked_cb"
swapped="no"/>
</object>
<packing>
- <property name="left_attach">1</property>
+ <property name="left_attach">2</property>
<property name="right_attach">3</property>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
</packing>
</child>
</object>
@@ -240,17 +193,18 @@
<child>
<object class="GtkTable"
id="GNUNET_GTK_master_publish_dialog_arrow_table">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
<property name="n_rows">2</property>
<property name="n_columns">3</property>
<property name="homogeneous">True</property>
<child>
<object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_up_button">
<property name="label">gtk-go-up</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
<property name="use_stock">True</property>
<signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_up_button_clicked_cb" swapped="no"/>
</object>
@@ -260,48 +214,48 @@
</packing>
</child>
<child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_down_button">
- <property name="label">gtk-go-down</property>
+ <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_left_button">
+ <property name="label" translatable="yes">_Left</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <property name="use_stock">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_down_button_clicked_cb" swapped="no"/>
+ <property name="image">left_stock_image</property>
+ <property name="use_underline">True</property>
+ <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_left_button_clicked_cb" swapped="no"/>
</object>
<packing>
- <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="GtkButton"
id="GNUNET_GTK_master_publish_dialog_left_button">
- <property name="label">_Left</property>
+ <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_down_button">
+ <property name="label">gtk-go-down</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <property name="image">left_stock_image</property>
- <property name="use_underline">True</property>
- <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_left_button_clicked_cb" swapped="no"/>
+ <property name="use_stock">True</property>
+ <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_down_button_clicked_cb" swapped="no"/>
</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="GtkButton"
id="GNUNET_GTK_master_publish_dialog_right_button">
- <property name="label">_Right</property>
+ <property name="label" translatable="yes">_Right</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
<property name="image">right_stock_image</property>
<property name="use_underline">True</property>
<signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_right_button_clicked_cb"
swapped="no"/>
@@ -336,27 +290,29 @@
</child>
<child>
<object class="GtkScrolledWindow"
id="GNUNET_GTK_master_publish_dialog_pseudonym_scrolled_window">
- <property name="height_request">100</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="hadjustment">adjustment3</property>
- <property name="vadjustment">adjustment4</property>
+ <property name="hadjustment">adjustment7</property>
+ <property name="vadjustment">adjustment8</property>
<property name="hscrollbar_policy">automatic</property>
<property name="vscrollbar_policy">automatic</property>
+ <property name="shadow_type">in</property>
<child>
<object class="GtkTreeView"
id="GNUNET_GTK_master_publish_dialog_pseudonym_tree_view">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property
name="model">GNUNET_GTK_pseudonym_tree_store</property>
- <property name="hadjustment">adjustment3</property>
- <property name="vadjustment">adjustment4</property>
+ <property name="hadjustment">adjustment7</property>
+ <property name="vadjustment">adjustment8</property>
+ <property name="headers_clickable">False</property>
<property name="reorderable">True</property>
+ <property name="search_column">0</property>
<property name="rubber_banding">True</property>
<property name="enable_grid_lines">both</property>
<child>
<object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_pseudonym_name_column">
<property name="resizable">True</property>
- <property name="title"
translatable="yes">Pseudonym</property>
+ <property name="title">Pseudonym</property>
<property name="clickable">True</property>
<property name="reorderable">True</property>
<property name="sort_indicator">True</property>
@@ -370,14 +326,11 @@
</child>
<child>
<object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_pseudonym_identifier_column">
- <property name="resizable">True</property>
<property name="sizing">autosize</property>
- <property name="title" translatable="yes">Current
identifier</property>
+ <property name="title">Current identifier</property>
<property name="clickable">True</property>
<child>
- <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_pseudonym_identifier_renderer">
- <signal name="edited"
handler="GNUNET_GTK_master_publish_dialog_pseudonym_identifier_renderer_edited_cb"
swapped="no"/>
- </object>
+ <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_pseudonym_identifier_renderer"/>
<attributes>
<attribute name="editable">8</attribute>
<attribute name="text">2</attribute>
@@ -387,14 +340,11 @@
</child>
<child>
<object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_pseudonym_updates_column">
- <property name="resizable">True</property>
<property name="sizing">autosize</property>
<property name="fixed_width">5</property>
- <property name="title" translatable="yes">Update
identifier</property>
+ <property name="title">Update identifier</property>
<child>
- <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_pseudonym_updates_renderer">
- <signal name="edited"
handler="GNUNET_GTK_master_publish_dialog_pseudonym_updates_renderer_edited_cb"
swapped="no"/>
- </object>
+ <object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_pseudonym_updates_renderer"/>
<attributes>
<attribute name="editable">7</attribute>
<attribute name="text">5</attribute>
@@ -404,7 +354,7 @@
</child>
<child>
<object class="GtkTreeViewColumn"
id="GNUNET_GTK_master_publish_dialog_pseudonym_description_column">
- <property name="title" translatable="yes">Description (of
existing content)</property>
+ <property name="title">Description (of existing
content)</property>
<child>
<object class="GtkCellRendererText"
id="GNUNET_GTK_master_publish_dialog_pseudonym_description_renderer">
<property name="wrap_mode">word</property>
@@ -419,60 +369,59 @@
</child>
</object>
<packing>
- <property name="expand">False</property>
+ <property name="expand">True</property>
<property name="fill">True</property>
<property name="position">2</property>
</packing>
</child>
- <child internal-child="action_area">
- <object class="GtkHButtonBox"
id="GNUNET_GTK_master_publish_dialog_master_action_area">
+ <child>
+ <object class="GtkHBox"
id="GNUNET_GTK_master_publish_dialog_master_buttons_hbox">
<property name="visible">True</property>
- <property name="layout_style">end</property>
+ <property name="can_focus">False</property>
+ <property name="spacing">2</property>
<child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_cancel_button">
- <property name="label">gtk-cancel</property>
+ <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_execute_button">
+ <property name="label" translatable="yes">_Execute</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_action_appearance">False</property>
- <property name="use_stock">True</property>
+ <property name="use_underline">True</property>
+ <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_execute_button_clicked_cb"
swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
+ <property name="pack_type">end</property>
<property name="position">0</property>
</packing>
</child>
<child>
- <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_execute_button">
- <property name="label">gtk-execute</property>
+ <object class="GtkButton"
id="GNUNET_GTK_master_publish_dialog_cancel_button">
+ <property name="label" translatable="yes">_Cancel</property>
+ <property name="use_action_appearance">False</property>
<property name="visible">True</property>
- <property name="sensitive">False</property>
<property name="can_focus">True</property>
<property name="receives_default">True</property>
- <property name="use_action_appearance">False</property>
- <property name="use_stock">True</property>
+ <property name="use_underline">True</property>
+ <signal name="clicked"
handler="GNUNET_GTK_master_publish_dialog_cancel_button_clicked_cb"
swapped="no"/>
</object>
<packing>
<property name="expand">False</property>
<property name="fill">False</property>
+ <property name="pack_type">end</property>
<property name="position">1</property>
</packing>
</child>
</object>
<packing>
<property name="expand">False</property>
- <property name="fill">True</property>
- <property name="pack_type">end</property>
+ <property name="fill">False</property>
<property name="position">3</property>
</packing>
</child>
</object>
</child>
- <action-widgets>
- <action-widget
response="-6">GNUNET_GTK_master_publish_dialog_cancel_button</action-widget>
- <action-widget
response="-5">GNUNET_GTK_master_publish_dialog_execute_button</action-widget>
- </action-widgets>
</object>
<object class="GtkTreeStore" id="GNUNET_GTK_pseudonym_tree_store">
<columns>
@@ -496,4 +445,35 @@
<column type="gboolean"/>
</columns>
</object>
+ <object class="GtkAdjustment" id="adjustment5">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkAdjustment" id="adjustment6">
+ <property name="upper">100</property>
+ <property name="step_increment">1</property>
+ <property name="page_increment">10</property>
+ </object>
+ <object class="GtkImage" id="left_stock_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-go-back</property>
+ </object>
+ <object class="GtkImage" id="new_stock_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-new</property>
+ </object>
+ <object class="GtkImage" id="right_stock_image">
+ <property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property name="stock">gtk-go-forward</property>
+ </object>
+ <object class="GtkSizeGroup" id="sizegroup1">
+ <widgets>
+ <widget name="GNUNET_GTK_master_publish_dialog_execute_button"/>
+ <widget name="GNUNET_GTK_master_publish_dialog_cancel_button"/>
+ </widgets>
+ </object>
</interface>
Modified: gnunet-gtk/src/fs/gnunet-fs-gtk-main_window_file_publish.c
===================================================================
--- gnunet-gtk/src/fs/gnunet-fs-gtk-main_window_file_publish.c 2012-01-05
07:48:35 UTC (rev 18990)
+++ gnunet-gtk/src/fs/gnunet-fs-gtk-main_window_file_publish.c 2012-01-05
07:49:58 UTC (rev 18991)
@@ -30,6 +30,38 @@
#define MARKER_DIR_FILE_SIZE "-"
+struct MainPublishingDialogContext
+{
+ GtkBuilder *builder;
+ GtkBuilder *main_window_builder;
+ GtkTreeView *pseudonym_treeview;
+ GtkTreeSelection *pseudonym_selection;
+ GtkTreeModel *pseudonym_treemodel;
+ GtkWidget *up_button;
+ GtkWidget *down_button;
+ GtkWidget *left_button;
+ GtkWidget *right_button;
+ GtkWidget *delete_button;
+ GtkWidget *edit_button;
+ GtkWidget *execute_button;
+ GtkTreeView *file_info_treeview;
+ GtkTreeSelection *file_info_selection;
+ GtkTreeModel *file_info_treemodel;
+ GtkWindow *master_pubdialog;
+
+ gulong open_directory_handler_id;
+ gulong open_file_handler_id;
+};
+
+void
+GNUNET_GTK_publish_file_dialog_response_cb (GtkDialog * dialog,
+ gint response_id,
+ struct MainPublishingDialogContext
*ctx);
+
+static void
+selection_changed_cb (GtkTreeSelection * ts, struct
MainPublishingDialogContext *ctx);
+
+
/**
* Check if two GtkTreeIters refer to the same element.
*
@@ -53,136 +85,129 @@
return (0 == ret) ? GNUNET_YES : GNUNET_NO;
}
+static void
+init_ctx (struct MainPublishingDialogContext *ctx)
+{
+ ctx->pseudonym_treeview = GTK_TREE_VIEW (gtk_builder_get_object
+ (ctx->builder, "GNUNET_GTK_master_publish_dialog_pseudonym_tree_view"));
+ ctx->up_button = GTK_WIDGET (gtk_builder_get_object
+ (ctx->builder, "GNUNET_GTK_master_publish_dialog_up_button"));
+ ctx->down_button = GTK_WIDGET (gtk_builder_get_object
+ (ctx->builder, "GNUNET_GTK_master_publish_dialog_down_button"));
+ ctx->left_button = GTK_WIDGET (gtk_builder_get_object
+ (ctx->builder, "GNUNET_GTK_master_publish_dialog_left_button"));
+ ctx->right_button = GTK_WIDGET (gtk_builder_get_object
+ (ctx->builder, "GNUNET_GTK_master_publish_dialog_right_button"));
+ ctx->delete_button = GTK_WIDGET (gtk_builder_get_object
+ (ctx->builder, "GNUNET_GTK_master_publish_dialog_delete_button"));
+ ctx->edit_button = GTK_WIDGET (gtk_builder_get_object
+ (ctx->builder, "GNUNET_GTK_master_publish_dialog_edit_button"));
+ ctx->execute_button = GTK_WIDGET (gtk_builder_get_object
+ (ctx->builder, "GNUNET_GTK_master_publish_dialog_execute_button"));
+ ctx->file_info_treeview = GTK_TREE_VIEW (gtk_builder_get_object
+ (ctx->builder,
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
+
+ ctx->master_pubdialog =
+ GTK_WINDOW (gtk_builder_get_object
+ (ctx->builder, "GNUNET_GTK_master_publish_dialog"));
+
+ ctx->file_info_selection = gtk_tree_view_get_selection
(ctx->file_info_treeview);
+ ctx->file_info_treemodel = gtk_tree_view_get_model (ctx->file_info_treeview);
+ ctx->pseudonym_selection = gtk_tree_view_get_selection
(ctx->pseudonym_treeview);
+ ctx->pseudonym_treemodel = gtk_tree_view_get_model (ctx->pseudonym_treeview);
+
+ g_signal_connect (G_OBJECT (ctx->file_info_selection), "changed",
+ G_CALLBACK (selection_changed_cb), ctx);
+ g_signal_connect (G_OBJECT (ctx->pseudonym_selection), "changed",
+ G_CALLBACK (selection_changed_cb), ctx);
+}
+
/**
* Update selectivity in the master dialog.
*/
static void
-update_selectivity (gpointer data)
+update_selectivity (struct MainPublishingDialogContext *ctx)
{
- GtkTreeView *tv;
- GtkTreeModel *tm;
- GtkTreeModel *ptm;
- GtkTreeSelection *sel;
GtkTreeIter iter;
GtkTreeIter parent;
GtkTreeIter pred;
- GtkWidget *up_button;
- GtkWidget *down_button;
- GtkWidget *left_button;
- GtkWidget *right_button;
- GtkWidget *delete_button;
- GtkWidget *edit_button;
- GtkWidget *execute_button;
int is_dir;
struct GNUNET_FS_FileInformation *fip;
int ns_ok;
gchar *namespace_id;
- GtkBuilder *builder;
- builder = GTK_BUILDER (data);
-
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_pseudonym_tree_view"));
- sel = gtk_tree_view_get_selection (tv);
ns_ok = GNUNET_YES;
- if (TRUE == gtk_tree_selection_get_selected (sel, &ptm, &iter))
+ if (TRUE == gtk_tree_selection_get_selected (ctx->pseudonym_selection, NULL,
&iter))
{
- gtk_tree_model_get (ptm, &iter, 2, &namespace_id, -1);
+ gtk_tree_model_get (ctx->pseudonym_treemodel, &iter, 2, &namespace_id, -1);
if (namespace_id == NULL)
ns_ok = GNUNET_NO;
else
g_free (namespace_id);
}
- up_button =
- GTK_WIDGET (gtk_builder_get_object
- (builder, "GNUNET_GTK_master_publish_dialog_up_button"));
- down_button =
- GTK_WIDGET (gtk_builder_get_object
- (builder, "GNUNET_GTK_master_publish_dialog_down_button"));
- left_button =
- GTK_WIDGET (gtk_builder_get_object
- (builder, "GNUNET_GTK_master_publish_dialog_left_button"));
- right_button =
- GTK_WIDGET (gtk_builder_get_object
- (builder, "GNUNET_GTK_master_publish_dialog_right_button"));
- delete_button =
- GTK_WIDGET (gtk_builder_get_object
- (builder, "GNUNET_GTK_master_publish_dialog_delete_button"));
- edit_button =
- GTK_WIDGET (gtk_builder_get_object
- (builder, "GNUNET_GTK_master_publish_dialog_edit_button"));
- execute_button =
- GTK_WIDGET (gtk_builder_get_object
- (builder,
"GNUNET_GTK_master_publish_dialog_execute_button"));
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
- sel = gtk_tree_view_get_selection (tv);
- tm = gtk_tree_view_get_model (tv);
- if ((gtk_tree_model_get_iter_first (tm, &iter)) && (ns_ok == GNUNET_YES))
- gtk_widget_set_sensitive (execute_button, TRUE);
+ if ((gtk_tree_model_get_iter_first (ctx->file_info_treemodel, &iter)) &&
(ns_ok == GNUNET_YES))
+ gtk_widget_set_sensitive (ctx->execute_button, TRUE);
else
- gtk_widget_set_sensitive (execute_button, FALSE);
- if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+ gtk_widget_set_sensitive (ctx->execute_button, FALSE);
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&iter))
{
- gtk_widget_set_sensitive (up_button, FALSE);
- gtk_widget_set_sensitive (down_button, FALSE);
- gtk_widget_set_sensitive (left_button, FALSE);
- gtk_widget_set_sensitive (right_button, FALSE);
- gtk_widget_set_sensitive (delete_button, FALSE);
- gtk_widget_set_sensitive (edit_button, FALSE);
+ gtk_widget_set_sensitive (ctx->up_button, FALSE);
+ gtk_widget_set_sensitive (ctx->down_button, FALSE);
+ gtk_widget_set_sensitive (ctx->left_button, FALSE);
+ gtk_widget_set_sensitive (ctx->right_button, FALSE);
+ gtk_widget_set_sensitive (ctx->delete_button, FALSE);
+ gtk_widget_set_sensitive (ctx->edit_button, FALSE);
return;
}
- gtk_widget_set_sensitive (delete_button, TRUE);
- gtk_widget_set_sensitive (edit_button, TRUE);
+ gtk_widget_set_sensitive (ctx->delete_button, TRUE);
+ gtk_widget_set_sensitive (ctx->edit_button, TRUE);
/* now figure out which move operations are currently legal */
- GNUNET_assert (TRUE == gtk_tree_selection_get_selected (sel, NULL, &iter));
- if (TRUE == gtk_tree_model_iter_next (tm, &iter))
+ GNUNET_assert (TRUE == gtk_tree_selection_get_selected
(ctx->file_info_selection, NULL, &iter));
+ if (TRUE == gtk_tree_model_iter_next (ctx->file_info_treemodel, &iter))
{
- gtk_widget_set_sensitive (down_button, TRUE);
+ gtk_widget_set_sensitive (ctx->down_button, TRUE);
}
else
{
- gtk_widget_set_sensitive (down_button, FALSE);
+ gtk_widget_set_sensitive (ctx->down_button, FALSE);
}
- GNUNET_assert (TRUE == gtk_tree_selection_get_selected (sel, NULL, &iter));
- if (TRUE == gtk_tree_model_iter_parent (tm, &parent, &iter))
+ GNUNET_assert (TRUE == gtk_tree_selection_get_selected
(ctx->file_info_selection, NULL, &iter));
+ if (TRUE == gtk_tree_model_iter_parent (ctx->file_info_treemodel, &parent,
&iter))
{
- gtk_widget_set_sensitive (left_button, TRUE);
- GNUNET_assert (TRUE == gtk_tree_model_iter_children (tm, &pred, &parent));
+ gtk_widget_set_sensitive (ctx->left_button, TRUE);
+ GNUNET_assert (TRUE == gtk_tree_model_iter_children
(ctx->file_info_treemodel, &pred, &parent));
}
else
{
- gtk_widget_set_sensitive (left_button, FALSE);
- GNUNET_assert (TRUE == gtk_tree_model_get_iter_first (tm, &pred));
+ gtk_widget_set_sensitive (ctx->left_button, FALSE);
+ GNUNET_assert (TRUE == gtk_tree_model_get_iter_first
(ctx->file_info_treemodel, &pred));
}
/* iterate over 'next' of pred to find out if our
* predecessor is a directory! */
is_dir = GNUNET_SYSERR;
- while (GNUNET_YES != gtk_tree_iter_equals (tm, &pred, &iter))
+ while (GNUNET_YES != gtk_tree_iter_equals (ctx->file_info_treemodel, &pred,
&iter))
{
- gtk_tree_model_get (tm, &pred, 5, &fip, -1);
+ gtk_tree_model_get (ctx->file_info_treemodel, &pred, 5, &fip, -1);
is_dir = GNUNET_FS_file_information_is_directory (fip);
- GNUNET_assert (TRUE == gtk_tree_model_iter_next (tm, &pred));
+ GNUNET_assert (TRUE == gtk_tree_model_iter_next (ctx->file_info_treemodel,
&pred));
}
if (GNUNET_YES == is_dir)
{
- gtk_widget_set_sensitive (right_button, TRUE);
+ gtk_widget_set_sensitive (ctx->right_button, TRUE);
}
else
{
- gtk_widget_set_sensitive (right_button, FALSE);
+ gtk_widget_set_sensitive (ctx->right_button, FALSE);
}
if (GNUNET_SYSERR != is_dir)
{
- gtk_widget_set_sensitive (up_button, TRUE);
+ gtk_widget_set_sensitive (ctx->up_button, TRUE);
}
else
{
- gtk_widget_set_sensitive (up_button, FALSE);
+ gtk_widget_set_sensitive (ctx->up_button, FALSE);
}
}
@@ -196,7 +221,7 @@
* @param iter parent entry, or NULL for top-level addition
*/
static void
-add_file_at_iter (gpointer data, const char *filename,
+add_file_at_iter (struct MainPublishingDialogContext *ctx, const char
*filename,
const struct GNUNET_FS_BlockOptions *bo, int do_index,
GtkTreeIter * iter)
{
@@ -207,15 +232,11 @@
const char *short_fn;
struct GNUNET_CONTAINER_MetaData *meta;
struct GNUNET_FS_Uri *ksk_uri;
- GtkTreeStore *ts;
GtkTreeIter pos;
char *file_size_fancy;
const char *ss;
struct stat sbuf;
- GtkBuilder *builder;
- builder = GTK_BUILDER (data);
-
if (0 != STAT (filename, &sbuf))
return;
if (S_ISDIR (sbuf.st_mode))
@@ -230,9 +251,6 @@
return;
}
}
- ts = GTK_TREE_STORE (gtk_builder_get_object
- (builder,
- "GNUNET_GTK_file_sharing_publishing_tree_store"));
meta = GNUNET_CONTAINER_meta_data_create ();
GNUNET_FS_meta_data_extract_from_file (meta, filename,
@@ -247,9 +265,9 @@
EXTRACTOR_METAFORMAT_UTF8, "text/plain",
short_fn, strlen (short_fn) + 1);
ksk_uri = GNUNET_FS_uri_ksk_create_from_meta_data (meta);
- gtk_tree_store_insert_before (ts, &pos, iter, NULL);
- path = gtk_tree_model_get_path (GTK_TREE_MODEL (ts), &pos);
- row_reference = gtk_tree_row_reference_new (GTK_TREE_MODEL (ts), path);
+ gtk_tree_store_insert_before (GTK_TREE_STORE (ctx->file_info_treemodel),
&pos, iter, NULL);
+ path = gtk_tree_model_get_path (ctx->file_info_treemodel, &pos);
+ row_reference = gtk_tree_row_reference_new (ctx->file_info_treemodel, path);
gtk_tree_path_free (path);
fi = GNUNET_FS_file_information_create_from_file (GNUNET_FS_GTK_get_fs_handle
(), row_reference,
filename,
@@ -261,14 +279,14 @@
file_size_fancy = GNUNET_strdup (MARKER_DIR_FILE_SIZE);
else
file_size_fancy = GNUNET_STRINGS_byte_size_fancy (file_size);
- gtk_tree_store_set (ts, &pos, 0, file_size_fancy, 1, (gboolean) do_index, 2,
+ gtk_tree_store_set (GTK_TREE_STORE (ctx->file_info_treemodel), &pos, 0,
file_size_fancy, 1, (gboolean) do_index, 2,
short_fn, 3, (guint) bo->anonymity_level, 4,
(guint) bo->content_priority, 5, fi,
6, (guint64) bo->expiration_time.abs_value,
7, (guint) bo->replication_level,
-1);
GNUNET_free (file_size_fancy);
- update_selectivity (data);
+ update_selectivity (ctx);
}
@@ -281,7 +299,7 @@
* @param pos iterator to set to the location of the new element
*/
static void
-create_dir_at_iter (gpointer data, const char *name,
+create_dir_at_iter (struct MainPublishingDialogContext *ctx, const char *name,
const struct GNUNET_FS_BlockOptions *bo, GtkTreeIter *
iter,
GtkTreeIter * pos)
{
@@ -289,35 +307,27 @@
GtkTreeRowReference *row_reference;
GtkTreePath *path;
struct GNUNET_CONTAINER_MetaData *meta;
- GtkTreeStore *ts;
- GtkBuilder *builder;
-
- builder = GTK_BUILDER (data);
-
- ts = GTK_TREE_STORE (gtk_builder_get_object
- (builder,
- "GNUNET_GTK_file_sharing_publishing_tree_store"));
meta = GNUNET_CONTAINER_meta_data_create ();
GNUNET_FS_meta_data_make_directory (meta);
GNUNET_CONTAINER_meta_data_insert (meta, "<gnunet-gtk>",
EXTRACTOR_METATYPE_FILENAME,
EXTRACTOR_METAFORMAT_UTF8, "text/plain",
name, strlen (name) + 1);
- gtk_tree_store_insert_before (ts, pos, iter, NULL);
- path = gtk_tree_model_get_path (GTK_TREE_MODEL (ts), pos);
- row_reference = gtk_tree_row_reference_new (GTK_TREE_MODEL (ts), path);
+ gtk_tree_store_insert_before (GTK_TREE_STORE (ctx->file_info_treemodel),
pos, iter, NULL);
+ path = gtk_tree_model_get_path (ctx->file_info_treemodel, pos);
+ row_reference = gtk_tree_row_reference_new (ctx->file_info_treemodel, path);
gtk_tree_path_free (path);
fi = GNUNET_FS_file_information_create_empty_directory
(GNUNET_FS_GTK_get_fs_handle (), row_reference, NULL, meta, bo);
GNUNET_CONTAINER_meta_data_destroy (meta);
- gtk_tree_store_set (ts, pos, 0, MARKER_DIR_FILE_SIZE, 1, (gboolean)
GNUNET_NO,
+ gtk_tree_store_set (GTK_TREE_STORE (ctx->file_info_treemodel), pos, 0,
MARKER_DIR_FILE_SIZE, 1, (gboolean) GNUNET_NO,
2, name, 3, (guint) bo->anonymity_level, 4,
(guint) bo->content_priority, 5, fi,
6, (guint64) bo->expiration_time.abs_value,
7, (guint) bo->replication_level,
-1);
- update_selectivity (data);
+ update_selectivity (ctx);
}
@@ -379,9 +389,9 @@
GtkTreeIter *parent;
/**
- * Tree store to manipulate.
+ * Master publication dialog context (used to access treestore)
*/
- GtkTreeStore *ts;
+ struct MainPublishingDialogContext *ctx;
/**
* Map from the hash over the keyword to an 'struct KeywordCounter'
@@ -486,7 +496,7 @@
EXTRACTOR_METAFORMAT_UTF8, "text/plain",
short_fn, strlen (short_fn) + 1);
- gtk_tree_store_insert_before (adc->ts, &pd->iter, adc->parent, NULL);
+ gtk_tree_store_insert_before (GTK_TREE_STORE
(adc->ctx->file_info_treemodel), &pd->iter, adc->parent, NULL);
GNUNET_CRYPTO_hash (filename, strlen (filename), &hc);
GNUNET_CONTAINER_multihashmap_put (adc->metamap, &hc, pd,
@@ -616,7 +626,7 @@
GNUNET_CRYPTO_hash (filename, strlen (filename), &hc);
pd = GNUNET_CONTAINER_multihashmap_get (adc->metamap, &hc);
- add_entry_to_ts (adc->ts, &pd->iter, filename, &adc->bo, adc->do_index,
+ add_entry_to_ts (GTK_TREE_STORE (adc->ctx->file_info_treemodel), &pd->iter,
filename, &adc->bo, adc->do_index,
pd->ksk_uri, adc->exclude_ksk, pd->meta);
GNUNET_CONTAINER_multihashmap_remove (adc->metamap, &hc, pd);
GNUNET_free (pd);
@@ -726,7 +736,7 @@
adc->keywordcounter = GNUNET_CONTAINER_multihashmap_create (1024);
adc->dir_entry_count = 0;
pd = GNUNET_malloc (sizeof (struct PublishData));
- gtk_tree_store_insert_before (adc->ts, &pd->iter, parent, NULL);
+ gtk_tree_store_insert_before (GTK_TREE_STORE
(adc->ctx->file_info_treemodel), &pd->iter, parent, NULL);
adc->parent = &pd->iter;
GNUNET_DISK_directory_scan (filename, &scan_directory, adc);
pd->ksk_uri = process_keywords (adc);
@@ -771,7 +781,7 @@
else
{
GNUNET_assert (kcm == NULL);
- add_entry_to_ts (adc->ts, &pd->iter, filename, &adc->bo, adc->do_index,
+ add_entry_to_ts (GTK_TREE_STORE (adc->ctx->file_info_treemodel),
&pd->iter, filename, &adc->bo, adc->do_index,
pd->ksk_uri, NULL, pd->meta);
}
GNUNET_FS_uri_destroy (adc->exclude_ksk);
@@ -785,6 +795,12 @@
}
+static void
+add_dir_finish (struct AddDirContext *scan_ctx)
+{
+ GNUNET_free (scan_ctx);
+}
+
/**
* Add a directory to the tree model.
*
@@ -793,15 +809,12 @@
* @param do_index should we index?
*/
static void
-add_dir (gpointer data, const char *filename,
+add_dir (struct MainPublishingDialogContext *ctx, const char *filename,
const struct GNUNET_FS_BlockOptions *bo, int do_index)
{
struct stat sbuf;
- struct AddDirContext scan_ctx;
- GtkBuilder *builder;
+ struct AddDirContext *scan_ctx;
- builder = GTK_BUILDER (data);
-
if (0 != STAT (filename, &sbuf))
return;
if (!S_ISDIR (sbuf.st_mode))
@@ -809,14 +822,12 @@
GNUNET_break (0);
return;
}
- memset (&scan_ctx, 0, sizeof (scan_ctx));
- scan_ctx.bo = *bo;
- scan_ctx.do_index = do_index;
- scan_ctx.ts =
- GTK_TREE_STORE (gtk_builder_get_object
- (builder,
- "GNUNET_GTK_file_sharing_publishing_tree_store"));
- scan_directory (&scan_ctx, filename);
+ scan_ctx = GNUNET_malloc (sizeof (struct AddDirContext));
+ scan_ctx->bo = *bo;
+ scan_ctx->do_index = do_index;
+ scan_ctx->ctx = ctx;
+ scan_directory (scan_ctx, filename);
+ add_dir_finish (scan_ctx);
}
@@ -824,9 +835,9 @@
static void
-selection_changed_cb (GtkTreeSelection * ts, gpointer user_data)
+selection_changed_cb (GtkTreeSelection * ts, struct
MainPublishingDialogContext *ctx)
{
- update_selectivity (user_data);
+ update_selectivity (ctx);
}
@@ -846,11 +857,10 @@
* Move an entry in the tree.
*/
static void
-move_entry (gpointer data, GtkTreeModel * tm, GtkTreeIter * old,
+move_entry (struct MainPublishingDialogContext *ctx, GtkTreeModel * tm,
GtkTreeIter * old,
GtkTreeIter * newpos, int dsel)
{
struct GNUNET_FS_FileInformation *fip;
- GtkTreeView *tv;
gint do_index;
gchar *short_fn;
guint anonymity_level;
@@ -859,14 +869,11 @@
guint64 expiration_time_abs;
char *fsf;
GtkTreePath *path;
- GtkTreeSelection *sel;
GtkTreeIter child;
GtkTreeIter cnewpos;
GtkTreeRowReference *rr;
GtkTreeRowReference *rr2;
- GtkBuilder *builder;
- builder = GTK_BUILDER (data);
gtk_tree_model_get (tm, old, 0, &fsf, 1, &do_index, 2, &short_fn, 3,
&anonymity_level, 4, &priority, 5, &fip,
6, &expiration_time_abs, 7, &replication_level, -1);
@@ -875,14 +882,8 @@
5, fip,
6, expiration_time_abs,
7, replication_level, -1);
- sel = NULL;
- tv = NULL;
if (dsel == GNUNET_YES)
{
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
- sel = gtk_tree_view_get_selection (tv);
path = gtk_tree_model_get_path (tm, newpos);
rr = gtk_tree_row_reference_new (tm, path);
gtk_tree_path_free (path);
@@ -900,7 +901,7 @@
gtk_tree_path_free (path);
gtk_tree_store_insert_before (GTK_TREE_STORE (tm), &cnewpos, newpos,
NULL);
- move_entry (data, tm, &child, &cnewpos, GNUNET_NO);
+ move_entry (ctx, tm, &child, &cnewpos, GNUNET_NO);
path = gtk_tree_row_reference_get_path (rr2);
gtk_tree_row_reference_free (rr2);
GNUNET_assert (TRUE == gtk_tree_model_get_iter (tm, &child, path));
@@ -914,12 +915,12 @@
{
path = gtk_tree_row_reference_get_path (rr);
gtk_tree_row_reference_free (rr);
- gtk_tree_view_expand_to_path (tv, path);
+ gtk_tree_view_expand_to_path (ctx->file_info_treeview, path);
GNUNET_assert (TRUE == gtk_tree_model_get_iter (tm, newpos, path));
gtk_tree_path_free (path);
- gtk_tree_selection_select_iter (sel, newpos);
+ gtk_tree_selection_select_iter (ctx->file_info_selection, newpos);
}
- update_selectivity (data);
+ update_selectivity (ctx);
}
@@ -929,24 +930,18 @@
*/
void GNUNET_GTK_master_publish_dialog_pseudonym_updates_renderer_edited_cb
(GtkCellRendererText * renderer, gchar * cpath, gchar * new_text,
- gpointer user_data)
+ struct MainPublishingDialogContext *ctx)
{
GtkTreeIter iter;
- GtkTreeStore *ts;
- GtkBuilder *builder;
- builder = GTK_BUILDER (user_data);
- ts = GTK_TREE_STORE (gtk_builder_get_object
- (builder, "GNUNET_GTK_pseudonym_tree_store"));
-
if (TRUE !=
- gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (ts), &iter, cpath))
+ gtk_tree_model_get_iter_from_string (ctx->pseudonym_treemodel, &iter,
cpath))
{
GNUNET_break (0);
return;
}
- gtk_tree_store_set (ts, &iter, 5, new_text, -1);
- update_selectivity (user_data);
+ gtk_tree_store_set (GTK_TREE_STORE (ctx->pseudonym_treemodel), &iter, 5,
new_text, -1);
+ update_selectivity (ctx);
}
@@ -956,150 +951,115 @@
*/
void GNUNET_GTK_master_publish_dialog_pseudonym_identifier_renderer_edited_cb
(GtkCellRendererText * renderer, gchar * cpath, gchar * new_text,
- gpointer user_data)
+ struct MainPublishingDialogContext *ctx)
{
GtkTreeIter iter;
- GtkTreeStore *ts;
- GtkBuilder *builder;
- builder = GTK_BUILDER (user_data);
- ts = GTK_TREE_STORE (gtk_builder_get_object
- (builder, "GNUNET_GTK_pseudonym_tree_store"));
-
if (TRUE !=
- gtk_tree_model_get_iter_from_string (GTK_TREE_MODEL (ts), &iter, cpath))
+ gtk_tree_model_get_iter_from_string (ctx->pseudonym_treemodel, &iter,
cpath))
{
GNUNET_break (0);
return;
}
- gtk_tree_store_set (ts, &iter, 2, new_text, -1);
- update_selectivity (user_data);
+ gtk_tree_store_set (GTK_TREE_STORE (ctx->pseudonym_treemodel), &iter, 2,
new_text, -1);
+ update_selectivity (ctx);
}
void
GNUNET_GTK_master_publish_dialog_right_button_clicked_cb (GtkWidget * dummy,
- gpointer data)
+ struct
MainPublishingDialogContext *ctx)
{
- GtkTreeView *tv;
- GtkTreeModel *tm;
- GtkTreeSelection *sel;
GtkTreeIter iter;
GtkTreeIter parent;
GtkTreeIter pred;
GtkTreeIter prev;
GtkTreeIter pos;
- GtkBuilder *builder;
- builder = GTK_BUILDER (data);
-
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
- sel = gtk_tree_view_get_selection (tv);
- if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&iter))
{
GNUNET_break (0);
return;
}
- if (TRUE == gtk_tree_model_iter_parent (tm, &parent, &iter))
+ if (TRUE == gtk_tree_model_iter_parent (ctx->file_info_treemodel, &parent,
&iter))
{
- GNUNET_assert (TRUE == gtk_tree_model_iter_children (tm, &pred, &parent));
+ GNUNET_assert (TRUE == gtk_tree_model_iter_children
(ctx->file_info_treemodel, &pred, &parent));
}
- else if (TRUE != gtk_tree_model_get_iter_first (tm, &pred))
+ else if (TRUE != gtk_tree_model_get_iter_first (ctx->file_info_treemodel,
&pred))
{
GNUNET_break (0);
return;
}
/* iterate over 'next' of pred to find out who our predecessor is! */
memset (&prev, 0, sizeof (GtkTreeIter));
- while (GNUNET_YES != gtk_tree_iter_equals (tm, &pred, &iter))
+ while (GNUNET_YES != gtk_tree_iter_equals (ctx->file_info_treemodel, &pred,
&iter))
{
prev = pred;
- GNUNET_assert (TRUE == gtk_tree_model_iter_next (tm, &pred));
+ GNUNET_assert (TRUE == gtk_tree_model_iter_next (ctx->file_info_treemodel,
&pred));
}
- gtk_tree_store_insert_before (GTK_TREE_STORE (tm), &pos, &prev, NULL);
- if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+ gtk_tree_store_insert_before (GTK_TREE_STORE (ctx->file_info_treemodel),
&pos, &prev, NULL);
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&iter))
{
GNUNET_break (0);
return;
}
- move_entry (data, tm, &iter, &pos, GNUNET_YES);
- remove_old_entry (GTK_TREE_STORE (tm), &iter);
+ move_entry (ctx, ctx->file_info_treemodel, &iter, &pos, GNUNET_YES);
+ remove_old_entry (GTK_TREE_STORE (ctx->file_info_treemodel), &iter);
}
void
GNUNET_GTK_master_publish_dialog_left_button_clicked_cb (GtkWidget * dummy,
- gpointer data)
+ struct
MainPublishingDialogContext *ctx)
{
- GtkTreeView *tv;
- GtkTreeModel *tm;
- GtkTreeSelection *sel;
GtkTreeIter iter;
GtkTreeIter parent;
GtkTreeIter pos;
- GtkBuilder *builder;
- builder = GTK_BUILDER (data);
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
- sel = gtk_tree_view_get_selection (tv);
- if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&iter))
{
GNUNET_break (0);
return;
}
- if (TRUE != gtk_tree_model_iter_parent (tm, &parent, &iter))
+ if (TRUE != gtk_tree_model_iter_parent (ctx->file_info_treemodel, &parent,
&iter))
{
GNUNET_break (0);
return;
}
- gtk_tree_store_insert_after (GTK_TREE_STORE (tm), &pos, NULL, &parent);
- if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+ gtk_tree_store_insert_after (GTK_TREE_STORE (ctx->file_info_treemodel),
&pos, NULL, &parent);
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&iter))
{
GNUNET_break (0);
return;
}
- move_entry (data, tm, &iter, &pos, GNUNET_YES);
- remove_old_entry (GTK_TREE_STORE (tm), &iter);
+ move_entry (ctx, ctx->file_info_treemodel, &iter, &pos, GNUNET_YES);
+ remove_old_entry (GTK_TREE_STORE (ctx->file_info_treemodel), &iter);
}
void
GNUNET_GTK_master_publish_dialog_up_button_clicked_cb (GtkWidget * dummy,
- gpointer data)
+ struct
MainPublishingDialogContext *ctx)
{
- GtkTreeView *tv;
- GtkTreeModel *tm;
- GtkTreeSelection *sel;
GtkTreeIter iter;
GtkTreeIter parent;
GtkTreeIter pred;
GtkTreeIter prev;
GtkTreeIter *pprev;
GtkTreeIter pos;
- GtkBuilder *builder;
- builder = GTK_BUILDER (data);
-
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
- sel = gtk_tree_view_get_selection (tv);
- if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&iter))
{
GNUNET_break (0);
return;
}
- if (TRUE == gtk_tree_model_iter_parent (tm, &parent, &iter))
+ if (TRUE == gtk_tree_model_iter_parent (ctx->file_info_treemodel, &parent,
&iter))
{
- GNUNET_assert (TRUE == gtk_tree_model_iter_children (tm, &pred, &parent));
+ GNUNET_assert (TRUE == gtk_tree_model_iter_children
(ctx->file_info_treemodel, &pred, &parent));
pprev = &parent;
}
- else if (TRUE == gtk_tree_model_get_iter_first (tm, &pred))
+ else if (TRUE == gtk_tree_model_get_iter_first (ctx->file_info_treemodel,
&pred))
{
pprev = NULL;
}
@@ -1109,80 +1069,61 @@
return;
}
/* iterate over 'next' of pred to find out who our predecessor is! */
- while (GNUNET_YES != gtk_tree_iter_equals (tm, &pred, &iter))
+ while (GNUNET_YES != gtk_tree_iter_equals (ctx->file_info_treemodel, &pred,
&iter))
{
prev = pred;
pprev = &prev;
- GNUNET_assert (TRUE == gtk_tree_model_iter_next (tm, &pred));
+ GNUNET_assert (TRUE == gtk_tree_model_iter_next (ctx->file_info_treemodel,
&pred));
}
- gtk_tree_store_insert_before (GTK_TREE_STORE (tm), &pos, NULL, pprev);
- if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+ gtk_tree_store_insert_before (GTK_TREE_STORE (ctx->file_info_treemodel),
&pos, NULL, pprev);
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&iter))
{
GNUNET_break (0);
return;
}
- move_entry (data, tm, &iter, &pos, GNUNET_YES);
- remove_old_entry (GTK_TREE_STORE (tm), &iter);
+ move_entry (ctx, ctx->file_info_treemodel, &iter, &pos, GNUNET_YES);
+ remove_old_entry (GTK_TREE_STORE (ctx->file_info_treemodel), &iter);
}
void
GNUNET_GTK_master_publish_dialog_down_button_clicked_cb (GtkWidget * dummy,
- gpointer data)
+ struct
MainPublishingDialogContext *ctx)
{
- GtkTreeView *tv;
- GtkTreeModel *tm;
- GtkTreeSelection *sel;
GtkTreeIter iter;
GtkTreeIter next;
GtkTreeIter pos;
- GtkBuilder *builder;
- builder = GTK_BUILDER (data);
-
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
- sel = gtk_tree_view_get_selection (tv);
- if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&iter))
{
GNUNET_break (0);
return;
}
- if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &next))
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&next))
{
GNUNET_break (0);
return;
}
- GNUNET_assert (TRUE == gtk_tree_model_iter_next (tm, &next));
- gtk_tree_store_insert_after (GTK_TREE_STORE (tm), &pos, NULL, &next);
- if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+ GNUNET_assert (TRUE == gtk_tree_model_iter_next (ctx->file_info_treemodel,
&next));
+ gtk_tree_store_insert_after (GTK_TREE_STORE (ctx->file_info_treemodel),
&pos, NULL, &next);
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&iter))
{
GNUNET_break (0);
return;
}
- move_entry (data, tm, &iter, &pos, GNUNET_YES);
- remove_old_entry (GTK_TREE_STORE (tm), &iter);
+ move_entry (ctx, ctx->file_info_treemodel, &iter, &pos, GNUNET_YES);
+ remove_old_entry (GTK_TREE_STORE (ctx->file_info_treemodel), &iter);
}
void
GNUNET_GTK_master_publish_dialog_new_button_clicked_cb (GtkWidget * dummy,
- gpointer data)
+ struct
MainPublishingDialogContext *ctx)
{
- GtkTreeView *tv;
- GtkTreeSelection *sel;
GtkTreeIter iter;
GtkTreeIter pos;
struct GNUNET_FS_BlockOptions bo;
- GtkBuilder *builder;
- builder = GTK_BUILDER (data);
-
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
- sel = gtk_tree_view_get_selection (tv);
/* FIXME: consider opening a dialog to get
* anonymity, priority and expiration prior
* to calling this function (currently we
@@ -1193,34 +1134,29 @@
bo.expiration_time =
GNUNET_TIME_relative_to_absolute (GNUNET_TIME_UNIT_YEARS);
bo.replication_level = 1;
- if (TRUE != gtk_tree_selection_get_selected (sel, NULL, &iter))
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&iter))
{
- create_dir_at_iter (data, "unnamed/", &bo, NULL, &pos);
+ create_dir_at_iter (ctx, "unnamed/", &bo, NULL, &pos);
return;
}
- create_dir_at_iter (data, "unnamed/", &bo, &iter, &pos);
+ create_dir_at_iter (ctx, "unnamed/", &bo, &iter, &pos);
}
void
GNUNET_GTK_master_publish_dialog_add_button_clicked_cb (GtkWidget * dummy,
- gpointer data)
+ struct
MainPublishingDialogContext *ctx)
{
GtkWidget *ad;
- GtkBuilder *builder;
- GtkWindow *master_pubdialog;
- builder = GTK_BUILDER (data);
-
ad = GTK_WIDGET (gtk_builder_get_object
- (builder, "GNUNET_GTK_publish_file_dialog"));
- GNUNET_FS_GTK_setup_expiration_year_adjustment (builder);
+ (ctx->main_window_builder,
"GNUNET_GTK_publish_file_dialog"));
+ GNUNET_FS_GTK_setup_expiration_year_adjustment (ctx->main_window_builder);
- master_pubdialog =
- GTK_WINDOW (gtk_builder_get_object
- (builder, "GNUNET_GTK_master_publish_dialog"));
- gtk_window_set_transient_for (GTK_WINDOW (ad), master_pubdialog);
+ ctx->open_file_handler_id = g_signal_connect (G_OBJECT (ad), "response",
G_CALLBACK (GNUNET_GTK_publish_file_dialog_response_cb), ctx);
+ gtk_window_set_transient_for (GTK_WINDOW (ad), ctx->master_pubdialog);
+
gtk_window_present (GTK_WINDOW (ad));
}
@@ -1265,14 +1201,9 @@
void
GNUNET_GTK_master_publish_dialog_edit_button_clicked_cb (GtkWidget * dummy,
- gpointer data)
+ struct
MainPublishingDialogContext *ctx)
{
- GtkTreeView *tv;
- GtkTreeModel *tm;
- GtkTreeSelection *sel;
struct EditPublishContext *cbargs;
- GtkBuilder *builder;
- GtkWindow *master_pubdialog;
gint do_index;
char *short_fn;
guint anonymity_level;
@@ -1283,28 +1214,18 @@
struct GNUNET_FS_BlockOptions bo;
GtkListStore *anon_liststore;
- builder = GTK_BUILDER (data);
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
+ anon_liststore = GTK_LIST_STORE (gtk_builder_get_object
(ctx->main_window_builder, "main_window_search_anonymity_liststore"));
- anon_liststore = GTK_LIST_STORE (gtk_builder_get_object (builder,
"main_window_search_anonymity_liststore"));
-
-
cbargs = GNUNET_malloc (sizeof (struct EditPublishContext));
- cbargs->tm = gtk_tree_view_get_model (tv);
- master_pubdialog =
- GTK_WINDOW (gtk_builder_get_object
- (builder, "GNUNET_GTK_master_publish_dialog"));
- sel = gtk_tree_view_get_selection (tv);
- if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &cbargs->iter))
+ cbargs->tm = ctx->file_info_treemodel;
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&cbargs->iter))
{
GNUNET_break (0);
GNUNET_free (cbargs);
return;
}
- gtk_tree_model_get (tm, &cbargs->iter, 1, &do_index, 2, &short_fn, 3,
+ gtk_tree_model_get (ctx->file_info_treemodel, &cbargs->iter, 1, &do_index,
2, &short_fn, 3,
&anonymity_level, 4, &priority, 5, &fip,
6, &abs_etime,
7, &replication_level,
@@ -1314,7 +1235,7 @@
bo.expiration_time.abs_value = (uint64_t) abs_etime;
bo.replication_level = replication_level;
- GNUNET_FS_GTK_edit_publish_dialog (master_pubdialog, do_index,
+ GNUNET_FS_GTK_edit_publish_dialog (ctx->master_pubdialog, do_index,
short_fn, bo, fip, TRUE, anon_liststore,
&master_publish_edit_publish_dialog_cb,
cbargs);
@@ -1346,36 +1267,27 @@
void
GNUNET_GTK_master_publish_dialog_delete_button_clicked_cb (GtkWidget * dummy,
- gpointer data)
+ struct
MainPublishingDialogContext *ctx)
{
- GtkTreeView *tv;
- GtkTreeModel *tm;
- GtkTreeSelection *sel;
GtkTreeIter iter;
struct GNUNET_FS_FileInformation *fip;
- GtkBuilder *builder;
- builder = GTK_BUILDER (data);
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
- sel = gtk_tree_view_get_selection (tv);
- if (TRUE != gtk_tree_selection_get_selected (sel, &tm, &iter))
+ if (TRUE != gtk_tree_selection_get_selected (ctx->file_info_selection, NULL,
&iter))
{
GNUNET_break (0);
return;
}
- gtk_tree_model_get (tm, &iter, 5, &fip, -1);
+ gtk_tree_model_get (ctx->file_info_treemodel, &iter, 5, &fip, -1);
GNUNET_FS_file_information_destroy (fip, &free_fi_row_reference, NULL);
- gtk_tree_store_remove (GTK_TREE_STORE (tm), &iter);
- update_selectivity (data);
+ gtk_tree_store_remove (GTK_TREE_STORE (ctx->file_info_treemodel), &iter);
+ update_selectivity (ctx);
}
void
GNUNET_GTK_publish_directory_dialog_response_cb (GtkDialog * dialog,
gint response_id,
- gpointer user_data)
+ struct
MainPublishingDialogContext *ctx)
{
char *filename;
int do_index;
@@ -1384,7 +1296,11 @@
GtkWidget *ad;
GtkBuilder *builder;
- builder = GTK_BUILDER (user_data);
+ if (g_signal_handler_is_connected (G_OBJECT (dialog),
ctx->open_directory_handler_id))
+ g_signal_handler_disconnect (G_OBJECT (dialog),
ctx->open_directory_handler_id);
+ ctx->open_directory_handler_id = 0;
+
+ builder = ctx->main_window_builder;
ad = GTK_WIDGET (gtk_builder_get_object
(builder, "GNUNET_GTK_publish_directory_dialog"));
if (response_id == -5)
@@ -1415,9 +1331,9 @@
"GNUNET_GTK_publish_directory_dialog_do_index_checkbutton")));
/* FIXME: open progress dialog here... */
- add_dir (user_data, filename, &bo, do_index);
+ add_dir (ctx, filename, &bo, do_index);
g_free (filename);
- update_selectivity (user_data);
+ update_selectivity (ctx);
}
gtk_widget_hide (ad);
}
@@ -1425,22 +1341,20 @@
void
GNUNET_GTK_master_publish_dialog_open_button_clicked_cb (GtkWidget * dummy,
- gpointer data)
+ struct
MainPublishingDialogContext *ctx)
{
GtkWidget *ad;
GtkBuilder *builder;
- GtkWindow *master_pubdialog;
- builder = GTK_BUILDER (data);
+ builder = ctx->main_window_builder;
GNUNET_FS_GTK_setup_expiration_year_adjustment (builder);
ad = GTK_WIDGET (gtk_builder_get_object
(builder, "GNUNET_GTK_publish_directory_dialog"));
- master_pubdialog =
- GTK_WINDOW (gtk_builder_get_object
- (builder, "GNUNET_GTK_master_publish_dialog"));
- gtk_window_set_transient_for (GTK_WINDOW (ad), master_pubdialog);
+ ctx->open_directory_handler_id = g_signal_connect (G_OBJECT (ad),
"response", G_CALLBACK (GNUNET_GTK_publish_directory_dialog_response_cb), ctx);
+ gtk_window_set_transient_for (GTK_WINDOW (ad), ctx->master_pubdialog);
+
gtk_window_present (GTK_WINDOW (ad));
}
@@ -1686,63 +1600,25 @@
void
GNUNET_GTK_master_publish_dialog_realize_cb (GtkWidget * widget,
- gpointer user_data)
+ struct
MainPublishingDialogContext *ctx)
{
- GtkTreeView *tv;
- GtkTreeSelection *sel;
- GtkBuilder *builder;
-
- builder = GTK_BUILDER (user_data);
-
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
- sel = gtk_tree_view_get_selection (tv);
- g_signal_connect (G_OBJECT (sel), "changed",
- G_CALLBACK (selection_changed_cb), user_data);
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_pseudonym_tree_view"));
- sel = gtk_tree_view_get_selection (tv);
- g_signal_connect (G_OBJECT (sel), "changed",
- G_CALLBACK (selection_changed_cb), user_data);
}
static void
-hide_master_publish_dialog (gpointer user_data, gint ret)
+hide_master_publish_dialog (struct MainPublishingDialogContext *ctx, gint ret)
{
- GtkTreeView *tv, *ptv;
- GtkTreeSelection *sel;
- GtkTreeModel *tm, *ptm;
GtkTreeIter iter;
gpointer namespace;
gchar *namespace_id;
gchar *namespace_uid;
struct GNUNET_FS_FileInformation *fi;
- GtkWidget *ad;
- GtkBuilder *builder;
- builder = GTK_BUILDER (user_data);
- ad = GTK_WIDGET (gtk_builder_get_object
- (builder, "GNUNET_GTK_master_publish_dialog"));
- ptv =
- GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
- "GNUNET_GTK_master_publish_dialog_pseudonym_tree_view"));
- sel = gtk_tree_view_get_selection (ptv);
- ptm = gtk_tree_view_get_model (ptv);
-
- tv = GTK_TREE_VIEW (gtk_builder_get_object
- (builder,
-
"GNUNET_GTK_master_publish_dialog_file_information_tree_view"));
- tm = gtk_tree_view_get_model (tv);
-
if (ret == GTK_RESPONSE_OK)
{
- if (TRUE == gtk_tree_selection_get_selected (sel, &ptm, &iter))
+ if (TRUE == gtk_tree_selection_get_selected (ctx->file_info_selection,
NULL, &iter))
{
- gtk_tree_model_get (ptm, &iter, 1, &namespace, 2, &namespace_id, 5,
+ gtk_tree_model_get (ctx->pseudonym_treemodel, &iter, 1, &namespace, 2,
&namespace_id, 5,
&namespace_uid, -1);
}
else
@@ -1751,65 +1627,65 @@
namespace_id = NULL;
namespace_uid = NULL;
}
- if (gtk_tree_model_get_iter_first (tm, &iter))
+ if (gtk_tree_model_get_iter_first (ctx->file_info_treemodel, &iter))
do
{
- fi = get_file_information (tm, &iter);
+ fi = get_file_information (ctx->file_info_treemodel, &iter);
/* FIXME: should we convert namespace id and uid from UTF8? */
GNUNET_FS_publish_start (GNUNET_FS_GTK_get_fs_handle (), fi, namespace,
namespace_id, namespace_uid,
GNUNET_FS_PUBLISH_OPTION_NONE);
}
- while (gtk_tree_model_iter_next (tm, &iter));
+ while (gtk_tree_model_iter_next (ctx->file_info_treemodel, &iter));
g_free (namespace_id);
g_free (namespace_uid);
}
/* free state from 'ptm' */
- if (TRUE == gtk_tree_model_get_iter_first (ptm, &iter))
+ if (TRUE == gtk_tree_model_get_iter_first (ctx->pseudonym_treemodel, &iter))
do
{
- free_pseudonym_tree_store (ptm, &iter);
+ free_pseudonym_tree_store (ctx->pseudonym_treemodel, &iter);
}
- while (TRUE == gtk_tree_model_iter_next (ptm, &iter));
- gtk_tree_store_clear (GTK_TREE_STORE (ptm));
+ while (TRUE == gtk_tree_model_iter_next (ctx->pseudonym_treemodel, &iter));
+ gtk_tree_store_clear (GTK_TREE_STORE (ctx->pseudonym_treemodel));
/* free state from 'tm' */
- if (TRUE == gtk_tree_model_get_iter_first (tm, &iter))
+ if (TRUE == gtk_tree_model_get_iter_first (ctx->file_info_treemodel, &iter))
do
{
- free_file_information_tree_store (tm, &iter);
+ free_file_information_tree_store (ctx->file_info_treemodel, &iter);
}
- while (TRUE == gtk_tree_model_iter_next (tm, &iter));
- gtk_tree_store_clear (GTK_TREE_STORE (tm));
- gtk_widget_hide (ad);
- /* FIXME: doesn't this leak everything (builder + window)?
- * I think we need to unref the builder here! */
+ while (TRUE == gtk_tree_model_iter_next (ctx->file_info_treemodel, &iter));
+ gtk_tree_store_clear (GTK_TREE_STORE (ctx->file_info_treemodel));
+ gtk_widget_destroy (GTK_WIDGET (ctx->master_pubdialog));
+ gtk_object_unref (GTK_OBJECT (ctx->builder));
+ GNUNET_free (ctx);
}
void
GNUNET_GTK_master_publish_dialog_execute_button_clicked_cb (GtkButton * button,
- gpointer user_data)
+ struct
MainPublishingDialogContext *ctx)
{
- hide_master_publish_dialog (user_data, GTK_RESPONSE_OK);
+ hide_master_publish_dialog (ctx, GTK_RESPONSE_OK);
}
void
GNUNET_GTK_master_publish_dialog_cancel_button_clicked_cb (GtkButton * button,
- gpointer user_data)
+ struct
MainPublishingDialogContext *ctx)
{
- hide_master_publish_dialog (user_data, GTK_RESPONSE_CANCEL);
+ hide_master_publish_dialog (ctx, GTK_RESPONSE_CANCEL);
}
gboolean
GNUNET_GTK_master_publish_dialog_delete_event_cb (GtkWidget * widget,
GdkEvent * event,
- gpointer user_data)
+ struct
MainPublishingDialogContext *ctx)
{
- hide_master_publish_dialog (user_data, GTK_RESPONSE_CANCEL);
+ hide_master_publish_dialog (ctx, GTK_RESPONSE_CANCEL);
return TRUE;
}
@@ -1817,7 +1693,7 @@
void
GNUNET_GTK_publish_file_dialog_response_cb (GtkDialog * dialog,
gint response_id,
- gpointer user_data)
+ struct MainPublishingDialogContext
*ctx)
{
char *filename;
struct GNUNET_FS_BlockOptions bo;
@@ -1825,8 +1701,12 @@
GtkSpinButton *sb;
GtkWidget *ad;
- GtkBuilder *builder = GTK_BUILDER (user_data);
+ GtkBuilder *builder = ctx->main_window_builder;
+ if (g_signal_handler_is_connected (G_OBJECT (dialog),
ctx->open_file_handler_id))
+ g_signal_handler_disconnect (G_OBJECT (dialog), ctx->open_file_handler_id);
+ ctx->open_file_handler_id = 0;
+
ad = GTK_WIDGET (gtk_builder_get_object
(builder, "GNUNET_GTK_publish_file_dialog"));
@@ -1859,9 +1739,9 @@
"GNUNET_GTK_publish_file_dialog_do_index_checkbutton")));
filename = GNUNET_GTK_filechooser_get_filename_utf8 (GTK_FILE_CHOOSER
(ad));
- add_file_at_iter (user_data, filename, &bo, do_index, NULL);
+ add_file_at_iter (ctx, filename, &bo, do_index, NULL);
g_free (filename);
- update_selectivity (user_data);
+ update_selectivity (ctx);
}
else
{
@@ -1874,23 +1754,24 @@
/**
*/
void
-GNUNET_GTK_main_menu_file_publish_activate_cb (GtkWidget * dummy, gpointer
data)
+GNUNET_GTK_main_menu_file_publish_activate_cb (GtkWidget * dummy, gpointer
user_data)
{
- GtkWidget *ad;
- GtkTreeStore *ts;
- GtkBuilder *builder;
+ struct MainPublishingDialogContext *ctx;
- builder = GTK_BUILDER (data);
- ad = GTK_WIDGET (gtk_builder_get_object
- (builder, "GNUNET_GTK_master_publish_dialog"));
- if (!gtk_widget_get_visible (ad))
+ ctx = GNUNET_malloc (sizeof (struct MainPublishingDialogContext));
+ ctx->builder = GNUNET_GTK_get_new_builder
("gnunet_fs_gtk_publish_dialog.glade", ctx);
+
+ if (ctx->builder == NULL)
{
- ts = GTK_TREE_STORE (gtk_builder_get_object
- (builder, "GNUNET_GTK_pseudonym_tree_store"));
- GNUNET_FS_namespace_list (GNUNET_FS_GTK_get_fs_handle (),
- &add_namespace_to_ts, ts);
+ GNUNET_free (ctx);
+ return;
}
- gtk_window_present (GTK_WINDOW (ad));
+
+ init_ctx (ctx);
+ ctx->main_window_builder = GTK_BUILDER (user_data);
+ GNUNET_FS_namespace_list (GNUNET_FS_GTK_get_fs_handle (),
+ &add_namespace_to_ts, GTK_TREE_STORE
(ctx->pseudonym_treemodel));
+ gtk_window_present (GTK_WINDOW (ctx->master_pubdialog));
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r18991 - in gnunet-gtk: contrib src/fs,
gnunet <=