[Goodies-commits] r5511 - xfbib/branches/gobject/src
Jesper Karlsson
zarper at xfce.org
Sat Oct 4 19:07:54 CEST 2008
Author: zarper
Date: 2008-10-04 17:07:53 +0000 (Sat, 04 Oct 2008)
New Revision: 5511
Modified:
xfbib/branches/gobject/src/xfbib-entry-edit-dialog.c
xfbib/branches/gobject/src/xfbib-multiple-input.c
xfbib/branches/gobject/src/xfbib-single-input.c
xfbib/branches/gobject/src/xfbib-single-input.h
Log:
Changed the layout of the entry edit dialog.
Modified: xfbib/branches/gobject/src/xfbib-entry-edit-dialog.c
===================================================================
--- xfbib/branches/gobject/src/xfbib-entry-edit-dialog.c 2008-10-04 15:48:32 UTC (rev 5510)
+++ xfbib/branches/gobject/src/xfbib-entry-edit-dialog.c 2008-10-04 17:07:53 UTC (rev 5511)
@@ -26,7 +26,6 @@
#include "xfbib-entry-edit-dialog.h"
#include "xfbib-multiple-input.h"
-#include "xfbib-single-input.h"
#include "xfbib-field.h"
#include "xfbib-strbuf.h"
#include "xfbib-entry.h"
@@ -91,7 +90,8 @@
GtkWidget *key_label;
GtkWidget *key_entry;
GtkWidget *key_button;
- GtkWidget *inputs[XFBIB_FIELD_N_FIELDS]; /* Single and multiple inputs */
+ GtkWidget *labels[XFBIB_FIELD_N_FIELDS]; /* Label and NULL objects */
+ GtkWidget *inputs[XFBIB_FIELD_N_FIELDS]; /* Entry and multiple inputs */
GtkWidget *note_boxes[5];
GtkWidget *notebook;
};
@@ -126,9 +126,9 @@
xfbib_strbuf_append(strbuf, tmp);
}
- xfbib_strbuf_append(strbuf, (xfbib_single_input_get_entry_text(XFBIB_SINGLE_INPUT (XFBIB_ENTRY_EDIT_DIALOG (user_data)->inputs[XFBIB_FIELD_YEAR])) + 2));
+ xfbib_strbuf_append(strbuf, (gtk_entry_get_text(GTK_ENTRY (XFBIB_ENTRY_EDIT_DIALOG (user_data)->inputs[XFBIB_FIELD_YEAR])) + 2));
- title = xfbib_single_input_get_entry_text(XFBIB_SINGLE_INPUT (XFBIB_ENTRY_EDIT_DIALOG (user_data)->inputs[XFBIB_FIELD_TITLE]));
+ title = gtk_entry_get_text(GTK_ENTRY (XFBIB_ENTRY_EDIT_DIALOG (user_data)->inputs[XFBIB_FIELD_TITLE]));
split = g_strsplit(title, " ", 2);
title = split[0];
xfbib_strbuf_append(strbuf, title);
@@ -171,7 +171,7 @@
static void
xfbib_entry_edit_dialog_init(XfbibEntryEditDialog *instance)
{
- gint i, row[4] = {0, 0, 0, 0};
+ gint i, row[5] = {0, 0, 0, 0, 0}, box;
GtkWidget *top_box;
instance->type_label = gtk_label_new("Type:");
@@ -183,7 +183,6 @@
instance->key_label = gtk_label_new("Key:");
instance->key_entry = gtk_entry_new();
- //gtk_entry_set_width_chars(GTK_ENTRY(instance->key_entry), 30);
/* TODO: Remove the text from button, try and find a magic wand icon or something similar instead */
instance->key_button = gtk_button_new_from_stock(GTK_STOCK_EXECUTE);
g_signal_connect(G_OBJECT (instance->key_button), "clicked", G_CALLBACK (cb_generate_clicked), instance);
@@ -191,24 +190,30 @@
/* TODO: Should the type and key widgets be on two seperate rows instead to limit the width? */
top_box = gtk_hbox_new(FALSE, 12);
- gtk_box_pack_start(GTK_BOX(top_box), instance->type_label, FALSE, FALSE, 0);
+ GtkWidget *leftalign, *rightalign;
+ leftalign = gtk_alignment_new(0, 0.5, 0, 0);
+ rightalign = gtk_alignment_new(0, 0.5, 0, 0);
+ gtk_alignment_set_padding(GTK_ALIGNMENT(leftalign), 0, 0, 6, 0);
+ gtk_alignment_set_padding(GTK_ALIGNMENT(rightalign), 0, 0, 0, 6);
+
+ gtk_box_pack_start(GTK_BOX(top_box), leftalign, FALSE, FALSE, 0);
+ gtk_container_add(GTK_CONTAINER(leftalign), instance->type_label);
gtk_box_pack_start(GTK_BOX(top_box), instance->type_combo_box, FALSE, FALSE, 0);
- gtk_box_pack_end(GTK_BOX(top_box), instance->key_button, FALSE, FALSE, 0);
+ gtk_box_pack_end(GTK_BOX(top_box), rightalign, FALSE, FALSE, 0);
+ gtk_container_add(GTK_CONTAINER(rightalign), instance->key_button);
gtk_box_pack_end(GTK_BOX(top_box), instance->key_entry, FALSE, FALSE, 0);
gtk_box_pack_end(GTK_BOX(top_box), instance->key_label, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (GTK_DIALOG (instance)->vbox), top_box, FALSE, FALSE, 0);
+
+ gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(instance)->vbox), 6);
-
- instance->note_boxes[0] = gtk_vbox_new(FALSE, 6);
- instance->note_boxes[1] = gtk_hbox_new(FALSE, 12);
- instance->note_boxes[2] = gtk_vbox_new(FALSE, 6);
- instance->note_boxes[3] = gtk_vbox_new(FALSE, 6);
- instance->note_boxes[4] = gtk_vbox_new(FALSE, 6);
for (i = 0; i < 5; i++) {
- //instance->note_boxes[i] = gtk_table_new(1, 2, TRUE);
- gtk_container_set_border_width(GTK_CONTAINER (instance->note_boxes[i]), 12);
+ instance->note_boxes[i] = gtk_table_new(1, 2, FALSE);
+ gtk_table_set_row_spacings(GTK_TABLE(instance->note_boxes[i]), 6);
+ gtk_table_set_col_spacings(GTK_TABLE(instance->note_boxes[i]), 12);
+ gtk_container_set_border_width(GTK_CONTAINER (instance->note_boxes[i]), 6);
}
for (i = 0; i < XFBIB_FIELD_N_FIELDS; i++) {
@@ -216,11 +221,13 @@
if (i == XFBIB_FIELD_AUTHOR || i == XFBIB_FIELD_EDITOR) {
instance->inputs[i] = xfbib_multiple_input_new(xfbib_input_constants[i].label, xfbib_input_constants[i].tooltip);
} else {
- instance->inputs[i] = xfbib_single_input_new(xfbib_input_constants[i].label, xfbib_input_constants[i].tooltip);
+ instance->labels[i] = gtk_label_new(xfbib_input_constants[i].label);
+ gtk_misc_set_alignment(GTK_MISC(instance->labels[i]), 0, 0.5);
+ instance->inputs[i] = gtk_entry_new();
+ gtk_widget_set_tooltip_text(instance->inputs[i], xfbib_input_constants[i].tooltip);
}
/* Add the input object to the correct box */
- /* TODO: Make functions in single input to get each element and then place them in the table */
switch (i) {
case XFBIB_FIELD_INSTITUTION:
case XFBIB_FIELD_ORGANIZATION:
@@ -228,15 +235,12 @@
case XFBIB_FIELD_TITLE:
case XFBIB_FIELD_TYPE:
/* Box 0 */
- gtk_box_pack_start (GTK_BOX (instance->note_boxes[0]), instance->inputs[i], FALSE, FALSE, 0);
+ box = 0;
break;
case XFBIB_FIELD_AUTHOR:
- /* Box 1 */
- gtk_box_pack_start (GTK_BOX (instance->note_boxes[1]), instance->inputs[i], FALSE, FALSE, 0);
- break;
case XFBIB_FIELD_EDITOR:
/* Box 1 */
- gtk_box_pack_end (GTK_BOX (instance->note_boxes[1]), instance->inputs[i], FALSE, FALSE, 0);
+ box = 1;
break;
case XFBIB_FIELD_BOOKTITLE:
case XFBIB_FIELD_CHAPTER:
@@ -247,7 +251,7 @@
case XFBIB_FIELD_VOLUME:
case XFBIB_FIELD_YEAR:
/* Box 2 */
- gtk_box_pack_start (GTK_BOX (instance->note_boxes[2]), instance->inputs[i], FALSE, FALSE, 0);
+ box = 2;
break;
case XFBIB_FIELD_ADDRESS:
case XFBIB_FIELD_HOWPUBLISHED:
@@ -255,7 +259,7 @@
case XFBIB_FIELD_PUBLISHER:
case XFBIB_FIELD_SERIES:
/* Box 3 */
- gtk_box_pack_start (GTK_BOX (instance->note_boxes[3]), instance->inputs[i], FALSE, FALSE, 0);
+ box = 3;
break;
case XFBIB_FIELD_ANNOTE:
case XFBIB_FIELD_CROSSREF:
@@ -264,12 +268,20 @@
case XFBIB_FIELD_NOTE:
case XFBIB_FIELD_URL:
/* Box 4 */
- gtk_box_pack_start (GTK_BOX (instance->note_boxes[4]), instance->inputs[i], FALSE, FALSE, 0);
+ box = 4;
break;
}
+ if (i == XFBIB_FIELD_AUTHOR || i == XFBIB_FIELD_EDITOR) {
+ gtk_table_attach_defaults(GTK_TABLE(instance->note_boxes[box]), instance->inputs[i], row[box], row[box]+1, 0, 1);
+ } else {
+ gtk_table_attach(GTK_TABLE(instance->note_boxes[box]), instance->labels[i], 0, 1, row[box], row[box]+1, GTK_FILL, GTK_FILL, 0, 0);
+ gtk_table_attach(GTK_TABLE(instance->note_boxes[box]), instance->inputs[i], 1, 2, row[box], row[box]+1, GTK_FILL | GTK_EXPAND, GTK_FILL, 0, 0);
+ }
+ row[box]++;
}
instance->notebook = gtk_notebook_new ();
+ gtk_container_set_border_width(GTK_CONTAINER (instance->notebook), 6);
gtk_notebook_set_tab_pos (GTK_NOTEBOOK (instance->notebook), GTK_POS_TOP);
gtk_notebook_append_page (GTK_NOTEBOOK (instance->notebook), instance->note_boxes[0], gtk_label_new("Title"));
gtk_notebook_append_page (GTK_NOTEBOOK (instance->notebook), instance->note_boxes[1], gtk_label_new("Author/Editor"));
@@ -326,11 +338,9 @@
continue;
}
if (n == XFBIB_FIELD_AUTHOR || n == XFBIB_FIELD_EDITOR) {
- xfbib_multiple_input_set_text (XFBIB_MULTIPLE_INPUT (entry_edit_dialog->inputs[n]),
- xfbib_field_get_value_str(field));
+ xfbib_multiple_input_set_text (XFBIB_MULTIPLE_INPUT (entry_edit_dialog->inputs[n]), xfbib_field_get_value_str(field));
} else {
- xfbib_single_input_set_entry_text (XFBIB_SINGLE_INPUT (entry_edit_dialog->inputs[n]),
- xfbib_field_get_value_str(field));
+ gtk_entry_set_text(GTK_ENTRY (entry_edit_dialog->inputs[n]), xfbib_field_get_value_str(field));
}
}
}
@@ -363,14 +373,14 @@
xfbib_field_set_value(field, value);
field_list = g_list_append(field_list, field);
} else {
- if(xfbib_single_input_get_entry_text(XFBIB_SINGLE_INPUT(entry_edit_dialog->inputs[n])) == "") {
+ if(gtk_entry_get_text(GTK_ENTRY(entry_edit_dialog->inputs[n])) == "") {
continue;
}
/* TODO: check if they are integers or strings(variables), don't assume text */
field = xfbib_field_new();
xfbib_field_set_variable(field, xfbib_input_constants[n].label);
value = xfbib_value_new();
- xfbib_value_set_str(value, xfbib_single_input_get_entry_text(XFBIB_SINGLE_INPUT(entry_edit_dialog->inputs[n])));
+ xfbib_value_set_str(value, gtk_entry_get_text(GTK_ENTRY(entry_edit_dialog->inputs[n])));
xfbib_field_set_value(field, value);
field_list = g_list_append(field_list, field);
}
Modified: xfbib/branches/gobject/src/xfbib-multiple-input.c
===================================================================
--- xfbib/branches/gobject/src/xfbib-multiple-input.c 2008-10-04 15:48:32 UTC (rev 5510)
+++ xfbib/branches/gobject/src/xfbib-multiple-input.c 2008-10-04 17:07:53 UTC (rev 5511)
@@ -145,7 +145,9 @@
GtkTreeViewColumn *column;
GtkWidget *scrolled_window;
- button_box = gtk_hbox_new(FALSE, 10);
+ gtk_box_set_spacing(GTK_BOX(instance), 12);
+
+ button_box = gtk_hbox_new(FALSE, 12);
/* Tree view */
instance->tree_view = gtk_tree_view_new();
@@ -182,14 +184,14 @@
//gtk_widget_set_tooltip_text (instance->toggle_button, "Toggle case sensitivity.");
- gtk_box_pack_start(GTK_BOX(button_box), instance->add_button, TRUE, FALSE, 1);
- gtk_box_pack_start(GTK_BOX(button_box), instance->remove_button, TRUE, FALSE, 1);
+ gtk_box_pack_start(GTK_BOX(button_box), instance->add_button, TRUE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(button_box), instance->remove_button, TRUE, FALSE, 0);
//gtk_box_pack_start(GTK_BOX(button_box), instance->toggle_button, TRUE, FALSE, 1);
gtk_container_add (GTK_CONTAINER (scrolled_window), instance->tree_view);
- gtk_box_pack_start(GTK_BOX(instance), scrolled_window, TRUE, TRUE, 10);
- gtk_box_pack_end(GTK_BOX(instance), button_box, FALSE, TRUE, 10);
+ gtk_box_pack_start(GTK_BOX(instance), scrolled_window, TRUE, TRUE, 0);
+ gtk_box_pack_end(GTK_BOX(instance), button_box, FALSE, TRUE, 0);
gtk_widget_show_all(GTK_WIDGET(instance));
}
Modified: xfbib/branches/gobject/src/xfbib-single-input.c
===================================================================
--- xfbib/branches/gobject/src/xfbib-single-input.c 2008-10-04 15:48:32 UTC (rev 5510)
+++ xfbib/branches/gobject/src/xfbib-single-input.c 2008-10-04 17:07:53 UTC (rev 5511)
@@ -79,10 +79,12 @@
static void
xfbib_single_input_init(XfbibSingleInput *instance)
{
+ gtk_box_set_spacing(GTK_BOX(instance), 12);
+
instance->label = gtk_label_new("");
instance->entry = gtk_entry_new();
- gtk_entry_set_width_chars(GTK_ENTRY (instance->entry), 30);
+ gtk_entry_set_width_chars(GTK_ENTRY(instance->entry), -1);
//instance->toggle_button = gtk_toggle_button_new_with_label("aA");
//gtk_widget_set_tooltip_text (instance->toggle_button, "Toggle case sensitivity.");
@@ -90,7 +92,7 @@
/* Pack the buttons */
gtk_box_pack_start(GTK_BOX(instance), instance->label, FALSE, FALSE, 3);
//gtk_box_pack_end(GTK_BOX(instance), instance->toggle_button, FALSE, TRUE, 10);
- gtk_box_pack_end(GTK_BOX(instance), instance->entry, FALSE, TRUE, 3);
+ gtk_box_pack_end(GTK_BOX(instance), instance->entry, TRUE, TRUE, 3);
gtk_widget_show_all(GTK_WIDGET(instance));
}
Modified: xfbib/branches/gobject/src/xfbib-single-input.h
===================================================================
--- xfbib/branches/gobject/src/xfbib-single-input.h 2008-10-04 15:48:32 UTC (rev 5510)
+++ xfbib/branches/gobject/src/xfbib-single-input.h 2008-10-04 17:07:53 UTC (rev 5511)
@@ -38,7 +38,6 @@
GtkWidget *xfbib_single_input_new(gchar *, gchar *);
void xfbib_single_input_set_entry_text(XfbibSingleInput *, const gchar *);
const gchar *xfbib_single_input_get_entry_text(XfbibSingleInput *);
-
G_END_DECLS
#endif //__XFBIB_SINGLE_INPUT_H
More information about the Goodies-commits
mailing list