mirror of
https://github.com/mdbtools/mdbtools.git
synced 2025-11-26 02:09:49 +08:00
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:
@@ -441,6 +441,7 @@ extern void mdb_swap_pgbuf(MdbHandle *mdb);
|
||||
/* catalog.c */
|
||||
extern void mdb_free_catalog(MdbHandle *mdb);
|
||||
extern GPtrArray *mdb_read_catalog(MdbHandle *mdb, int obj_type);
|
||||
MdbCatalogEntry *mdb_get_catalogentry_by_name(MdbHandle *mdb, const gchar* name);
|
||||
extern void mdb_dump_catalog(MdbHandle *mdb, int obj_type);
|
||||
extern char *mdb_get_objtype_string(int obj_type);
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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@
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user