summaryrefslogtreecommitdiff
Side-by-side diff
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/zsafe/categorylist.cpp6
-rw-r--r--noncore/apps/zsafe/categorylist.h6
-rw-r--r--noncore/apps/zsafe/zsafe.cpp201
3 files changed, 171 insertions, 42 deletions
diff --git a/noncore/apps/zsafe/categorylist.cpp b/noncore/apps/zsafe/categorylist.cpp
index 2fa59d2..c5e8d66 100644
--- a/noncore/apps/zsafe/categorylist.cpp
+++ b/noncore/apps/zsafe/categorylist.cpp
@@ -1,35 +1,35 @@
/* C implementation of RC2 encryption algorithm, as described in RFC2268 */
/* By Matthew Palmer <mjp16@uow.edu.au> */
/* $Id$ */
#include "categorylist.h"
CategoryList::CategoryList()
{
}
CategoryList::~CategoryList()
{
}
void CategoryList::insert (QString key, Category *category)
{
- categoryList.insert ((const char *) key, category);
+ categoryList.insert (key, category);
}
Category *CategoryList::find (QString key)
{
- return categoryList.find ((const char *) key);
+ return categoryList.find (key);
}
void CategoryList::remove (QString key)
{
- categoryList.remove ((const char *) key);
+ categoryList.remove (key);
}
void CategoryList::clear()
{
categoryList.clear();
}
diff --git a/noncore/apps/zsafe/categorylist.h b/noncore/apps/zsafe/categorylist.h
index 96cf389..fc1c0a2 100644
--- a/noncore/apps/zsafe/categorylist.h
+++ b/noncore/apps/zsafe/categorylist.h
@@ -1,32 +1,34 @@
/*
** $Id$
*/
#ifndef _CATEGORY_LIST_H_
#define _CATEGORY_LIST_H_
#include <qstring.h>
-#include <qasciidict.h>
+
+#include <qdict.h>
+
#include "category.h"
// list of Category
class CategoryList
{
public:
CategoryList();
~CategoryList();
void insert (QString key, Category *category);
Category *find (QString key);
void remove (QString key);
void clear();
- QAsciiDict<Category> categoryList;
+ QDict<Category> categoryList;
private:
};
#endif // _CATEGORY_LIST_H_
diff --git a/noncore/apps/zsafe/zsafe.cpp b/noncore/apps/zsafe/zsafe.cpp
index 9341425..d55624b 100644
--- a/noncore/apps/zsafe/zsafe.cpp
+++ b/noncore/apps/zsafe/zsafe.cpp
@@ -1,32 +1,34 @@
/****************************************************************************
**
** Created: Sat Apr 6 17:57:45 2002
**
** Author: Carsten Schneider <CarstenSchneider@t-online.de>
**
** $Id$
**
** Homepage: http://home.t-online.de/home/CarstenSchneider/zsafe/index.html
**
** Compile Flags:
** Zaurus arm : -DNO_OPIE
** Zaurus Opie arm: none
** Linux Desktop : -DDESKTOP
** Windows Desktop: -DDESKTOP -DWIN32
**
+** for japanese version additional use: -DJPATCH_HDE
+**
****************************************************************************/
#include "zsafe.h"
#include "newdialog.h"
#include "searchdialog.h"
#include "categorydialog.h"
#include "passworddialog.h"
#include "infoform.h"
#include "zlistview.h"
#include "shadedlistitem.h"
#ifndef DESKTOP
#ifndef NO_OPIE
#include <opie/ofiledialog.h>
#else
#include "scqtfileedit.h"
#endif
@@ -441,39 +443,52 @@ ZSafe::ZSafe( QWidget* parent, const char* name, bool modal, WFlags fl )
QPixmap export_img((const char**) export_xpm);
QPixmap import_img((const char**) import_xpm);
QPixmap bank_cards( ( const char** ) bank_cards_data );
QPixmap passwords( ( const char** ) passwords_data );
QPixmap software( ( const char** ) software_data );
QPixmap general( ( const char** ) general_data );
if ( !name )
setName( "ZSafe" );
#ifdef DESKTOP
#ifdef WIN32
setGeometry(100, 150, DeskW, DeskH-30 );
#else
resize( DeskW, DeskH-30 );
#endif
- // setMinimumSize( QSize( DeskW, DeskH-30 ) );
- // setMaximumSize( QSize( DeskW, DeskH-30 ) );
+
#else
- resize( DeskW, DeskH-30 );
- // setMinimumSize( QSize( DeskW, DeskH-30 ) );
- // setMaximumSize( QSize( 440, 290 ) );
- // setMaximumSize( QSize( DeskW+400, DeskH+200 ) );
+
+#ifdef JPATCH_HDE
+ int DeskS;
+ if(DeskW > DeskH)
+ {
+ DeskS = DeskW;
+ }
+ else
+ {
+ DeskS = DeskH;
+ }
+ resize( DeskW, DeskH );
+ setMinimumSize( QSize( DeskS, DeskS ) );
+ setMaximumSize( QSize( DeskS, DeskS ) );
+#else
+ resize( DeskW, DeskH-30 );
+#endif
+
#endif
// setCaption( tr( "ZSafe" ) );
filename = conf->readEntry(APP_KEY+"document");
if (filename.isEmpty() || filename.isNull())
{
// check if the directory application exists, if not
// create it
// #ifndef WIN32
// QString d1("Documents/application");
// #else
QString d1(QDir::homeDirPath() + "/Documents/application");
// #endif
QDir pd1(d1);
if (!pd1.exists())
@@ -747,47 +762,64 @@ void ZSafe::editPwd()
dialog->CommentField->insertLine(comment);
dialog->CommentField->setCursorPosition(0,0);
#ifdef DESKTOP
#ifndef WIN32
dialog->show();
#endif
#else
dialog->showMaximized();
#endif
DialogCode result = (DialogCode) dialog->exec();
#ifdef DESKTOP
result = Accepted;
#endif
if (result == Accepted)
{
+#ifdef JPATCH_HDE
+ // edit the selected item
+ QString name = dialog->NameField->text();
+ selectedItem->setText (0, name);
+ QString user = dialog->UsernameField->text();
+ selectedItem->setText (1, user);
+ QString pwd = dialog->PasswordField->text();
+ selectedItem->setText (2, pwd);
+ QString comment = dialog->CommentField->text();
+ comment.replace (QRegExp("\n"), "<br>");
+ selectedItem->setText (3, comment);
+ QString f5 = dialog->Field5->text();
+ selectedItem->setText (4, f5);
+ QString f6 = dialog->Field6->text();
+ selectedItem->setText (5, f6);
+#else
modified = true;
// edit the selected item
QString name = dialog->NameField->text();
selectedItem->setText (0, tr (name));
QString user = dialog->UsernameField->text();
selectedItem->setText (1, tr (user));
QString pwd = dialog->PasswordField->text();
selectedItem->setText (2, tr (pwd));
QString comment = dialog->CommentField->text();
comment.replace (QRegExp("\n"), "<br>");
selectedItem->setText (3, tr (comment));
QString f5 = dialog->Field5->text();
selectedItem->setText (4, tr (f5));
QString f6 = dialog->Field6->text();
selectedItem->setText (5, tr (f6));
+#endif
}
delete dialog;
}
else
{
editCategory();
}
}
void ZSafe::newPwd()
{
if (!selectedItem)
return;
if (!isCategory(selectedItem))
@@ -826,44 +858,59 @@ retype:
if (result == Accepted)
{
QString name = dialog->NameField->text();
if (cat == name)
{
QMessageBox::critical( 0, tr("ZSafe"),
tr("Entry name must be different\nfrom the category name.") );
goto retype; // it's not a good programming style :-)
}
modified = true;
// add the new item
QListViewItem *i = new ShadedListItem (0, selectedItem);
i->setOpen (TRUE);
+#ifdef JPATCH_HDE
+ i->setText (0, name);
+ QString user = dialog->UsernameField->text();
+ i->setText (1, user);
+ QString pwd = dialog->PasswordField->text();
+ i->setText (2, pwd);
+ QString comment = dialog->CommentField->text();
+ comment.replace (QRegExp("\n"), "<br>");
+ i->setText (3, comment);
+ QString f5 = dialog->Field5->text();
+ i->setText (4, f5);
+ QString f6 = dialog->Field6->text();
+ i->setText (5, f6);
+#else
i->setText (0, tr (name));
QString user = dialog->UsernameField->text();
i->setText (1, tr (user));
QString pwd = dialog->PasswordField->text();
i->setText (2, tr (pwd));
QString comment = dialog->CommentField->text();
comment.replace (QRegExp("\n"), "<br>");
i->setText (3, tr (comment));
QString f5 = dialog->Field5->text();
i->setText (4, tr (f5));
QString f6 = dialog->Field6->text();
i->setText (5, tr (f6));
+#endif
}
delete dialog;
}
}
void ZSafe::findPwd()
{
// open the 'Search' dialog
SearchDialog *dialog = new SearchDialog(this, tr("Search"), TRUE);
#ifdef WIN32
dialog->setCaption ("Qt " + tr("Search"));
#endif
#ifdef DESKTOP
@@ -1191,33 +1238,33 @@ void ZSafe::listViewSelected( QListViewItem *_item)
ListView->setColumnText(0, getFieldLabel (selectedItem, "1", tr("Name")));
ListView->setColumnText(1, getFieldLabel (selectedItem, "2", tr("Field 2")));
ListView->setColumnText(2, getFieldLabel (selectedItem, "3", tr("Field 3")));
ListView->setColumnText(3, getFieldLabel (selectedItem, "4", tr("Comment")));
ListView->setColumnText(4, getFieldLabel (selectedItem, "5", tr("Field 4")));
ListView->setColumnText(5, getFieldLabel (selectedItem, "6", tr("Field 5")));
#endif
}
bool ZSafe::isCategory(QListViewItem *_item)
{
if (_item == NULL)
return FALSE;
QString categoryName = _item->text (0);
- if (categories.find ((const char *)categoryName))
+ if (categories.find (categoryName))
return TRUE;
else
return FALSE;
}
void ZSafe::removeAsciiFile()
{
// QString fn = filename + ".txt";
// open the file dialog
#ifndef DESKTOP
#ifndef NO_OPIE
QMap<QString, QStringList> mimeTypes;
mimeTypes.insert(tr("All"), QStringList() );
mimeTypes.insert(tr("Text"), "text/*" );
QString fn = OFileDialog::getOpenFileName( OFileSelector::EXTENDED_ALL,
QDir::homeDirPath() + "/Documents/application/zsafe",
@@ -1420,113 +1467,135 @@ void ZSafe::readAllEntries()
}
}
qWarning ("ReadAllEntries(): ");
QTextStream t(&f);
while ( !t.eof() )
{
QString s = t.readLine();
s.replace (QRegExp("\";\""), "\"|\"");
// char buffer[1024];
#ifndef WIN32
char buffer[s.length()+1];
#else
char buffer[4048];
#endif
- strcpy (buffer, s);
+
+
+ /* modify QString -> QCString::utf8 */
+
+ strcpy (buffer, s.utf8());
QString name;
QString user;
QString password;
QString comment;
QString field5="";
QString field6="";
// separete the entries
char *i = strtok (buffer, "|");
- QString category(&i[1]);
+ QString category(QString::fromUtf8(&i[1]));
category.truncate(category.length() -1);
int idx=0;
while ((i = strtok (NULL, "|")) != NULL)
{
switch (idx)
{
case 0:
- name = &i[1];
+ name = QString::fromUtf8(&i[1]);
name.truncate(name.length() -1);
// name
break;
case 1:
// user
- user = &i[1];
+ user = QString::fromUtf8(&i[1]);
user.truncate(user.length() -1);
break;
case 2:
// password
- password = &i[1];
+ password = QString::fromUtf8(&i[1]);
password.truncate(password.length() -1);
break;
case 3:
// comment
- comment = &i[1];
+ comment = QString::fromUtf8(&i[1]);
comment.truncate(comment.length() -1);
break;
case 4:
// field5
- field5 = &i[1];
+ field5 = QString::fromUtf8(&i[1]);
field5.truncate(field5.length() -1);
break;
case 5:
// field6
- field6 = &i[1];
+ field6 = QString::fromUtf8(&i[1]);
field6.truncate(field6.length() -1);
break;
}
idx++;
}
Category *cat= categories.find (category);
if (cat)
{
// use the existend item
QListViewItem *catItem = cat->getListItem();
if (catItem)
{
QListViewItem * item = new ShadedListItem( 0, catItem );
+#ifdef JPATCH_HDE
+ item->setText( 0, name );
+ item->setText( 1, user );
+ item->setText( 2, password );
+ item->setText( 3, comment );
+ item->setText( 4, field5 );
+ item->setText( 5, field6 );
+#else
item->setText( 0, tr( name ) );
item->setText( 1, tr( user ) );
item->setText( 2, tr( password ) );
item->setText( 3, tr( comment ) );
item->setText( 4, tr( field5 ) );
item->setText( 5, tr( field6 ) );
catItem->setOpen( TRUE );
+#endif
}
}
else
{
QListViewItem *catI = new ShadedListItem( 1, ListView );
// create and insert a new item
QListViewItem * item = new ShadedListItem( 0, catI );
+#ifdef JPATCH_HDE
+ item->setText( 0, name );
+ item->setText( 1, user );
+ item->setText( 2, password );
+ item->setText( 3, comment );
+ item->setText( 4, field5 );
+ item->setText( 5, field6 );
+#else
item->setText( 0, tr( name ) );
item->setText( 1, tr( user ) );
item->setText( 2, tr( password ) );
item->setText( 3, tr( comment ) );
item->setText( 4, tr( field5 ) );
item->setText( 5, tr( field6 ) );
+#endif
catI->setOpen( TRUE );
Category *c1 = new Category();
c1->setCategoryName(category);
QString icon;
QString fullIconPath;
QPixmap *pix;
// #ifndef WIN32
icon = conf->readEntry(APP_KEY+category);
// #endif
bool isIconAv = false;
if (!icon.isEmpty() && !icon.isNull())
{
// build the full path
fullIconPath = iconPath + icon;
@@ -1700,48 +1769,62 @@ void ZSafe::readAllEntries()
// comment
comment = &i[1];
comment.truncate(comment.length() -1);
break;
}
idx++;
}
Category *cat= categories.find (category);
if (cat)
{
// use the existend item
QListViewItem *catItem = cat->getListItem();
if (catItem)
{
QListViewItem * item = new ShadedListItem( 0, catItem );
+#ifdef JPATCH_HDE
+ item->setText( 0, name );
+ item->setText( 1, user );
+ item->setText( 2, password );
+ item->setText( 3, comment );
+#else
item->setText( 0, tr( name ) );
item->setText( 1, tr( user ) );
item->setText( 2, tr( password ) );
item->setText( 3, tr( comment ) );
+#endif
catItem->setOpen( TRUE );
}
}
else
{
QListViewItem *catI = new ShadedListItem( 1, ListView );
// create and insert a new item
QListViewItem * item = new ShadedListItem( 0, catI );
+#ifdef JPATCH_HDE
+ item->setText( 0, name );
+ item->setText( 1, user );
+ item->setText( 2, password );
+ item->setText( 3, comment );
+#else
item->setText( 0, tr( name ) );
item->setText( 1, tr( user ) );
item->setText( 2, tr( password ) );
item->setText( 3, tr( comment ) );
+#endif
catI->setOpen( TRUE );
Category *c1 = new Category();
c1->setCategoryName(category);
QString icon;
QString fullIconPath;
QPixmap *pix;
// #ifndef WIN32
icon = conf->readEntry(APP_KEY+category);
// #endif
bool isIconAv = false;
if (!icon.isEmpty() && !icon.isNull())
{
// build the full path
fullIconPath = iconPath + icon;
@@ -1896,71 +1979,89 @@ bool ZSafe::openDocument(const char* _filename, const char* )
if (pwdOk == 0)
{
// unset the document entry
conf->writeEntry(APP_KEY+"document", "INVALIDPWD");
if (conf)
delete conf;
exitZs (1);
}
retval = loadEntry(entry);
int numberOfEntries=0;
while (retval == 1) {
- QString category(entry[0]);
- QString name(entry[1]);
- QString user(entry[2]);
- QString password(entry[3]);
- QString comment(entry[4]);
- QString field5(entry[5]);
- QString field6(entry[6]);
+ QString category( QString::fromUtf8(entry[0]) );
+ QString name( QString::fromUtf8(entry[1]) );
+ QString user( QString::fromUtf8(entry[2]) );
+ QString password( QString::fromUtf8(entry[3]) );
+ QString comment( QString::fromUtf8(entry[4]) );
+ QString field5( QString::fromUtf8(entry[5]) );
+ QString field6( QString::fromUtf8(entry[6]) );
// add the subitems to the categories
Category *cat= categories.find (category);
if (cat)
{
// use the existend item
QListViewItem *catItem = cat->getListItem();
if (catItem)
{
QListViewItem * item = new ShadedListItem( 0, catItem );
+#ifdef JPATCH_HDE
+ item->setText( 0, name );
+ item->setText( 1, user );
+ item->setText( 2, password );
+ item->setText( 3, comment );
+ item->setText( 4, field5 );
+ item->setText( 5, field6 );
+#else
item->setText( 0, tr( name ) );
item->setText( 1, tr( user ) );
item->setText( 2, tr( password ) );
item->setText( 3, tr( comment ) );
item->setText( 4, tr( field5 ) );
item->setText( 5, tr( field6 ) );
+#endif
if (expandTree)
catItem->setOpen( TRUE );
numberOfEntries++;
}
}
else
{
QListViewItem *catI = new ShadedListItem( 1, ListView );
// create and insert a new item
QListViewItem * item = new ShadedListItem( 0, catI );
+#ifdef JPATCH_HDE
+ item->setText( 0, name );
+ item->setText( 1, user );
+ item->setText( 2, password );
+ item->setText( 3, comment );
+ item->setText( 4, field5 );
+ item->setText( 5, field6 );
+#else
item->setText( 0, tr( name ) );
item->setText( 1, tr( user ) );
item->setText( 2, tr( password ) );
item->setText( 3, tr( comment ) );
item->setText( 4, tr( field5 ) );
item->setText( 5, tr( field6 ) );
+#endif
if (expandTree)
catI->setOpen( TRUE );
Category *c1 = new Category();
c1->setCategoryName(category);
QString icon;
QString fullIconPath;
QPixmap *pix;
// #ifndef WIN32
icon = conf->readEntry(APP_KEY+category);
// #endif
bool isIconAv = false;
if (!icon.isEmpty() && !icon.isNull())
{
// build the full path
@@ -2246,47 +2347,46 @@ bool ZSafe::saveDocument(const char* _filename,
saveConf();
}
QListViewItem *i;
// step through all categories
for (i = ListView->firstChild();
i != NULL;
i = i->nextSibling())
{
// step through all subitems
QListViewItem *si;
for (si = i->firstChild();
si != NULL;
si = si->nextSibling())
{
int j=0;
- entry[j] = (char*)malloc(strlen(i->text(0))+1);
- strcpy(entry[j++], i->text(0));
- entry[j] = (char*)malloc(strlen(si->text(0))+1);
- strcpy(entry[j++], si->text(0));
- entry[j] = (char*)malloc(strlen(si->text(1))+1);
- strcpy(entry[j++], si->text(1));
- entry[j] = (char*)malloc(strlen(si->text(2))+1);
- strcpy(entry[j++], si->text(2));
- entry[j] = (char*)malloc(strlen(si->text(3))+1);
- strcpy(entry[j++], si->text(3));
-
- entry[j] = (char*)malloc(strlen(si->text(4))+1);
- strcpy(entry[j++], si->text(4));
- entry[j] = (char*)malloc(strlen(si->text(5))+1);
- strcpy(entry[j++], si->text(5));
+ entry[j] = (char*)malloc(strlen(i->text(0).utf8())+1);
+ strcpy(entry[j++], i->text(0).utf8());
+ entry[j] = (char*)malloc(strlen(si->text(0).utf8())+1);
+ strcpy(entry[j++], si->text(0).utf8());
+ entry[j] = (char*)malloc(strlen(si->text(1).utf8())+1);
+ strcpy(entry[j++], si->text(1).utf8());
+ entry[j] = (char*)malloc(strlen(si->text(2).utf8())+1);
+ strcpy(entry[j++], si->text(2).utf8());
+ entry[j] = (char*)malloc(strlen(si->text(3).utf8())+1);
+ strcpy(entry[j++], si->text(3).utf8());
+ entry[j] = (char*)malloc(strlen(si->text(4).utf8())+1);
+ strcpy(entry[j++], si->text(4).utf8());
+ entry[j] = (char*)malloc(strlen(si->text(5).utf8())+1);
+ strcpy(entry[j++], si->text(5).utf8());
retval = saveEntry(entry);
for (int z=0; z<j; z++)
{
free(entry[z]);
}
if (retval == PWERR_DATA) {
qWarning("1: Error writing file, contents not saved");
saveFinalize();
return false;
}
}
}
if (saveFinalize() == PWERR_DATA) {
@@ -3190,34 +3290,39 @@ void ZSafe::editCategory()
}
}
else
{
// #ifndef WIN32
conf->removeEntry (category);
// #endif
saveConf();
cat->setIcon (*getPredefinedIcon(category));
}
// change the category name of the selected category
QListViewItem *catItem = cat->getListItem();
if (catItem)
{
qWarning (category);
+#ifdef JPATCH_HDE
+ catItem->setText( 0, category );
+ cat->setCategoryName (category);
+#else
catItem->setText( 0, tr( category ) );
cat->setCategoryName (tr(category));
+#endif
cat->initListItem();
categories.insert (category, cat);
}
}
saveCategoryDialogFields(dialog);
}
else
{
// delete dialog;
dialog->hide();
return;
}
}
}
@@ -3516,45 +3621,67 @@ void ZSafe::saveDocumentAs()
}
}
void ZSafe::saveDocumentWithoutPwd()
{
saveDocument(filename, FALSE);
}
void ZSafe::saveDocumentWithPwd()
{
saveDocument(filename, TRUE);
}
void ZSafe::about()
{
QString info;
+#ifdef JPATCH_HDE
+ info = "<html><body><div align=""center"">";
+ info += "<b>";
+ info += tr("Zaurus Password Manager<br>");
+ info += tr("ZSafe version 2.1.2-jv01b<br>");
+ info += "</b>";
+ info += tr("by Carsten Schneider<br>");
+ info += "zcarsten@gmx.net<br>";
+ info += "http://z-soft.z-portal.info/zsafe";
+ info += "<br>";
+ info += tr("Translations by Robert Ernst<br>");
+ info += "robert.ernst@linux-solutions.at<br>";
+
+ info += "<br><br>";
+ info += QString::fromUtf8("�~W��~\\��~^/VGA Zaurus対�~\\�~C~Q�~C~C�~C~A�~\\� ~H~P<br>");
+ info += "HADECO R&D<br>";
+ info += "r&d@hadeco.co.jp<br>";
+ info += "http://www.hadeco.co.jp/r&d/<br>";
+ info += "<br></div>";
+ info += "</body></html>";
+#else
info = "<html><body><div align=""center"">";
info += "<b>";
info += tr("Zaurus Password Manager<br>");
info += tr("ZSafe version 2.1.2<br>");
info += "</b>";
info += tr("by Carsten Schneider<br>");
info += "zcarsten@gmx.net<br>";
info += "http://z-soft.z-portal.info/zsafe";
info += "<br>";
info += tr("Translations by Robert Ernst<br>");
info += "robert.ernst@linux-solutions.at<br>";
info += "<br></div>";
info += "</body></html>";
+#endif
// QMessageBox::information( this, tr("ZSafe"), info, tr("&OK"), 0);
QMessageBox mb( this, tr("ZSafe"));
mb.setText (info);
mb.setButtonText (QMessageBox::Ok, tr ("&OK"));
QPixmap zsafe_img((const char**) zsafe_xpm);
mb.setIconPixmap (zsafe_img);
mb.exec();
}
void ZSafe::setExpandFlag()
{
expandTree = !expandTree;
file->setItemChecked('o', expandTree);
#ifndef DESKTOP