Exemplo n.º 1
0
	void AccountsManager::RemoveAccount (const QModelIndex& index)
	{
		if (!index.isValid ())
			return;

		QObject *accObj = index.sibling (index.row (), 0)
				.data (Roles::AccountObj).value<QObject*> ();
		auto acc = qobject_cast<IStorageAccount*> (accObj);

		auto plugin = qobject_cast<IStoragePlugin*> (acc->GetParentPlugin ());
		plugin->RemoveAccount (accObj);
	}
Exemplo n.º 2
0
void CSLPNodeLookupThread::AddResult( const char* newNodeName )
{
	DBGLOG( "CSLPNodeLookupThread::AddResult (%s)\n", newNodeName );
	if ( strcmp( newNodeName, "DEFAULT" ) == 0 )
	{
		if ( mFoundDefaultScope )
			return;					// ignore if we've already found this
			
		mFoundDefaultScope = true;
	}
	
	CFStringRef		scopeString = CFStringCreateWithCString( NULL, newNodeName, NSLGetSystemEncoding() );
	if ( scopeString )
	{
		GetParentPlugin()->AddNode( scopeString );
		CFRelease( scopeString );
	}
}
Exemplo n.º 3
0
	void SyncWidget::RestoreData ()
	{
		const auto& infos = XmlSettingsManager::Instance ().property ("Synchronization").value<QList<SyncerInfo>> ();
		for (const auto& info : infos)
		{
			auto isa = AM_->GetAccountFromUniqueID (info.AccountId_);
			if (!isa)
			{
				qWarning () << Q_FUNC_INFO
						<< "there is no account with ID"
						<< info.AccountId_;
				continue;
			}
			auto isp = qobject_cast<IStoragePlugin*> (isa->GetParentPlugin ());
			if (!isp)
				continue;

			QStandardItem *accItem = new QStandardItem;
			accItem->setData (isp->GetStorageName () + ": " + isa->GetAccountName (),
					Qt::EditRole);
			accItem->setData (info.AccountId_, SyncItemDelegate::AccountId);
			QStandardItem *localDirItem = new QStandardItem;
			localDirItem->setData (info.LocalDirectory_, Qt::EditRole);
			QStandardItem *remoteDirItem = new QStandardItem;
			remoteDirItem->setData (info.RemoteDirectory_, Qt::EditRole);
			Model_->appendRow ({ accItem, localDirItem, remoteDirItem });

			Ui_.SyncView_->openPersistentEditor (Model_->indexFromItem (accItem));
			Ui_.SyncView_->resizeColumnToContents (SyncItemDelegate::Account);
		}

		RemoveInvalidRows ();
		RemoveDuplicateRows ();

		emit directoriesToSyncUpdated (GetInfos ());
	}