diff options
author | Jon Bergli Heier <snakebite@jvnv.net> | 2009-12-30 04:30:25 +0100 |
---|---|---|
committer | Jon Bergli Heier <snakebite@jvnv.net> | 2009-12-30 04:30:25 +0100 |
commit | 4bff733352f608744e86328deb443d68ce666f7d (patch) | |
tree | e4bd26c2152fb19fe696e25ffffdb5198a22a508 /text_input_dialog.c | |
parent | a5a787eac52734a926d39e958d22b87a450d42aa (diff) |
Basic adding and assigning of tags implemented.
Committing this before it gets out of hand. Only adding new tags
is working atm.
Created a text input dialog.
Added a tag dialog.
Other minor changes.
Diffstat (limited to 'text_input_dialog.c')
-rw-r--r-- | text_input_dialog.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/text_input_dialog.c b/text_input_dialog.c new file mode 100644 index 0000000..da18b24 --- /dev/null +++ b/text_input_dialog.c @@ -0,0 +1,35 @@ +#include "text_input_dialog.h" + +GtkDialog *text_input_dialog_new(GtkWidget *parent, const gchar *msg) { + GtkWidget *dialog; + GtkWidget *entry; + GtkWidget *vbox; + + dialog = gtk_message_dialog_new(GTK_WINDOW(parent), GTK_DIALOG_MODAL | GTK_DIALOG_DESTROY_WITH_PARENT, + GTK_MESSAGE_QUESTION, GTK_BUTTONS_OK_CANCEL, msg); + entry = gtk_entry_new(); + + vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); + gtk_box_pack_end(GTK_BOX(vbox), entry, FALSE, FALSE, 0); + + gtk_widget_show(entry); + + return GTK_DIALOG(dialog); +} + +gchar *text_input_dialog_get_text(GtkWidget *dialog) { + GtkWidget *vbox; + GtkWidget *entry; + GList *list; + GtkEntryBuffer *buf; + + vbox = gtk_dialog_get_content_area(GTK_DIALOG(dialog)); + list = gtk_container_get_children(GTK_CONTAINER(vbox)); + entry = NULL; + for(int i = 0; i < g_list_length(list); i++) + if(GTK_IS_ENTRY(g_list_nth_data(list, i))) + entry = GTK_WIDGET(g_list_nth_data(list, i)); + g_assert(entry != NULL); + buf = gtk_entry_get_buffer(GTK_ENTRY(entry)); + return g_strdup(gtk_entry_buffer_get_text(buf)); +} |