LoginDialog::LoginDialog(bool bInit, Client *client) : LoginDialogBase(NULL, "logindlg", client ? false : true, client ? WDestructiveClose : 0) { m_bInit = bInit; m_bProfileChanged = false; m_profile = CorePlugin::m_plugin->getProfile(); m_client = client; SET_WNDPROC("login") setIcon(Pict("licq")); setButtonsPict(this); if (m_client){ setCaption(caption()); }else{ setCaption(i18n("Select profile")); } if (m_client){ chkSave->hide(); chkNoShow->hide(); btnDelete->hide(); cmbProfile->hide(); lblProfile->hide(); } chkSave->setChecked(CorePlugin::m_plugin->getSavePasswd()); chkNoShow->setChecked(CorePlugin::m_plugin->getNoShow()); connect(buttonOk, SIGNAL(clicked()), this, SLOT(apply())); connect(chkSave, SIGNAL(toggled(bool)), this, SLOT(saveToggled(bool))); saveToggled(CorePlugin::m_plugin->getSavePasswd()); fill(); connect(cmbProfile, SIGNAL(activated(int)), this, SLOT(profileChanged(int))); connect(btnDelete, SIGNAL(clicked()), this, SLOT(profileDelete())); profileChanged(cmbProfile->currentItem()); }
void ProfileManageDlg::slotProfileDelete() { int x = lbx_profiles->currentRow(); if(x == -1) return; QString name = lbx_profiles->item(x)->text(); QStringList paths; paths << ApplicationInfo::profilesDir(ApplicationInfo::ConfigLocation) + "/" + name; if(!paths.contains(ApplicationInfo::profilesDir(ApplicationInfo::DataLocation) + "/" + name)) { paths << ApplicationInfo::profilesDir(ApplicationInfo::DataLocation) + "/" + name; } if(!paths.contains(ApplicationInfo::profilesDir(ApplicationInfo::CacheLocation) + "/" + name)) { paths << ApplicationInfo::profilesDir(ApplicationInfo::CacheLocation) + "/" + name; } // prompt first int r = QMessageBox::warning(this, CAP(tr("Delete Profile")), tr( "<qt>Are you sure you want to delete the \"<b>%1</b>\" profile? " "This will delete all of the profile's message history as well as associated settings!</qt>" ).arg(name), tr("No, I changed my mind"), tr("Delete it!")); if(r != 1) return; r = QMessageBox::information(this, CAP(tr("Delete Profile")), tr( "<qt>As a precaution, you are being asked one last time if this is what you really want. " "The following folder will be deleted!<br><br>\n" "<b>%1</b><br><br>\n" "Proceed?" ).arg(paths.join("\n")), tr("&No"), tr("&Yes")); if(r == 1) { if(!profileDelete(paths)) { QMessageBox::critical(this, CAP("Error"), tr("Unable to delete the folder completely. Ensure you have the proper permission.")); return; } // FIXME delete lbx_profiles->item(x); } }
LoginDialog::LoginDialog(bool bInit, Client *client, const QString &text, const char *loginProfile) : LoginDialogBase(NULL, "logindlg", client ? false : true, client ? WDestructiveClose : 0) { m_bInit = bInit; m_bProfileChanged = false; m_profile = CorePlugin::m_plugin->getProfile(); m_client = client; m_bLogin = false; if (loginProfile && *loginProfile){ m_loginProfile = loginProfile; }else{ btnDelete->hide(); } SET_WNDPROC("login") setButtonsPict(this); lblMessage->setText(text); if (m_client){ setCaption(caption() + " " + QString::fromLocal8Bit(client->name().c_str())); setIcon(Pict(m_client->protocol()->description()->icon)); }else{ setCaption(i18n("Select profile")); setIcon(Pict("licq")); } if (m_client){ chkSave->hide(); chkNoShow->hide(); btnDelete->hide(); cmbProfile->hide(); lblProfile->hide(); } chkSave->setChecked(CorePlugin::m_plugin->getSavePasswd()); chkNoShow->setChecked(CorePlugin::m_plugin->getNoShow()); connect(chkSave, SIGNAL(toggled(bool)), this, SLOT(saveToggled(bool))); saveToggled(CorePlugin::m_plugin->getSavePasswd()); fill(); connect(cmbProfile, SIGNAL(activated(int)), this, SLOT(profileChanged(int))); connect(btnDelete, SIGNAL(clicked()), this, SLOT(profileDelete())); profileChanged(cmbProfile->currentItem()); }