00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
#include "kfile_palm.h"
00023
00024
#include <klocale.h>
00025
#include <kgenericfactory.h>
00026
00027
#include <qfile.h>
00028
#include <qdatetime.h>
00029
#include <pi-file.h>
00030
00031
00032
typedef KGenericFactory<KPalmPlugin> PalmFactory;
00033
00034 K_EXPORT_COMPONENT_FACTORY(kfile_palm, PalmFactory(
"kfile_palm" ))
00035
00036 KPalmPlugin::KPalmPlugin(
QObject *parent, const
char *name,
00037 const
QStringList &args)
00038
00039 : KFilePlugin(parent, name, args)
00040 {
00041 KFileMimeTypeInfo* info = addMimeTypeInfo(
"application/vnd.palm" );
00042
00043 KFileMimeTypeInfo::GroupInfo* group;
00044 KFileMimeTypeInfo::ItemInfo* item;
00045
00046 group = addGroupInfo(info,
"General", i18n(
"General Information"));
00047 item = addItemInfo(group,
"Name", i18n(
"Name"), QVariant::String);
00048 item = addItemInfo(group,
"DBType", i18n(
"DB Type"), QVariant::String);
00049 item = addItemInfo(group,
"TypeID", i18n(
"Type ID"), QVariant::String);
00050 item = addItemInfo(group,
"CreatorID", i18n(
"Creator ID"), QVariant::String);
00051 item = addItemInfo(group,
"NrRecords", i18n(
"# of Records"), QVariant::Int);
00052
00053 group = addGroupInfo(info,
"TimeStamps", i18n(
"Time Stamps"));
00054 item = addItemInfo(group,
"CreationDate", i18n(
"Creation Date"), QVariant::DateTime);
00055 item = addItemInfo(group,
"ModificationDate", i18n(
"Modification Date"), QVariant::DateTime);
00056 item = addItemInfo(group,
"BackupDate", i18n(
"Backup Date"), QVariant::DateTime);
00057
00058 group = addGroupInfo(info,
"Flags", i18n(
"Flags"));
00059 item = addItemInfo(group,
"ReadOnly", i18n(
"Read-Only"), QVariant::String);
00060 item = addItemInfo(group,
"MakeBackup", i18n(
"Make Backup"), QVariant::String);
00061 item = addItemInfo(group,
"CopyProtected", i18n(
"Copy Protected"), QVariant::String);
00062 item = addItemInfo(group,
"Reset", i18n(
"Reset Handheld After Installing"), QVariant::String);
00063 item = addItemInfo(group,
"ExcludeFromSync", i18n(
"Exclude From Sync"), QVariant::String);
00064 }
00065
00066
00067
bool KPalmPlugin::readInfo( KFileMetaInfo& info, uint )
00068 {
00069
int nrRec;
00070
QString tempName = info.path();
00071
QCString fileName = QFile::encodeName(tempName);
00072 pi_file *dbFile = pi_file_open(const_cast < char *>((
const char *) fileName));
00073
if (dbFile == 0L)
return false;
00074
00075
struct DBInfo dBInfo;
00076 pi_file_get_info( dbFile, &dBInfo );
00077 pi_file_get_entries( dbFile, &nrRec );
00078 pi_file_close(dbFile);
00079
00080 KFileMetaInfoGroup generalGroup = appendGroup(info,
"General");
00081 appendItem(generalGroup,
"Name", dBInfo.name );
00082 appendItem(generalGroup,
"DBType", (dBInfo.flags & dlpDBFlagResource)?i18n(
"PalmOS Application"):i18n(
"PalmOS Record Database") );
00083
00084
char buff[5];
00085 set_long(buff, dBInfo.type);
00086 buff[4]=
'\0';
00087 appendItem(generalGroup,
"TypeID", buff );
00088
00089 set_long(buff, dBInfo.creator);
00090 buff[4]=
'\0';
00091 appendItem(generalGroup,
"CreatorID", buff );
00092 appendItem(generalGroup,
"NrRecords", nrRec );
00093
00094
00095 KFileMetaInfoGroup timeGroup = appendGroup(info,
"TimeStamps");
00096
QDateTime tm;
00097 tm.setTime_t( dBInfo.createDate );
00098 appendItem(timeGroup,
"CreationDate", tm);
00099 tm.setTime_t( dBInfo.modifyDate );
00100 appendItem(timeGroup,
"ModificationDate", tm);
00101 tm.setTime_t( dBInfo.backupDate );
00102 appendItem(timeGroup,
"BackupDate", tm);
00103
00104 KFileMetaInfoGroup flagGroup = appendGroup(info,
"Flags");
00105 appendItem(flagGroup,
"ReadOnly", (dBInfo.flags & dlpDBFlagReadOnly)?i18n(
"Yes"):i18n(
"No") );
00106 appendItem(flagGroup,
"MakeBackup", (dBInfo.flags & dlpDBFlagBackup)?i18n(
"Yes"):i18n(
"No") );
00107 appendItem(flagGroup,
"CopyProtected", (dBInfo.flags & dlpDBFlagCopyPrevention)?i18n(
"Yes"):i18n(
"No") );
00108 appendItem(flagGroup,
"Reset", (dBInfo.flags & dlpDBFlagReset)?i18n(
"Yes"):i18n(
"No") );
00109 appendItem(flagGroup,
"ExcludeFromSync", (dBInfo.miscFlags & dlpDBMiscFlagExcludeFromSync)?i18n(
"Yes"):i18n(
"No") );
00110
00111
return true;
00112 }
00113
00114
00115
00116
00117
00118
00119
00120
00121
#include "kfile_palm.moc"