void MainWindow::setup_database() { //setup database QSettings settings; if(!settings.contains("database file name")) settings.setValue("database file name", db_location); QFileInfo dbpath(settings.value("database file name").toString()); open_database(dbpath); }
int ReadCore(PWScore& othercore, const wxString& file, const StringX& combination, bool showMsgbox /*= true*/, wxWindow* msgboxParent /*= NULL*/) { othercore.ClearData(); // Reading a new file changes the preferences! const StringX sxSavePrefString(PWSprefs::GetInstance()->Store()); const bool bDBPrefsChanged = PWSprefs::GetInstance()->IsDBprefsChanged(); StringX dbpath(tostringx(file)); int rc = othercore.ReadFile(dbpath, combination); // Reset database preferences - first to defaults then add saved changes! PWSprefs::GetInstance()->Load(sxSavePrefString); PWSprefs::GetInstance()->SetDBprefsChanged(bDBPrefsChanged); switch (rc) { case PWScore::SUCCESS: othercore.SetCurFile(tostringx(file)); break; case PWScore::CANT_OPEN_FILE: if (showMsgbox) wxMessageBox(wxString(file) << _("\n\nCould not open file for reading!"), _("File Read Error"), wxOK | wxICON_ERROR, msgboxParent ); break; case PWScore::BAD_DIGEST: if (showMsgbox && wxMessageBox(wxString(file) << _("\n\nFile corrupt or truncated!\nData may have been lost or modified.\nContinue anyway?"), _("File Read Error"), wxYES_NO | wxICON_QUESTION, msgboxParent) == wxYES) { rc = PWScore::SUCCESS; } break; #ifdef DEMO case PWScore::LIMIT_REACHED: if( showMsgbox) wxMessageBox(wxString::Format(_("This version of PasswordSafe does not support more than %d entries in a database.\nTo get an unlimited version for the U3 platform, please visit http://software.u3.com\nNote: Saving this database will result in the removal of unread entries!"), MAXDEMO), _("Trial Version Limitation"), wxOK | wxICON_WARNING, msgboxParent); break; #endif default: if (showMsgbox) wxMessageBox( wxString(file) << _("\n\nUnknown error"), _("File Read Error"), wxOK | wxICON_ERROR, msgboxParent); break; } return rc; }
int ReadCore(PWScore& othercore, const wxString& file, const StringX& combination, bool showMsgbox /*= true*/, wxWindow* msgboxParent /*= NULL*/, bool setupCopy /*= false*/) { othercore.ClearData(); StringX dbpath(tostringx(file)); int rc = othercore.ReadFile(dbpath, combination); if (setupCopy) PWSprefs::GetInstance()->SetupCopyPrefs(); switch (rc) { case PWScore::SUCCESS: othercore.SetCurFile(tostringx(file)); break; case PWScore::CANT_OPEN_FILE: if (showMsgbox) wxMessageBox(wxString(file) << wxT("\n\n") << _("Could not open file for reading!"), _("File Read Error"), wxOK | wxICON_ERROR, msgboxParent ); break; case PWScore::BAD_DIGEST: if (showMsgbox && wxMessageBox(wxString(file) << wxT("\n\n") << _("File corrupt or truncated!\nData may have been lost or modified.\nContinue anyway?"), _("File Read Error"), wxYES_NO | wxICON_QUESTION, msgboxParent) == wxYES) { rc = PWScore::SUCCESS; } break; default: if (showMsgbox) wxMessageBox( wxString(file) << wxT("\n\n") << _("Unknown error"), _("File Read Error"), wxOK | wxICON_ERROR, msgboxParent); break; } return rc; }