ID cleaning. saving progress

git-svn-id: http://svn.code.sf.net/p/retroshare/code/branches/v0.6-IdCleaning@7112 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
csoler 2014-02-12 22:15:39 +00:00
parent 096678ec6b
commit 919003814a
8 changed files with 59 additions and 59 deletions

View file

@ -178,18 +178,18 @@ void GenCertDialog::init()
ui.genPGPuser->clear() ; ui.genPGPuser->clear() ;
std::list<std::string> pgpIds; std::list<PGPIdType> pgpIds;
std::list<std::string>::iterator it; std::list<PGPIdType>::iterator it;
bool foundGPGKeys = false; bool foundGPGKeys = false;
if (!mOnlyGenerateIdentity) { if (!mOnlyGenerateIdentity) {
if (RsAccounts::GetPGPLogins(pgpIds)) { if (RsAccounts::GetPGPLogins(pgpIds)) {
for(it = pgpIds.begin(); it != pgpIds.end(); it++) for(it = pgpIds.begin(); it != pgpIds.end(); it++)
{ {
QVariant userData(QString::fromStdString(*it)); QVariant userData(QString::fromStdString( (*it).toStdString() ));
std::string name, email; std::string name, email;
RsAccounts::GetPGPLoginDetails(*it, name, email); RsAccounts::GetPGPLoginDetails(*it, name, email);
std::cerr << "Adding PGPUser: " << name << " id: " << *it << std::endl; std::cerr << "Adding PGPUser: " << name << " id: " << *it << std::endl;
QString gid = QString::fromStdString(*it).right(8) ; QString gid = QString::fromStdString( (*it).toStdString()).right(8) ;
ui.genPGPuser->addItem(QString::fromUtf8(name.c_str()) + " <" + QString::fromUtf8(email.c_str()) + "> (" + gid + ")", userData); ui.genPGPuser->addItem(QString::fromUtf8(name.c_str()) + " <" + QString::fromUtf8(email.c_str()) + "> (" + gid + ")", userData);
foundGPGKeys = true; foundGPGKeys = true;
} }
@ -310,7 +310,7 @@ void GenCertDialog::exportIdentity()
return ; return ;
QVariant data = ui.genPGPuser->itemData(ui.genPGPuser->currentIndex()); QVariant data = ui.genPGPuser->itemData(ui.genPGPuser->currentIndex());
std::string gpg_id = data.toString().toStdString() ; PGPIdType gpg_id (data.toString().toStdString()) ;
if(RsAccounts::ExportIdentity(fname.toStdString(),gpg_id)) if(RsAccounts::ExportIdentity(fname.toStdString(),gpg_id))
QMessageBox::information(this,tr("Identity saved"),tr("Your identity was successfully saved\nIt is encrypted\n\nYou can now copy it to another computer\nand use the import button to load it")) ; QMessageBox::information(this,tr("Identity saved"),tr("Your identity was successfully saved\nIt is encrypted\n\nYou can now copy it to another computer\nand use the import button to load it")) ;
@ -325,7 +325,7 @@ void GenCertDialog::importIdentity()
if(fname.isNull()) if(fname.isNull())
return ; return ;
std::string gpg_id ; PGPIdType gpg_id ;
std::string err_string ; std::string err_string ;
if(!RsAccounts::ImportIdentity(fname.toStdString(),gpg_id,err_string)) if(!RsAccounts::ImportIdentity(fname.toStdString(),gpg_id,err_string))
@ -340,7 +340,7 @@ void GenCertDialog::importIdentity()
RsAccounts::GetPGPLoginDetails(gpg_id, name, email); RsAccounts::GetPGPLoginDetails(gpg_id, name, email);
std::cerr << "Adding PGPUser: " << name << " id: " << gpg_id << std::endl; std::cerr << "Adding PGPUser: " << name << " id: " << gpg_id << std::endl;
QMessageBox::information(this,tr("New identity imported"),tr("Your identity was imported successfully:")+" \n"+"\nName :"+QString::fromStdString(name)+"\nemail: " + QString::fromStdString(email)+"\nKey ID: "+QString::fromStdString(gpg_id)+"\n\n"+tr("You can use it now to create a new location.")) ; QMessageBox::information(this,tr("New identity imported"),tr("Your identity was imported successfully:")+" \n"+"\nName :"+QString::fromStdString(name)+"\nemail: " + QString::fromStdString(email)+"\nKey ID: "+QString::fromStdString(gpg_id.toStdString())+"\n\n"+tr("You can use it now to create a new location.")) ;
} }
init() ; init() ;
@ -350,7 +350,7 @@ void GenCertDialog::genPerson()
{ {
/* Check the data from the GUI. */ /* Check the data from the GUI. */
std::string genLoc = ui.location_input->text().toUtf8().constData(); std::string genLoc = ui.location_input->text().toUtf8().constData();
std::string PGPId; PGPIdType PGPId;
bool isHiddenLoc = false; bool isHiddenLoc = false;
if (ui.hidden_checkbox->isChecked()) if (ui.hidden_checkbox->isChecked())
@ -389,7 +389,7 @@ void GenCertDialog::genPerson()
return; return;
} }
QVariant data = ui.genPGPuser->itemData(pgpidx); QVariant data = ui.genPGPuser->itemData(pgpidx);
PGPId = (data.toString()).toStdString(); PGPId = PGPIdType((data.toString()).toStdString());
} else { } else {
if (ui.password_input->text().length() < 3 || ui.name_input->text().length() < 3 || genLoc.length() < 3) { if (ui.password_input->text().length() < 3 || ui.name_input->text().length() < 3 || genLoc.length() < 3) {
/* Message Dialog */ /* Message Dialog */
@ -446,7 +446,7 @@ void GenCertDialog::genPerson()
/* GenerateSSLCertificate - selects the PGP Account */ /* GenerateSSLCertificate - selects the PGP Account */
//RsInit::SelectGPGAccount(PGPId); //RsInit::SelectGPGAccount(PGPId);
std::string sslId; RsPeerId sslId;
std::cerr << "GenCertDialog::genPerson() Generating SSL cert with gpg id : " << PGPId << std::endl; std::cerr << "GenCertDialog::genPerson() Generating SSL cert with gpg id : " << PGPId << std::endl;
std::string err; std::string err;
bool okGen = RsAccounts::GenerateSSLCertificate(PGPId, "", genLoc, "", isHiddenLoc, sslPasswd, sslId, err); bool okGen = RsAccounts::GenerateSSLCertificate(PGPId, "", genLoc, "", isHiddenLoc, sslPasswd, sslId, err);

View file

@ -203,7 +203,7 @@ void NetworkDialog::connectTreeWidgetCostumPopupMenu( QPoint /*point*/ )
QMenu *contextMnu = new QMenu; QMenu *contextMnu = new QMenu;
std::string peer_id = wi->text(COLUMN_PEERID).toStdString() ; PGPIdType peer_id(wi->text(COLUMN_PEERID).toStdString()) ;
// That's what context menus are made for // That's what context menus are made for
RsPeerDetails detail; RsPeerDetails detail;
@ -231,17 +231,17 @@ void NetworkDialog::connectTreeWidgetCostumPopupMenu( QPoint /*point*/ )
void NetworkDialog::removeUnusedKeys() void NetworkDialog::removeUnusedKeys()
{ {
std::list<std::string> pre_selected ; std::list<PGPIdType> pre_selected ;
std::list<std::string> ids ; std::list<PGPIdType> ids ;
rsPeers->getGPGAllList(ids) ; rsPeers->getGPGAllList(ids) ;
RsPeerDetails details ; RsPeerDetails details ;
time_t now = time(NULL) ; time_t now = time(NULL) ;
time_t THREE_MONTHS = 3*31*24*60*60 ;//3*DayPerMonth*HoursPerDay*MinPerHour*SecPerMin time_t THREE_MONTHS = 3*31*24*60*60 ;//3*DayPerMonth*HoursPerDay*MinPerHour*SecPerMin
for(std::list<std::string>::const_iterator it(ids.begin());it!=ids.end();++it) for(std::list<PGPIdType>::const_iterator it(ids.begin());it!=ids.end();++it)
{ {
rsPeers->getPeerDetails(*it,details) ; rsPeers->getGPGDetails(*it,details) ;
if(rsPeers->haveSecretKey(*it)) if(rsPeers->haveSecretKey(*it))
{ {
@ -255,13 +255,13 @@ void NetworkDialog::removeUnusedKeys()
} }
} }
std::list<std::string> selected = FriendSelectionDialog::selectFriends(NULL, std::list<PGPIdType> selected = FriendSelectionDialog::selectFriends(NULL,
tr("Clean keyring"), tr("Clean keyring"),
tr("The selected keys below haven't been used in the last 3 months. \nDo you want to delete them permanently ? \n\nNotes: Your old keyring will be backed up.\n The removal may fail when running multiple Retroshare instances on the same machine."),FriendSelectionWidget::MODUS_CHECK,FriendSelectionWidget::SHOW_GPG | FriendSelectionWidget::SHOW_NON_FRIEND_GPG, tr("The selected keys below haven't been used in the last 3 months. \nDo you want to delete them permanently ? \n\nNotes: Your old keyring will be backed up.\n The removal may fail when running multiple Retroshare instances on the same machine."),FriendSelectionWidget::MODUS_CHECK,FriendSelectionWidget::SHOW_GPG | FriendSelectionWidget::SHOW_NON_FRIEND_GPG,
FriendSelectionWidget::IDTYPE_GPG, pre_selected) ; FriendSelectionWidget::IDTYPE_GPG, pre_selected) ;
std::cerr << "Removing these keys from the keyring: " << std::endl; std::cerr << "Removing these keys from the keyring: " << std::endl;
for(std::list<std::string>::const_iterator it(selected.begin());it!=selected.end();++it) for(std::list<PGPIdType>::const_iterator it(selected.begin());it!=selected.end();++it)
std::cerr << " " << *it << std::endl; std::cerr << " " << *it << std::endl;
std::string backup_file ; std::string backup_file ;
@ -298,7 +298,7 @@ void NetworkDialog::removeUnusedKeys()
void NetworkDialog::denyFriend() void NetworkDialog::denyFriend()
{ {
QTreeWidgetItem *wi = getCurrentNeighbour(); QTreeWidgetItem *wi = getCurrentNeighbour();
std::string peer_id = wi->text(COLUMN_PEERID).toStdString() ; PGPIdType peer_id( wi->text(COLUMN_PEERID).toStdString() );
rsPeers->removeFriend(peer_id) ; rsPeers->removeFriend(peer_id) ;
securedUpdateDisplay(); securedUpdateDisplay();
@ -364,12 +364,12 @@ void NetworkDialog::sendDistantMessage()
return; return;
} }
std::string hash ; Sha1CheckSum hash ;
std::string mGpgId = wi->text(COLUMN_PEERID).toStdString() ; PGPIdType mGpgId(wi->text(COLUMN_PEERID).toStdString()) ;
if(rsMsgs->getDistantMessageHash(mGpgId,hash)) if(rsMsgs->getDistantMessageHash(mGpgId,hash))
{ {
nMsgDialog->addRecipient(MessageComposer::TO, hash, mGpgId); nMsgDialog->addRecipient(MessageComposer::TO, hash.toStdString(), mGpgId.toStdString());
nMsgDialog->show(); nMsgDialog->show();
nMsgDialog->activateWindow(); nMsgDialog->activateWindow();
} }
@ -397,8 +397,8 @@ void NetworkDialog::insertConnect()
// //
// last_time = now ; // last_time = now ;
std::list<std::string> neighs; //these are GPG ids std::list<PGPIdType> neighs; //these are GPG ids
std::list<std::string>::iterator it; std::list<PGPIdType>::iterator it;
rsPeers->getGPGAllList(neighs); rsPeers->getGPGAllList(neighs);
/* get a link to the table */ /* get a link to the table */
@ -408,7 +408,7 @@ void NetworkDialog::insertConnect()
int index = 0; int index = 0;
while (index < connectWidget->topLevelItemCount()) while (index < connectWidget->topLevelItemCount())
{ {
std::string gpg_widget_id = (connectWidget->topLevelItem(index))->text(COLUMN_PEERID).toStdString(); PGPIdType gpg_widget_id( (connectWidget->topLevelItem(index))->text(COLUMN_PEERID).toStdString() );
RsPeerDetails detail; RsPeerDetails detail;
if ( (!rsPeers->getGPGDetails(gpg_widget_id, detail)) || (ui.onlyTrustedKeys->isChecked() && (detail.validLvl < RS_TRUST_LVL_MARGINAL && !detail.accept_connection))) if ( (!rsPeers->getGPGDetails(gpg_widget_id, detail)) || (ui.onlyTrustedKeys->isChecked() && (detail.validLvl < RS_TRUST_LVL_MARGINAL && !detail.accept_connection)))
delete (connectWidget->takeTopLevelItem(index)); delete (connectWidget->takeTopLevelItem(index));
@ -435,7 +435,7 @@ void NetworkDialog::insertConnect()
/* make a widget per friend */ /* make a widget per friend */
QTreeWidgetItem *item; QTreeWidgetItem *item;
QList<QTreeWidgetItem *> list = connectWidget->findItems(QString::fromStdString(*it), Qt::MatchExactly, COLUMN_PEERID); QList<QTreeWidgetItem *> list = connectWidget->findItems(QString::fromStdString( (*it).toStdString() ), Qt::MatchExactly, COLUMN_PEERID);
if (list.size() == 1) { if (list.size() == 1) {
item = list.front(); item = list.front();
} else { } else {
@ -451,7 +451,7 @@ void NetworkDialog::insertConnect()
item -> setText(COLUMN_PEERNAME, QString::fromUtf8(detail.name.c_str())); item -> setText(COLUMN_PEERNAME, QString::fromUtf8(detail.name.c_str()));
/* (4) key id */ /* (4) key id */
item -> setText(COLUMN_PEERID, QString::fromStdString(detail.id)); item -> setText(COLUMN_PEERID, QString::fromStdString(detail.id.toStdString()));
} }
//QString TrustLevelString ; //QString TrustLevelString ;
@ -548,7 +548,7 @@ void NetworkDialog::insertConnect()
rsPeers->getGPGDetails(rsPeers->getGPGOwnId(), ownGPGDetails); rsPeers->getGPGDetails(rsPeers->getGPGOwnId(), ownGPGDetails);
/* make a widget per friend */ /* make a widget per friend */
QTreeWidgetItem *self_item; QTreeWidgetItem *self_item;
QList<QTreeWidgetItem *> list = connectWidget->findItems(QString::fromStdString(ownGPGDetails.gpg_id), Qt::MatchExactly, COLUMN_PEERID); QList<QTreeWidgetItem *> list = connectWidget->findItems(QString::fromStdString(ownGPGDetails.gpg_id.toStdString()), Qt::MatchExactly, COLUMN_PEERID);
if (list.size() == 1) { if (list.size() == 1) {
self_item = list.front(); self_item = list.front();
} else { } else {
@ -559,7 +559,7 @@ void NetworkDialog::insertConnect()
self_item->setIcon(COLUMN_CHECK,(QIcon(IMAGE_AUTHED))); self_item->setIcon(COLUMN_CHECK,(QIcon(IMAGE_AUTHED)));
self_item->setText(COLUMN_PEERNAME, QString::fromUtf8(ownGPGDetails.name.c_str()) + " (" + tr("yourself") + ")"); self_item->setText(COLUMN_PEERNAME, QString::fromUtf8(ownGPGDetails.name.c_str()) + " (" + tr("yourself") + ")");
self_item->setText(COLUMN_I_AUTH_PEER,"N/A"); self_item->setText(COLUMN_I_AUTH_PEER,"N/A");
self_item->setText(COLUMN_PEERID, QString::fromStdString(ownGPGDetails.id)); self_item->setText(COLUMN_PEERID, QString::fromStdString(ownGPGDetails.id.toStdString()));
// Color each Background column in the Network Tab except the first one => 1-9 // Color each Background column in the Network Tab except the first one => 1-9
for(int i=0;i<COLUMN_COUNT;++i) for(int i=0;i<COLUMN_COUNT;++i)

View file

@ -474,7 +474,7 @@ void QuickStartWizard::saveChanges()
RsPeerDetails detail; RsPeerDetails detail;
std::string ownId = rsPeers->getOwnId(); RsPeerId ownId = rsPeers->getOwnId();
if (!rsPeers->getPeerDetails(ownId, detail)) if (!rsPeers->getPeerDetails(ownId, detail))
{ {

View file

@ -45,9 +45,9 @@ StartDialog::StartDialog(QWidget *parent)
/* get all available pgp private certificates.... /* get all available pgp private certificates....
* mark last one as default. * mark last one as default.
*/ */
std::list<std::string> accountIds; std::list<RsPeerId> accountIds;
std::list<std::string>::iterator it; std::list<RsPeerId>::iterator it;
std::string preferedId; RsPeerId preferedId;
RsAccounts::GetPreferredAccountId(preferedId); RsAccounts::GetPreferredAccountId(preferedId);
int pidx = -1; int pidx = -1;
int i; int i;
@ -56,10 +56,11 @@ StartDialog::StartDialog(QWidget *parent)
{ {
for(it = accountIds.begin(), i = 0; it != accountIds.end(); it++, i++) for(it = accountIds.begin(), i = 0; it != accountIds.end(); it++, i++)
{ {
const QVariant & userData = QVariant(QString::fromStdString(*it)); const QVariant & userData = QVariant(QString::fromStdString((*it).toStdString()));
std::string gpgid, name, email, location; PGPIdType gpgid ;
std::string name, email, location;
RsAccounts::GetAccountDetails(*it, gpgid, name, email, location); RsAccounts::GetAccountDetails(*it, gpgid, name, email, location);
QString accountName = QString::fromUtf8(name.c_str()) + " (" + QString::fromStdString(gpgid).right(8) + ") - " + QString::fromUtf8(location.c_str()); QString accountName = QString::fromUtf8(name.c_str()) + " (" + QString::fromStdString(gpgid.toStdString()).right(8) + ") - " + QString::fromUtf8(location.c_str());
ui.loadName->addItem(accountName, userData); ui.loadName->addItem(accountName, userData);
if (preferedId == *it) if (preferedId == *it)
@ -84,8 +85,6 @@ void StartDialog::closeEvent (QCloseEvent * event)
void StartDialog::loadPerson() void StartDialog::loadPerson()
{ {
std::string accountId = "";
int pgpidx = ui.loadName->currentIndex(); int pgpidx = ui.loadName->currentIndex();
if (pgpidx < 0) if (pgpidx < 0)
{ {
@ -95,7 +94,7 @@ void StartDialog::loadPerson()
} }
QVariant data = ui.loadName->itemData(pgpidx); QVariant data = ui.loadName->itemData(pgpidx);
accountId = (data.toString()).toStdString(); RsPeerId accountId = RsPeerId((data.toString()).toStdString());
if (Rshare::loadCertificate(accountId, ui.autologin_checkbox->isChecked())) { if (Rshare::loadCertificate(accountId, ui.autologin_checkbox->isChecked())) {
accept(); accept();

View file

@ -526,7 +526,7 @@ void NotifyQt::notifyTurtleSearchResult(uint32_t search_id,const std::list<Turtl
det.name = (*it).name ; det.name = (*it).name ;
det.hash = (*it).hash ; det.hash = (*it).hash ;
det.size = (*it).size ; det.size = (*it).size ;
det.id = "Anonymous" ; det.id.clear() ;
emit gotTurtleSearchResult(search_id,det) ; emit gotTurtleSearchResult(search_id,det) ;
} }
@ -920,7 +920,7 @@ void NotifyQt::testToaster(uint notifyFlags, /*RshareSettings::enumToasterPositi
QString title = tr("Test"); QString title = tr("Test");
QString message = tr("This is a test."); QString message = tr("This is a test.");
std::string id = rsPeers->getOwnId(); RsPeerId id = rsPeers->getOwnId();
uint pos = 0; uint pos = 0;
@ -937,25 +937,25 @@ void NotifyQt::testToaster(uint notifyFlags, /*RshareSettings::enumToasterPositi
toaster = new Toaster(new MessageToaster(std::string(), tr("Unknown title"), QString("[%1]").arg(tr("Encrypted message")))); toaster = new Toaster(new MessageToaster(std::string(), tr("Unknown title"), QString("[%1]").arg(tr("Encrypted message"))));
break; break;
case RS_POPUP_MSG: case RS_POPUP_MSG:
toaster = new Toaster(new MessageToaster(id, title, message)); toaster = new Toaster(new MessageToaster(id.toStdString(), title, message));
break; break;
case RS_POPUP_CONNECT: case RS_POPUP_CONNECT:
toaster = new Toaster(new OnlineToaster(id)); toaster = new Toaster(new OnlineToaster(id.toStdString()));
break; break;
case RS_POPUP_DOWNLOAD: case RS_POPUP_DOWNLOAD:
toaster = new Toaster(new DownloadToaster(id, title)); toaster = new Toaster(new DownloadToaster(id.toStdString(), title));
break; break;
case RS_POPUP_CHAT: case RS_POPUP_CHAT:
toaster = new Toaster(new ChatToaster(id, message)); toaster = new Toaster(new ChatToaster(id.toStdString(), message));
break; break;
case RS_POPUP_GROUPCHAT: case RS_POPUP_GROUPCHAT:
toaster = new Toaster(new GroupChatToaster(id, message)); toaster = new Toaster(new GroupChatToaster(id.toStdString(), message));
break; break;
case RS_POPUP_CHATLOBBY: case RS_POPUP_CHATLOBBY:
toaster = new Toaster(new ChatLobbyToaster(id, title, message)); toaster = new Toaster(new ChatLobbyToaster(id.toStdString(), title, message));
break; break;
case RS_POPUP_CONNECT_ATTEMPT: case RS_POPUP_CONNECT_ATTEMPT:
toaster = new Toaster(new FriendRequestToaster(id, title, id)); toaster = new Toaster(new FriendRequestToaster(id.toStdString(), title, id.toStdString()));
break; break;
} }

View file

@ -19,14 +19,14 @@
* Boston, MA 02110-1301, USA. * Boston, MA 02110-1301, USA.
****************************************************************/ ****************************************************************/
#error "******************************************************************************************************************" //#error "******************************************************************************************************************"
#error "**** Retroshare trunk/ is currently being merged to v0.6 and protocols are not stable. It is unlikely that *****" //#error "**** Retroshare trunk/ is currently being merged to v0.6 and protocols are not stable. It is unlikely that *****"
#error "**** you want to compile the trunk now. *****" //#error "**** you want to compile the trunk now. *****"
#error "**** *****" //#error "**** *****"
#error "**** To compile the latest Retroshare 0.5.5, please go to branches/v0.5.5 *****" //#error "**** To compile the latest Retroshare 0.5.5, please go to branches/v0.5.5 *****"
#error "**** *****" //#error "**** *****"
#error "**** --- The dev team --- *****" //#error "**** --- The dev team --- *****"
#error "******************************************************************************************************************" //#error "******************************************************************************************************************"
#include <QObject> #include <QObject>
#include <QMessageBox> #include <QMessageBox>
@ -264,7 +264,7 @@ int main(int argc, char *argv[])
/* Login Dialog */ /* Login Dialog */
/* check for existing Certificate */ /* check for existing Certificate */
bool genCert = false; bool genCert = false;
std::list<std::string> accountIds; std::list<RsPeerId> accountIds;
if (RsAccounts::GetAccountIds(accountIds) && (accountIds.size() > 0)) if (RsAccounts::GetAccountIds(accountIds) && (accountIds.size() > 0))
{ {
StartDialog sd; StartDialog sd;
@ -296,7 +296,7 @@ int main(int argc, char *argv[])
splashScreen.show(); splashScreen.show();
splashScreen.showMessage(rshare.translate("SplashScreen", "Load profile"), Qt::AlignHCenter | Qt::AlignBottom); splashScreen.showMessage(rshare.translate("SplashScreen", "Load profile"), Qt::AlignHCenter | Qt::AlignBottom);
std::string preferredId; RsPeerId preferredId;
RsAccounts::GetPreferredAccountId(preferredId); RsAccounts::GetPreferredAccountId(preferredId);
// true: note auto-login is active // true: note auto-login is active

View file

@ -606,7 +606,7 @@ void Rshare::blinkTimer()
} }
} }
bool Rshare::loadCertificate(const std::string &accountId, bool autoLogin) bool Rshare::loadCertificate(const RsPeerId &accountId, bool autoLogin)
{ {
if (!RsAccounts::SelectAccount(accountId)) if (!RsAccounts::SelectAccount(accountId))
{ {

View file

@ -36,6 +36,7 @@
#include <QKeySequence> #include <QKeySequence>
#include "util/log.h" #include "util/log.h"
#include "retroshare/rstypes.h"
/** Rshare's version string */ /** Rshare's version string */
#define RSHARE_VERSION "0.7" #define RSHARE_VERSION "0.7"
@ -89,7 +90,7 @@ public:
/** Recalculates matching stylesheet for widget **/ /** Recalculates matching stylesheet for widget **/
static void refreshStyleSheet(QWidget *widget, bool processChildren); static void refreshStyleSheet(QWidget *widget, bool processChildren);
static bool loadCertificate(const std::string &accountId, bool autoLogin); static bool loadCertificate(const RsPeerId &accountId, bool autoLogin);
/** /**
* Update Language, Style and StyleSheet. * Update Language, Style and StyleSheet.