git-svn-id: https://svn.code.sf.net/p/keepassx/code/trunk@83 b624d157-de02-0410-bad0-e51aec6abb33
master
tariq 19 years ago
parent 115dfcc174
commit ba5b1392a8
  1. 3
      changelog
  2. 6
      src/PwManager.cpp
  3. 2
      src/PwManager.h
  4. 2
      src/PwmConfig.cpp
  5. 1
      src/PwmConfig.h
  6. 1
      src/dialogs/SelectIconDlg.cpp
  7. 2
      src/forms/AboutDlg.ui
  8. 9
      src/forms/MainWindow.ui
  9. 8
      src/lib/AutoType.h
  10. 13
      src/lib/AutoType_X11.cpp
  11. 4
      src/lib/GroupView.h
  12. 45
      src/mainwindow.cpp
  13. 4
      src/mainwindow.h
  14. 92
      src/translations/keepass-de_DE.ts
  15. 78
      src/translations/keepass-fr_FR.ts

@ -1,7 +1,7 @@
---------------
0.2.1
---------------
-added AutoType feature
-added AutoType feature (experimental!)
-added custom icons feature
-new command line option for manual language selection (-lang <LOCALE-CODE>)
-when saving an attachment the original filename is adopted by the file dialog
@ -9,6 +9,7 @@
-sorting by dates now works as expected
-the 'Expires' column and the detailed entry view now also show the string 'never' for entries which don't expire
-entry view now gets updated after changing the column setup
-added menu entry to change the size of the toolbar icons
---------------
0.2.0
---------------

@ -357,7 +357,7 @@ return CustomIcons[i-BUILTIN_ICONS];
void PwDatabase::addIcon(const QPixmap& icon){
CustomIcons << icon;
emit modified();
emit iconsModified();
}
void PwDatabase::removeIcon(int id){
@ -377,13 +377,13 @@ for(int i=0;i<Groups.size();i++){
if(Groups[i].ImageID>id+BUILTIN_ICONS)
Groups[i].ImageID--;
}
emit modified();
emit iconsModified();
}
void PwDatabase::replaceIcon(int id,const QPixmap& icon){
if(id<BUILTIN_ICONS)return;
CustomIcons[id-BUILTIN_ICONS]=icon;
emit modified();
emit iconsModified();
}
void PwDatabase::transformKey(quint8* src,quint8* dst,quint8* KeySeed,int rounds){

@ -105,7 +105,7 @@ private:
QList<CEntry> UnkownMetaStreams;
signals:
void modified();
void iconsModified();
};

@ -70,6 +70,7 @@ RememberLastKey=ini.GetValueB("Options","RememberLastKey",true);
LastKeyLocation=ini.GetValue("Options","LastKeyLocation","").c_str();
LastKeyType=(tKeyType)ini.GetValueI("Options","LastKeyType",(int)PASSWORD);
if(!OpenLast)RememberLastKey=false;
ToolbarIconSize=ini.GetValueI("UI","ToolbarIconSize",16);
return true;
}
@ -110,6 +111,7 @@ if(RememberLastKey){
else{
ini.SetValue("Options","LastKeyLocation","");
ini.SetValueI("Options","LastKeyType",0);}
ini.SetValueI("UI","ToolbarIconSize",ToolbarIconSize,true);
if(!ini.WriteFile())return false;
else return true;
}

@ -58,6 +58,7 @@ public:
bool RememberLastKey; //location and type, not the key itself
tKeyType LastKeyType;
QString LastKeyLocation;
int ToolbarIconSize;
bool loadFromIni(QString filename);
bool saveToIni(QString filename);

@ -107,6 +107,7 @@ if(!icon.load(filename)){
return;
}
db->replaceIcon(List->currentItem()->data(32).toInt(),icon.scaled(16,16,Qt::KeepAspectRatio,Qt::SmoothTransformation));
List->currentItem()->setIcon(QIcon(db->icon(List->currentItem()->data(32).toInt())));
}
void CSelectIconDlg::OnPickIcon(){

@ -29,7 +29,7 @@
<property name="maximumSize" >
<size>
<width>211</width>
<height>32767</height>
<height>268</height>
</size>
</property>
<property name="windowTitle" >

@ -503,16 +503,25 @@
</property>
</action>
<action name="ViewToolButtonSize16Action" >
<property name="checkable" >
<bool>true</bool>
</property>
<property name="text" >
<string>16x16</string>
</property>
</action>
<action name="ViewToolButtonSize22Action" >
<property name="checkable" >
<bool>true</bool>
</property>
<property name="text" >
<string>22x22</string>
</property>
</action>
<action name="ViewToolButtonSize28Action" >
<property name="checkable" >
<bool>true</bool>
</property>
<property name="text" >
<string>28x28</string>
</property>

@ -24,14 +24,14 @@
#include <QObject>
#include <QWidget>
#include <QString>
//#ifdef Q_WS_X11
#ifdef Q_WS_X11
#define XK_MISCELLANY
#define XK_XKB_KEYS
#define XK_3270
#include <X11/extensions/XTest.h>
#include <X11/keysymdef.h>
#include <X11/Xlib.h>
//#endif
#endif
#include "Database.h"
typedef struct tKeysymMap{
@ -44,7 +44,7 @@ public:
static QWidget* MainWin;
static void perform(CEntry* entry,QString& errors);
private:
//#ifdef Q_WS_X11
#ifdef Q_WS_X11
static tKeysymMap KeysymMap[];
static quint16 getKeysym(const QChar& unicode);
static int getModifiers(Display*,KeySym,int);
@ -52,7 +52,7 @@ private:
static void releaseModifiers(Display*,int);
static void templateToKeysyms(const QString& Template, QList<quint16>& KeySymList,CEntry* entry);
static void stringToKeysyms(const QString& string,QList<quint16>& KeySymList);
//#endif
#endif

@ -22,9 +22,12 @@
#include <QList>
#include <QChar>
QWidget* AutoType::MainWin=NULL;
#ifdef Q_WS_X11
int AutoType::getModifiers(Display *d,KeySym keysym, int keycode){
int SymsPerKey;
KeySym* Syms=XGetKeyboardMapping(d,keycode,1,&SymsPerKey);
@ -1149,3 +1152,11 @@ for(int i=0; i<MapSize;i++){
//Q_ASSERT(false);
return 0;
}
#endif // X11
#ifdef Q_WS_MAC
void AutoType::perform(CEntry* entry, QString& err){
QMessageBox::warnig(NULL,"AutoType","Sorry, but Auto-Type does not work under Mac OS X yet.","OK");
}
#endif

@ -32,7 +32,6 @@ class KeepassGroupView:public QTreeWidget{
Q_OBJECT
public:
KeepassGroupView(QWidget* parent=0);
void updateItems();
bool isSearchResultGroup(GroupViewItem* item);
void selectSearchGroup();
Database *db;
@ -41,6 +40,9 @@ public:
QMenu *ContextMenu;
QMenu *ContextMenuSearchGroup;
public slots:
void updateItems();
signals:
void fileModified();
void entryDropped();

@ -129,6 +129,9 @@ void KeepassMainWindow::setupConnections(){
connect(ViewColumnsLastChangeAction,SIGNAL(toggled(bool)), this, SLOT(OnColumnVisibilityChanged(bool)));
connect(ViewColumnsLastAccessAction,SIGNAL(toggled(bool)), this, SLOT(OnColumnVisibilityChanged(bool)));
connect(ViewColumnsAttachmentAction,SIGNAL(toggled(bool)), this, SLOT(OnColumnVisibilityChanged(bool)));
connect(ViewToolButtonSize16Action,SIGNAL(toggled(bool)), this, SLOT(OnViewToolbarIconSize16(bool)));
connect(ViewToolButtonSize22Action,SIGNAL(toggled(bool)), this, SLOT(OnViewToolbarIconSize22(bool)));
connect(ViewToolButtonSize28Action,SIGNAL(toggled(bool)), this, SLOT(OnViewToolbarIconSize28(bool)));
connect(ViewShowStatusbarAction,SIGNAL(toggled(bool)),statusBar(),SLOT(setVisible(bool)));
connect(ExtrasSettingsAction,SIGNAL(triggered(bool)),this,SLOT(OnExtrasSettings()));
@ -156,7 +159,7 @@ void KeepassMainWindow::setupConnections(){
void KeepassMainWindow::setupToolbar(){
toolBar=new QToolBar(this);
addToolBar(toolBar);
toolBar->setIconSize(QSize(16,16));
toolBar->setIconSize(QSize(config.ToolbarIconSize,config.ToolbarIconSize));
toolBar->addAction(FileNewAction);
toolBar->addAction(FileOpenAction);
toolBar->addAction(FileSaveAction);
@ -237,6 +240,12 @@ void KeepassMainWindow::setupMenus(){
ViewColumnsAttachmentAction->setChecked(config.Columns[9]);
ViewShowStatusbarAction->setChecked(config.ShowStatusbar);
switch(config.ToolbarIconSize){
case 16: ViewToolButtonSize16Action->setChecked(true); break;
case 22: ViewToolButtonSize22Action->setChecked(true); break;
case 28: ViewToolButtonSize28Action->setChecked(true); break;
}
FileNewAction->setShortcut(tr("Ctrl+N"));
FileOpenAction->setShortcut(tr("Ctrl+O"));
FileSaveAction->setShortcut(tr("Ctrl+S"));
@ -257,6 +266,12 @@ void KeepassMainWindow::setupMenus(){
#endif
}
void KeepassMainWindow::setupDatabaseConnections(Database* DB){
connect(DB,SIGNAL(iconsModified()),this,SLOT(OnFileModified()));
connect(DB,SIGNAL(iconsModified()),EntryView,SLOT(updateItems()));
connect(DB,SIGNAL(iconsModified()),GroupView,SLOT(updateItems()));
}
void KeepassMainWindow::openDatabase(QString filename,bool IsAuto){
Q_ASSERT(!FileOpen);
@ -272,7 +287,7 @@ Q_ASSERT(r==1);
db = new PwDatabase();
GroupView->db=db;
EntryView->db=db;
connect(db,SIGNAL(modified()),this,SLOT(OnFileModified()));
setupDatabaseConnections(db);
if(PasswordDlg.password!="" && PasswordDlg.keyfile=="")
db->CalcMasterKeyByPassword(PasswordDlg.password);
if(PasswordDlg.password=="" && PasswordDlg.keyfile!="")
@ -357,6 +372,7 @@ if(dlg.exec()==1){
setStateFileOpen(true);
setStateFileModified(true);
FileOpen=true;
setupDatabaseConnections(db);
}
else delete db;
}
@ -402,6 +418,7 @@ if(!IsOpen){
EditCloneEntryAction->setEnabled(false);
EditDeleteEntryAction->setEnabled(false);
EditGroupSearchAction->setEnabled(false);
EditAutoTypeAction->setEnabled(false);
}
else{
OnGroupSelectionChanged();
@ -1021,3 +1038,27 @@ Q_ASSERT(EntryView->selectedItems().size()==1);
QString error;
AutoType::perform(((EntryViewItem*)(EntryView->selectedItems()[0]))->pEntry,error);
}
void KeepassMainWindow::OnViewToolbarIconSize16(bool state){
if(!state)return;
ViewToolButtonSize22Action->setChecked(false);
ViewToolButtonSize28Action->setChecked(false);
config.ToolbarIconSize=16;
toolBar->setIconSize(QSize(config.ToolbarIconSize,config.ToolbarIconSize));
}
void KeepassMainWindow::OnViewToolbarIconSize22(bool state){
if(!state)return;
ViewToolButtonSize16Action->setChecked(false);
ViewToolButtonSize28Action->setChecked(false);
config.ToolbarIconSize=22;
toolBar->setIconSize(QSize(config.ToolbarIconSize,config.ToolbarIconSize));
}
void KeepassMainWindow::OnViewToolbarIconSize28(bool state){
if(!state)return;
ViewToolButtonSize16Action->setChecked(false);
ViewToolButtonSize22Action->setChecked(false);
config.ToolbarIconSize=28;
toolBar->setIconSize(QSize(config.ToolbarIconSize,config.ToolbarIconSize));
}

@ -83,6 +83,9 @@ private slots:
void OnEditAutoType();
void OnViewShowToolbar(bool);
void OnViewShowEntryDetails(bool);
void OnViewToolbarIconSize16(bool);
void OnViewToolbarIconSize22(bool);
void OnViewToolbarIconSize28(bool);
void OnCurrentGroupChanged(QTreeWidgetItem*,QTreeWidgetItem*);
void OnEntryItemDoubleClicked(QTreeWidgetItem* item,int column);
void OnEntrySelectionChanged();
@ -116,6 +119,7 @@ private:
void setStateGroupSelected(SelectionState s);
void setStateEntrySelected(SelectionState s);
void openDatabase(QString filename,bool IsStart=false);
void setupDatabaseConnections(Database* DB);
bool closeDatabase();
void search(CGroup* pGroup);
void editEntry(CEntry* pEntry);

@ -46,7 +46,7 @@ General Public License (GPL) Version 2.</translation>
</message>
<message>
<source>Credits</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
</context>
<context>
@ -54,16 +54,18 @@ General Public License (GPL) Version 2.</translation>
<message>
<source>More than one &apos;Auto-Type:&apos; key sequence found.
Allowed is only one per entry.</source>
<translation type="unfinished"></translation>
<translation>Es wurde mehr als eine &apos;Auto-Type:&apos;-Zeichenkette gefunden.
Erlaubt ist nur eine pro Eintrag.</translation>
</message>
<message>
<source>Syntax Error in Auto-Type sequence near character %1
<byte value="x9"/><byte value="x9"/><byte value="x9"/><byte value="x9"/><byte value="x9"/>Found &apos;{&apos; without closing &apos;}&apos;</source>
<translation type="unfinished"></translation>
<translation>Syntaxfehler in Auto-Type-Zeichenkette bei Zeichen %1
Öffnende Klammer &apos;{&apos; ohne Gegenstück gefunden.</translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished">Fehler</translation>
<translation>Fehler</translation>
</message>
</context>
<context>
@ -136,52 +138,53 @@ http://keepass.berlios.de/translation-howto.html</translation>
</message>
<message>
<source>Eugen Gorschenin</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>$TRANSLATION_AUTHOR</source>
<translation type="unfinished"></translation>
<translation>Tarek Saidi</translation>
</message>
<message>
<source>Information on how to translate KeePassX can be found under:
http://keepass.berlios.de/</source>
<translation type="unfinished"></translation>
<translation>Informationen über das Erstellen eine Übersetztung für KeePassX sind hier zu finden:
http://keepass.berlios.de</translation>
</message>
<message>
<source>Team</source>
<translation type="unfinished"></translation>
<translation>Team</translation>
</message>
<message>
<source>Tarek Saidi</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>Developer, Project Admin</source>
<translation type="unfinished"></translation>
<translation>Entwickler und Projektadministrator</translation>
</message>
<message>
<source>tariq@users.berlios.de</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>Web Designer</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>geugen@users.berlios.de</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>Thanks To</source>
<translation type="unfinished">Dank An</translation>
<translation>Dank An</translation>
</message>
<message>
<source>Patches for better MacOS X support</source>
<translation type="unfinished"></translation>
<translation>Patches für bessere MacOS X Unterstützung</translation>
</message>
<message>
<source>www.outofhanwell.com</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
</context>
<context>
@ -220,7 +223,7 @@ http://keepass.berlios.de/</source>
</message>
<message>
<source>Settings</source>
<translation type="unfinished">Einstellungen</translation>
<translation>Einstellungen</translation>
</message>
</context>
<context>
@ -301,11 +304,11 @@ Sind Sie sicher?</translation>
</message>
<message>
<source>%1 Bit</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>Add Attachment...</source>
<translation type="unfinished"></translation>
<translation>Anhang hinzufügen...</translation>
</message>
</context>
<context>
@ -332,11 +335,11 @@ Sind Sie sicher?</translation>
</message>
<message>
<source>Password Generator</source>
<translation type="unfinished">Passwortgenerator</translation>
<translation>Passwortgenerator</translation>
</message>
<message>
<source>%1 Bit</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
</context>
<context>
@ -477,37 +480,38 @@ Bitter prüfen Sie Ihre Zugriffsrechte.</translation>
<name>CSelectIconDlg</name>
<message>
<source>Delete</source>
<translation type="unfinished"></translation>
<translation>Löschen</translation>
</message>
<message>
<source>Add Icons...</source>
<translation type="unfinished"></translation>
<translation>Symbol hinzufügen...</translation>
</message>
<message>
<source>Images (%1)</source>
<translation type="unfinished"></translation>
<translation>Symbole (%1)</translation>
</message>
<message>
<source>%1: File could not be loaded.
</source>
<translation type="unfinished"></translation>
<translation>%1: Datei konnte nicht geladen werden.</translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished">Fehler</translation>
<translation>Fehler</translation>
</message>
<message>
<source>Replace...</source>
<translation type="unfinished"></translation>
<translation>Ersetzen...</translation>
</message>
<message>
<source>An error occured while loading the icon(s):
%1</source>
<translation type="unfinished"></translation>
<translation>Beim Laden der Symbole traten Fehler auf:
%1</translation>
</message>
<message>
<source>An error occured while loading the icon.</source>
<translation type="unfinished"></translation>
<translation>Beim Laden des Symbols ist ein Fehler aufgetreten.</translation>
</message>
</context>
<context>
@ -609,11 +613,11 @@ Bitter prüfen Sie Ihre Zugriffsrechte.</translation>
</message>
<message>
<source>&gt;</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>%1 Bit</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
</context>
<context>
@ -648,7 +652,7 @@ Bitter prüfen Sie Ihre Zugriffsrechte.</translation>
</message>
<message>
<source>&gt;</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
</context>
<context>
@ -1000,7 +1004,7 @@ die Änderungen speichern?</translation>
</message>
<message>
<source>Ctrl+V</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
</context>
<context>
@ -1215,27 +1219,27 @@ die Änderungen speichern?</translation>
</message>
<message>
<source>Perform AutoType</source>
<translation type="unfinished"></translation>
<translation>AutoType ausführen</translation>
</message>
<message>
<source>Type Here</source>
<translation type="unfinished"></translation>
<translation>Type Here</translation>
</message>
<message>
<source>Toolbar Icon Size</source>
<translation type="unfinished"></translation>
<translation>Symbolleistengröße</translation>
</message>
<message>
<source>16x16</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>22x22</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>28x28</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
</context>
<context>
@ -1459,7 +1463,7 @@ Stellen Sie sicher, dass Sie Schreibzugriff auf &apos;~/.keepass&apos; haben.</t
</message>
<message>
<source>Never</source>
<translation type="unfinished">Nie</translation>
<translation>Nie</translation>
</message>
</context>
<context>
@ -1561,19 +1565,19 @@ Stellen Sie sicher, dass Sie Schreibzugriff auf &apos;~/.keepass&apos; haben.</t
<name>SelectIconDlg</name>
<message>
<source>Icon Selection</source>
<translation type="unfinished"></translation>
<translation>Symbolauswahl</translation>
</message>
<message>
<source>Add Custom Icon...</source>
<translation type="unfinished"></translation>
<translation>Eigenes Symbol hinzufügen...</translation>
</message>
<message>
<source>Pick</source>
<translation type="unfinished"></translation>
<translation>Wählen</translation>
</message>
<message>
<source>Cancel</source>
<translation type="unfinished">Abbrechen</translation>
<translation>Abbrechen</translation>
</message>
</context>
<context>

@ -26,14 +26,14 @@
</message>
<message>
<source>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:400; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:12pt; font-weight:600;&quot;&gt;KeePassX&lt;/span&gt; - Cross Platform Password Manager&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</source>
<translation>&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;/head&gt;&lt;body style=&quot; white-space: pre-wrap; font-family:Sans Serif; font-size:9pt; font-weight:200; font-style:normal; text-decoration:none;&quot;&gt;&lt;p style=&quot; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;span style=&quot; font-size:11pt; font-weight:600;&quot;&gt;KeePassX&lt;/span&gt;&lt;B&gt; - Gestionnaire de Mots de Passe Multiplateforme &lt;/B&gt; &lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</translation>
<translation></translation>
</message>
<message>
<source>Copyright (C) 2005 - 2006 Tarek Saidi
KeePassX is distributed under the terms of the
General Public License (GPL) version 2.</source>
<translation>&lt;B&gt;Copyright © 2005 - 2006 Tarek Saidi &lt;B&gt;&lt;br&gt;
&lt;B&gt;KeePassX est distribué sous les termes de la licence GNU GPL v2.&lt;B&gt;</translation>
<translation>&lt;span style=&quot; font-size:9pt; font-weight:400;&quot;&gt;Copyright (c) 2005 - 2006 Tarek Saidi &lt;br&gt;
KeePassX est distribué sous les termes de la&lt;br&gt; Licence Publique Générale GNU v2 (GPL v2).&lt;/span&gt;</translation>
</message>
<message>
<source>tarek.saidi@arcor.de</source>
@ -45,7 +45,7 @@ General Public License (GPL) version 2.</source>
</message>
<message>
<source>Credits</source>
<translation type="unfinished"></translation>
<translation>Crédits </translation>
</message>
</context>
<context>
@ -59,11 +59,12 @@ Seulement une par entrée est autorisée. </translation>
<message>
<source>Syntax Error in Auto-Type sequence near character %1
<byte value="x9"/><byte value="x9"/><byte value="x9"/><byte value="x9"/><byte value="x9"/>Found &apos;{&apos; without closing &apos;}&apos;</source>
<translation type="unfinished"></translation>
<translation>Erreur de syntaxe à l&apos;intérieur de la séquence d&apos;auto-saisie près du caractère %1
Trouvé &apos;{&apos; sans accolade fermante &apos;}&apos;</translation>
</message>
<message>
<source>Error</source>
<translation type="unfinished">Erreur</translation>
<translation>Erreur</translation>
</message>
</context>
<context>
@ -118,7 +119,7 @@ Seulement une par entrée est autorisée. </translation>
<message>
<source>$TRANSLATION_AUTHOR_EMAIL</source>
<comment>Here you can enter your email or homepage if you want.</comment>
<translation>&lt;b&gt; Adresse électronique: &lt;/b&gt; &lt;br&gt;djellel@free.fr
<translation>&lt;b&gt; Courriel: &lt;/b&gt; &lt;br&gt;djellel@free.fr
</translation>
</message>
<message>
@ -129,8 +130,7 @@ http://keepass.berlios.de/translation-howto.html</source>
</message>
<message>
<source>Matthias Miller</source>
<translation>&lt;B&gt; Matthias Miller&lt;/B&gt;&lt;br&gt;
Pour l&apos;aide apportée dans le portage de KeePass vers Mac OS X.</translation>
<translation>Matthias Miller</translation>
</message>
<message>
<source>http://www.outofhanwell.com/&lt;br&gt;Mac OS X Support</source>
@ -138,8 +138,7 @@ Pour l&apos;aide apportée dans le portage de KeePass vers Mac OS X.</translati
</message>
<message>
<source>Eugen Gorschenin</source>
<translation>&lt;B&gt;Eugen Gorschenin&lt;/B&gt;&lt;br&gt;
Pour le nouveau site Internet.
<translation>Eugen Gorschenin
</translation>
</message>
<message>
@ -148,48 +147,49 @@ Pour le nouveau site Internet.
</message>
<message>
<source>$TRANSLATION_AUTHOR</source>
<translation type="unfinished"></translation>
<translation>&lt;br&gt;Djellel DIDA</translation>
</message>
<message>
<source>Information on how to translate KeePassX can be found under:
http://keepass.berlios.de/</source>
<translation type="unfinished"></translation>
<translation>Toutes les informations concernant la méthode pour traduire KeePassX peuvent être obtenues à l&apos;adresse suivante:&lt;br&gt;
&lt;ADDRESS&gt;http://keepass.berlios.de/&lt;ADDRESS&gt;</translation>
</message>
<message>
<source>Team</source>
<translation type="unfinished"></translation>
<translation>Equipe</translation>
</message>
<message>
<source>Tarek Saidi</source>
<translation type="unfinished"></translation>
<translation>Tarek Saidi</translation>
</message>
<message>
<source>Developer, Project Admin</source>
<translation type="unfinished"></translation>
<translation>Développeur et Administrateur du Projet</translation>
</message>
<message>
<source>tariq@users.berlios.de</source>
<translation type="unfinished"></translation>
<translation>tariq@users.berlios.de</translation>
</message>
<message>
<source>Web Designer</source>
<translation type="unfinished"></translation>
<translation>Concepteur du site Internet</translation>
</message>
<message>
<source>geugen@users.berlios.de</source>
<translation type="unfinished"></translation>
<translation>geugen@users.berlios.de</translation>
</message>
<message>
<source>Thanks To</source>
<translation type="unfinished">Remerciement à</translation>
<translation>Remerciement à</translation>
</message>
<message>
<source>Patches for better MacOS X support</source>
<translation type="unfinished"></translation>
<translation>Pour les rustines ayant permis un meilleur support de MacOS X</translation>
</message>
<message>
<source>www.outofhanwell.com</source>
<translation type="unfinished"></translation>
<translation>&lt;ADDRESS&gt;www.outofhanwell.com&lt;ADDRESS&gt;</translation>
</message>
</context>
<context>
@ -249,7 +249,7 @@ S&apos;il vous plait, vérifier votre saisie.</translation>
</message>
<message>
<source>Save Attachment...</source>
<translation>Enregistrer l&apos;attachement...</translation>
<translation>Enregistrer la pièce jointe...</translation>
</message>
<message>
<source>Overwrite?</source>
@ -287,12 +287,12 @@ Voulez-vous le remplacer ?</translation>
</message>
<message>
<source>Delete Attachment?</source>
<translation>Supprimer l&apos;attachement ?</translation>
<translation>Supprimer la pièce jointe ?</translation>
</message>
<message>
<source>You are about to delete the attachment of this entry.
Are you sure?</source>
<translation>Vous êtes sur le point de supprimer l&apos;attachement de cette entrée.
<translation>Vous êtes sur le point de supprimer la pièce jointe de cette entrée.
En êtes-vous sûr ?</translation>
</message>
<message>
@ -313,7 +313,7 @@ En êtes-vous sûr ?</translation>
</message>
<message>
<source>Add Attachment...</source>
<translation type="unfinished"></translation>
<translation>Ajouter une pièce jointe...</translation>
</message>
</context>
<context>
@ -509,16 +509,16 @@ S&apos;il vous plait, vérifier vos permissions.</translation>
</message>
<message>
<source>Replace...</source>
<translation type="unfinished"></translation>
<translation>Remplacez... </translation>
</message>
<message>
<source>An error occured while loading the icon(s):
%1</source>
<translation type="unfinished"></translation>
<translation>Une erreur est survenue lors du chargement (des) de l&apos;icône(s): %1</translation>
</message>
<message>
<source>An error occured while loading the icon.</source>
<translation type="unfinished"></translation>
<translation>Une erreur est survenue lors du chargement de l&apos;icône.</translation>
</message>
</context>
<context>
@ -616,7 +616,7 @@ S&apos;il vous plait, vérifier vos permissions.</translation>
</message>
<message>
<source>Attachment:</source>
<translation>Attachement:</translation>
<translation>Pièce jointe:</translation>
</message>
<message>
<source>&gt;</source>
@ -813,7 +813,7 @@ S&apos;il vous plait, vérifier vos permissions.</translation>
</message>
<message>
<source>Attachment</source>
<translation>Attachement</translation>
<translation>Pièce jointe</translation>
</message>
<message>
<source>%1 items</source>
@ -1110,7 +1110,7 @@ Désirez-vous enregistrer le changement ?</translation>
</message>
<message>
<source>Save Attachment As...</source>
<translation>Enregistrer l&apos;attachement sous...</translation>
<translation>Enregistrer la pièce jointe sous...</translation>
</message>
<message>
<source>Add New Entry...</source>
@ -1190,7 +1190,7 @@ Désirez-vous enregistrer le changement ?</translation>
</message>
<message>
<source>Attachment</source>
<translation>Attachement</translation>
<translation>Pièce jointe</translation>
</message>
<message>
<source>Settings...</source>
@ -1230,23 +1230,23 @@ Désirez-vous enregistrer le changement ?</translation>
</message>
<message>
<source>Type Here</source>
<translation type="unfinished"></translation>
<translation>Saisir ici</translation>
</message>
<message>
<source>Toolbar Icon Size</source>
<translation type="unfinished"></translation>
<translation>Taille des icônes de la barre d&apos;outils</translation>
</message>
<message>
<source>16x16</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>22x22</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
<message>
<source>28x28</source>
<translation type="unfinished"></translation>
<translation></translation>
</message>
</context>
<context>
@ -1470,7 +1470,7 @@ Make sure you have write access to &apos;~/.keepass&apos;.</source>
</message>
<message>
<source>Never</source>
<translation type="unfinished">Jamais</translation>
<translation>Jamais</translation>
</message>
</context>
<context>