git-svn-id: https://svn.code.sf.net/p/keepassx/code/trunk@2 b624d157-de02-0410-bad0-e51aec6abb33
This commit is contained in:
		
							parent
							
								
									434e6a5aa3
								
							
						
					
					
						commit
						a8a9a64142
					
				| 
						 | 
					@ -93,7 +93,8 @@ if(CryptoAlgorithmus == ALGO_AES)
 | 
				
			||||||
		// Initialize Rijndael algorithm
 | 
							// Initialize Rijndael algorithm
 | 
				
			||||||
		if(aes.init(Rijndael::CBC, Rijndael::Decrypt, FinalKey,
 | 
							if(aes.init(Rijndael::CBC, Rijndael::Decrypt, FinalKey,
 | 
				
			||||||
			Rijndael::Key32Bytes, EncryptionIV) != RIJNDAEL_SUCCESS)
 | 
								Rijndael::Key32Bytes, EncryptionIV) != RIJNDAEL_SUCCESS)
 | 
				
			||||||
			{return false;}
 | 
								{err=trUtf8("AES-Initialisierung fehlgeschlagen");
 | 
				
			||||||
 | 
								 return false;}
 | 
				
			||||||
		// Decrypt! The first bytes aren't encrypted (that's the header)
 | 
							// Decrypt! The first bytes aren't encrypted (that's the header)
 | 
				
			||||||
		crypto_size = (unsigned long)aes.padDecrypt((UINT8 *)buffer + DB_HEADER_SIZE,
 | 
							crypto_size = (unsigned long)aes.padDecrypt((UINT8 *)buffer + DB_HEADER_SIZE,
 | 
				
			||||||
			total_size  - DB_HEADER_SIZE, (UINT8 *)buffer + DB_HEADER_SIZE);
 | 
								total_size  - DB_HEADER_SIZE, (UINT8 *)buffer + DB_HEADER_SIZE);
 | 
				
			||||||
| 
						 | 
					@ -106,7 +107,7 @@ else if(CryptoAlgorithmus == ALGO_TWOFISH)
 | 
				
			||||||
			total_size - DB_HEADER_SIZE, (UINT8 *)buffer + DB_HEADER_SIZE);
 | 
								total_size - DB_HEADER_SIZE, (UINT8 *)buffer + DB_HEADER_SIZE);
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if((crypto_size > 2147483446) || (crypto_size == 0)){return false;}
 | 
					if((crypto_size > 2147483446) || (crypto_size == 0)){err=trUtf8("Unerwarteter Wert für 'crypto_size'"); return false;}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sha256_starts(&sha32);
 | 
					sha256_starts(&sha32);
 | 
				
			||||||
sha256_update(&sha32,(unsigned char *)buffer + DB_HEADER_SIZE,crypto_size);
 | 
					sha256_update(&sha32,(unsigned char *)buffer + DB_HEADER_SIZE,crypto_size);
 | 
				
			||||||
| 
						 | 
					@ -254,8 +255,17 @@ unsigned long FileSize=file.size();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
if(FileSize == 32){
 | 
					if(FileSize == 32){
 | 
				
			||||||
	if(file.readBlock((char*)MasterKey,32) != 32){
 | 
						if(file.readBlock((char*)MasterKey,32) != 32){
 | 
				
			||||||
 | 
						  file.close();
 | 
				
			||||||
 | 
						  return false;}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					else if(FileSize == 64){
 | 
				
			||||||
 | 
						char hex[64];
 | 
				
			||||||
 | 
						if(file.readBlock(hex,64) != 64){
 | 
				
			||||||
 | 
						  file.close();
 | 
				
			||||||
 | 
						  return false;}
 | 
				
			||||||
	file.close();
 | 
						file.close();
 | 
				
			||||||
	return false;}
 | 
						if(!convHexToBinaryKey(hex,(char*)MasterKey)) return false;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
else
 | 
					else
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -275,7 +285,7 @@ delete [] buffer;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
file.close();
 | 
					file.close();
 | 
				
			||||||
return true;
 | 
					return true;
 | 
				
			||||||
 }
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CEntry* PwDatabase::addEntry(){
 | 
					CEntry* PwDatabase::addEntry(){
 | 
				
			||||||
| 
						 | 
					@ -913,3 +923,16 @@ if(!isEntrySidInUse(sid))break;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
return sid;
 | 
					return sid;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					bool PwDatabase::convHexToBinaryKey(char* HexKey, char* dst){
 | 
				
			||||||
 | 
					QString hex=QString::fromAscii(HexKey,64);
 | 
				
			||||||
 | 
					for(int i=0; i<64; i+=2){
 | 
				
			||||||
 | 
						bool err;
 | 
				
			||||||
 | 
						UINT8 bin;
 | 
				
			||||||
 | 
						bin=hex.mid(i,2).toUInt(&err,16);
 | 
				
			||||||
 | 
						if(!err){
 | 
				
			||||||
 | 
							qWarning("Invalid Hex Key\n");
 | 
				
			||||||
 | 
							return false;}
 | 
				
			||||||
 | 
						memcpy(dst+(i/2),&bin,1);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -74,6 +74,7 @@ private:
 | 
				
			||||||
 bool isEntrySidInUse(UINT32 sID);
 | 
					 bool isEntrySidInUse(UINT32 sID);
 | 
				
			||||||
 UINT32 getNewGroupId();
 | 
					 UINT32 getNewGroupId();
 | 
				
			||||||
 UINT32 getNewEntrySid();
 | 
					 UINT32 getNewEntrySid();
 | 
				
			||||||
 | 
					 bool convHexToBinaryKey(char* HexKey, char* dst);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,8 +23,8 @@
 | 
				
			||||||
#include <qdir.h>
 | 
					#include <qdir.h>
 | 
				
			||||||
#include <iostream.h>
 | 
					#include <iostream.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool CConfig::loadFromIni(){
 | 
					bool CConfig::loadFromIni(QString filename){
 | 
				
			||||||
CIniFile ini(QDir::homeDirPath()+"/.keepass/config");
 | 
					CIniFile ini(filename);
 | 
				
			||||||
ini.ReadFile();
 | 
					ini.ReadFile();
 | 
				
			||||||
ClipboardTimeOut=ini.GetValueI("Options","ClipboardTimeOut",20);
 | 
					ClipboardTimeOut=ini.GetValueI("Options","ClipboardTimeOut",20);
 | 
				
			||||||
Toolbar=ini.GetValueB("UI","ShowToolbar",true);
 | 
					Toolbar=ini.GetValueB("UI","ShowToolbar",true);
 | 
				
			||||||
| 
						 | 
					@ -48,8 +48,8 @@ ExpandGroupTree=ini.GetValueB("Options","ExpandGroupTree",true);
 | 
				
			||||||
return true;
 | 
					return true;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
bool CConfig::saveToIni(){
 | 
					bool CConfig::saveToIni(QString filename){
 | 
				
			||||||
CIniFile ini(QDir::homeDirPath()+"/.keepass/config");
 | 
					CIniFile ini(filename);
 | 
				
			||||||
ini.ReadFile();
 | 
					ini.ReadFile();
 | 
				
			||||||
ini.SetValueI("Options","ClipboardTimeOut",ClipboardTimeOut);
 | 
					ini.SetValueI("Options","ClipboardTimeOut",ClipboardTimeOut);
 | 
				
			||||||
ini.SetValueB("UI","ShowToolbar",Toolbar);
 | 
					ini.SetValueB("UI","ShowToolbar",Toolbar);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -46,8 +46,8 @@ public:
 | 
				
			||||||
 QString PwGenCharList;
 | 
					 QString PwGenCharList;
 | 
				
			||||||
 bool ExpandGroupTree;
 | 
					 bool ExpandGroupTree;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 bool loadFromIni();
 | 
					 bool loadFromIni(QString filename);
 | 
				
			||||||
 bool saveToIni();
 | 
					 bool saveToIni(QString filename);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
 void ParseColumnString(QString str, bool* dst);
 | 
					 void ParseColumnString(QString str, bool* dst);
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1118,118 +1118,10 @@
 | 
				
			||||||
</images>
 | 
					</images>
 | 
				
			||||||
<connections>
 | 
					<connections>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>MainFrame</sender>
 | 
					        <sender>DEBUG_DbStructure</sender>
 | 
				
			||||||
        <signal>pixmapSizeChanged(bool)</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnMainWinResize()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>File_Open</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnFileOpen()</slot>
 | 
					        <slot>DEBUG_OnPrintDbStucture()</slot>
 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>GroupView</sender>
 | 
					 | 
				
			||||||
        <signal>selectionChanged(QListViewItem*)</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnGroupChanged(QListViewItem*)</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>File_Close</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnMenu_closeDB()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>File_Save</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnFileSave()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>File_SaveAs</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnFileSaveAs()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>tooButtonOpen</sender>
 | 
					 | 
				
			||||||
        <signal>clicked()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnFileOpen()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>toolButtonSave</sender>
 | 
					 | 
				
			||||||
        <signal>clicked()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnFileSave()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>File_Exit</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnMenuExit()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>EntryView</sender>
 | 
					 | 
				
			||||||
        <signal>selectionChanged(QListViewItem*)</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnEntryChanged(QListViewItem*)</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>EntryView</sender>
 | 
					 | 
				
			||||||
        <signal>doubleClicked(QListViewItem*,const QPoint&,int)</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnEntryDoubleClicked(QListViewItem*,const QPoint&,int)</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>Edit_NewGroup</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnAddGroup()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>Edit_NewSubGroup</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnAddSubGroup()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>Edit_GroupProperties</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnEditGroup()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>Edit_DeleteGroup</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnDeleteGroup()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>Edit_PasswordToClipboard</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnPasswordToClipboard()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>Edit_UserNameToClipboard</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnUserNameToClipboard()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>Edit_OpenURL</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnOpenURL()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>Edit_SaveAttachment</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnSaveAttachment()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>Edit_AddEntry</sender>
 | 
					        <sender>Edit_AddEntry</sender>
 | 
				
			||||||
| 
						 | 
					@ -1237,12 +1129,6 @@
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnAddEntry()</slot>
 | 
					        <slot>OnAddEntry()</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>Edit_EditEntry</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnEditEntry()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>Edit_CopyEntry</sender>
 | 
					        <sender>Edit_CopyEntry</sender>
 | 
				
			||||||
        <signal>activated()</signal>
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
| 
						 | 
					@ -1255,6 +1141,30 @@
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnDeleteEntry()</slot>
 | 
					        <slot>OnDeleteEntry()</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>Edit_DeleteGroup</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnDeleteGroup()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>Edit_EditEntry</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnEditEntry()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>Edit_GlobalSearch</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnGlobalSearch()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>Edit_GroupProperties</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnEditGroup()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>Edit_GroupSearch</sender>
 | 
					        <sender>Edit_GroupSearch</sender>
 | 
				
			||||||
        <signal>activated()</signal>
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
| 
						 | 
					@ -1262,35 +1172,53 @@
 | 
				
			||||||
        <slot>OnGroupSearch()</slot>
 | 
					        <slot>OnGroupSearch()</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>toolButtonAddEntry</sender>
 | 
					        <sender>Edit_NewGroup</sender>
 | 
				
			||||||
        <signal>clicked()</signal>
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnAddEntry()</slot>
 | 
					        <slot>OnAddGroup()</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>toolButtonEditEntry</sender>
 | 
					        <sender>Edit_NewSubGroup</sender>
 | 
				
			||||||
        <signal>clicked()</signal>
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnEditEntry()</slot>
 | 
					        <slot>OnAddSubGroup()</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>toolButtonDeleteEntry</sender>
 | 
					        <sender>Edit_OpenURL</sender>
 | 
				
			||||||
        <signal>clicked()</signal>
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnDeleteEntry()</slot>
 | 
					        <slot>OnOpenURL()</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>toolButtonPasswordToClipboard</sender>
 | 
					        <sender>Edit_PasswordToClipboard</sender>
 | 
				
			||||||
        <signal>clicked()</signal>
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnPasswordToClipboard()</slot>
 | 
					        <slot>OnPasswordToClipboard()</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>toolButtonUserNameToClipboard</sender>
 | 
					        <sender>Edit_SaveAttachment</sender>
 | 
				
			||||||
        <signal>clicked()</signal>
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnSaveAttachment()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>Edit_UserNameToClipboard</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnUserNameToClipboard()</slot>
 | 
					        <slot>OnUserNameToClipboard()</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>EntryView</sender>
 | 
				
			||||||
 | 
					        <signal>selectionChanged(QListViewItem*)</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnEntryChanged(QListViewItem*)</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>EntryView</sender>
 | 
				
			||||||
 | 
					        <signal>doubleClicked(QListViewItem*,const QPoint&,int)</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnEntryDoubleClicked(QListViewItem*,const QPoint&,int)</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>EntryView</sender>
 | 
					        <sender>EntryView</sender>
 | 
				
			||||||
        <signal>rightButtonClicked(QListViewItem*,const QPoint&,int)</signal>
 | 
					        <signal>rightButtonClicked(QListViewItem*,const QPoint&,int)</signal>
 | 
				
			||||||
| 
						 | 
					@ -1298,46 +1226,10 @@
 | 
				
			||||||
        <slot>OnEntryRightClicked(QListViewItem*,const QPoint&,int)</slot>
 | 
					        <slot>OnEntryRightClicked(QListViewItem*,const QPoint&,int)</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>GroupView</sender>
 | 
					        <sender>Extras_Language</sender>
 | 
				
			||||||
        <signal>rightButtonClicked(QListViewItem*,const QPoint&,int)</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnGroupRightClicked(QListViewItem*,const QPoint&,int)</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>File_Settings</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnDbSettings()</slot>
 | 
					        <slot>OnExtrasLanguage()</slot>
 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>File_ChangeKey</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnChangeDbKey()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>File_New</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnFileNew()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>View_ShowToolBar</sender>
 | 
					 | 
				
			||||||
        <signal>toggled(bool)</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnViewToolbarToggled(bool)</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>View_ShowEntryDetails</sender>
 | 
					 | 
				
			||||||
        <signal>toggled(bool)</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnViewEntryDetailsToggled(bool)</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>toolButtonNew</sender>
 | 
					 | 
				
			||||||
        <signal>clicked()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnFileNew()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>Extras_Settings</sender>
 | 
					        <sender>Extras_Settings</sender>
 | 
				
			||||||
| 
						 | 
					@ -1345,6 +1237,84 @@
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnSettings()</slot>
 | 
					        <slot>OnSettings()</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>File_ChangeKey</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnChangeDbKey()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>File_Close</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnMenu_closeDB()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>File_Exit</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnMenuExit()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>File_ImportKWalletXML</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnImportKWalletXML()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>File_Import_PwManager</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnImportPwManagerFile()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>File_New</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnFileNew()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>File_Open</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnFileOpen()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>File_Save</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnFileSave()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>File_SaveAs</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnFileSaveAs()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>File_Settings</sender>
 | 
				
			||||||
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnDbSettings()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>GroupView</sender>
 | 
				
			||||||
 | 
					        <signal>selectionChanged(QListViewItem*)</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnGroupChanged(QListViewItem*)</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>GroupView</sender>
 | 
				
			||||||
 | 
					        <signal>rightButtonClicked(QListViewItem*,const QPoint&,int)</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnGroupRightClicked(QListViewItem*,const QPoint&,int)</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>GroupView</sender>
 | 
				
			||||||
 | 
					        <signal>dropped(QDropEvent*)</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnGroupViewDrop(QDropEvent*)</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>Help_About</sender>
 | 
					        <sender>Help_About</sender>
 | 
				
			||||||
        <signal>activated()</signal>
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
| 
						 | 
					@ -1352,10 +1322,76 @@
 | 
				
			||||||
        <slot>OnHelpAbout()</slot>
 | 
					        <slot>OnHelpAbout()</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>View_Column_Expire</sender>
 | 
					        <sender>Help_AboutQt</sender>
 | 
				
			||||||
        <signal>toggled(bool)</signal>
 | 
					        <signal>activated()</signal>
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnView_ColumnExpireToggled(bool)</slot>
 | 
					        <slot>OnHelpAboutQt()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>MainFrame</sender>
 | 
				
			||||||
 | 
					        <signal>pixmapSizeChanged(bool)</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnMainWinResize()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>tooButtonOpen</sender>
 | 
				
			||||||
 | 
					        <signal>clicked()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnFileOpen()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>toolButtonAddEntry</sender>
 | 
				
			||||||
 | 
					        <signal>clicked()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnAddEntry()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>toolButtonDeleteEntry</sender>
 | 
				
			||||||
 | 
					        <signal>clicked()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnDeleteEntry()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>toolButtonEditEntry</sender>
 | 
				
			||||||
 | 
					        <signal>clicked()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnEditEntry()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>toolButtonNew</sender>
 | 
				
			||||||
 | 
					        <signal>clicked()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnFileNew()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>toolButtonPasswordToClipboard</sender>
 | 
				
			||||||
 | 
					        <signal>clicked()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnPasswordToClipboard()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>toolButtonSave</sender>
 | 
				
			||||||
 | 
					        <signal>clicked()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnFileSave()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>toolButtonSearch</sender>
 | 
				
			||||||
 | 
					        <signal>clicked()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnGlobalSearch()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>toolButtonUserNameToClipboard</sender>
 | 
				
			||||||
 | 
					        <signal>clicked()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnUserNameToClipboard()</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>toolSearch</sender>
 | 
				
			||||||
 | 
					        <signal>returnPressed()</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnQickSearch()</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>View_Column_Attachment</sender>
 | 
					        <sender>View_Column_Attachment</sender>
 | 
				
			||||||
| 
						 | 
					@ -1363,12 +1399,6 @@
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnView_ColumnAttachmentToggled(bool)</slot>
 | 
					        <slot>OnView_ColumnAttachmentToggled(bool)</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>View_Column_Username</sender>
 | 
					 | 
				
			||||||
        <signal>toggled(bool)</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnView_ColumnUsernameToggled(bool)</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>View_Column_Comment</sender>
 | 
					        <sender>View_Column_Comment</sender>
 | 
				
			||||||
        <signal>toggled(bool)</signal>
 | 
					        <signal>toggled(bool)</signal>
 | 
				
			||||||
| 
						 | 
					@ -1381,6 +1411,18 @@
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnView_ColumnCreationToggled(bool)</slot>
 | 
					        <slot>OnView_ColumnCreationToggled(bool)</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>View_Column_Expire</sender>
 | 
				
			||||||
 | 
					        <signal>toggled(bool)</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnView_ColumnExpireToggled(bool)</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
 | 
					    <connection>
 | 
				
			||||||
 | 
					        <sender>View_Column_LastAccess</sender>
 | 
				
			||||||
 | 
					        <signal>toggled(bool)</signal>
 | 
				
			||||||
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
 | 
					        <slot>OnView_ColumnLastAccessToggled(bool)</slot>
 | 
				
			||||||
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>View_Column_LastMod</sender>
 | 
					        <sender>View_Column_LastMod</sender>
 | 
				
			||||||
        <signal>toggled(bool)</signal>
 | 
					        <signal>toggled(bool)</signal>
 | 
				
			||||||
| 
						 | 
					@ -1394,10 +1436,10 @@
 | 
				
			||||||
        <slot>OnView_ColumnPasswordToggled(bool)</slot>
 | 
					        <slot>OnView_ColumnPasswordToggled(bool)</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>View_Column_LastAccess</sender>
 | 
					        <sender>View_Column_Title</sender>
 | 
				
			||||||
        <signal>toggled(bool)</signal>
 | 
					        <signal>toggled(bool)</signal>
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnView_ColumnLastAccessToggled(bool)</slot>
 | 
					        <slot>OnView_ColumnTitleToggled(bool)</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>View_Column_URL</sender>
 | 
					        <sender>View_Column_URL</sender>
 | 
				
			||||||
| 
						 | 
					@ -1406,46 +1448,10 @@
 | 
				
			||||||
        <slot>OnView_ColumnUrlToggled(bool)</slot>
 | 
					        <slot>OnView_ColumnUrlToggled(bool)</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>View_Column_Title</sender>
 | 
					        <sender>View_Column_Username</sender>
 | 
				
			||||||
        <signal>toggled(bool)</signal>
 | 
					        <signal>toggled(bool)</signal>
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnView_ColumnTitleToggled(bool)</slot>
 | 
					        <slot>OnView_ColumnUsernameToggled(bool)</slot>
 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>Edit_GlobalSearch</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnGlobalSearch()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>Extras_Language</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnExtrasLanguage()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>toolButtonSearch</sender>
 | 
					 | 
				
			||||||
        <signal>clicked()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnGlobalSearch()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>toolSearch</sender>
 | 
					 | 
				
			||||||
        <signal>returnPressed()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnQickSearch()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>DEBUG_DbStructure</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>DEBUG_OnPrintDbStucture()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>File_Import_PwManager</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnImportPwManagerFile()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>View_HidePasswords</sender>
 | 
					        <sender>View_HidePasswords</sender>
 | 
				
			||||||
| 
						 | 
					@ -1460,22 +1466,16 @@
 | 
				
			||||||
        <slot>OnView_HideUsernamesToggled(bool)</slot>
 | 
					        <slot>OnView_HideUsernamesToggled(bool)</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>GroupView</sender>
 | 
					        <sender>View_ShowEntryDetails</sender>
 | 
				
			||||||
        <signal>dropped(QDropEvent*)</signal>
 | 
					        <signal>toggled(bool)</signal>
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnGroupViewDrop(QDropEvent*)</slot>
 | 
					        <slot>OnViewEntryDetailsToggled(bool)</slot>
 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
    <connection>
 | 
					    <connection>
 | 
				
			||||||
        <sender>Help_AboutQt</sender>
 | 
					        <sender>View_ShowToolBar</sender>
 | 
				
			||||||
        <signal>activated()</signal>
 | 
					        <signal>toggled(bool)</signal>
 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					        <receiver>MainFrame</receiver>
 | 
				
			||||||
        <slot>OnHelpAboutQt()</slot>
 | 
					        <slot>OnViewToolbarToggled(bool)</slot>
 | 
				
			||||||
    </connection>
 | 
					 | 
				
			||||||
    <connection>
 | 
					 | 
				
			||||||
        <sender>File_ImportKWalletXML</sender>
 | 
					 | 
				
			||||||
        <signal>activated()</signal>
 | 
					 | 
				
			||||||
        <receiver>MainFrame</receiver>
 | 
					 | 
				
			||||||
        <slot>OnImportKWalletXML()</slot>
 | 
					 | 
				
			||||||
    </connection>
 | 
					    </connection>
 | 
				
			||||||
</connections>
 | 
					</connections>
 | 
				
			||||||
<slots>
 | 
					<slots>
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -18,7 +18,7 @@
 | 
				
			||||||
 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 | 
					 *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
 | 
				
			||||||
 ***************************************************************************/
 | 
					 ***************************************************************************/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include <iostream.h>
 | 
				
			||||||
#include "pwsafe.h"
 | 
					#include "pwsafe.h"
 | 
				
			||||||
#include <qapplication.h>
 | 
					#include <qapplication.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -60,7 +60,7 @@
 | 
				
			||||||
#include "import/Import_PwManager.h"
 | 
					#include "import/Import_PwManager.h"
 | 
				
			||||||
#include "import/Import_KWalletXml.h"
 | 
					#include "import/Import_KWalletXml.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CMainWindow::CMainWindow(QApplication* app,QWidget* parent,const char* name, WFlags fl)
 | 
					CMainWindow::CMainWindow(QApplication* app,QString ArgFile,QString ArgCfg,QWidget* parent,const char* name, WFlags fl)
 | 
				
			||||||
: MainFrame(parent,name,fl)
 | 
					: MainFrame(parent,name,fl)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
FileOpen=false;
 | 
					FileOpen=false;
 | 
				
			||||||
| 
						 | 
					@ -70,12 +70,23 @@ parentWidget()->setCaption(tr("Keepass Passwortsafe"));
 | 
				
			||||||
SecString::generateSessionKey();
 | 
					SecString::generateSessionKey();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Config //
 | 
					// Config //
 | 
				
			||||||
if(!QDir(QDir::homeDirPath()+"/.keepass").exists()){
 | 
					if(ArgCfg==""){
 | 
				
			||||||
 | 
					 if(!QDir(QDir::homeDirPath()+"/.keepass").exists()){
 | 
				
			||||||
	QDir conf(QDir::homeDirPath());
 | 
						QDir conf(QDir::homeDirPath());
 | 
				
			||||||
	if(!conf.mkdir(".keepass")){
 | 
						if(!conf.mkdir(".keepass")){
 | 
				
			||||||
		cout << trUtf8("Warnung: Verzeichnis ~/.keepass konnte nicht erstellt werden.") << endl;}
 | 
							cout << trUtf8("Warnung: Verzeichnis ~/.keepass konnte nicht erstellt werden.") << endl;}
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 IniFilename=QDir::homeDirPath()+"/.keepass/config";
 | 
				
			||||||
 | 
					 config.loadFromIni(IniFilename);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
config.loadFromIni();
 | 
					else
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					 IniFilename=ArgCfg;
 | 
				
			||||||
 | 
					 config.loadFromIni(IniFilename);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CGroup::UI_ExpandByDefault=config.ExpandGroupTree;
 | 
					CGroup::UI_ExpandByDefault=config.ExpandGroupTree;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Language //
 | 
					// Language //
 | 
				
			||||||
| 
						 | 
					@ -154,7 +165,6 @@ connect(GroupView,SIGNAL(expanded(QListViewItem*)),this, SLOT(OnGroupItemExpande
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// MainWnd //
 | 
					// MainWnd //
 | 
				
			||||||
CurrentGroup=NULL;
 | 
					CurrentGroup=NULL;
 | 
				
			||||||
CurrentEntry=NULL;
 | 
					 | 
				
			||||||
Clipboard=QApplication::clipboard();
 | 
					Clipboard=QApplication::clipboard();
 | 
				
			||||||
GroupView->setSorting(-1);
 | 
					GroupView->setSorting(-1);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -229,6 +239,26 @@ if(config.ListView_HideUsernames){
 | 
				
			||||||
else{
 | 
					else{
 | 
				
			||||||
	View_HideUsernames->setOn(false);}
 | 
						View_HideUsernames->setOn(false);}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					////////////////////////////////////////////////
 | 
				
			||||||
 | 
					GroupView->addColumn(trUtf8("Gruppen"));
 | 
				
			||||||
 | 
					GroupView->setColumnWidth(0,GroupView->width()-4);
 | 
				
			||||||
 | 
					SetupColumns();
 | 
				
			||||||
 | 
					InitMenus();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if(ArgFile==""){
 | 
				
			||||||
 | 
					 if(config.OpenLast && config.LastFile!="")
 | 
				
			||||||
 | 
					  {QFileInfo file(config.LastFile);
 | 
				
			||||||
 | 
					   if(file.exists() && file.isFile())OpenDatabase(config.LastFile);
 | 
				
			||||||
 | 
					   else config.LastFile="";}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					else
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					  QFileInfo file(ArgFile);
 | 
				
			||||||
 | 
					  if(file.exists() && file.isFile())OpenDatabase(ArgFile);
 | 
				
			||||||
 | 
					   else cout << "file not found "<< ArgFile << endl;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CMainWindow::LoadImg(QString name,QImage& tmpImg){
 | 
					void CMainWindow::LoadImg(QString name,QImage& tmpImg){
 | 
				
			||||||
| 
						 | 
					@ -245,7 +275,7 @@ if(tmpImg.load(appdir+"/../share/keepass/"+name)==false){
 | 
				
			||||||
CMainWindow::~CMainWindow()
 | 
					CMainWindow::~CMainWindow()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
OnClose();
 | 
					OnClose();
 | 
				
			||||||
if(!config.saveToIni())
 | 
					if(!config.saveToIni(IniFilename))
 | 
				
			||||||
	QMessageBox::warning(this,tr("Warnung"),trUtf8("Die Konfigurationsdatei konnte nicht gespeichert werden.Stellen Sie sicher, dass\nSie Schreibrechte im Verzeichnis ~/.keepass besitzen."),tr("OK"),"","",0.0);
 | 
						QMessageBox::warning(this,tr("Warnung"),trUtf8("Die Konfigurationsdatei konnte nicht gespeichert werden.Stellen Sie sicher, dass\nSie Schreibrechte im Verzeichnis ~/.keepass besitzen."),tr("OK"),"","",0.0);
 | 
				
			||||||
if(translator)delete translator;
 | 
					if(translator)delete translator;
 | 
				
			||||||
delete [] EntryIcons;
 | 
					delete [] EntryIcons;
 | 
				
			||||||
| 
						 | 
					@ -406,10 +436,6 @@ EntryView->setColumnWidth(i,width);
 | 
				
			||||||
void CMainWindow::updateEntryView(){
 | 
					void CMainWindow::updateEntryView(){
 | 
				
			||||||
//  Achtung:
 | 
					//  Achtung:
 | 
				
			||||||
//  Die ->pEntry bzw ->pGroup Zeiger sind zu diesem Zeitpunkt ungültig!
 | 
					//  Die ->pEntry bzw ->pGroup Zeiger sind zu diesem Zeitpunkt ungültig!
 | 
				
			||||||
if(CurrentEntry){
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
EntryView->clear();
 | 
					EntryView->clear();
 | 
				
			||||||
EntryItems.clear();
 | 
					EntryItems.clear();
 | 
				
			||||||
if(!CurrentGroup)return;
 | 
					if(!CurrentGroup)return;
 | 
				
			||||||
| 
						 | 
					@ -452,24 +478,9 @@ tmp->setText(j++,entry->BinaryDesc);}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CMainWindow::OnEntryChanged(QListViewItem* item){
 | 
					void CMainWindow::OnEntryChanged(QListViewItem* item){
 | 
				
			||||||
SetEditMenuState(STATE_SingleEntrySelected);
 | 
					if(item)SetEditMenuState(STATE_SingleEntrySelected);
 | 
				
			||||||
CEntry& entry=*((EntryItem*)item)->pEntry;
 | 
					else SetEditMenuState(STATE_NoEntrySelected);
 | 
				
			||||||
 | 
					updateEntryDetails((EntryItem*)item);
 | 
				
			||||||
QString str=trUtf8("<B>Gruppe: </B>%1  <B>Titel: </B>%2  <B>Benutzername: </B>%3  <B>URL: </B>%4  <B>Passwort: </B>%5  <B>Erstellt: </B>%6  <B>letzte Änderung: </B>%7  <B>letzter Zugriff: </B>%8  <B>gültig bis: </B>%9");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
str= str.arg(CurrentGroup->pGroup->Name)
 | 
					 | 
				
			||||||
	.arg(entry.Title)
 | 
					 | 
				
			||||||
	.arg(entry.UserName)
 | 
					 | 
				
			||||||
	.arg(entry.URL)
 | 
					 | 
				
			||||||
	.arg(entry.Password.getString())
 | 
					 | 
				
			||||||
	.arg(entry.Creation.GetString(0))
 | 
					 | 
				
			||||||
	.arg(entry.LastMod.GetString(0))
 | 
					 | 
				
			||||||
	.arg(entry.LastAccess.GetString(0))
 | 
					 | 
				
			||||||
	.arg(entry.Expire.GetString(0));
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
SummaryField->setText(str);
 | 
					 | 
				
			||||||
entry.Password.delRef();
 | 
					 | 
				
			||||||
CurrentEntry=(EntryItem*)item;
 | 
					 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -480,14 +491,8 @@ QValueList<int> s;
 | 
				
			||||||
s.push_back(25); s.push_back(100);
 | 
					s.push_back(25); s.push_back(100);
 | 
				
			||||||
parentWidget()->resize(750,450);
 | 
					parentWidget()->resize(750,450);
 | 
				
			||||||
splitter->setSizes(s);
 | 
					splitter->setSizes(s);
 | 
				
			||||||
GroupView->addColumn(trUtf8("Gruppen"));
 | 
					
 | 
				
			||||||
GroupView->setColumnWidth(0,GroupView->width()-4);
 | 
					
 | 
				
			||||||
SetupColumns();
 | 
					 | 
				
			||||||
InitMenus();
 | 
					 | 
				
			||||||
if(config.OpenLast && config.LastFile!="")
 | 
					 | 
				
			||||||
{ QFileInfo file(config.LastFile);
 | 
					 | 
				
			||||||
  if(file.exists() && file.isFile())OpenDatabase(config.LastFile);
 | 
					 | 
				
			||||||
  else config.LastFile="";}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
////////////////////////////////////
 | 
					////////////////////////////////////
 | 
				
			||||||
/*Beim öffnen der Datenbank ist ein Fehler aufgetreten.
 | 
					/*Beim öffnen der Datenbank ist ein Fehler aufgetreten.
 | 
				
			||||||
| 
						 | 
					@ -761,14 +766,14 @@ setModFlag(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CMainWindow::OnPasswordToClipboard()
 | 
					void CMainWindow::OnPasswordToClipboard()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
Clipboard->setText(CurrentEntry->pEntry->Password.getString(),QClipboard::Clipboard);
 | 
					Clipboard->setText(currentEntry()->Password.getString(),QClipboard::Clipboard);
 | 
				
			||||||
ClipboardTimer.start(config.ClipboardTimeOut*1000,true);
 | 
					ClipboardTimer.start(config.ClipboardTimeOut*1000,true);
 | 
				
			||||||
CurrentEntry->pEntry->Password.delRef();
 | 
					currentEntry()->Password.delRef();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CMainWindow::OnUserNameToClipboard()
 | 
					void CMainWindow::OnUserNameToClipboard()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
Clipboard->setText(CurrentEntry->pEntry->UserName,  QClipboard::Clipboard);
 | 
					Clipboard->setText(currentEntry()->UserName,  QClipboard::Clipboard);
 | 
				
			||||||
ClipboardTimer.start(config.ClipboardTimeOut*1000,true);
 | 
					ClipboardTimer.start(config.ClipboardTimeOut*1000,true);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -778,7 +783,7 @@ Clipboard->clear(QClipboard::Clipboard); //löscht nicht den KDE-Klipper
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CMainWindow::OnOpenURL()
 | 
					void CMainWindow::OnOpenURL()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
OpenURL(CurrentEntry->pEntry->URL);
 | 
					OpenURL(currentEntry()->URL);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CMainWindow::OpenURL(QString url){
 | 
					void CMainWindow::OpenURL(QString url){
 | 
				
			||||||
| 
						 | 
					@ -789,7 +794,7 @@ browser.start();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CMainWindow::OnSaveAttachment()
 | 
					void CMainWindow::OnSaveAttachment()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
CEntry& entry=*CurrentEntry->pEntry;
 | 
					CEntry& entry=*currentEntry();
 | 
				
			||||||
if(entry.BinaryDataLength==0){
 | 
					if(entry.BinaryDataLength==0){
 | 
				
			||||||
QMessageBox::information(NULL,trUtf8("Hinweis"),trUtf8("Dieser Eintrag hat keinen Dateianhang."),"OK");
 | 
					QMessageBox::information(NULL,trUtf8("Hinweis"),trUtf8("Dieser Eintrag hat keinen Dateianhang."),"OK");
 | 
				
			||||||
return;
 | 
					return;
 | 
				
			||||||
| 
						 | 
					@ -864,7 +869,7 @@ if(pDlg->exec()){
 | 
				
			||||||
void CMainWindow::OnEditEntry()
 | 
					void CMainWindow::OnEditEntry()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
CEditEntryDlg* pDlg= new CEditEntryDlg(this,0,true);
 | 
					CEditEntryDlg* pDlg= new CEditEntryDlg(this,0,true);
 | 
				
			||||||
pDlg->entry=CurrentEntry->pEntry;
 | 
					pDlg->entry=currentEntry();
 | 
				
			||||||
pDlg->exec();
 | 
					pDlg->exec();
 | 
				
			||||||
updateEntryView();
 | 
					updateEntryView();
 | 
				
			||||||
if(pDlg->ModFlag)setModFlag(true);
 | 
					if(pDlg->ModFlag)setModFlag(true);
 | 
				
			||||||
| 
						 | 
					@ -872,7 +877,7 @@ if(pDlg->ModFlag)setModFlag(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CMainWindow::OnCopyEntry()
 | 
					void CMainWindow::OnCopyEntry()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
CEntry &src=*CurrentEntry->pEntry;
 | 
					CEntry &src=*currentEntry();
 | 
				
			||||||
CEntry entry=src;
 | 
					CEntry entry=src;
 | 
				
			||||||
entry.sID=(*(db->Entries.end()-1)).sID+1;
 | 
					entry.sID=(*(db->Entries.end()-1)).sID+1;
 | 
				
			||||||
while(1){
 | 
					while(1){
 | 
				
			||||||
| 
						 | 
					@ -900,7 +905,7 @@ setModFlag(true);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CMainWindow::OnDeleteEntry()
 | 
					void CMainWindow::OnDeleteEntry()
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
db->deleteEntry(CurrentEntry->pEntry);
 | 
					db->deleteEntry(currentEntry());
 | 
				
			||||||
updateEntryView();
 | 
					updateEntryView();
 | 
				
			||||||
setModFlag(true);
 | 
					setModFlag(true);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -1311,6 +1316,7 @@ void CMainWindow::OnView_HideUsernamesToggled(bool state)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
config.ListView_HideUsernames=state;
 | 
					config.ListView_HideUsernames=state;
 | 
				
			||||||
updateEntryView();
 | 
					updateEntryView();
 | 
				
			||||||
 | 
					updateEntryDetails();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1318,6 +1324,7 @@ void CMainWindow::OnView_HidePasswordsToggled(bool state)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
config.ListView_HidePasswords=state;
 | 
					config.ListView_HidePasswords=state;
 | 
				
			||||||
updateEntryView();
 | 
					updateEntryView();
 | 
				
			||||||
 | 
					updateEntryDetails();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void CMainWindow::OnGroupViewDrop(QDropEvent* e)
 | 
					void CMainWindow::OnGroupViewDrop(QDropEvent* e)
 | 
				
			||||||
| 
						 | 
					@ -1375,4 +1382,41 @@ FileOpen=true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void CMainWindow::updateEntryDetails(EntryItem* pItem){
 | 
				
			||||||
 | 
					if(pItem==NULL){
 | 
				
			||||||
 | 
					 SummaryField->setText("");
 | 
				
			||||||
 | 
					 return;}
 | 
				
			||||||
 | 
					CEntry& entry=*pItem->pEntry;
 | 
				
			||||||
 | 
					QString str=trUtf8("<B>Gruppe: </B>%1  <B>Titel: </B>%2  <B>Benutzername: </B>%3  <B>URL: </B>%4  <B>Passwort: </B>%5  <B>Erstellt: </B>%6  <B>letzte Änderung: </B>%7  <B>letzter Zugriff: </B>%8  <B>gültig bis: </B>%9");
 | 
				
			||||||
 | 
					str=str.arg(CurrentGroup->pGroup->Name).arg(entry.Title);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if(!config.ListView_HideUsernames)	str=str.arg(entry.UserName);
 | 
				
			||||||
 | 
					else str=str.arg("****");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					str=str.arg(entry.URL);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if(!config.ListView_HidePasswords)	str=str.arg(entry.Password.getString());
 | 
				
			||||||
 | 
					else	str=str.arg("****");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					str=str.arg(entry.Creation.GetString(0))
 | 
				
			||||||
 | 
						  .arg(entry.LastMod.GetString(0))
 | 
				
			||||||
 | 
						  .arg(entry.LastAccess.GetString(0))
 | 
				
			||||||
 | 
						  .arg(entry.Expire.GetString(0));
 | 
				
			||||||
 | 
					SummaryField->setText(str);
 | 
				
			||||||
 | 
					entry.Password.delRef();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void CMainWindow::updateEntryDetails(){
 | 
				
			||||||
 | 
					updateEntryDetails( (EntryItem*)EntryView->currentItem() );
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EntryItem* CMainWindow::currentEntryItem(){
 | 
				
			||||||
 | 
					return (EntryItem*)EntryView->currentItem();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CEntry* CMainWindow::currentEntry(){
 | 
				
			||||||
 | 
					return ((EntryItem*)EntryView->currentItem())->pEntry;
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -40,7 +40,7 @@ Q_OBJECT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
  /*$PUBLIC_FUNCTIONS$*/
 | 
					  /*$PUBLIC_FUNCTIONS$*/
 | 
				
			||||||
  CMainWindow(QApplication* app, QWidget* parent = 0,const char* name = 0, WFlags fl = 0 );
 | 
					  CMainWindow(QApplication* app,QString ArgFile,QString ArgCfg, QWidget* parent = 0,const char* name = 0, WFlags fl = 0 );
 | 
				
			||||||
  ~CMainWindow();
 | 
					  ~CMainWindow();
 | 
				
			||||||
protected:
 | 
					protected:
 | 
				
			||||||
  /*$PROTECTED_FUNCTIONS$*/
 | 
					  /*$PROTECTED_FUNCTIONS$*/
 | 
				
			||||||
| 
						 | 
					@ -149,8 +149,11 @@ public:
 | 
				
			||||||
 void setCurrentGroup(GroupItem* item);
 | 
					 void setCurrentGroup(GroupItem* item);
 | 
				
			||||||
 void updateEntryView();
 | 
					 void updateEntryView();
 | 
				
			||||||
 void updateGroupView();
 | 
					 void updateGroupView();
 | 
				
			||||||
 | 
					 void updateEntryDetails();
 | 
				
			||||||
 | 
					 void updateEntryDetails(EntryItem* item);
 | 
				
			||||||
 | 
					 inline EntryItem* currentEntryItem();
 | 
				
			||||||
 | 
					 inline CEntry* currentEntry();
 | 
				
			||||||
 GroupItem* CurrentGroup;
 | 
					 GroupItem* CurrentGroup;
 | 
				
			||||||
 EntryItem* CurrentEntry;
 | 
					 | 
				
			||||||
 QClipboard* Clipboard;
 | 
					 QClipboard* Clipboard;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
| 
						 | 
					@ -161,6 +164,7 @@ private:
 | 
				
			||||||
 bool modflag;
 | 
					 bool modflag;
 | 
				
			||||||
 void setModFlag(bool);
 | 
					 void setModFlag(bool);
 | 
				
			||||||
 bool FileOpen;
 | 
					 bool FileOpen;
 | 
				
			||||||
 | 
					 QString IniFilename;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,8 +22,32 @@
 | 
				
			||||||
#include "pwsafe.h"
 | 
					#include "pwsafe.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PwSafe::PwSafe(QApplication* app):QMainWindow( 0, "Keepass",WDestructiveClose)
 | 
					PwSafe::PwSafe(QApplication* app):QMainWindow( 0, "Keepass",WDestructiveClose)
 | 
				
			||||||
{   mainWin=new CMainWindow(app,this);
 | 
					{
 | 
				
			||||||
    setCentralWidget( mainWin );
 | 
					QString ArgFile,ArgCfg;
 | 
				
			||||||
 | 
					if(app->argc()>1){
 | 
				
			||||||
 | 
					int i=1;
 | 
				
			||||||
 | 
						if(app->argv()[i][0]!='-'){
 | 
				
			||||||
 | 
							ArgFile=app->argv()[i];
 | 
				
			||||||
 | 
							i++;
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						for(i; i<app->argc();i++){
 | 
				
			||||||
 | 
							if(QString(app->argv()[i])=="-h")
 | 
				
			||||||
 | 
								argHelp();
 | 
				
			||||||
 | 
							else if(QString(app->argv()[i])=="-cfg"){
 | 
				
			||||||
 | 
								if(i-1==app->argc()) cout << "No configuration file specified" << endl;
 | 
				
			||||||
 | 
								else{ArgCfg=app->argv()[i];}
 | 
				
			||||||
 | 
								}
 | 
				
			||||||
 | 
							else{cout << "** Unrecognized option: " << app->argv()[i] <<  endl;
 | 
				
			||||||
 | 
								exit(1);}
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					  mainWin=new CMainWindow(app,ArgFile,ArgCfg,this);
 | 
				
			||||||
 | 
					  setCentralWidget( mainWin );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
PwSafe::~PwSafe()
 | 
					PwSafe::~PwSafe()
 | 
				
			||||||
| 
						 | 
					@ -31,3 +55,10 @@ PwSafe::~PwSafe()
 | 
				
			||||||
    delete mainWin;
 | 
					    delete mainWin;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void PwSafe::argHelp(){
 | 
				
			||||||
 | 
					cout << "Keepass 0.1.3 (Alpha)" << endl;
 | 
				
			||||||
 | 
					cout << "Usage: keepass [Filename] [Options]" << endl;
 | 
				
			||||||
 | 
					cout << "  -h This Help" << endl;
 | 
				
			||||||
 | 
					cout << "  -cfg ConfigFile Use specified configuration" << endl;
 | 
				
			||||||
 | 
					exit(0);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -43,6 +43,7 @@ public:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
  CMainWindow *mainWin;
 | 
					  CMainWindow *mainWin;
 | 
				
			||||||
 | 
					  void argHelp();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif // _PWSAFE_H_
 | 
					#endif // _PWSAFE_H_
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue