#include "display-gtk.h"
#include "divelist.h"
-static GtkEntry *location, *buddy, *divemaster, *rating;
+static GtkEntry *location, *buddy, *divemaster, *rating, *suit;
static GtkTextView *notes;
-static GtkListStore *location_list, *people_list, *star_list;
+static GtkListStore *location_list, *people_list, *star_list, *suit_list;
static char *get_text(GtkTextView *view)
{
SET_TEXT_VALUE(divemaster);
SET_TEXT_VALUE(buddy);
SET_TEXT_VALUE(location);
+ SET_TEXT_VALUE(suit);
gtk_entry_set_text(rating, star_strings[dive->rating]);
gtk_text_buffer_set_text(gtk_text_view_get_buffer(notes),
dive && dive->notes ? dive->notes : "", -1);
gtk_tree_model_get(model, iter, 0, &entry, -1);
cmp = strcmp(entry, string);
+ if (entry)
+ free(entry);
/* Stop. The entry is bigger than the new one */
if (cmp > 0)
add_string_list_entry(string, location_list);
}
+void add_suit(const char *string)
+{
+ add_string_list_entry(string, suit_list);
+}
+
static int get_rating(const char *string)
{
int rating_val = 0;
}
struct dive_info {
- GtkComboBoxEntry *location, *divemaster, *buddy, *rating;
+ GtkComboBoxEntry *location, *divemaster, *buddy, *rating, *suit;
GtkTextView *notes;
};
changed = 1;
}
+ new_text = get_combo_box_entry_text(info->suit, &dive->suit);
+ if (new_text) {
+ add_suit(new_text);
+ changed = 1;
+ }
+
rating_string = strdup(star_strings[dive->rating]);
new_text = get_combo_box_entry_text(info->rating, &rating_string);
if (new_text) {
gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, TRUE, 0);
info->rating = text_entry(hbox, "Rating", star_list, star_strings[dive->rating]);
+ info->suit = text_entry(hbox, "Suit", suit_list, dive->suit);
/* only show notes if editing a single dive */
if (multi) {
add_string_list_entry(THREE_STARS, star_list);
add_string_list_entry(FOUR_STARS, star_list);
add_string_list_entry(FIVE_STARS, star_list);
+ suit_list = gtk_list_store_new(1, G_TYPE_STRING);
gtk_container_set_border_width(GTK_CONTAINER(vbox), 6);
location = text_value(vbox, "Location");
gtk_box_pack_start(GTK_BOX(vbox), hbox, FALSE, TRUE, 0);
rating = text_value(hbox, "Rating");
+ suit = text_value(hbox, "Suit");
notes = text_view(vbox, "Notes", READ_ONLY);
return vbox;