Remaining gmdb2 info data from properties

New method mdb_get_catalogentry_by_name()
Bumped libmdb version from 2.0.1 to 2.1.0
This commit is contained in:
Nirgal Vourgère
2012-07-08 02:24:42 +02:00
parent 1ff5d62e30
commit f587d30995
4 changed files with 52 additions and 6 deletions

View File

@@ -38,6 +38,7 @@ gchar *filename, *filepath;
int i;
struct stat st;
char* version;
MdbCatalogEntry *entry = mdb_get_catalogentry_by_name(mdb, "SummaryInfo");
/* load the interface */
propswin_xml = glade_xml_new(GMDB_GLADEDIR "gmdb-props.glade", NULL, NULL);
@@ -56,16 +57,22 @@ char* version;
gtk_label_set_text(GTK_LABEL(label), filename);
label = glade_xml_get_widget (propswin_xml, "props_jetver");
if (mdb->f->jet_version == MDB_VER_JET3)
switch(mdb->f->jet_version) {
case MDB_VER_JET3:
version = "3 (Access 97)";
else if (mdb->f->jet_version == MDB_VER_JET4)
break;
case MDB_VER_JET4:
version = "4 (Access 2000/XP/2003)";
else if (mdb->f->jet_version == MDB_VER_ACCDB_2007)
break;
case MDB_VER_ACCDB_2007:
version = "ACE 12 (Access 2007)";
else if (mdb->f->jet_version == MDB_VER_ACCDB_2010)
break;
case MDB_VER_ACCDB_2010:
version = "ACE 14 (Access 2010)";
else
break;
default:
version = "Unknown";
}
gtk_label_set_text(GTK_LABEL(label), version);
label = glade_xml_get_widget (propswin_xml, "props_encrypted");
@@ -84,6 +91,29 @@ char* version;
label = glade_xml_get_widget (propswin_xml, "props_numobjs");
gtk_label_set_text(GTK_LABEL(label), tmpstr);
if (entry && entry->props && entry->props->len)
{
// There is only one MdbProps for that kind of entry
MdbProperties *props = g_array_index(entry->props, MdbProperties*, 0);
const char *propval;
propval = g_hash_table_lookup(props->hash, "Title");
if (propval) {
label = glade_xml_get_widget (propswin_xml, "props_title");
gtk_label_set_text(GTK_LABEL(label), propval);
}
propval = g_hash_table_lookup(props->hash, "Company");
if (propval) {
label = glade_xml_get_widget (propswin_xml, "props_company");
gtk_label_set_text(GTK_LABEL(label), propval);
}
propval = g_hash_table_lookup(props->hash, "Author");
if (propval) {
label = glade_xml_get_widget (propswin_xml, "props_author");
gtk_label_set_text(GTK_LABEL(label), propval);
}
}
g_free(filepath);
return propswin;

View File

@@ -1,5 +1,5 @@
lib_LTLIBRARIES = libmdb.la
libmdb_la_SOURCES= catalog.c mem.c file.c table.c data.c dump.c backend.c money.c sargs.c index.c like.c write.c stats.c map.c props.c worktable.c options.c iconv.c
libmdb_la_LDFLAGS = -version-info 2:0:1 -Wl,--version-script=$(srcdir)/libmdb.map
libmdb_la_LDFLAGS = -version-info 2:1:0 -Wl,--version-script=$(srcdir)/libmdb.map
AM_CPPFLAGS = -I$(top_srcdir)/include $(GLIB_CFLAGS)
LIBS = $(GLIB_LIBS) @LIBS@

View File

@@ -128,6 +128,21 @@ GPtrArray *mdb_read_catalog (MdbHandle *mdb, int objtype)
return mdb->catalog;
}
MdbCatalogEntry *
mdb_get_catalogentry_by_name(MdbHandle *mdb, const gchar* name)
{
unsigned int i;
MdbCatalogEntry *entry;
for (i=0; i<mdb->num_catalog; i++) {
entry = g_ptr_array_index(mdb->catalog, i);
if (!strcasecmp(entry->object_name, name))
return entry;
}
return NULL;
}
void
mdb_dump_catalog(MdbHandle *mdb, int obj_type)
{