Exemplo n.º 1
0
   oWalletContactEntry WalletDb::remove_contact( const string& label )
   { try {
       FC_ASSERT( is_open() ,"Wallet not open!");
       FC_ASSERT( !label.empty() );

       oWalletContactEntry entry = lookup_contact( label );
       if( entry.valid() )
           return remove_contact( entry->data );

       return entry;
   } FC_CAPTURE_AND_RETHROW( (label) ) }
Exemplo n.º 2
0
   owallet_contact_record wallet_db::remove_contact( const string& label )
   { try {
       FC_ASSERT( is_open() );
       FC_ASSERT( !label.empty() );

       owallet_contact_record record = lookup_contact( label );
       if( record.valid() )
           return remove_contact( record->data );

       return record;
   } FC_CAPTURE_AND_RETHROW( (label) ) }
Exemplo n.º 3
0
        void conversation_service::received_quit(const message::message& m)
        {
            INVARIANT(_user_service);
            REQUIRE_EQUAL(m.meta.type, QUIT_CONVERSATION);
            m::expect_symmetric(m);

            quit_conversation_msg q;
            q.from_message(m);

            auto c = _user_service->user().contacts().by_id(q.from_id);
            if(!c) return;

            auto s = conversation_by_id(q.conversation_id);
            if(!s) return;

            s->remove_contact(q.from_id);
            fire_contact_removed(q.conversation_id, q.from_id);
        }
Exemplo n.º 4
0
        void contact_list::update(const us::contact_list& contacts)
        {
            //add new contacts
            for(auto c : contacts.list())
            {
                CHECK(c);
                add_contact(c);
            }

            //remove ones not in list
            ids_to_remove ids;
            for(auto& p : _um)
            {
                auto c = contacts.by_id(p.first);
                if(c) continue;
                ids.push_back(p.first);
            }

            for(const auto& id : ids) remove_contact(id);

            ENSURE_GREATER_EQUAL(_contacts.size(), contacts.size());
            ENSURE_LESS_EQUAL(_contacts.size(), _um.size());
        }
Exemplo n.º 5
0
int main(int argc, char** argv)
{
	cvector_void contacts;
	char choice;
	int quit = 0;	
	cvec_void(&contacts, 0, 10, sizeof(contact), free_contact, NULL);
	saved = 1;

	print_menu();
	while (!quit) {
		
		puts("What action would you like to perform?");
		choice = read_char(stdin, SPACE_SET, 0, 1);

		switch (choice) {
		case 'A':
		case 'a':
			add_contact(&contacts);
			break;

		case 'D':
		case 'd':
			display_contacts(&contacts);
			break;

		case 'E':
		case 'e':
			edit_contacts(&contacts);
			break;

		case 'V':
		case 'v':
			save_contacts(&contacts);
			break;

		case 'L':
		case 'l':
			load_contacts(&contacts);
			break;

		case 'R':
		case 'r':
			remove_contact(&contacts);
			break;

		case 'S':
		case 's':
			sort_contacts(&contacts);
			break;

		case 'F':
		case 'f':
			find_contacts(&contacts, NULL, 1);
			break;

		case 'Q':
		case 'q':
			//TODO
			if (!saved) {
				puts("You have unsaved changes! Are you sure you want to quit? (y/N)");
				choice = read_char(stdin, SPACE_SET_NO_NEWLINE, 0, 1);
				if (choice == 'y' || choice == 'y')
					quit = 1;
				else
					quit = 0;
			} else {
				quit = 1;
			}
			break;

		case '?':
			print_menu();
			break;
		}
		putchar('\n');
	}

	cvec_free_void(&contacts);


	return 0;
}
Exemplo n.º 6
0
GestioneContatti::GestioneContatti(LinkedInClient* c, QWidget* parent):client(c){
    this->setStyleSheet("background:qlineargradient(x1:0 y1:0, x2:0 y2:1,stop:0  #3498db, stop:1 #2980b9);color:white;width:470px;max-height:350px;" );
    this->setGeometry(150,150,0,0);
    QVBoxLayout* layout=new QVBoxLayout;
    QLabel* gestione_contatti=new QLabel("Gestione contatti");
    gestione_contatti->setAlignment(Qt::AlignHCenter);
    gestione_contatti->setStyleSheet("font: 20pt \"FontAwesome\";background:transparent; font-weight:bold; margin-bottom:20px;margin-top:20px;" );
    QVBoxLayout* layoutsx=new QVBoxLayout;
    LEcerca=new QLineEdit;
    LEcerca->setStyleSheet("background:white;" "color:black;" );
    LEcerca->setPlaceholderText("Inserisci Username da cercare");
    QHBoxLayout* container=new QHBoxLayout;
    QVBoxLayout* layoutdx=new QVBoxLayout;
    container->setContentsMargins(5,0,0,5);
    output=new QTableWidget;
    output->setStyleSheet("background:white;color:black;" );
    output->setColumnCount(8);
    QHeaderView *HorzHdr=output->horizontalHeader();
    HorzHdr->setSectionResizeMode(QHeaderView::Stretch);
    QStringList  headerlabels;
    headerlabels<<"Username"<<"Nome"<<"Cognome"<<"Data di Nascita"<<"Luogo di Nascita"<<"Tipo di Utente"<<"Curriculum"<<"Rete";
    output->setHorizontalHeaderLabels(headerlabels);
    output->horizontalHeader()->setHighlightSections(false);
    output->verticalHeader()->setVisible(false);
    output->setEditTriggers( QAbstractItemView::NoEditTriggers );
    output->setSelectionBehavior(QAbstractItemView::SelectRows);
    QPushButton* cerca=new QPushButton("Cerca");
    cerca->setStyleSheet("background:#0082b6;max-height:25px;max-width:150px;");
    connect(cerca,SIGNAL(clicked()),this,SLOT(find()));
    QPushButton* aggiungi_contatto=new QPushButton("Aggiungi Contatto");
    connect(aggiungi_contatto,SIGNAL(clicked()),this,SLOT(add_contact()));
    aggiungi_contatto->setStyleSheet("background:#0082b6;max-height:25px;max-width:150px;");
    QPushButton* rimuovi_contatto=new QPushButton("Rimuovi Contatto");
    connect(rimuovi_contatto,SIGNAL(clicked()),this,SLOT(remove_contact()));
    rimuovi_contatto->setStyleSheet("background:#0082b6;max-height:25px;max-width:150px;");
    QPushButton* visualizza_contatti=new QPushButton("Visualizza Contatti");
    visualizza_contatti->setStyleSheet("background:#0082b6;max-height:25px;max-width:150px;");
    connect(visualizza_contatti,SIGNAL(clicked()),this,SLOT(visualizza_contacts()));
    QPushButton* savedb=new QPushButton("Save DB");
    savedb->setStyleSheet("background:#0082b6;max-height:25px;max-width:150px;");
    connect(savedb,SIGNAL(clicked()),this,SLOT(save_DB()));
    QPushButton* button_back=new QPushButton("Back");
    button_back->setStyleSheet("background:#0082b6;max-width:150px;");
    connect(button_back,SIGNAL(clicked()),this,SLOT(close()));
    connect(button_back,SIGNAL(clicked()),parent,SLOT(show()));

    layoutsx->addWidget(LEcerca);
    layoutsx->addWidget(output);
    layoutsx->setContentsMargins(5,0,0,0);
    layoutdx->addWidget(cerca);
    layoutdx->addWidget(aggiungi_contatto);
    layoutdx->addWidget(rimuovi_contatto);
    layoutdx->addWidget(visualizza_contatti);
    layoutdx->addWidget(savedb);
    layoutdx->addWidget(button_back,0,Qt::AlignTop);
    layoutdx->setContentsMargins(0,0,0,0);
    container->addLayout(layoutsx);
    container->addLayout(layoutdx);
    layout->addWidget(gestione_contatti);
    layout->addLayout(container);
    layout -> setMargin(0);
    layout -> setContentsMargins (0,0,0,0);
    layout->setSizeConstraint(QLayout::SetFixedSize);
    setLayout(layout);
}
Exemplo n.º 7
0
void contact_manager::remove_contact (const contact & c)
{
    remove_contact (c.name ());
}
void main(){
	ul *list = (ul *) malloc (sizeof(ul));
	make_user_list(list);
	printf("\n\n");
	printf("------------------------Seja bem-vindo---------------------------------- \n\n\n");
	int run = 1;
	int op;
	char name[50] ;
	char name1[50] ;
	user *u = NULL;

	while (run == 1){

		printf("Escolha sua opção: \n");
		printf("1 - Cadastrar novo usuário.\n");
		printf("2 - Remover um contato.\n");
		printf("3 - Criar amizade.\n"); 
		printf("4 - Desfazer amizade.\n"); 
		printf("5 - Imprimir dados de um usuário.\n");
		printf("6 - Imprimir dados de todos os usuários.\n");
		printf("7 - Sair.\n\n");
		printf("Opção: ");

		scanf ("%d", &op);


		switch (op){	
			case 1:
				printf("\n\n");
				u = make_user();
				add_user(list,u);
				free(u);
				u = NULL;
				break;
			case 2:
				printf("Informe o nome do usuário que quer remover: ");
				scanf("%s",&name);
				remove_user(list, name);
				break;
			case 3:
				printf("Informe o nome de uma das pessoas: ");
				scanf("%s",&name);
				printf("Informe o nome de uma outra pessoa: ");
				scanf("%s",&name1);
				add_contact(list, name, name1);
				break;
			case 4: 
				printf("Informe o nome de uma das pessoas: ");
				scanf("%s",&name);
				printf("Informe o nome de uma outra pessoa: ");
				scanf("%s",&name1);
				remove_contact(list, name, name1);
				break;
			case 5:
				printf("Informe o nome do usuário que quer imprimir os dados: ");
				scanf("%s",&name);
				print_info(list, name);
				break;
			case 6:
				print_list_user(list);
			case 7:
				run = 2;
				printf("\n\n\n");
				printf("Até logo.\n");
				// exit(0);
				break;
		}
	}
	exit(0);
}