aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2014-06-02 21:10:49 +0000
committerChristian Grothoff <christian@grothoff.org>2014-06-02 21:10:49 +0000
commit6f7857ee10e2f05e91fe1b30c854d073e15747c2 (patch)
tree41fee0280c7e7f02796a96f62c9fa92a8a99b011 /src
parent84a6a4b4466a0920b8ff7e0c59ee139d13f7a3d3 (diff)
downloadgnunet-gtk-6f7857ee10e2f05e91fe1b30c854d073e15747c2.tar.gz
gnunet-gtk-6f7857ee10e2f05e91fe1b30c854d073e15747c2.zip
make gnunet-gtk work with gtk3 widgets
Diffstat (limited to 'src')
-rw-r--r--src/conversation/gnunet-conversation-gtk.c20
-rw-r--r--src/conversation/gnunet-conversation-gtk_egos.c3
-rw-r--r--src/fs/gnunet-fs-gtk.c6
-rw-r--r--src/fs/gnunet-fs-gtk.h2
-rw-r--r--src/include/gnunet_gtk.h6
-rw-r--r--src/lib/trayicon.c3
-rw-r--r--src/main/gnunet-gtk.c14
-rw-r--r--src/peerinfo/gnunet-peerinfo-gtk.c2
8 files changed, 32 insertions, 24 deletions
diff --git a/src/conversation/gnunet-conversation-gtk.c b/src/conversation/gnunet-conversation-gtk.c
index 93d1c5e5..660b9df5 100644
--- a/src/conversation/gnunet-conversation-gtk.c
+++ b/src/conversation/gnunet-conversation-gtk.c
@@ -161,7 +161,7 @@ static void
161run (void *cls, 161run (void *cls,
162 const struct GNUNET_SCHEDULER_TaskContext *tc) 162 const struct GNUNET_SCHEDULER_TaskContext *tc)
163{ 163{
164 GtkWindow *main_window; 164 GtkWidget *main_window;
165 165
166 ml = cls; 166 ml = cls;
167 if (GNUNET_OK != GNUNET_GTK_main_loop_build_window (ml, NULL)) 167 if (GNUNET_OK != GNUNET_GTK_main_loop_build_window (ml, NULL))
@@ -169,24 +169,22 @@ run (void *cls,
169 GNUNET_GTK_set_icon_search_path (); 169 GNUNET_GTK_set_icon_search_path ();
170 GNUNET_GTK_setup_nls (); 170 GNUNET_GTK_setup_nls ();
171 /* setup main window */ 171 /* setup main window */
172 main_window = GTK_WINDOW (GCG_get_main_window_object 172 main_window = GTK_WIDGET (GCG_get_main_window_object
173 ("gnunet_conversation_gtk_main_window")); 173 ("gnunet_conversation_gtk_main_window"));
174 main_window = 174 main_window = GNUNET_GTK_plug_me ("GNUNET_CONVERSATION_GTK_PLUG",
175 GTK_WINDOW (GNUNET_GTK_plug_me 175 main_window);
176 ("GNUNET_CONVERSATION_GTK_PLUG", 176 gtk_window_maximize (GTK_WINDOW (main_window));
177 GTK_WIDGET (main_window)));
178 if (NULL == getenv ("GNUNET_CONVERSATION_GTK_PLUG")) 177 if (NULL == getenv ("GNUNET_CONVERSATION_GTK_PLUG"))
179 GNUNET_GTK_tray_icon_create (ml, GTK_WINDOW (main_window), 178 GNUNET_GTK_tray_icon_create (ml,
180 "gnunet-conversation-gtk" 179 GTK_WINDOW (main_window),
181 /* FIXME: different icon? */ , 180 "gnunet-gtk" /* FIXME: different icon? */,
182 "gnunet-conversation-gtk"); 181 "gnunet-conversation-gtk");
183 /* make GUI visible */ 182 /* make GUI visible */
184 if (! tray_only) 183 if (! tray_only)
185 { 184 {
186 gtk_widget_show (GTK_WIDGET (main_window)); 185 gtk_widget_show (main_window);
187 gtk_window_present (GTK_WINDOW (main_window)); 186 gtk_window_present (GTK_WINDOW (main_window));
188 } 187 }
189
190 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL, 188 GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_UNIT_FOREVER_REL,
191 &shutdown_task, 189 &shutdown_task,
192 NULL); 190 NULL);
diff --git a/src/conversation/gnunet-conversation-gtk_egos.c b/src/conversation/gnunet-conversation-gtk_egos.c
index 54c61acd..4c4d4a2f 100644
--- a/src/conversation/gnunet-conversation-gtk_egos.c
+++ b/src/conversation/gnunet-conversation-gtk_egos.c
@@ -61,6 +61,7 @@ static GtkListStore *ego_liststore;
61 */ 61 */
62static char *default_ego; 62static char *default_ego;
63 63
64
64/** 65/**
65 * Obtain the currently selected ego. 66 * Obtain the currently selected ego.
66 * 67 *
@@ -174,7 +175,7 @@ void
174gnunet_conversation_gtk_ego_copy_button_clicked_cb (GtkButton *button, 175gnunet_conversation_gtk_ego_copy_button_clicked_cb (GtkButton *button,
175 gpointer user_data) 176 gpointer user_data)
176{ 177{
177 GNUNET_break (0); 178 GNUNET_break (0); // FIXME: not implemented
178} 179}
179 180
180 181
diff --git a/src/fs/gnunet-fs-gtk.c b/src/fs/gnunet-fs-gtk.c
index ec397b7c..f9c2f858 100644
--- a/src/fs/gnunet-fs-gtk.c
+++ b/src/fs/gnunet-fs-gtk.c
@@ -426,7 +426,9 @@ unique_app_message_cb (UniqueApp *app,
426 struct GNUNET_GTK_MainWindowContext *main_context = user_data; 426 struct GNUNET_GTK_MainWindowContext *main_context = user_data;
427 427
428 /* raise the window */ 428 /* raise the window */
429 gtk_window_present_with_time (GTK_WINDOW (main_context->main_window), time_); 429 if (GTK_IS_WINDOW (main_context->main_window))
430 gtk_window_present_with_time (GTK_WINDOW (main_context->main_window),
431 time_);
430 432
431 switch (command) 433 switch (command)
432 { 434 {
@@ -720,7 +722,7 @@ run (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
720 main_context.download_anonymity_combo = GTK_COMBO_BOX (GNUNET_FS_GTK_get_main_window_object ("main_window_download_anonymity_combobox")); 722 main_context.download_anonymity_combo = GTK_COMBO_BOX (GNUNET_FS_GTK_get_main_window_object ("main_window_download_anonymity_combobox"));
721 main_context.download_recursive_checkbutton = GTK_CHECK_BUTTON (GNUNET_FS_GTK_get_main_window_object ("GNUNET_GTK_search_frame_download_recursive_checkbox")); 723 main_context.download_recursive_checkbutton = GTK_CHECK_BUTTON (GNUNET_FS_GTK_get_main_window_object ("GNUNET_GTK_search_frame_download_recursive_checkbox"));
722 main_context.download_download_button = GTK_BUTTON (GNUNET_FS_GTK_get_main_window_object ("GNUNET_GTK_search_frame_download_download_button")); 724 main_context.download_download_button = GTK_BUTTON (GNUNET_FS_GTK_get_main_window_object ("GNUNET_GTK_search_frame_download_download_button"));
723 main_context.download_panel = GTK_VBOX (GNUNET_FS_GTK_get_main_window_object ("GNUNET_GTK_search_frame_download_vbox")); 725 main_context.download_panel = GTK_BOX (GNUNET_FS_GTK_get_main_window_object ("GNUNET_GTK_search_frame_download_vbox"));
724 726
725 main_context.notebook = GTK_NOTEBOOK (GNUNET_FS_GTK_get_main_window_object ("GNUNET_GTK_main_window_notebook")); 727 main_context.notebook = GTK_NOTEBOOK (GNUNET_FS_GTK_get_main_window_object ("GNUNET_GTK_main_window_notebook"));
726 728
diff --git a/src/fs/gnunet-fs-gtk.h b/src/fs/gnunet-fs-gtk.h
index 3dab8bcf..20a564db 100644
--- a/src/fs/gnunet-fs-gtk.h
+++ b/src/fs/gnunet-fs-gtk.h
@@ -203,7 +203,7 @@ struct GNUNET_GTK_MainWindowContext
203 GtkComboBox *download_anonymity_combo; 203 GtkComboBox *download_anonymity_combo;
204 GtkCheckButton *download_recursive_checkbutton; 204 GtkCheckButton *download_recursive_checkbutton;
205 GtkButton *download_download_button; 205 GtkButton *download_download_button;
206 GtkVBox *download_panel; 206 GtkBox *download_panel;
207 207
208 GtkNotebook *notebook; 208 GtkNotebook *notebook;
209 209
diff --git a/src/include/gnunet_gtk.h b/src/include/gnunet_gtk.h
index 4603343a..74fdc3b2 100644
--- a/src/include/gnunet_gtk.h
+++ b/src/include/gnunet_gtk.h
@@ -167,8 +167,10 @@ GNUNET_GTK_get_tree_string (GtkTreeView * treeview, GtkTreePath * treepath,
167 * @param tooltip tooltip for the tray icon 167 * @param tooltip tooltip for the tray icon
168 */ 168 */
169void 169void
170GNUNET_GTK_tray_icon_create (struct GNUNET_GTK_MainLoop *ml, GtkWindow * main, 170GNUNET_GTK_tray_icon_create (struct GNUNET_GTK_MainLoop *ml,
171 const char *icon_name, const char *tooltip); 171 GtkWindow *main,
172 const char *icon_name,
173 const char *tooltip);
172 174
173/** 175/**
174 * Change our tray icon. 176 * Change our tray icon.
diff --git a/src/lib/trayicon.c b/src/lib/trayicon.c
index 4e9c14db..d2e49493 100644
--- a/src/lib/trayicon.c
+++ b/src/lib/trayicon.c
@@ -161,10 +161,7 @@ GNUNET_GTK_tray_icon_change (const char *icon_name,
161 const char *tooltip) 161 const char *tooltip)
162{ 162{
163 if (NULL == tray_icon) 163 if (NULL == tray_icon)
164 {
165 GNUNET_break (0);
166 return; 164 return;
167 }
168 gtk_status_icon_set_from_icon_name (tray_icon, icon_name); 165 gtk_status_icon_set_from_icon_name (tray_icon, icon_name);
169 gtk_status_icon_set_tooltip_text (tray_icon, tooltip); 166 gtk_status_icon_set_tooltip_text (tray_icon, tooltip);
170 gtk_status_icon_set_visible (tray_icon, TRUE); 167 gtk_status_icon_set_visible (tray_icon, TRUE);
diff --git a/src/main/gnunet-gtk.c b/src/main/gnunet-gtk.c
index 68ef7e68..842b15ef 100644
--- a/src/main/gnunet-gtk.c
+++ b/src/main/gnunet-gtk.c
@@ -263,15 +263,23 @@ plug (const char *container,
263 const char *binary, 263 const char *binary,
264 const char *env_var) 264 const char *env_var)
265{ 265{
266 GtkContainer *v; 266 GtkWidget *v;
267 GtkWidget *l;
267 struct Plug *p; 268 struct Plug *p;
269 GtkNotebook *n;
268 270
269 p = GNUNET_new (struct Plug); 271 p = GNUNET_new (struct Plug);
270 p->s = gtk_socket_new (); 272 p->s = gtk_socket_new ();
271 gtk_widget_set_events (p->s, 273 gtk_widget_set_events (p->s,
272 GDK_ALL_EVENTS_MASK); 274 GDK_ALL_EVENTS_MASK);
273 v = GTK_CONTAINER (get_object (container)); 275 n = GTK_NOTEBOOK (get_object ("gnunet_gtk_notebook"));
274 gtk_container_add (v, p->s); 276 v = GTK_WIDGET (get_object (container));
277 l = gtk_notebook_get_tab_label (n, v);
278 g_object_ref (l);
279 gtk_notebook_remove_page (n,
280 gtk_notebook_page_num (n, v));
281 gtk_notebook_append_page (n, p->s, l);
282 g_object_unref (l);
275 p->binary = binary; 283 p->binary = binary;
276 p->env_var = env_var; 284 p->env_var = env_var;
277 p->sig_id = g_signal_connect (p->s, 285 p->sig_id = g_signal_connect (p->s,
diff --git a/src/peerinfo/gnunet-peerinfo-gtk.c b/src/peerinfo/gnunet-peerinfo-gtk.c
index 97e166e2..d0c50b80 100644
--- a/src/peerinfo/gnunet-peerinfo-gtk.c
+++ b/src/peerinfo/gnunet-peerinfo-gtk.c
@@ -1530,7 +1530,7 @@ run (void *cts,
1530 if (NULL == getenv ("GNUNET_PEERINFO_GTK_PLUG")) 1530 if (NULL == getenv ("GNUNET_PEERINFO_GTK_PLUG"))
1531 GNUNET_GTK_tray_icon_create (ml, 1531 GNUNET_GTK_tray_icon_create (ml,
1532 GTK_WINDOW (main_window), 1532 GTK_WINDOW (main_window),
1533 "gnunet-gtk" /* FIXME: different icon? */ , 1533 "gnunet-gtk" /* FIXME: different icon? */,
1534 "gnunet-peerinfo-gtk"); 1534 "gnunet-peerinfo-gtk");
1535 1535
1536 tv = GTK_TREE_VIEW (get_object ("GNUNET_PEERINFO_GTK_main_window_treeview")); 1536 tv = GTK_TREE_VIEW (get_object ("GNUNET_PEERINFO_GTK_main_window_treeview"));