void AccountsListWidget::handleAccountValidated (QObject *accObj, bool validated) { IAccount *acc = qobject_cast<IAccount*> (accObj); if (!acc) { qWarning () << Q_FUNC_INFO << accObj << "is not an IAccount"; return; } if (!Account2Item_.contains (acc)) { qWarning () << Q_FUNC_INFO << "account" << acc->GetAccountName () << acc->GetObject () << "from" << sender () << "not found here"; return; } QStandardItem *item = Account2Item_ [acc]; AccountsModel_->item (item->row (), Columns::IsValidated)->setText (validated ? tr ("Validated") : tr ("Not validated")); Ui_.Accounts_->header ()->setResizeMode (QHeaderView::ResizeToContents); }
void AccountsListWidget::on_Delete__released () { auto index = Ui_.Accounts_->selectionModel ()->currentIndex (); index = index.sibling (index.row (), Columns::Name); if (!index.isValid ()) return; QStandardItem *item = AccountsModel_->itemFromIndex (index); IAccount *acc = 0; if (item && Item2Account_.contains (item)) acc = Item2Account_ [item]; else return; if (QMessageBox::question (this, "LeechCraft", tr ("Are you sure you want to remove the account %1?") .arg ("<em>" + acc->GetAccountName () + "</em>"), QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; QObject *bpObj = acc->GetParentBloggingPlatform (); IBloggingPlatform *ibp = qobject_cast<IBloggingPlatform*> (bpObj); if (!ibp) { qWarning () << Q_FUNC_INFO << "parent blogging platform for" << acc->GetAccountID () << "doesn't implement IBloggingPlatform"; return; } ibp->RemoveAccount (acc->GetObject ()); }
void AccountsListWidget::on_Delete__released() { QModelIndex index = Ui_.Accounts_-> selectionModel ()->currentIndex (); if (!index.isValid ()) return; IAccount *acc = index .data (RAccObj).value<IAccount*> (); if (QMessageBox::question (this, "LeechCraft", tr ("Are you sure you want to remove the account %1?") .arg (acc->GetAccountName ()), QMessageBox::Yes | QMessageBox::No) != QMessageBox::Yes) return; QObject *protoObj = acc->GetParentProtocol (); IProtocol *proto = qobject_cast<IProtocol*> (protoObj); if (!proto) { qWarning () << Q_FUNC_INFO << "parent protocol for" << acc->GetAccountID () << "doesn't implement IProtocol"; return; } proto->RemoveAccount (acc->GetObject ()); }
void AccountsListWidget::on_PGP__released () { #ifdef ENABLE_CRYPT QModelIndex index = Ui_.Accounts_-> selectionModel ()->currentIndex (); if (!index.isValid ()) return; IAccount *acc = index .data (RAccObj).value<IAccount*> (); ISupportPGP *pgpAcc = qobject_cast<ISupportPGP*> (acc->GetObject ()); if (!pgpAcc) { QMessageBox::warning (this, "LeechCraft", tr ("The account %1 doesn't support encryption.") .arg (acc->GetAccountName ())); return; } const QString& str = tr ("Please select new PGP key for the account %1.") .arg (acc->GetAccountName ()); PGPKeySelectionDialog dia (str, PGPKeySelectionDialog::TPrivate, pgpAcc->GetPrivateKey (), this); if (dia.exec () != QDialog::Accepted) return; pgpAcc->SetPrivateKey (dia.GetSelectedKey ()); Core::Instance ().AssociatePrivateKey (acc, dia.GetSelectedKey ()); #endif }
void LJBloggingPlatform::handleAccountValidated (bool validated) { IAccount *acc = qobject_cast<IAccount*> (sender ()); if (!acc) { qWarning () << Q_FUNC_INFO << sender () << "is not an IAccount";; return; } emit accountValidated (acc->GetObject (), validated); }
void AccountsListDialog::on_Delete__released() { QModelIndex index = Ui_.Accounts_-> selectionModel ()->currentIndex (); if (!index.isValid ()) return; IAccount *acc = index .data (RAccObj).value<IAccount*> (); QObject *protoObj = acc->GetParentProtocol (); IProtocol *proto = qobject_cast<IProtocol*> (protoObj); if (!proto) { qWarning () << Q_FUNC_INFO << "parent protocol for" << acc->GetAccountID () << "doesn't implement IProtocol"; return; } proto->RemoveAccount (acc->GetObject ()); }
void AccountsSettings::addAccount (QObjectList accObjects) { IBookmarksService *ibs = qobject_cast<IBookmarksService*> (sender ()); if (!ibs) { qWarning () << Q_FUNC_INFO << sender () << "ins't IBookmarksService"; return; } QObjectList accounts; Q_FOREACH (QObject *accObj, accObjects) { IAccount *account = qobject_cast<IAccount*> (accObj); if (Id2Account_.contains (account->GetAccountID ())) continue; if (!account->GetPassword ().isEmpty ()) Core::Instance ().SavePassword (accObj); else account->SetPassword (Core::Instance ().GetPassword (accObj)); Id2Account_ [account->GetAccountID ()] = accObj; accounts << accObj; const QModelIndex& index = GetServiceIndex (ibs->GetObject ()); QStandardItem *parentItem = 0; if (!index.isValid ()) { parentItem = new QStandardItem (ibs->GetServiceIcon (), ibs->GetServiceName ()); parentItem->setEditable (false); Item2Service_ [parentItem] = ibs; AccountsModel_->appendRow (parentItem); } else parentItem = AccountsModel_->itemFromIndex (index); QList<QStandardItem*> record; QStandardItem *item = new QStandardItem (account->GetLogin ()); item->setEditable (false); item->setCheckable (true); item->setCheckState (account->IsSyncing () ? Qt::Checked : Qt::Unchecked); if (account->IsSyncing ()) { Core::Instance ().AddActiveAccount (accObj); IBookmarksService *ibs = qobject_cast<IBookmarksService*> (account->GetParentService ()); ibs->DownloadBookmarks (account->GetObject (), account->GetLastDownloadDateTime ()); ibs->UploadBookmarks (account->GetObject (), Core::Instance ().GetAllBookmarks ()); } Item2Account_ [item] = account; QStandardItem *uploaditem = new QStandardItem (account->GetLastUploadDateTime () .toString (Qt::DefaultLocaleShortDate)); uploaditem->setEditable (false); QStandardItem *downloaditem = new QStandardItem (account->GetLastDownloadDateTime () .toString (Qt::DefaultLocaleShortDate)); uploaditem->setEditable (false); record << item << uploaditem << downloaditem; parentItem->appendRow (record); if (account->IsSyncing ()) Core::Instance ().AddActiveAccount (accObj); Ui_.AccountsView_->expandAll (); Scheduled_ = false; ScheduleResize (); }