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 */
|
/* catalog.c */
|
||||||
extern void mdb_free_catalog(MdbHandle *mdb);
|
extern void mdb_free_catalog(MdbHandle *mdb);
|
||||||
extern GPtrArray *mdb_read_catalog(MdbHandle *mdb, int obj_type);
|
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 void mdb_dump_catalog(MdbHandle *mdb, int obj_type);
|
||||||
extern char *mdb_get_objtype_string(int obj_type);
|
extern char *mdb_get_objtype_string(int obj_type);
|
||||||
|
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ gchar *filename, *filepath;
|
|||||||
int i;
|
int i;
|
||||||
struct stat st;
|
struct stat st;
|
||||||
char* version;
|
char* version;
|
||||||
|
MdbCatalogEntry *entry = mdb_get_catalogentry_by_name(mdb, "SummaryInfo");
|
||||||
|
|
||||||
/* load the interface */
|
/* load the interface */
|
||||||
propswin_xml = glade_xml_new(GMDB_GLADEDIR "gmdb-props.glade", NULL, NULL);
|
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);
|
gtk_label_set_text(GTK_LABEL(label), filename);
|
||||||
|
|
||||||
label = glade_xml_get_widget (propswin_xml, "props_jetver");
|
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)";
|
version = "3 (Access 97)";
|
||||||
else if (mdb->f->jet_version == MDB_VER_JET4)
|
break;
|
||||||
|
case MDB_VER_JET4:
|
||||||
version = "4 (Access 2000/XP/2003)";
|
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)";
|
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)";
|
version = "ACE 14 (Access 2010)";
|
||||||
else
|
break;
|
||||||
|
default:
|
||||||
version = "Unknown";
|
version = "Unknown";
|
||||||
|
}
|
||||||
gtk_label_set_text(GTK_LABEL(label), version);
|
gtk_label_set_text(GTK_LABEL(label), version);
|
||||||
|
|
||||||
label = glade_xml_get_widget (propswin_xml, "props_encrypted");
|
label = glade_xml_get_widget (propswin_xml, "props_encrypted");
|
||||||
@@ -84,6 +91,29 @@ char* version;
|
|||||||
label = glade_xml_get_widget (propswin_xml, "props_numobjs");
|
label = glade_xml_get_widget (propswin_xml, "props_numobjs");
|
||||||
gtk_label_set_text(GTK_LABEL(label), tmpstr);
|
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);
|
g_free(filepath);
|
||||||
|
|
||||||
return propswin;
|
return propswin;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
lib_LTLIBRARIES = libmdb.la
|
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_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)
|
AM_CPPFLAGS = -I$(top_srcdir)/include $(GLIB_CFLAGS)
|
||||||
LIBS = $(GLIB_LIBS) @LIBS@
|
LIBS = $(GLIB_LIBS) @LIBS@
|
||||||
|
|||||||
@@ -128,6 +128,21 @@ GPtrArray *mdb_read_catalog (MdbHandle *mdb, int objtype)
|
|||||||
return mdb->catalog;
|
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
|
void
|
||||||
mdb_dump_catalog(MdbHandle *mdb, int obj_type)
|
mdb_dump_catalog(MdbHandle *mdb, int obj_type)
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user