/* Copyright (C) 2012 Rudra Banerjee*/
/*
This file is part of mkbib.
mkbib is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
mkbib is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with mkbib. If not, see .
*/
#include
#include
#include
/* #include
* #include
* #include
* #include
* #include
* #include
*/
#include "main.h"
GtkWidget *flabel;
char *filename;
void caution();
GtkListStore *store;
GtkTreeIter siter;
GError* error = NULL;
void activate_func(GtkWidget *widget, gpointer data) {
Entries *e = (Entries*) data;
const gchar *strings[21] = {""};
strings[0] = g_strdup(gtk_combo_box_text_get_active_text(GTK_COMBO_BOX_TEXT(e->combo)));
strings[1] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entry1)));
strings[2] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryAuth)));
strings[3] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryEditor)));
strings[4] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryTitle)));
strings[5] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryPublisher)));
strings[6] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryVol)));
strings[7] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryNumber)));
strings[8] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryPage)));
strings[9] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryMon)));
strings[10] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryNote)));
strings[11] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryKey)));
strings[12] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryYear)));
strings[13] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryAddress)));
strings[14] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryEdition)));
strings[15] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryJournal)));
strings[16] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entrySeries)));
strings[17] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryBooktitle)));
strings[18] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryOrg)));
strings[19] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entrySchool)));
strings[20] = g_strdup(gtk_entry_get_text(GTK_ENTRY(e->entryChap)));
if(strcmp (strings[0],"==Entry Type==")==0){
caution("Select Entry Type");
}
else if(strcmp(strings[1],"")==0){
caution("Select Key");
}
else{
gtk_list_store_append(store, &siter);
gtk_list_store_set(store, &siter,
COL_BIB_KEY, strings[0],
COL_BIB_TYPE, strings[1],
COL_BIB_AUTHOR, strings[2],
COL_BIB_YEAR, strings[12],
COL_BIB_TITLE, strings[4],
COL_BIB_JOURNAL, strings[5],
-1);
GString *tstring = g_string_new ("");
GString *str=g_string_new(buffer);
gtk_label_set_text(GTK_LABEL(flabel), filename);
g_string_append_printf (tstring, "@%s{%s",strings[0], strings[1]);
gchar *keyword[21] = {
"Type" , "ID",
"Author" , "Editor" , "Title" , "Publisher",
"Volume" , "Number" , "Pages" , "Month" ,
"Note" , "Key" , "Year" , "Address" ,
"Edition" , "Journal", "Series", "Booktitle",
"Organization", "Chapter", "School"};
int i=2;
while (i < 21) {
if (strlen(strings[i]) != 0) {
g_string_append_printf(tstring, ",\n\t%s=\"%s\"",
keyword[i], strings[i]);
g_free((char*)strings[i]);
strings[i]=NULL;
g_print("Cleaned:%d\n",i);
}
i++;
}
g_string_append_printf (tstring,"\n}\n");
g_string_append(str,tstring->str);
g_string_free(tstring, TRUE);
buffer=str->str;
buf_mod=TRUE;
gtk_entry_set_text(GTK_ENTRY(e->entry1),"");
gtk_entry_set_text(GTK_ENTRY(e->entryAuth),"");
gtk_entry_set_text(GTK_ENTRY(e->entryEditor),"");
gtk_entry_set_text(GTK_ENTRY(e->entryTitle),"");
gtk_entry_set_text(GTK_ENTRY(e->entryPublisher),"");
gtk_entry_set_text(GTK_ENTRY(e->entryVol),"");
gtk_entry_set_text(GTK_ENTRY(e->entryNumber),"");
gtk_entry_set_text(GTK_ENTRY(e->entryPage),"");
gtk_entry_set_text(GTK_ENTRY(e->entryMon),"");
gtk_entry_set_text(GTK_ENTRY(e->entryNote),"");
gtk_entry_set_text(GTK_ENTRY(e->entryKey),"");
gtk_entry_set_text(GTK_ENTRY(e->entryYear),"");
gtk_entry_set_text(GTK_ENTRY(e->entryAddress),"");
gtk_entry_set_text(GTK_ENTRY(e->entryEdition),"");
gtk_entry_set_text(GTK_ENTRY(e->entryJournal),"");
gtk_entry_set_text(GTK_ENTRY(e->entrySeries),"");
gtk_entry_set_text(GTK_ENTRY(e->entryBooktitle),"");
gtk_entry_set_text(GTK_ENTRY(e->entryOrg),"");
gtk_entry_set_text(GTK_ENTRY(e->entryChap),"");
gtk_entry_set_text(GTK_ENTRY(e->entrySchool),"");
}
}