[Goodies-commits] r4139 - in xfce4-dict/trunk: . lib panel-plugin po src

Enrico Troeger enrico at xfce.org
Sun Mar 30 15:36:15 CEST 2008


Author: enrico
Date: 2008-03-30 13:36:15 +0000 (Sun, 30 Mar 2008)
New Revision: 4139

Modified:
   xfce4-dict/trunk/ChangeLog
   xfce4-dict/trunk/lib/common.c
   xfce4-dict/trunk/lib/common.h
   xfce4-dict/trunk/lib/prefs.c
   xfce4-dict/trunk/lib/prefs.h
   xfce4-dict/trunk/panel-plugin/xfce4-dict-plugin.c
   xfce4-dict/trunk/po/POTFILES.in
   xfce4-dict/trunk/src/xfce4-dict.c
Log:
Redesign preferences dialog: use a GtkNotebook and use a XfceDialog.
Update POTFILES.in.
Remove debug messages.

Modified: xfce4-dict/trunk/ChangeLog
===================================================================
--- xfce4-dict/trunk/ChangeLog	2008-03-30 11:30:19 UTC (rev 4138)
+++ xfce4-dict/trunk/ChangeLog	2008-03-30 13:36:15 UTC (rev 4139)
@@ -1,6 +1,9 @@
 2008-03-30  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>
 
 	* More code reorganisation and cleanup.
+	* Redesign preferences dialog: use a GtkNotebook and use a XfceDialog.
+	* Update POTFILES.in.
+	* Remove debug messages.
 
 
 2008-03-27  Enrico Tröger  <enrico(dot)troeger(at)uvena(dot)de>

Modified: xfce4-dict/trunk/lib/common.c
===================================================================
--- xfce4-dict/trunk/lib/common.c	2008-03-30 11:30:19 UTC (rev 4138)
+++ xfce4-dict/trunk/lib/common.c	2008-03-30 13:36:15 UTC (rev 4139)
@@ -124,7 +124,7 @@
 
 
 /* taken from xarchiver, thanks Giuseppe */
-static gboolean open_browser(DictData *dd, const gchar *uri)
+gboolean dict_open_browser(DictData *dd, const gchar *uri)
 {
 	gchar *argv[3];
 	gchar *browser_path;
@@ -202,7 +202,7 @@
 		}
 	}
 	uri = str_replace(g_strdup(base), "{word}", dd->searched_word);
-	if (! open_browser(dd, uri))
+	if (! dict_open_browser(dd, uri))
 	{
 		xfce_err(_("Browser could not be opened. Please check your preferences."));
 		success = FALSE;
@@ -255,7 +255,7 @@
 		{
 			gboolean browser_started = start_web_query(dd, dd->searched_word);
 
-			/* If we started a web search, the browser was successfully started and we are not in the
+			/* If the browser was successfully started and we are not in the
 			 * stand-alone app, then hide the main window in favour of the started browser.
 			 * If we are in the stand-alone app, don't hide the main window, we don't want this */
 			if (browser_started && dd->is_plugin)
@@ -341,7 +341,6 @@
 
 void dict_free_data(DictData *dd)
 {
-	g_message("dict: destroy window");
 	gtk_widget_destroy(dd->window);
 
 	dict_write_rc_file(dd);

Modified: xfce4-dict/trunk/lib/common.h
===================================================================
--- xfce4-dict/trunk/lib/common.h	2008-03-30 11:30:19 UTC (rev 4138)
+++ xfce4-dict/trunk/lib/common.h	2008-03-30 13:36:15 UTC (rev 4139)
@@ -27,6 +27,9 @@
 	((ptr) && (ptr)[0])
 
 
+#define PLUGIN_WEBSITE "http://goodies.xfce.org/projects/xfce4-dict"
+
+
 typedef enum
 {
 	DICTMODE_DICT = 0,
@@ -106,6 +109,7 @@
 void dict_read_rc_file(DictData *dd);
 void dict_search_word(DictData *dd, const gchar *word);
 void dict_signal_cb(gint sig);
+gboolean dict_open_browser(DictData *dd, const gchar *uri);
 void dict_drag_data_received(GtkWidget *widget, GdkDragContext *drag_context, gint x, gint y,
 							 GtkSelectionData *data, guint info, guint ltime, DictData *dd);
 

Modified: xfce4-dict/trunk/lib/prefs.c
===================================================================
--- xfce4-dict/trunk/lib/prefs.c	2008-03-30 11:30:19 UTC (rev 4138)
+++ xfce4-dict/trunk/lib/prefs.c	2008-03-30 13:36:15 UTC (rev 4139)
@@ -78,99 +78,152 @@
 }
 
 
-void dict_prefs_dialog_response(GtkWidget *dlg, gint response, DictData *dd)
+static void prefs_dialog_response(GtkWidget *dlg, gint response, DictData *dd)
 {
-	if (response == GTK_RESPONSE_OK)
+	gchar *tmp;
+
+	if (response == GTK_RESPONSE_HELP)
 	{
-		gchar *tmp;
-		/* MODE DICT */
-		tmp = gtk_combo_box_get_active_text(GTK_COMBO_BOX(dd->dict_combo));
-		if (tmp == NULL || tmp[0] == '0' || tmp[0] == '-')
-		{
-			xfce_err(_("You have chosen an invalid dictionary entry."));
-			g_free(tmp);
-			return;
-		}
+		/* show help */
+		gboolean result = dict_open_browser(dd, "exo-open --launch WebBrowser " PLUGIN_WEBSITE);
 
-		dd->port = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(dd->port_spinner));
+		if (G_UNLIKELY(result == FALSE))
+			g_warning(_("Unable to open the following url: %s"), PLUGIN_WEBSITE);
 
-		g_free(dd->server);
-		dd->server = g_strdup(gtk_entry_get_text(GTK_ENTRY(dd->server_entry)));
+		return;
+	}
 
-		g_free(dd->dictionary);
-		dd->dictionary = tmp;
+	/* MODE DICT */
+	tmp = gtk_combo_box_get_active_text(GTK_COMBO_BOX(dd->dict_combo));
+	if (tmp == NULL || tmp[0] == '0' || tmp[0] == '-')
+	{
+		xfce_err(_("You have chosen an invalid dictionary entry."));
+		g_free(tmp);
+		return;
+	}
 
-		/* MODE WEB */
-		if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gereng)))
-			dd->web_mode = WEBMODE_LEO_GERENG;
-		else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gerfre)))
-			dd->web_mode = WEBMODE_LEO_GERFRE;
-		else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gerspa)))
-			dd->web_mode = WEBMODE_LEO_GERSPA;
-		else
-		{
-			dd->web_mode = WEBMODE_OTHER;
+	dd->port = gtk_spin_button_get_value_as_int(GTK_SPIN_BUTTON(dd->port_spinner));
 
-			g_free(dd->web_url);
-			dd->web_url = g_strdup(gtk_entry_get_text(GTK_ENTRY(dd->web_entry)));
-		}
+	g_free(dd->server);
+	dd->server = g_strdup(gtk_entry_get_text(GTK_ENTRY(dd->server_entry)));
 
-		/* MODE SPELL */
-		tmp = gtk_combo_box_get_active_text(GTK_COMBO_BOX(dd->spell_combo));
-		if (NZV(tmp))
-		{
-			g_free(dd->spell_dictionary);
-			dd->spell_dictionary = tmp;
-		}
+	g_free(dd->dictionary);
+	dd->dictionary = tmp;
 
-		g_free(dd->spell_bin);
-		dd->spell_bin = g_strdup(gtk_entry_get_text(GTK_ENTRY(dd->spell_entry)));
+	/* MODE WEB */
+	if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gereng)))
+		dd->web_mode = WEBMODE_LEO_GERENG;
+	else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gerfre)))
+		dd->web_mode = WEBMODE_LEO_GERFRE;
+	else if (gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gerspa)))
+		dd->web_mode = WEBMODE_LEO_GERSPA;
+	else
+	{
+		dd->web_mode = WEBMODE_OTHER;
 
-		/* general settings */
-		dd->show_panel_entry = gtk_toggle_button_get_active(
-								GTK_TOGGLE_BUTTON(dd->check_panel_entry));
-		dd->panel_entry_size = gtk_spin_button_get_value_as_int(
-								GTK_SPIN_BUTTON(dd->panel_entry_size_spinner));
+		g_free(dd->web_url);
+		dd->web_url = g_strdup(gtk_entry_get_text(GTK_ENTRY(dd->web_entry)));
+	}
 
-		/* save settings */
-		dict_write_rc_file(dd);
+	/* MODE SPELL */
+	tmp = gtk_combo_box_get_active_text(GTK_COMBO_BOX(dd->spell_combo));
+	if (NZV(tmp))
+	{
+		g_free(dd->spell_dictionary);
+		dd->spell_dictionary = tmp;
 	}
+
+	g_free(dd->spell_bin);
+	dd->spell_bin = g_strdup(gtk_entry_get_text(GTK_ENTRY(dd->spell_entry)));
+
+	/* general settings */
+	dd->show_panel_entry = gtk_toggle_button_get_active(
+							GTK_TOGGLE_BUTTON(dd->check_panel_entry));
+	dd->panel_entry_size = gtk_spin_button_get_value_as_int(
+							GTK_SPIN_BUTTON(dd->panel_entry_size_spinner));
+
+	/* save settings */
+	dict_write_rc_file(dd);
+
 	gtk_widget_destroy(dlg);
 }
 
 
-GtkWidget *dict_prefs_dialog_show(DictData *dd)
+GtkWidget *dict_prefs_dialog_show(GtkWidget *parent, DictData *dd)
 {
-	GtkWidget *dlg, *header, *vbox, *label3;
+	GtkWidget *dialog, *inner_vbox, *notebook, *notebook_vbox;
+	GtkWidget *label1, *label2, *label3;
 
-	dlg = gtk_dialog_new_with_buttons(_("Properties"),
-				GTK_WINDOW(dd->window),
-				GTK_DIALOG_DESTROY_WITH_PARENT |
-				GTK_DIALOG_NO_SEPARATOR,
-				GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
-				GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
-				NULL);
+	dialog = xfce_titled_dialog_new_with_buttons(
+		_("Xfce Dictionary"), GTK_WINDOW(parent),
+		GTK_DIALOG_DESTROY_WITH_PARENT | GTK_DIALOG_NO_SEPARATOR,
+		GTK_STOCK_HELP, GTK_RESPONSE_HELP,
+		GTK_STOCK_CLOSE, GTK_RESPONSE_OK,
+		NULL);
 
-	gtk_window_set_position(GTK_WINDOW(dlg), GTK_WIN_POS_CENTER);
+    gtk_window_set_position(GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
+    gtk_window_set_icon_name(GTK_WINDOW(dialog), "xfce4-settings");
+	g_signal_connect_after(dialog, "response", G_CALLBACK(prefs_dialog_response), dd);
 
-	gtk_container_set_border_width(GTK_CONTAINER(dlg), 2);
+	notebook = gtk_notebook_new();
+	gtk_widget_show(notebook);
+	gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dialog)->vbox), notebook, FALSE, TRUE, 0);
+	gtk_container_set_border_width(GTK_CONTAINER(notebook), 5);
 
-	header = xfce_create_header(NULL, _("Dictionary plugin"));
-	gtk_container_set_border_width(GTK_CONTAINER(header), 6);
-	gtk_widget_show(header);
-	gtk_box_pack_start(GTK_BOX(GTK_DIALOG (dlg)->vbox), header, FALSE, TRUE, 0);
+	/*
+	 * Page: general
+	 */
+	{
+		GtkWidget *pe_hbox;
 
-	vbox = gtk_vbox_new(FALSE, 3);
-	gtk_container_set_border_width(GTK_CONTAINER(vbox), 6);
-	gtk_widget_show(vbox);
-	gtk_box_pack_start(GTK_BOX(GTK_DIALOG(dlg)->vbox), vbox, TRUE, TRUE, 0);
+		notebook_vbox = gtk_vbox_new(FALSE, 2);
+		gtk_widget_show(notebook_vbox);
+		inner_vbox = gtk_vbox_new(FALSE, 5);
+		gtk_widget_show(inner_vbox);
+		gtk_notebook_append_page(GTK_NOTEBOOK(notebook), notebook_vbox, gtk_label_new(_("General")));
 
+		/* show panel entry check box */
+		dd->check_panel_entry = gtk_check_button_new_with_label(
+													_("Show text field in the panel"));
+		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dd->check_panel_entry), dd->show_panel_entry);
+		gtk_widget_show(dd->check_panel_entry);
+		g_signal_connect(G_OBJECT(dd->check_panel_entry), "toggled",
+													G_CALLBACK(show_panel_entry_toggled), dd);
+
+		/* panel entry size */
+		dd->panel_entry_size_label = gtk_label_new_with_mnemonic(_("Text field size:"));
+		gtk_widget_show(dd->panel_entry_size_label);
+		dd->panel_entry_size_spinner = gtk_spin_button_new_with_range(0.0, 500.0, 1.0);
+		gtk_spin_button_set_value(GTK_SPIN_BUTTON(dd->panel_entry_size_spinner),
+																		dd->panel_entry_size);
+		gtk_widget_show(dd->panel_entry_size_spinner);
+
+		pe_hbox = gtk_hbox_new(FALSE, 0);
+		gtk_widget_show(pe_hbox);
+
+		gtk_box_pack_start(GTK_BOX(pe_hbox), dd->panel_entry_size_label, FALSE, FALSE, 10);
+		gtk_box_pack_start(GTK_BOX(pe_hbox), dd->panel_entry_size_spinner, TRUE, TRUE, 0);
+
+		gtk_box_pack_start(GTK_BOX(inner_vbox), dd->check_panel_entry, FALSE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(inner_vbox), pe_hbox, FALSE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(notebook_vbox), inner_vbox, TRUE, TRUE, 5);
+
+		/* init the sensitive widgets */
+		show_panel_entry_toggled(GTK_TOGGLE_BUTTON(dd->check_panel_entry), dd);
+	}
+
 	/*
-	 * Mode: DICT
+	 * Page: DICTD
 	 */
 	 {
-		GtkWidget *label1, *label2, *table, *button_get_list, *frame1;
+		GtkWidget *table, *button_get_list;
 
+		notebook_vbox = gtk_vbox_new(FALSE, 2);
+		gtk_widget_show(notebook_vbox);
+		inner_vbox = gtk_vbox_new(FALSE, 5);
+		gtk_widget_show(inner_vbox);
+		gtk_notebook_append_page(GTK_NOTEBOOK(notebook), notebook_vbox, gtk_label_new(_("Dictd")));
+
 		/* server address */
 		label1 = gtk_label_new_with_mnemonic(_("Server:"));
 		gtk_widget_show(label1);
@@ -219,7 +272,6 @@
 		gtk_widget_show(button_get_list);
 		g_signal_connect(button_get_list, "clicked", G_CALLBACK(dict_get_dict_list_cb), dd);
 
-
 		/* put it all together */
 		table = gtk_table_new(3, 3, FALSE);
 		gtk_widget_show(table);
@@ -232,7 +284,7 @@
 		gtk_misc_set_alignment(GTK_MISC(label1), 1, 0);
 
 		gtk_table_attach(GTK_TABLE(table), dd->server_entry, 1, 2, 0, 1,
-						(GtkAttachOptions) (GTK_FILL),
+						(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
 						(GtkAttachOptions) (0), 5, 5);
 
 		gtk_table_attach(GTK_TABLE(table), label2, 0, 1, 1, 2,
@@ -241,7 +293,7 @@
 		gtk_misc_set_alignment(GTK_MISC(label2), 1, 0);
 
 		gtk_table_attach(GTK_TABLE(table), dd->port_spinner, 1, 2, 1, 2,
-						(GtkAttachOptions) (GTK_FILL),
+						(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
 						(GtkAttachOptions) (0), 5, 5);
 
 		gtk_table_attach(GTK_TABLE(table), label3, 0, 1, 2, 3,
@@ -250,31 +302,29 @@
 		gtk_misc_set_alignment(GTK_MISC(label3), 1, 0);
 
 		gtk_table_attach(GTK_TABLE(table), dd->dict_combo, 1, 2, 2, 3,
-						(GtkAttachOptions) (GTK_FILL),
+						(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
 						(GtkAttachOptions) (0), 0, 0);
 
 		gtk_table_attach(GTK_TABLE(table), button_get_list, 2, 3, 2, 3,
 						(GtkAttachOptions) (GTK_FILL),
 						(GtkAttachOptions) (0), 5, 5);
 
-
-		frame1 = gtk_frame_new(_("Use a DICT server"));
-		gtk_frame_set_shadow_type(GTK_FRAME(frame1), GTK_SHADOW_ETCHED_OUT);
-		gtk_widget_show(frame1);
-		gtk_container_set_border_width(GTK_CONTAINER(frame1), 3);
-		gtk_container_add(GTK_CONTAINER(frame1), table);
-		gtk_box_pack_start(GTK_BOX(vbox), frame1, FALSE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(inner_vbox), table, FALSE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(notebook_vbox), inner_vbox, TRUE, TRUE, 5);
 	}
 
 	/*
-	 * Mode: WEB
+	 * Page: WEB
 	 */
 	{
-		GtkWidget  *web_vbox, *entry_hbox, *help_label, *frame2;
+		GtkWidget  *entry_hbox;
 		GSList *web_type;
 
-		web_vbox = gtk_vbox_new(FALSE, 5);
-		gtk_widget_show(web_vbox);
+		notebook_vbox = gtk_vbox_new(FALSE, 5);
+		gtk_widget_show(notebook_vbox);
+		inner_vbox = gtk_vbox_new(FALSE, 5);
+		gtk_widget_show(inner_vbox);
+		gtk_notebook_append_page(GTK_NOTEBOOK(notebook), notebook_vbox, gtk_label_new(_("Web")));
 
 		dd->web_radio_leo_gereng = gtk_radio_button_new_with_label(NULL,
 													_("dict.leo.org - German <-> English"));
@@ -282,7 +332,7 @@
 		if (dd->web_mode == WEBMODE_LEO_GERENG)
 			gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gereng), TRUE);
 		gtk_widget_show(dd->web_radio_leo_gereng);
-		gtk_box_pack_start(GTK_BOX(web_vbox), dd->web_radio_leo_gereng, FALSE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(inner_vbox), dd->web_radio_leo_gereng, FALSE, FALSE, 0);
 
 		dd->web_radio_leo_gerfre = gtk_radio_button_new_with_label(web_type,
 													_("dict.leo.org - German <-> French"));
@@ -290,7 +340,7 @@
 		if (dd->web_mode == WEBMODE_LEO_GERFRE)
 			gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gerfre), TRUE);
 		gtk_widget_show(dd->web_radio_leo_gerfre);
-		gtk_box_pack_start(GTK_BOX(web_vbox), dd->web_radio_leo_gerfre, FALSE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(inner_vbox), dd->web_radio_leo_gerfre, FALSE, FALSE, 0);
 
 		dd->web_radio_leo_gerspa = gtk_radio_button_new_with_label(web_type,
 													_("dict.leo.org - German <-> Spanish"));
@@ -298,7 +348,7 @@
 		if (dd->web_mode == WEBMODE_LEO_GERSPA)
 			gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dd->web_radio_leo_gerspa), TRUE);
 		gtk_widget_show(dd->web_radio_leo_gerspa);
-		gtk_box_pack_start(GTK_BOX(web_vbox), dd->web_radio_leo_gerspa, FALSE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(inner_vbox), dd->web_radio_leo_gerspa, FALSE, FALSE, 0);
 
 		dd->web_radio_other = gtk_radio_button_new_with_label(web_type, _("Use another website"));
 		if (dd->web_mode == WEBMODE_OTHER)
@@ -306,7 +356,7 @@
 		gtk_widget_show(dd->web_radio_other);
 		g_signal_connect(G_OBJECT(dd->web_radio_other), "toggled",
 												G_CALLBACK(use_webserver_toggled), dd);
-		gtk_box_pack_start(GTK_BOX(web_vbox), dd->web_radio_other, FALSE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(inner_vbox), dd->web_radio_other, FALSE, FALSE, 0);
 
 		dd->web_entry_label = gtk_label_new_with_mnemonic(_("URL:"));
 		gtk_widget_show(dd->web_entry_label);
@@ -319,31 +369,34 @@
 		gtk_widget_show(entry_hbox);
 		gtk_box_pack_start(GTK_BOX(entry_hbox), dd->web_entry_label, FALSE, TRUE, 5);
 		gtk_box_pack_start(GTK_BOX(entry_hbox), dd->web_entry, FALSE, FALSE, 0);
-		gtk_box_pack_start(GTK_BOX(web_vbox), entry_hbox, FALSE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(inner_vbox), entry_hbox, FALSE, FALSE, 0);
 
-		help_label = gtk_label_new(_("Enter an URL to a web site which offer translation services.\nUse {word} as placeholder for the searched word."));
-		gtk_label_set_line_wrap(GTK_LABEL(help_label), TRUE);
-		gtk_misc_set_alignment(GTK_MISC(help_label), 0, 0);
-		gtk_widget_show(help_label);
-		gtk_box_pack_start(GTK_BOX(web_vbox), help_label, TRUE, TRUE, 0);
+		label1 = gtk_label_new(_("Enter an URL to a web site which offer translation services.\nUse {word} as placeholder for the searched word."));
+		gtk_label_set_line_wrap(GTK_LABEL(label1), TRUE);
+		gtk_misc_set_alignment(GTK_MISC(label1), 0, 0);
+		gtk_widget_show(label1);
+		gtk_box_pack_start(GTK_BOX(inner_vbox), label1, FALSE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(notebook_vbox), inner_vbox, TRUE, TRUE, 5);
 
-		frame2 = gtk_frame_new(_("Use a web site"));
-		gtk_frame_set_shadow_type(GTK_FRAME(frame2), GTK_SHADOW_ETCHED_OUT);
-		gtk_widget_show(frame2);
-		gtk_container_set_border_width(GTK_CONTAINER(frame2), 3);
-		gtk_container_add(GTK_CONTAINER(frame2), web_vbox);
-		gtk_box_pack_start(GTK_BOX(vbox), frame2, TRUE, TRUE, 0);
+		/* init the sensitive widgets */
+		use_webserver_toggled(GTK_TOGGLE_BUTTON(dd->web_radio_other), dd);
 	}
 
 	/*
-	 * Mode: ASPELL
+	 * Page: ASPELL
 	 */
 	{
-		GtkWidget *label4, *label5, *table, *frame3;
+		GtkWidget *table;
 
-		label4 = gtk_label_new_with_mnemonic(_("Aspell program:"));
-		gtk_widget_show(label4);
+		notebook_vbox = gtk_vbox_new(FALSE, 5);
+		gtk_widget_show(notebook_vbox);
+		inner_vbox = gtk_vbox_new(FALSE, 5);
+		gtk_widget_show(inner_vbox);
+		gtk_notebook_append_page(GTK_NOTEBOOK(notebook), notebook_vbox, gtk_label_new(_("Aspell")));
 
+		label1 = gtk_label_new_with_mnemonic(_("Aspell program:"));
+		gtk_widget_show(label1);
+
 		dd->spell_entry = gtk_entry_new();
 		gtk_entry_set_max_length(GTK_ENTRY(dd->spell_entry), 256);
 		if (dd->spell_bin != NULL)
@@ -352,8 +405,8 @@
 		}
 		gtk_widget_show(dd->spell_entry);
 
-		label5 = gtk_label_new_with_mnemonic(_("Dictionary:"));
-		gtk_widget_show(label5);
+		label2 = gtk_label_new_with_mnemonic(_("Dictionary:"));
+		gtk_widget_show(label2);
 
 		dd->spell_combo = gtk_combo_box_new_text();
 		get_spell_dictionaries(dd);
@@ -364,69 +417,27 @@
 		gtk_table_set_row_spacings(GTK_TABLE(table), 5);
 		gtk_table_set_col_spacings(GTK_TABLE(table), 5);
 
-		gtk_table_attach(GTK_TABLE(table), label4, 0, 1, 0, 1,
+		gtk_table_attach(GTK_TABLE(table), label1, 0, 1, 0, 1,
 						(GtkAttachOptions) (GTK_FILL),
 						(GtkAttachOptions) (0), 5, 5);
-		gtk_misc_set_alignment(GTK_MISC(label4), 1, 0);
+		gtk_misc_set_alignment(GTK_MISC(label1), 1, 0);
 
 		gtk_table_attach(GTK_TABLE(table), dd->spell_entry, 1, 2, 0, 1,
 						(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
 						(GtkAttachOptions) (0), 5, 5);
 
-		gtk_table_attach(GTK_TABLE(table), label5, 0, 1, 1, 2,
+		gtk_table_attach(GTK_TABLE(table), label2, 0, 1, 1, 2,
 						(GtkAttachOptions) (GTK_FILL),
 						(GtkAttachOptions) (0), 5, 0);
-		gtk_misc_set_alignment(GTK_MISC(label5), 1, 0);
+		gtk_misc_set_alignment(GTK_MISC(label2), 1, 0);
 
 		gtk_table_attach(GTK_TABLE(table), dd->spell_combo, 1, 2, 1, 2,
 						(GtkAttachOptions) (GTK_FILL | GTK_EXPAND),
 						(GtkAttachOptions) (0), 5, 5);
 
-		frame3 = gtk_frame_new(_("Use Aspell"));
-		gtk_frame_set_shadow_type(GTK_FRAME(frame3), GTK_SHADOW_ETCHED_OUT);
-		gtk_widget_show(frame3);
-		gtk_container_set_border_width(GTK_CONTAINER(frame3), 3);
-		gtk_container_add(GTK_CONTAINER(frame3), table);
-		gtk_box_pack_start(GTK_BOX(vbox), frame3, TRUE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(inner_vbox), table, TRUE, FALSE, 0);
+		gtk_box_pack_start(GTK_BOX(notebook_vbox), inner_vbox, TRUE, TRUE, 5);
 	}
 
-	/* Display text entry in the panel */
-	{
-		GtkWidget *pe_hbox, *label;
-
-		/* show panel entry check box */
-		dd->check_panel_entry = gtk_check_button_new_with_label(
-													_("Show text field in the panel"));
-		gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(dd->check_panel_entry), dd->show_panel_entry);
-		gtk_widget_show(dd->check_panel_entry);
-		g_signal_connect(G_OBJECT(dd->check_panel_entry), "toggled",
-													G_CALLBACK(show_panel_entry_toggled), dd);
-
-		/* panel entry size */
-		dd->panel_entry_size_label = gtk_label_new_with_mnemonic(_("Text field size:"));
-		gtk_widget_show(dd->panel_entry_size_label);
-		dd->panel_entry_size_spinner = gtk_spin_button_new_with_range(0.0, 500.0, 1.0);
-		gtk_spin_button_set_value(GTK_SPIN_BUTTON(dd->panel_entry_size_spinner),
-																		dd->panel_entry_size);
-		gtk_widget_show(dd->panel_entry_size_spinner);
-
-		pe_hbox = gtk_hbox_new(FALSE, 0);
-		gtk_widget_show(pe_hbox);
-
-		gtk_box_pack_start(GTK_BOX(pe_hbox), dd->panel_entry_size_label, FALSE, FALSE, 10);
-		gtk_box_pack_start(GTK_BOX(pe_hbox), dd->panel_entry_size_spinner, TRUE, TRUE, 0);
-
-		label = gtk_label_new(""); /* just to make some space, should be done better */
-		gtk_widget_show(label);
-		gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
-		gtk_box_pack_start(GTK_BOX(vbox), dd->check_panel_entry, FALSE, FALSE, 0);
-		gtk_box_pack_start(GTK_BOX(vbox), pe_hbox, FALSE, FALSE, 0);
-
-	}
-
-	/* init the sensitive widgets */
-	use_webserver_toggled(GTK_TOGGLE_BUTTON(dd->web_radio_other), dd);
-	show_panel_entry_toggled(GTK_TOGGLE_BUTTON(dd->check_panel_entry), dd);
-
-	return dlg;
+	return dialog;
 }

Modified: xfce4-dict/trunk/lib/prefs.h
===================================================================
--- xfce4-dict/trunk/lib/prefs.h	2008-03-30 11:30:19 UTC (rev 4138)
+++ xfce4-dict/trunk/lib/prefs.h	2008-03-30 13:36:15 UTC (rev 4139)
@@ -21,8 +21,7 @@
 #ifndef PREFS_H
 #define PREFS_H 1
 
-GtkWidget *dict_prefs_dialog_show(DictData *dd);
-void dict_prefs_dialog_response(GtkWidget *dlg, gint response, DictData *dd);
+GtkWidget *dict_prefs_dialog_show(GtkWidget *parent, DictData *dd);
 
 
 #endif

Modified: xfce4-dict/trunk/panel-plugin/xfce4-dict-plugin.c
===================================================================
--- xfce4-dict/trunk/panel-plugin/xfce4-dict-plugin.c	2008-03-30 11:30:19 UTC (rev 4138)
+++ xfce4-dict/trunk/panel-plugin/xfce4-dict-plugin.c	2008-03-30 13:36:15 UTC (rev 4139)
@@ -221,10 +221,7 @@
 	GtkWidget *dialog = g_object_get_data(G_OBJECT(dpd->plugin), "dialog");
 
 	if (dialog != NULL)
-	{
-		g_message("dict: destroy dialog");
 		gtk_widget_destroy(dialog);
-	}
 
 	gtk_object_sink(GTK_OBJECT(dpd->tooltips));
 
@@ -286,8 +283,7 @@
 
 static void dict_plugin_properties_dialog_response(GtkWidget *dlg, gint response, DictPanelData *dpd)
 {
-	if (response == GTK_RESPONSE_OK)
-		dict_plugin_panel_save_settings(dpd);
+	dict_plugin_panel_save_settings(dpd);
 
 	g_object_set_data(G_OBJECT(dpd->plugin), "dialog", NULL);
 	xfce_panel_plugin_unblock_menu(dpd->plugin);
@@ -300,12 +296,11 @@
 
 	xfce_panel_plugin_block_menu(plugin);
 
-	dlg = dict_prefs_dialog_show(dpd->dd);
+	dlg = dict_prefs_dialog_show(gtk_widget_get_toplevel(GTK_WIDGET(plugin)), dpd->dd);
 
 	g_object_set_data(G_OBJECT(dpd->plugin), "dialog", dlg);
 
 	g_signal_connect(dlg, "response", G_CALLBACK(dict_plugin_properties_dialog_response), dpd);
-	g_signal_connect(dlg, "response", G_CALLBACK(dict_prefs_dialog_response), dpd->dd);
 
 	gtk_widget_show(dlg);
 }
@@ -331,6 +326,7 @@
 	g_thread_init(NULL);
 
 	dpd->dd = dict_create_dictdata();
+	dpd->dd->is_plugin = TRUE;
 	dpd->plugin = plugin;
 
 	dict_read_rc_file(dpd->dd);

Modified: xfce4-dict/trunk/po/POTFILES.in
===================================================================
--- xfce4-dict/trunk/po/POTFILES.in	2008-03-30 11:30:19 UTC (rev 4138)
+++ xfce4-dict/trunk/po/POTFILES.in	2008-03-30 13:36:15 UTC (rev 4139)
@@ -4,5 +4,7 @@
 src/xfce4-dict.c
 src/xfce4-dict.desktop.in
 lib/aspell.c
-lib/dict.c
-lib/dict.h
+lib/common.c
+lib/dictd.c
+lib/gui.c
+lib/prefs.c

Modified: xfce4-dict/trunk/src/xfce4-dict.c
===================================================================
--- xfce4-dict/trunk/src/xfce4-dict.c	2008-03-30 11:30:19 UTC (rev 4138)
+++ xfce4-dict/trunk/src/xfce4-dict.c	2008-03-30 13:36:15 UTC (rev 4139)
@@ -73,6 +73,7 @@
 	/* no plugin found, start usual stand-alone app */
 
 	dd = dict_create_dictdata();
+	dd->is_plugin = FALSE;
 
 	g_thread_init(NULL);
 




More information about the Goodies-commits mailing list