void ContactView::ToDialog() { if (isAddingNewContact ()) { setValid(false); ui->firstname->setText(""); ui->lastname->setText(""); ui->khid_pubkey->setKeyhoteeID(""); ui->icon_view->setIcon( QIcon(":/images/user.png") ); ui->notes->setPlainText(""); ui->email->setText(""); ui->phone->setText(""); ui->khid_pubkey->setPublicKey(""); ui->privacy_comboBox->setCurrentIndex (0); ui->contact_pages->setCurrentIndex(info); } else { setValid(true); refreshDialog(_current_contact); bool is_owner = _current_contact.isOwn(); ui->keyhoteeID_status->setVisible(!_editing && is_owner); ui->authorization_status->setVisible(!_editing && !is_owner); ui->mining_effort->setVisible(is_owner); ui->mining_effort_slider->setVisible(is_owner); ui->mining_effort_slider->setDisabled(!_editing); ui->mining_effort_label->setVisible(is_owner); ui->mining_effort_label_2->setVisible(is_owner); } setEnabledSaveContact(); }
void ContactView::keyEdit(bool enable) { _editing = enable; ui->firstname->setEnabled(enable); ui->lastname->setEnabled(enable); setEnabledSaveContact (); if (isAddingNewContact ()) { //keyhoteeIds don't function when mining is not possible ui->id_edit->setEnabled(enable && gMiningIsPossible); ui->public_key->setReadOnly(!enable); send_mail->setVisible(false); chat_contact->setVisible(false); edit_contact->setVisible(false); share_contact->setVisible(false); request_contact->setVisible(false); separatorToolBar->setVisible(false); label_createContact->setVisible(true); } else { /// note: you cannot change the id of a contact once it has been /// set... you must create a new contact anytime their public key /// changes. ui->id_edit->setEnabled(false); ui->public_key->setReadOnly (true); send_mail->setVisible(true); chat_contact->setVisible(true); edit_contact->setVisible(true); share_contact->setVisible(true); request_contact->setVisible(true); separatorToolBar->setVisible(true); label_createContact->setVisible(false); } ui->privacy_comboBox->setEnabled(enable); ui->email->setEnabled(enable); ui->phone->setEnabled(enable); ui->notes->setEnabled(enable); ui->icon_view->setEnabled(enable); ui->id_status->setVisible(enable); ui->keyhotee_founder->setVisible(!enable && _current_contact.isKeyhoteeFounder()); cancel_edit_contact->setEnabled(enable); send_mail->setEnabled(!enable); chat_contact->setEnabled(!enable); edit_contact->setEnabled(!enable); share_contact->setEnabled(false); request_contact->setEnabled(false); ui->contact_pages->setTabEnabled(chat, !enable); if (enable) { ui->firstname->setFocus(); setModyfied(false); } }
void ContactView::contactEditable(bool enable) { _editing = enable; ui->firstname->setEnabled(enable); ui->lastname->setEnabled(enable); ui->khid_pubkey->setEditable(enable); setEnabledSaveContact (); if (isAddingNewContact ()) { send_mail->setVisible(false); chat_contact->setVisible(false); edit_contact->setVisible(false); share_contact->setVisible(false); request_contact->setVisible(false); separatorToolBar->setVisible(false); label_createContact->setVisible(true); } else { send_mail->setVisible(true); chat_contact->setVisible(true); edit_contact->setVisible(true); share_contact->setVisible(true); request_contact->setVisible(true); separatorToolBar->setVisible(true); label_createContact->setVisible(false); } ui->privacy_comboBox->setEnabled(enable); ui->email->setEnabled(enable); ui->phone->setEnabled(enable); ui->notes->setEnabled(enable); ui->icon_view->setEnabled(enable); ui->keyhotee_founder->setVisible(!enable && _current_contact.isKeyhoteeFounder()); bool is_owner = _current_contact.isOwn(); ui->keyhoteeID_status->setVisible(!enable && is_owner); ui->authorization_status->setVisible(!enable && !is_owner); ui->mining_effort_slider->setDisabled(!enable && is_owner); cancel_edit_contact->setEnabled(enable); send_mail->setEnabled(!enable); chat_contact->setEnabled(!enable); edit_contact->setEnabled(!enable); share_contact->setEnabled(!enable); request_contact->setEnabled(!enable && !is_owner); ui->contact_pages->setTabEnabled(chat, !enable); if (enable) { ui->firstname->setFocus(); setModified(false); } checkSendMailButton(); }
void ContactView::ToDialog() { if (isAddingNewContact ()) { setValid(false); ui->firstname->setText(""); ui->lastname->setText(""); ui->khid_pubkey->setKeyhoteeID(""); ui->icon_view->setIcon( QIcon(":/images/user.png") ); ui->notes->setPlainText(""); ui->email->setText(""); ui->phone->setText(""); ui->khid_pubkey->setPublicKey(""); ui->privacy_comboBox->setCurrentIndex (0); ui->contact_pages->setCurrentIndex(info); } else { setValid(true); /** TODO... restore this kind of check if( _current_contact.bit_id_public_key != _current_contact.public_key ) { ui->id_status->setText( tr( "Warning! Keyhotee ID %1 no longer matches known public key!" ).arg(_current_contact.bit_id) ); } */ ui->firstname->setText( _current_contact.first_name.c_str() ); ui->lastname->setText( _current_contact.last_name.c_str() ); //set public key from contact record initially std::string public_key_string = public_key_address( _current_contact.public_key ); ui->khid_pubkey->setPublicKey( public_key_string.c_str() ); //set keyhoteeID from contact record, this may override public key from contact record //if mining is enabled and ID is registered in blockchain ui->khid_pubkey->setKeyhoteeID(_current_contact.dac_id_string.c_str()); ui->icon_view->setIcon( _current_contact.getIcon() ); ui->notes->setPlainText( _current_contact.notes.c_str() ); //ui->email->setText( _current_contact.email_address ); //ui->phone->setText( _current_contact.phone_number ); //privacy_comboBox //DLNFIX TODO: add check to see if we are synced on blockchain. If not synched, // display "Keyhotee ledger not accessible" checkKeyhoteeIdStatus(); bool is_owner = _current_contact.isOwn(); ui->keyhoteeID_status->setVisible(!_editing && is_owner); ui->authorization_status->setVisible(!_editing && !is_owner); ui->mining_effort->setVisible(is_owner); ui->mining_effort_slider->setVisible(is_owner); ui->mining_effort_slider->setDisabled(!_editing); ui->mining_effort_label->setVisible(is_owner); ui->mining_effort_label_2->setVisible(is_owner); } setEnabledSaveContact(); }
void ContactView::onCancel() { setModified(false); ToDialog(); contactEditable(false); if (isAddingNewContact()) { emit canceledNewContact(); } else //editing contact { } }
void ContactView::onCancel() { setModyfied(false); doDataExchange (false); keyEdit(false); if (isAddingNewContact()) { emit canceledNewContact(); } else //editing contact { } }
bool ContactView::doDataExchange (bool valid) { if (! valid) { if (isAddingNewContact ()) { setValid(false); ui->firstname->setText(""); ui->lastname->setText(""); ui->id_edit->setText(""); ui->icon_view->setIcon( QIcon(":/images/user.png") ); ui->notes->setPlainText(""); ui->email->setText(""); ui->phone->setText(""); ui->public_key->setText (""); ui->privacy_comboBox->setCurrentIndex (0); ui->contact_pages->setCurrentIndex(info); if (gMiningIsPossible) ui->id_status->setText(tr("Please provide a valid ID or public key") ); else ui->id_status->setText(tr("Public Key Only Mode") ); } else { setValid(true); /** TODO... restore this kind of check if( _current_contact.bit_id_public_key != _current_contact.public_key ) { ui->id_status->setText( tr( "Warning! Keyhotee ID %1 no longer matches known public key!" ).arg(_current_contact.bit_id) ); } */ ui->firstname->setText( _current_contact.first_name.c_str() ); ui->lastname->setText( _current_contact.last_name.c_str() ); ui->id_edit->setText( _current_contact.dac_id_string.c_str() ); ui->icon_view->setIcon( _current_contact.getIcon() ); ui->notes->setPlainText( _current_contact.notes.c_str() ); //ui->email->setText( _current_contact.email_address ); //ui->phone->setText( _current_contact.phone_number ); //privacy_comboBox std::string public_key_string = public_key_address( _current_contact.public_key ); ui->public_key->setText( public_key_string.c_str() ); ui->keyhotee_founder->setVisible(!_editing && _current_contact.isKeyhoteeFounder()); //DLNFIX TODO: add check to see if we are synced on blockchain. If not synched, // display "Keyhotee ledger not accessible" bool is_owner = _current_contact.isOwn(); if(is_owner) { ui->mining_effort_slider->setValue( static_cast<int>(_current_contact.getMiningEffort())); //if registered keyhoteeId auto name_record = bts::application::instance()->lookup_name(_current_contact.dac_id_string); if (name_record) { // if keyhoteeId's public key matches ours. if (name_record->active_key == _current_contact.public_key) { //Registered to us ui->keyhoteeID_status->setStyleSheet("QLabel { background-color : green; color : black; }"); ui->keyhoteeID_status->setText(tr("Registered")); } else //Not Available (someone else owns it) { ui->keyhoteeID_status->setStyleSheet("QLabel { background-color : red; color : black; }"); ui->keyhoteeID_status->setText(tr("Not Available")); } } else //Unregistered (no one has it yet) { ui->keyhoteeID_status->setStyleSheet("QLabel { background-color : yellow; color : black; }"); ui->keyhoteeID_status->setText(tr("Unregistered")); } } ui->keyhoteeID_status->setVisible(!_editing && is_owner); ui->mining_effort->setVisible(is_owner); ui->mining_effort_slider->setVisible(is_owner); ui->mining_effort_slider->setDisabled(!_editing); ui->mining_effort_label->setVisible(is_owner); ui->mining_effort_label_2->setVisible(is_owner); ui->id_status->setText(QString()); } } else { _current_contact.first_name = ui->firstname->text().toUtf8().constData(); _current_contact.last_name = ui->lastname->text().toUtf8().constData(); _current_contact.dac_id_string = ui->id_edit->text().toUtf8().constData(); _current_contact.setIcon (ui->icon_view->icon()); _current_contact.notes = ui->notes->toPlainText().toUtf8().constData(); //_current_contact.email_address = ui->email->text().toStdString(); //_current_contact.phone_number = ui->phone->text().toStdString(); //privacy_comboBox } setEnabledSaveContact (); return true; }
bool ContactView::doDataExchange (bool valid) { if (! valid) { if (isAddingNewContact ()) { setValid(false); ui->firstname->setText(""); ui->lastname->setText(""); ui->id_edit->setText(""); ui->icon_view->setIcon( QIcon(":/images/user.png") ); ui->notes->setPlainText(""); ui->email->setText(""); ui->phone->setText(""); ui->public_key->setText (""); ui->privacy_comboBox->setCurrentIndex (0); ui->contact_pages->setCurrentIndex(info); if (gMiningIsPossible) ui->id_status->setText(tr("Please provide a valid ID or public key") ); else ui->id_status->setText(tr("Public Key Only Mode") ); } else { setValid(true); /** TODO... restore this kind of check if( _current_contact.bit_id_public_key != _current_contact.public_key ) { ui->id_status->setText( tr( "Warning! Keyhotee ID %1 no longer matches known public key!" ).arg(_current_contact.bit_id) ); } */ ui->firstname->setText( _current_contact.first_name.c_str() ); ui->lastname->setText( _current_contact.last_name.c_str() ); ui->id_edit->setText( _current_contact.dac_id_string.c_str() ); ui->icon_view->setIcon( _current_contact.getIcon() ); ui->notes->setPlainText( _current_contact.notes.c_str() ); //ui->email->setText( _current_contact.email_address ); //ui->phone->setText( _current_contact.phone_number ); //privacy_comboBox std::string public_key_string = public_key_address( _current_contact.public_key ); ui->public_key->setText( public_key_string.c_str() ); ui->keyhotee_founder->setVisible(!_editing && _current_contact.isKeyhoteeFounder()); ui->id_status->setText(QString()); } } else { _current_contact.first_name = ui->firstname->text().toUtf8().constData(); _current_contact.last_name = ui->lastname->text().toUtf8().constData(); _current_contact.dac_id_string = ui->id_edit->text().toUtf8().constData(); _current_contact.setIcon (ui->icon_view->icon()); _current_contact.notes = ui->notes->toPlainText().toUtf8().constData(); //_current_contact.email_address = ui->email->text().toStdString(); //_current_contact.phone_number = ui->phone->text().toStdString(); //privacy_comboBox } setEnabledSaveContact (); return true; }