[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r6986 - in gnunet-gtk: . src/plugins/chat
From: |
gnunet |
Subject: |
[GNUnet-SVN] r6986 - in gnunet-gtk: . src/plugins/chat |
Date: |
Sun, 1 Jun 2008 20:01:06 -0600 (MDT) |
Author: grothoff
Date: 2008-06-01 20:01:06 -0600 (Sun, 01 Jun 2008)
New Revision: 6986
Modified:
gnunet-gtk/TODO
gnunet-gtk/gnunet-gtk.glade
gnunet-gtk/src/plugins/chat/chat.c
Log:
getting minimal chat to work with new API
Modified: gnunet-gtk/TODO
===================================================================
--- gnunet-gtk/TODO 2008-06-02 00:03:03 UTC (rev 6985)
+++ gnunet-gtk/TODO 2008-06-02 02:01:06 UTC (rev 6986)
@@ -5,12 +5,17 @@
0.8.0pre1 (new core features):
- adapt to new chat API
+ + show chatroom members
+ + clean up ../fs/meta.* includes
- test new pseudonym/namespace APIs
-- show chatroom members
+- test recursive downloads (fix mmap error for dirs!)
+- test uploads
+- test recursive uploads (Mantis #1320!)
0.8.0 (new core features):
- better uritracker support (currently flaky?)
- much more testing!!!
+ + find & fix GTK assertion errors
- chat improvements:
* add various options for sending messages
* show chatroom member metadata (right-click pop-up)
Modified: gnunet-gtk/gnunet-gtk.glade
===================================================================
--- gnunet-gtk/gnunet-gtk.glade 2008-06-02 00:03:03 UTC (rev 6985)
+++ gnunet-gtk/gnunet-gtk.glade 2008-06-02 02:01:06 UTC (rev 6986)
@@ -569,43 +569,115 @@
<placeholder/>
</child>
<child>
- <widget class="GtkVBox" id="vbox21">
+ <widget class="GtkScrolledWindow" id="scrolledwindow9">
<property name="visible">True</property>
+ <property name="can_focus">False</property>
+ <property
name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property
name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <child>
+ <widget class="GtkTreeView"
id="activeSearchesSummary">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="reorderable">True</property>
+ <property name="rules_hint">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label16">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="yalign">1</property>
+ <property name="xpad">5</property>
+ <property name="ypad">5</property>
+ <property name="label"
translatable="yes"><b>Search Overview</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ <packing>
+ <property name="right_attach">2</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkScrolledWindow" id="scrolledwindow10">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property
name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property
name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
+ <child>
+ <widget class="GtkTreeView" id="activeDownloadsList">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="reorderable">True</property>
+ <property name="rules_hint">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox8">
+ <property name="visible">True</property>
<property name="homogeneous">True</property>
<child>
- <widget class="GtkButton" id="stopUploadButton">
+ <widget class="GtkButton" id="abortDownloadButton">
<property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
- <property name="tooltip" translatable="yes">Cancel
the selected upload (and all sub-uploads) and remove them from the
list</property>
+ <property name="tooltip" translatable="yes">Cancel
the selected download (and all sub-downloads) and delete incomplete
downloads</property>
+ <property name="label">gtk-delete</property>
+ <property name="use_stock">True</property>
+ <property name="response_id">0</property>
+ <signal name="clicked"
handler="on_abortDownloadButton_clicked_"/>
+ </widget>
+ <packing>
+ <property name="fill">False</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="stopDownloadButton">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip" translatable="yes">Stop
the selected download (and all sub-downloads) and remove them from the list.
This will NOT cause the deletion of files from incomplete downloads.</property>
<property name="label">gtk-stop</property>
<property name="use_stock">True</property>
<property name="response_id">0</property>
- <signal name="clicked"
handler="on_stopUploadButton_clicked_" object="activeUploadsList"/>
+ <signal name="clicked"
handler="on_stopDownloadButton_clicked_"/>
</widget>
<packing>
- <property name="expand">False</property>
<property name="fill">False</property>
+ <property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkButton"
id="clearCompletedUploadsButton">
+ <widget class="GtkButton"
id="clearCompletedDownloadsButton">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="tooltip" translatable="yes">Clear
completed uploads from the list</property>
+ <property name="tooltip" translatable="yes">Clear
completed downloads from the list</property>
<property name="response_id">0</property>
- <signal name="clicked"
handler="on_clearCompletedUploadsButton_clicked_"/>
+ <signal name="clicked"
handler="on_clearCompletedDownloadsButton_clicked_"/>
<child>
- <widget class="GtkAlignment" id="alignment4">
+ <widget class="GtkAlignment" id="alignment3">
<property name="visible">True</property>
<property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xscale">0</property>
<child>
- <widget class="GtkHBox" id="hbox5">
+ <widget class="GtkHBox" id="hbox4">
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
- <widget class="GtkImage" id="image4">
+ <widget class="GtkImage" id="image3">
<property
name="visible">True</property>
<property
name="stock">gtk-clear</property>
</widget>
@@ -615,7 +687,7 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label2">
+ <widget class="GtkLabel" id="label5">
<property
name="visible">True</property>
<property name="label"
translatable="yes">_Clean</property>
<property
name="use_underline">True</property>
@@ -632,107 +704,22 @@
</child>
</widget>
<packing>
+ <property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">1</property>
+ <property name="position">2</property>
</packing>
</child>
</widget>
<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>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
<property name="x_padding">5</property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="stopSearchButton">
- <property name="visible">True</property>
- <property name="sensitive">False</property>
- <property name="can_focus">True</property>
- <property name="tooltip" translatable="yes">Cancel the
selected search and remove it from the list</property>
- <property name="border_width">4</property>
- <property name="label">gtk-stop</property>
- <property name="use_stock">True</property>
- <property name="response_id">0</property>
- <signal name="clicked"
handler="on_closeSearchSummaryButton_clicked_" object="activeSearchesSummary"/>
- </widget>
- <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>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkAlignment" id="alignment14">
- <property name="visible">True</property>
- <property name="top_padding">5</property>
- <child>
- <widget class="GtkLabel" id="label46">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="ypad">5</property>
- <property name="label"
translatable="yes"><b>Publications</b></property>
- <property name="use_markup">True</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="right_attach">2</property>
- <property name="top_attach">5</property>
- <property name="bottom_attach">6</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkAlignment" id="alignment11">
- <property name="visible">True</property>
- <property name="top_padding">5</property>
- <child>
- <widget class="GtkLabel" id="label45">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="ypad">5</property>
- <property name="label"
translatable="yes"><b>Downloads</b></property>
- <property name="use_markup">True</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="right_attach">2</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow8">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property
name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property
name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <child>
- <widget class="GtkTreeView" id="activeUploadsList">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="reorderable">True</property>
- <property name="rules_hint">True</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="top_attach">6</property>
- <property name="bottom_attach">7</property>
- </packing>
- </child>
- <child>
<widget class="GtkHBox" id="hbox1">
<property name="visible">True</property>
<child>
@@ -848,58 +835,129 @@
</packing>
</child>
<child>
- <widget class="GtkVBox" id="vbox8">
+ <widget class="GtkScrolledWindow" id="scrolledwindow8">
<property name="visible">True</property>
- <property name="homogeneous">True</property>
+ <property name="can_focus">False</property>
+ <property
name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property
name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+ <property name="shadow_type">GTK_SHADOW_IN</property>
<child>
- <widget class="GtkButton" id="abortDownloadButton">
+ <widget class="GtkTreeView" id="activeUploadsList">
<property name="visible">True</property>
- <property name="sensitive">False</property>
<property name="can_focus">True</property>
- <property name="tooltip" translatable="yes">Cancel
the selected download (and all sub-downloads) and delete incomplete
downloads</property>
- <property name="label">gtk-delete</property>
- <property name="use_stock">True</property>
- <property name="response_id">0</property>
- <signal name="clicked"
handler="on_abortDownloadButton_clicked_"/>
+ <property name="reorderable">True</property>
+ <property name="rules_hint">True</property>
</widget>
- <packing>
- <property name="fill">False</property>
- </packing>
</child>
+ </widget>
+ <packing>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkAlignment" id="alignment11">
+ <property name="visible">True</property>
+ <property name="top_padding">5</property>
<child>
- <widget class="GtkButton" id="stopDownloadButton">
+ <widget class="GtkLabel" id="label45">
<property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">5</property>
+ <property name="ypad">5</property>
+ <property name="label"
translatable="yes"><b>Downloads</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="right_attach">2</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkAlignment" id="alignment14">
+ <property name="visible">True</property>
+ <property name="top_padding">5</property>
+ <child>
+ <widget class="GtkLabel" id="label46">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">5</property>
+ <property name="ypad">5</property>
+ <property name="label"
translatable="yes"><b>Publications</b></property>
+ <property name="use_markup">True</property>
+ </widget>
+ </child>
+ </widget>
+ <packing>
+ <property name="right_attach">2</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
+ <property name="y_options">GTK_FILL</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkButton" id="stopSearchButton">
+ <property name="visible">True</property>
+ <property name="sensitive">False</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip" translatable="yes">Cancel the
selected search and remove it from the list</property>
+ <property name="border_width">4</property>
+ <property name="label">gtk-stop</property>
+ <property name="use_stock">True</property>
+ <property name="response_id">0</property>
+ <signal name="clicked"
handler="on_closeSearchSummaryButton_clicked_" object="activeSearchesSummary"/>
+ </widget>
+ <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>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkVBox" id="vbox21">
+ <property name="visible">True</property>
+ <property name="homogeneous">True</property>
+ <child>
+ <widget class="GtkButton" id="stopUploadButton">
+ <property name="visible">True</property>
<property name="sensitive">False</property>
<property name="can_focus">True</property>
- <property name="tooltip" translatable="yes">Stop
the selected download (and all sub-downloads) and remove them from the list.
This will NOT cause the deletion of files from incomplete downloads.</property>
+ <property name="tooltip" translatable="yes">Cancel
the selected upload (and all sub-uploads) and remove them from the
list</property>
<property name="label">gtk-stop</property>
<property name="use_stock">True</property>
<property name="response_id">0</property>
- <signal name="clicked"
handler="on_stopDownloadButton_clicked_"/>
+ <signal name="clicked"
handler="on_stopUploadButton_clicked_" object="activeUploadsList"/>
</widget>
<packing>
+ <property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">1</property>
</packing>
</child>
<child>
- <widget class="GtkButton"
id="clearCompletedDownloadsButton">
+ <widget class="GtkButton"
id="clearCompletedUploadsButton">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="tooltip" translatable="yes">Clear
completed downloads from the list</property>
+ <property name="tooltip" translatable="yes">Clear
completed uploads from the list</property>
<property name="response_id">0</property>
- <signal name="clicked"
handler="on_clearCompletedDownloadsButton_clicked_"/>
+ <signal name="clicked"
handler="on_clearCompletedUploadsButton_clicked_"/>
<child>
- <widget class="GtkAlignment" id="alignment3">
+ <widget class="GtkAlignment" id="alignment4">
<property name="visible">True</property>
<property
name="events">GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK |
GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK</property>
<property name="xscale">0</property>
<child>
- <widget class="GtkHBox" id="hbox4">
+ <widget class="GtkHBox" id="hbox5">
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
- <widget class="GtkImage" id="image3">
+ <widget class="GtkImage" id="image4">
<property
name="visible">True</property>
<property
name="stock">gtk-clear</property>
</widget>
@@ -909,7 +967,7 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label5">
+ <widget class="GtkLabel" id="label2">
<property
name="visible">True</property>
<property name="label"
translatable="yes">_Clean</property>
<property
name="use_underline">True</property>
@@ -926,78 +984,20 @@
</child>
</widget>
<packing>
- <property name="expand">False</property>
<property name="fill">False</property>
- <property name="position">2</property>
+ <property name="position">1</property>
</packing>
</child>
</widget>
<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>
+ <property name="top_attach">6</property>
+ <property name="bottom_attach">7</property>
<property name="x_options">GTK_FILL</property>
<property name="x_padding">5</property>
</packing>
</child>
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow10">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property
name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property
name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <child>
- <widget class="GtkTreeView" id="activeDownloadsList">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="reorderable">True</property>
- <property name="rules_hint">True</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="label16">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="yalign">1</property>
- <property name="xpad">5</property>
- <property name="ypad">5</property>
- <property name="label"
translatable="yes"><b>Search Overview</b></property>
- <property name="use_markup">True</property>
- </widget>
- <packing>
- <property name="right_attach">2</property>
- <property name="y_options">GTK_FILL</property>
- </packing>
- </child>
- <child>
- <widget class="GtkScrolledWindow" id="scrolledwindow9">
- <property name="visible">True</property>
- <property name="can_focus">False</property>
- <property
name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property
name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
- <property name="shadow_type">GTK_SHADOW_IN</property>
- <child>
- <widget class="GtkTreeView"
id="activeSearchesSummary">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="reorderable">True</property>
- <property name="rules_hint">True</property>
- </widget>
- </child>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- </packing>
- </child>
</widget>
</child>
<child>
@@ -1285,52 +1285,80 @@
<placeholder/>
</child>
<child>
- <widget class="GtkAlignment" id="alignment8">
+ <widget class="GtkLabel" id="methodLabel">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="xscale">0</property>
- <child>
- <widget class="GtkSpinButton"
id="contentPrioritySpinButton1">
- <property name="width_request">94</property>
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip"
translatable="yes">How important is the file (used to prioritize data in the
local datastore).</property>
- <property name="adjustment">950 0 100000000 50
500 500</property>
- <property name="climb_rate">500</property>
- <property name="numeric">True</property>
- </widget>
- </child>
+ <property name="xpad">5</property>
+ <property name="label"
translatable="yes">Method:</property>
+ <property name="use_underline">True</property>
+ <property
name="mnemonic_widget">indexbutton</property>
</widget>
<packing>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkRadioButton" id="indexbutton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip"
translatable="yes">Indexing will avoid copying the file into the GNUnet
database. Instead, GNUnet will try to add a symbolic link to the specified
file. If that fails, a copy of the file will be created. Indexing should be
used if the local machine is unlikely to ever be compromised by an adversary
and if the uploaded file will not be modified or moved in the future. Indexing
is more efficient than insertion.</property>
+ <property name="label"
translatable="yes">Inde_x</property>
+ <property name="use_underline">True</property>
+ <property name="response_id">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <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>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkAlignment" id="alignment7">
+ <widget class="GtkRadioButton" id="insertButton">
<property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip"
translatable="yes">Inserting a file means that an encrypted copy will be added
to the GNUnet database. Without the proper key (which is not stored in
plaintext anywhere) the file cannot be decrypted. Use this option for small
files, files that will be modified soon, files that maybe moved or if you are
afraid that an adversary may detect the file in plaintext on your machine
(after compromising your machine).</property>
+ <property name="label"
translatable="yes">I_nsert</property>
+ <property name="use_underline">True</property>
+ <property name="response_id">0</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">indexbutton</property>
+ </widget>
+ <packing>
+ <property name="left_attach">2</property>
+ <property name="right_attach">3</property>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="scopeLabel">
+ <property name="visible">True</property>
<property name="xalign">0</property>
- <property name="xscale">0</property>
- <child>
- <widget class="GtkSpinButton"
id="uploadAnonymityLevelSpinButton1">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip"
translatable="yes">What level of sender-anonymity is desired when sharing this
particular file? 0 allows direct connections (no anonymity). Higher levels
require increasing amounts of cover traffic per shared block, increasing your
privacy at the expense of efficiency.</property>
- <property name="adjustment">1 0 10000 1 10
10</property>
- <property name="climb_rate">1</property>
- <property name="numeric">True</property>
- </widget>
- </child>
+ <property name="xpad">5</property>
+ <property name="label"
translatable="yes">Scope:</property>
+ <property name="use_underline">True</property>
+ <property
name="mnemonic_widget">scopeFileOnlyButton</property>
</widget>
<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>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="anonymityUploadLabel">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="xpad">5</property>
+ <property name="label"
translatable="yes">_Anonymity:</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
<property name="top_attach">2</property>
<property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
@@ -1338,24 +1366,43 @@
</packing>
</child>
<child>
- <widget class="GtkCheckButton"
id="doExtractCheckButton">
+ <widget class="GtkRadioButton"
id="scopeRecursiveButton">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="tooltip"
translatable="yes">Controls if GNUnet should (automatically) extract metadata
for files. If unchecked, the default metadata for the upload will only contain
the filename. If checked, GNU libextractor will be used to provide additional
metadata (such as thumbnails). The option only applies when a directory is
uploaded. For individual files, GNU libextractor is always used (you will have
a chance to edit the extracted metadata in a dialog).</property>
+ <property name="tooltip"
translatable="yes">Recursively publish an entire directory tree</property>
+ <property name="label"
translatable="yes">_Recursive (for entire directories)</property>
+ <property name="use_underline">True</property>
<property name="response_id">0</property>
+ <property name="draw_indicator">True</property>
+ </widget>
+ <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>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkCheckButton"
id="deepIndexCheckButton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip" translatable="yes">Should
it be possible to directly find files in the directory? If unchecked, it will
only be possible for the directory itself to be found with a normal keyword
search. This option only really makes a difference for uploads of
directories.</property>
+ <property name="response_id">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
<child>
- <widget class="GtkAlignment" id="alignment24">
+ <widget class="GtkAlignment" id="alignment15">
<property name="visible">True</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
- <widget class="GtkHBox" id="hbox66">
+ <widget class="GtkHBox" id="hbox52">
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
- <widget class="GtkImage" id="image49">
+ <widget class="GtkImage" id="image40">
<property
name="visible">True</property>
<property
name="stock">gtk-index</property>
</widget>
@@ -1365,9 +1412,9 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label151">
+ <widget class="GtkLabel" id="label128">
<property
name="visible">True</property>
- <property name="label"
translatable="yes">Use libextractor for files in directories</property>
+ <property name="label"
translatable="yes">Add keywords for files in directories</property>
<property
name="use_underline">True</property>
</widget>
<packing>
@@ -1384,48 +1431,28 @@
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="top_attach">3</property>
- <property name="bottom_attach">4</property>
+ <property name="top_attach">2</property>
+ <property name="bottom_attach">3</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkRadioButton"
id="scopeFileOnlyButton">
+ <widget class="GtkButton" id="fsinsertuploadbutton">
<property name="visible">True</property>
+ <property name="sensitive">False</property>
<property name="can_focus">True</property>
- <property name="tooltip" translatable="yes">Only
publish a single file</property>
- <property name="label" translatable="yes">File
onl_y</property>
- <property name="use_underline">True</property>
+ <property name="tooltip" translatable="yes">Share
the specified file with the selected options (you will then be prompted to
enter meta-data and keywords)</property>
<property name="response_id">0</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- <property
name="group">scopeRecursiveButton</property>
- </widget>
- <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>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkButton"
id="mainFileSharingInsertBrowseButton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip" translatable="yes">Browse
local computer for files (or directories) to publish</property>
- <property name="response_id">0</property>
- <signal name="clicked"
handler="on_mainFileSharingInsertBrowseButton_clicked_"
object="fsinsertfilenamecombo"/>
+ <signal name="clicked"
handler="on_fsinsertuploadbutton_clicked_"/>
<child>
- <widget class="GtkHBox" id="hbox60">
+ <widget class="GtkHBox" id="hbox55">
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
- <widget class="GtkImage" id="image46">
+ <widget class="GtkImage" id="image42">
<property name="visible">True</property>
- <property name="stock">gtk-open</property>
+ <property name="stock">gtk-go-up</property>
</widget>
<packing>
<property name="expand">False</property>
@@ -1433,9 +1460,9 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label143">
+ <widget class="GtkLabel" id="label137">
<property name="visible">True</property>
- <property name="label"
translatable="yes">_Browse</property>
+ <property name="label"
translatable="yes">Pub_lish</property>
<property
name="use_underline">True</property>
</widget>
<packing>
@@ -1450,32 +1477,26 @@
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="top_attach">4</property>
- <property name="bottom_attach">5</property>
+ <property name="top_attach">5</property>
+ <property name="bottom_attach">6</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkAlignment"
id="uploadFilenameAlignment">
+ <widget class="GtkLabel" id="uploadFilenameLabel">
<property name="visible">True</property>
- <child>
- <widget class="GtkComboBoxEntry"
id="uploadFilenameComboBoxEntry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <signal name="changed"
handler="on_uploadFilenameComboBoxEntry_changed_"/>
- <child internal-child="entry">
- <widget class="GtkEntry"
id="comboboxentry-entry3">
- </widget>
- </child>
- </widget>
- </child>
+ <property name="xalign">0</property>
+ <property name="xpad">5</property>
+ <property name="label"
translatable="yes">_Filename:</property>
+ <property name="use_underline">True</property>
+ <property
name="justify">GTK_JUSTIFY_CENTER</property>
+ <property
name="mnemonic_widget">uploadFilenameComboBoxEntry</property>
</widget>
<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>
+ <property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
@@ -1495,38 +1516,43 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="uploadFilenameLabel">
+ <widget class="GtkAlignment"
id="uploadFilenameAlignment">
<property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="label"
translatable="yes">_Filename:</property>
- <property name="use_underline">True</property>
- <property
name="justify">GTK_JUSTIFY_CENTER</property>
- <property
name="mnemonic_widget">uploadFilenameComboBoxEntry</property>
+ <child>
+ <widget class="GtkComboBoxEntry"
id="uploadFilenameComboBoxEntry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <signal name="changed"
handler="on_uploadFilenameComboBoxEntry_changed_"/>
+ <child internal-child="entry">
+ <widget class="GtkEntry"
id="comboboxentry-entry3">
+ </widget>
+ </child>
+ </widget>
+ </child>
</widget>
<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>
- <property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkButton" id="fsinsertuploadbutton">
+ <widget class="GtkButton"
id="mainFileSharingInsertBrowseButton">
<property name="visible">True</property>
- <property name="sensitive">False</property>
<property name="can_focus">True</property>
- <property name="tooltip" translatable="yes">Share
the specified file with the selected options (you will then be prompted to
enter meta-data and keywords)</property>
+ <property name="tooltip" translatable="yes">Browse
local computer for files (or directories) to publish</property>
<property name="response_id">0</property>
- <signal name="clicked"
handler="on_fsinsertuploadbutton_clicked_"/>
+ <signal name="clicked"
handler="on_mainFileSharingInsertBrowseButton_clicked_"
object="fsinsertfilenamecombo"/>
<child>
- <widget class="GtkHBox" id="hbox55">
+ <widget class="GtkHBox" id="hbox60">
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
- <widget class="GtkImage" id="image42">
+ <widget class="GtkImage" id="image46">
<property name="visible">True</property>
- <property name="stock">gtk-go-up</property>
+ <property name="stock">gtk-open</property>
</widget>
<packing>
<property name="expand">False</property>
@@ -1534,9 +1560,9 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label137">
+ <widget class="GtkLabel" id="label143">
<property name="visible">True</property>
- <property name="label"
translatable="yes">Pub_lish</property>
+ <property name="label"
translatable="yes">_Browse</property>
<property
name="use_underline">True</property>
</widget>
<packing>
@@ -1551,31 +1577,52 @@
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="top_attach">5</property>
- <property name="bottom_attach">6</property>
+ <property name="top_attach">4</property>
+ <property name="bottom_attach">5</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkCheckButton"
id="deepIndexCheckButton">
+ <widget class="GtkRadioButton"
id="scopeFileOnlyButton">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="tooltip" translatable="yes">Should
it be possible to directly find files in the directory? If unchecked, it will
only be possible for the directory itself to be found with a normal keyword
search. This option only really makes a difference for uploads of
directories.</property>
+ <property name="tooltip" translatable="yes">Only
publish a single file</property>
+ <property name="label" translatable="yes">File
onl_y</property>
+ <property name="use_underline">True</property>
<property name="response_id">0</property>
<property name="active">True</property>
<property name="draw_indicator">True</property>
+ <property
name="group">scopeRecursiveButton</property>
+ </widget>
+ <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>
+ <property name="x_options">GTK_FILL</property>
+ <property name="y_options"></property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkCheckButton"
id="doExtractCheckButton">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip"
translatable="yes">Controls if GNUnet should (automatically) extract metadata
for files. If unchecked, the default metadata for the upload will only contain
the filename. If checked, GNU libextractor will be used to provide additional
metadata (such as thumbnails). The option only applies when a directory is
uploaded. For individual files, GNU libextractor is always used (you will have
a chance to edit the extracted metadata in a dialog).</property>
+ <property name="response_id">0</property>
+ <property name="active">True</property>
+ <property name="draw_indicator">True</property>
<child>
- <widget class="GtkAlignment" id="alignment15">
+ <widget class="GtkAlignment" id="alignment24">
<property name="visible">True</property>
<property name="xscale">0</property>
<property name="yscale">0</property>
<child>
- <widget class="GtkHBox" id="hbox52">
+ <widget class="GtkHBox" id="hbox66">
<property name="visible">True</property>
<property name="spacing">2</property>
<child>
- <widget class="GtkImage" id="image40">
+ <widget class="GtkImage" id="image49">
<property
name="visible">True</property>
<property
name="stock">gtk-index</property>
</widget>
@@ -1585,9 +1632,9 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="label128">
+ <widget class="GtkLabel" id="label151">
<property
name="visible">True</property>
- <property name="label"
translatable="yes">Add keywords for files in directories</property>
+ <property name="label"
translatable="yes">Use libextractor for files in directories</property>
<property
name="use_underline">True</property>
</widget>
<packing>
@@ -1604,40 +1651,32 @@
<packing>
<property name="left_attach">2</property>
<property name="right_attach">3</property>
- <property name="top_attach">2</property>
- <property name="bottom_attach">3</property>
+ <property name="top_attach">3</property>
+ <property name="bottom_attach">4</property>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
<child>
- <widget class="GtkRadioButton"
id="scopeRecursiveButton">
+ <widget class="GtkAlignment" id="alignment7">
<property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip"
translatable="yes">Recursively publish an entire directory tree</property>
- <property name="label"
translatable="yes">_Recursive (for entire directories)</property>
- <property name="use_underline">True</property>
- <property name="response_id">0</property>
- <property name="draw_indicator">True</property>
- </widget>
- <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>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkLabel" id="anonymityUploadLabel">
- <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="label"
translatable="yes">_Anonymity:</property>
- <property name="use_underline">True</property>
+ <property name="xscale">0</property>
+ <child>
+ <widget class="GtkSpinButton"
id="uploadAnonymityLevelSpinButton1">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip"
translatable="yes">What level of sender-anonymity is desired when sharing this
particular file? 0 allows direct connections (no anonymity). Higher levels
require increasing amounts of cover traffic per shared block, increasing your
privacy at the expense of efficiency.</property>
+ <property name="adjustment">1 0 10000 1 10
10</property>
+ <property name="climb_rate">1</property>
+ <property name="numeric">True</property>
+ </widget>
+ </child>
</widget>
<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>
<property name="x_options">GTK_FILL</property>
@@ -1645,71 +1684,32 @@
</packing>
</child>
<child>
- <widget class="GtkLabel" id="scopeLabel">
+ <widget class="GtkAlignment" id="alignment8">
<property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
<property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="label"
translatable="yes">Scope:</property>
- <property name="use_underline">True</property>
- <property
name="mnemonic_widget">scopeFileOnlyButton</property>
+ <property name="xscale">0</property>
+ <child>
+ <widget class="GtkSpinButton"
id="contentPrioritySpinButton1">
+ <property name="width_request">94</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="tooltip"
translatable="yes">How important is the file (used to prioritize data in the
local datastore).</property>
+ <property name="adjustment">950 0 100000000 50
500 500</property>
+ <property name="climb_rate">500</property>
+ <property name="numeric">True</property>
+ </widget>
+ </child>
</widget>
<packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkRadioButton" id="insertButton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip"
translatable="yes">Inserting a file means that an encrypted copy will be added
to the GNUnet database. Without the proper key (which is not stored in
plaintext anywhere) the file cannot be decrypted. Use this option for small
files, files that will be modified soon, files that maybe moved or if you are
afraid that an adversary may detect the file in plaintext on your machine
(after compromising your machine).</property>
- <property name="label"
translatable="yes">I_nsert</property>
- <property name="use_underline">True</property>
- <property name="response_id">0</property>
- <property name="draw_indicator">True</property>
- <property name="group">indexbutton</property>
- </widget>
- <packing>
- <property name="left_attach">2</property>
- <property name="right_attach">3</property>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
- <child>
- <widget class="GtkRadioButton" id="indexbutton">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="tooltip"
translatable="yes">Indexing will avoid copying the file into the GNUnet
database. Instead, GNUnet will try to add a symbolic link to the specified
file. If that fails, a copy of the file will be created. Indexing should be
used if the local machine is unlikely to ever be compromised by an adversary
and if the uploaded file will not be modified or moved in the future. Indexing
is more efficient than insertion.</property>
- <property name="label"
translatable="yes">Inde_x</property>
- <property name="use_underline">True</property>
- <property name="response_id">0</property>
- <property name="active">True</property>
- <property name="draw_indicator">True</property>
- </widget>
- <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>
<property name="x_options">GTK_FILL</property>
<property name="y_options"></property>
</packing>
</child>
- <child>
- <widget class="GtkLabel" id="methodLabel">
- <property name="visible">True</property>
- <property name="xalign">0</property>
- <property name="xpad">5</property>
- <property name="label"
translatable="yes">Method:</property>
- <property name="use_underline">True</property>
- <property
name="mnemonic_widget">indexbutton</property>
- </widget>
- <packing>
- <property name="x_options">GTK_FILL</property>
- <property name="y_options"></property>
- </packing>
- </child>
</widget>
</child>
</widget>
@@ -2103,51 +2103,6 @@
<placeholder/>
</child>
<child>
- <widget class="GtkLabel" id="label1">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
- <property name="label" translatable="yes">_Room
Name</property>
- <property name="use_underline">True</property>
- <property
name="mnemonic_widget">chatRoomNameEntry</property>
- </widget>
- </child>
- <child>
- <widget class="GtkLabel" id="label4">
- <property name="visible">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
- <property name="label"
translatable="yes">_Moniker</property>
- <property name="use_underline">True</property>
- </widget>
- <packing>
- <property name="left_attach">1</property>
- <property name="right_attach">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkEntry" id="chatRoomNameEntry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
- </widget>
- <packing>
- <property name="top_attach">1</property>
- <property name="bottom_attach">2</property>
- </packing>
- </child>
- <child>
- <widget class="GtkEntry" id="chatRoomMonikerEntry">
- <property name="visible">True</property>
- <property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
- </widget>
- <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>
<widget class="GtkButton" id="on_chat_room_name_button">
<property name="visible">True</property>
<property name="can_focus">True</property>
@@ -2193,6 +2148,51 @@
<property name="y_options"></property>
</packing>
</child>
+ <child>
+ <widget class="GtkEntry" id="chatRoomMonikerEntry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ </widget>
+ <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>
+ <widget class="GtkEntry" id="chatRoomNameEntry">
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ </widget>
+ <packing>
+ <property name="top_attach">1</property>
+ <property name="bottom_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label4">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label"
translatable="yes">_Moniker</property>
+ <property name="use_underline">True</property>
+ </widget>
+ <packing>
+ <property name="left_attach">1</property>
+ <property name="right_attach">2</property>
+ </packing>
+ </child>
+ <child>
+ <widget class="GtkLabel" id="label1">
+ <property name="visible">True</property>
+ <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="label" translatable="yes">_Room
Name</property>
+ <property name="use_underline">True</property>
+ <property
name="mnemonic_widget">chatRoomNameEntry</property>
+ </widget>
+ </child>
</widget>
<packing>
<property name="expand">False</property>
@@ -2868,8 +2868,8 @@
<property name="response_id">-5</property>
<signal name="clicked" handler="gtk_widget_destroy"
object="metaDisplayDialog"/>
<signal name="activate" handler="gtk_widget_destroy"
object="metaDisplayDialog"/>
+ <accelerator key="Escape" modifiers="" signal="activate"/>
<accelerator key="Return" modifiers="" signal="activate"/>
- <accelerator key="Escape" modifiers="" signal="activate"/>
</widget>
</child>
</widget>
@@ -3359,14 +3359,16 @@
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
<property name="shadow_type">GTK_SHADOW_IN</property>
<child>
- <widget class="GtkTextView" id="chatNickList">
+ <widget class="GtkTreeView" id="roomMembersTreeView">
<property name="visible">True</property>
<property name="can_focus">True</property>
- <property name="events">GDK_POINTER_MOTION_MASK |
GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK |
GDK_BUTTON_RELEASE_MASK</property>
+ <property name="headers_clickable">True</property>
</widget>
</child>
</widget>
<packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
<property name="position">1</property>
</packing>
</child>
Modified: gnunet-gtk/src/plugins/chat/chat.c
===================================================================
--- gnunet-gtk/src/plugins/chat/chat.c 2008-06-02 00:03:03 UTC (rev 6985)
+++ gnunet-gtk/src/plugins/chat/chat.c 2008-06-02 02:01:06 UTC (rev 6986)
@@ -49,6 +49,7 @@
struct GNUNET_CHAT_gui_chat_client
{
struct GNUNET_CHAT_gui_chat_client *next;
+ GtkWidget * send_button;
GtkWidget * text_view;
GtkListStore * nick_model;
GtkWidget *chatFrame;
@@ -90,18 +91,18 @@
buffer = gtk_text_view_get_buffer (GTK_TEXT_VIEW (cls->text_view));
message_buf_size =
snprintf (NULL, 0,
- "<%s> %s\n",
+ "<%s>: %s\n",
cls->sender,
cls->message);
message_buf = GNUNET_malloc (message_buf_size + 1);
GNUNET_snprintf (message_buf,
message_buf_size + 1,
- "<%s> %s\n",
+ "<%s>: %s\n",
cls->sender,
cls->message);
gtk_text_buffer_insert_at_cursor (buffer,
message_buf,
- message_buf_size + 1);
+ message_buf_size);
GNUNET_free(message_buf);
return NULL;
}
@@ -116,7 +117,7 @@
GtkListStore * model;
GtkTreeIter iter;
GNUNET_HashCode * pid;
-
+
model = GTK_LIST_STORE (cls->model);
gtk_list_store_append (model, &iter);
pid = GNUNET_malloc(sizeof(GNUNET_HashCode));
@@ -238,16 +239,14 @@
void
on_chat_frame_send_button_click_event_chat (GtkWidget * widget, gpointer data)
{
- GtkWidget *chatnotebook;
unsigned int seq;
const char *message;
struct GNUNET_CHAT_gui_chat_client *pos;
- chatnotebook = gtk_widget_get_ancestor (widget, GTK_TYPE_NOTEBOOK);
GNUNET_mutex_lock(lock);
pos = list;
while ( (pos != NULL) &&
- (pos->chatFrame != chatnotebook) )
+ (pos->send_button != widget) )
pos = pos->next;
GNUNET_GE_ASSERT(NULL, pos != NULL);
@@ -257,6 +256,7 @@
GNUNET_CHAT_MSG_OPTION_NONE,
NULL, &seq);
gtk_entry_set_text (GTK_ENTRY(pos->chat_entry), "");
+ GNUNET_mutex_unlock(lock);
}
/** FIXME: move to gtkcommon! */
@@ -299,21 +299,21 @@
client->chatFrame = extractMainWidgetFromWindow (client->chatXML,
"chatFrame");
chatLabel = gtk_label_new (room_name);
- gtk_notebook_insert_page (GTK_NOTEBOOK (chatnotebook),
+ gtk_notebook_append_page (GTK_NOTEBOOK (chatnotebook),
client->chatFrame,
- chatLabel, 1);
- gtk_widget_show (client->chatFrame);
- gtk_widget_show (chatLabel);
+ chatLabel);
+ gtk_widget_show (chatnotebook);
client->nick_model = gtk_list_store_new (CHAT_NUM,
G_TYPE_STRING, /* nickname */
G_TYPE_POINTER, /* metadata */
GDK_TYPE_PIXBUF, /* icon */
G_TYPE_POINTER); /* pid */
+ client->send_button = glade_xml_get_widget (client->chatXML,
"chatSendButton");
client->text_view = glade_xml_get_widget (client->chatXML, "chatLogViewer");
client->chat_entry = glade_xml_get_widget (client->chatXML,
"chatLineTextEntry");
treeview = GTK_TREE_VIEW(glade_xml_get_widget (client->chatXML,
"roomMembersTreeView"));
- gtk_tree_view_set_model (treeview, GTK_TREE_MODEL (list->nick_model));
+ gtk_tree_view_set_model (treeview, GTK_TREE_MODEL (client->nick_model));
renderer = gtk_cell_renderer_text_new ();
col = gtk_tree_view_insert_column_with_attributes (treeview,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r6986 - in gnunet-gtk: . src/plugins/chat,
gnunet <=