mirror of
https://github.com/qTox/qTox.git
synced 2024-03-22 14:00:36 +08:00
refactor(startup): condense and rename scanProfiles
This commit is contained in:
parent
ac640bb4bd
commit
8bc6fc9fd8
|
@ -269,21 +269,17 @@ QStringList Profile::getFilesByExt(QString extension)
|
||||||
* @brief Scan for profile, automatically importing them if needed.
|
* @brief Scan for profile, automatically importing them if needed.
|
||||||
* @warning NOT thread-safe.
|
* @warning NOT thread-safe.
|
||||||
*/
|
*/
|
||||||
void Profile::scanProfiles()
|
const QStringList Profile::getAllProfileNames()
|
||||||
{
|
{
|
||||||
profiles.clear();
|
profiles.clear();
|
||||||
QStringList toxfiles = getFilesByExt("tox"), inifiles = getFilesByExt("ini");
|
QStringList toxfiles = getFilesByExt("tox"), inifiles = getFilesByExt("ini");
|
||||||
for (QString toxfile : toxfiles) {
|
for (const QString& toxfile : toxfiles) {
|
||||||
if (!inifiles.contains(toxfile)) {
|
if (!inifiles.contains(toxfile)) {
|
||||||
Settings::getInstance().createPersonal(toxfile);
|
Settings::getInstance().createPersonal(toxfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
profiles.append(toxfile);
|
profiles.append(toxfile);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
QStringList Profile::getProfiles()
|
|
||||||
{
|
|
||||||
return profiles;
|
return profiles;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -67,8 +67,7 @@ public:
|
||||||
|
|
||||||
bool rename(QString newName);
|
bool rename(QString newName);
|
||||||
|
|
||||||
static void scanProfiles();
|
static const QStringList getAllProfileNames();
|
||||||
static QStringList getProfiles();
|
|
||||||
|
|
||||||
static bool exists(QString name);
|
static bool exists(QString name);
|
||||||
static bool isEncrypted(QString name);
|
static bool isEncrypted(QString name);
|
||||||
|
|
|
@ -59,7 +59,7 @@ LoginScreen::LoginScreen(const QString& initialProfileName, QWidget* parent)
|
||||||
connect(ui->autoLoginCB, &QCheckBox::stateChanged, this, &LoginScreen::onAutoLoginToggled);
|
connect(ui->autoLoginCB, &QCheckBox::stateChanged, this, &LoginScreen::onAutoLoginToggled);
|
||||||
connect(ui->importButton, &QPushButton::clicked, this, &LoginScreen::onImportProfile);
|
connect(ui->importButton, &QPushButton::clicked, this, &LoginScreen::onImportProfile);
|
||||||
|
|
||||||
reset(initialProfile);
|
reset(initialProfileName);
|
||||||
this->setStyleSheet(Style::getStylesheet("loginScreen/loginScreen.css"));
|
this->setStyleSheet(Style::getStylesheet("loginScreen/loginScreen.css"));
|
||||||
|
|
||||||
retranslateUi();
|
retranslateUi();
|
||||||
|
@ -84,7 +84,7 @@ void LoginScreen::closeEvent(QCloseEvent* event)
|
||||||
/**
|
/**
|
||||||
* @brief Resets the UI, clears all fields.
|
* @brief Resets the UI, clears all fields.
|
||||||
*/
|
*/
|
||||||
void LoginScreen::reset(QString initialProfile)
|
void LoginScreen::reset(const QString& initialProfileName)
|
||||||
{
|
{
|
||||||
ui->newUsername->clear();
|
ui->newUsername->clear();
|
||||||
ui->newPass->clear();
|
ui->newPass->clear();
|
||||||
|
@ -92,25 +92,26 @@ void LoginScreen::reset(QString initialProfile)
|
||||||
ui->loginPassword->clear();
|
ui->loginPassword->clear();
|
||||||
ui->loginUsernames->clear();
|
ui->loginUsernames->clear();
|
||||||
|
|
||||||
Profile::scanProfiles();
|
QStringList allProfileNames = Profile::getAllProfileNames();
|
||||||
if (initialProfile.isEmpty()) {
|
|
||||||
initialProfile = Settings::getInstance().getCurrentProfile();
|
|
||||||
}
|
|
||||||
QStringList profiles = Profile::getProfiles();
|
|
||||||
for (QString profile : profiles) {
|
|
||||||
ui->loginUsernames->addItem(profile);
|
|
||||||
if (profile == initialProfile) {
|
|
||||||
ui->loginUsernames->setCurrentIndex(ui->loginUsernames->count() - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (profiles.isEmpty()) {
|
if (allProfileNames.isEmpty()) {
|
||||||
ui->stackedWidget->setCurrentIndex(0);
|
ui->stackedWidget->setCurrentIndex(0);
|
||||||
ui->newUsername->setFocus();
|
ui->newUsername->setFocus();
|
||||||
} else {
|
} else {
|
||||||
|
for (const QString& profileName : allProfileNames) {
|
||||||
|
ui->loginUsernames->addItem(profileName);
|
||||||
|
}
|
||||||
|
|
||||||
|
ui->loginUsernames->setCurrentText(initialProfileName);
|
||||||
ui->stackedWidget->setCurrentIndex(1);
|
ui->stackedWidget->setCurrentIndex(1);
|
||||||
ui->loginPassword->setFocus();
|
ui->loginPassword->setFocus();
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void LoginScreen::onProfileLoaded()
|
||||||
|
{
|
||||||
|
done(0);
|
||||||
|
}
|
||||||
|
|
||||||
void LoginScreen::onProfileLoadFailed() {
|
void LoginScreen::onProfileLoadFailed() {
|
||||||
QMessageBox::critical(this, tr("Couldn't load this profile"), tr("Wrong password."));
|
QMessageBox::critical(this, tr("Couldn't load this profile"), tr("Wrong password."));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user