Fixes #6942 and fixes #4443 - Return number of deleted entries - Fix minor memory leak - FdoSecrets: make all prompt truly async per spec and update tests * the waited signal may already be emitted before calling spy.wait(), causing the test to fail. This commit checks the count before waiting. * check unlock result after waiting for signal - FdoSecrets: implement unlockBeforeSearch option - FdoSecrets: make search always work regardless of entry group searching settings, fixes #6942 - FdoSecrets: cleanup gracefully even if some test failed - FdoSecrets: make it safe to call prompts concurrently - FdoSecrets: make sure in unit test we click on the correct dialog Note on the unit tests: objects are not deleted (due to deleteLater event not handled). So there may be multiple AccessControlDialog. But only one of it is visible and is the correctly one to click on. Before this change, a random one may be clicked on, causing the completed signal never be sent.
69 lines
2.0 KiB
C++
69 lines
2.0 KiB
C++
/*
|
|
* Copyright (C) 2018 Aetf <aetf@unlimitedcodeworks.xyz>
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 2 or (at your option)
|
|
* version 3 of the License.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
#ifndef KEEPASSXC_FDOSECRETSSETTINGS_H
|
|
#define KEEPASSXC_FDOSECRETSSETTINGS_H
|
|
|
|
#include <QSharedPointer>
|
|
#include <QUuid>
|
|
|
|
class Database;
|
|
|
|
namespace FdoSecrets
|
|
{
|
|
|
|
class FdoSecretsSettings
|
|
{
|
|
public:
|
|
FdoSecretsSettings() = default;
|
|
static FdoSecretsSettings* instance();
|
|
|
|
bool isEnabled() const;
|
|
void setEnabled(bool enabled);
|
|
|
|
bool showNotification() const;
|
|
void setShowNotification(bool show);
|
|
|
|
bool confirmDeleteItem() const;
|
|
void setConfirmDeleteItem(bool confirm);
|
|
|
|
bool confirmAccessItem() const;
|
|
void setConfirmAccessItem(bool confirmAccessItem);
|
|
|
|
bool unlockBeforeSearch() const;
|
|
void setUnlockBeforeSearch(bool unlockBeforeSearch);
|
|
|
|
// Per db settings
|
|
|
|
QUuid exposedGroup(const QSharedPointer<Database>& db) const;
|
|
void setExposedGroup(const QSharedPointer<Database>& db, const QUuid& group);
|
|
QUuid exposedGroup(Database* db) const;
|
|
void setExposedGroup(Database* db, const QUuid& group);
|
|
|
|
private:
|
|
static FdoSecretsSettings* m_instance;
|
|
};
|
|
|
|
inline FdoSecretsSettings* settings()
|
|
{
|
|
return FdoSecretsSettings::instance();
|
|
}
|
|
|
|
} // namespace FdoSecrets
|
|
|
|
#endif // KEEPASSXC_FDOSECRETSSETTINGS_H
|