clear entry selection after current group changed, keep unkown metastreams

git-svn-id: https://svn.code.sf.net/p/keepassx/code/trunk@46 b624d157-de02-0410-bad0-e51aec6abb33
master
tariq 19 years ago
parent 779bc6fb93
commit 52089355a8
  1. 20
      src/PwManager.cpp
  2. 2
      src/PwManager.h
  3. 4
      src/mainwindow.cpp

@ -217,7 +217,8 @@ delete [] buffer;
for(int i=0;i<Entries.size();i++){
if(IsMetaStream(Entries[i])==true){
///@TODO Parse Metastreams
if(!parseMetaStream(Entries[i]))
UnkownMetaStreams << Entries[i];
deleteEntry(&Entries[i]);
i--;
}
@ -225,6 +226,10 @@ if(IsMetaStream(Entries[i])==true){
return true;
}
bool PwDatabase::parseMetaStream(const CEntry& entry){
//return true for known MetaStreams
return false;
}
void PwDatabase::transformKey(Q_UINT8* src,Q_UINT8* dst,Q_UINT8* KeySeed,int rounds){
Q_UINT8* tmp=new Q_UINT8[32];
@ -585,21 +590,12 @@ Q_UINT8 FinalRandomSeed[16];
Q_UINT8 ContentsHash[32];
Q_UINT8 EncryptionIV[16];
/*
if(SearchGroupID!=-1){
for(int i=0;i<Groups.size();i++){
if(Groups[i].ID==SearchGroupID){
SearchGroup=Groups[i];
Groups.erase(getGroupIterator(&Groups[i]));}
}
}
*/
if(filename==QString::null)return false;
QFile file(filename);
unsigned int FileSize;
//->Add Metastreams
Entries+=UnkownMetaStreams; ///@FIXME ID conflicts???
FileSize=DB_HEADER_SIZE;
// Get the size of all groups (94 Byte + length of the name string)
for(int i = 0; i < Groups.size(); i++){

@ -78,6 +78,7 @@ public:
private:
bool IsMetaStream(CEntry& Entry);
bool parseMetaStream(const CEntry& Entry);
void transformKey(Q_UINT8* src,Q_UINT8* dst,Q_UINT8* seed,int rounds);
bool readHeader(char* raw);
bool isGroupIdInUse(Q_UINT32 GroupID);
@ -86,6 +87,7 @@ private:
Q_UINT32 getNewEntrySid();
bool convHexToBinaryKey(char* HexKey, char* dst);
QStringList Errors;
QList<CEntry> UnkownMetaStreams;
};

@ -563,6 +563,10 @@ if(EntryView->selectedItems().size()>1)
void KeepassMainWindow::OnGroupSelectionChanged(){
Q_ASSERT(GroupView->selectedItems().size()<=1);
while(EntryView->selectedItems().size()){
EntryView->setItemSelected(EntryView->selectedItems()[0],false);}
if(GroupView->selectedItems().size()==0)
setStateGroupSelected(NONE);
if(GroupView->selectedItems().size()==1){