ServerGroupDialog::ServerGroupDialog(const QString& title, QWidget *parent) : KDialog(parent) { setCaption(title); setButtons(Ok|Cancel); m_id = -1; m_identitiesNeedsUpdate = false; m_editedServer = false; m_mainWidget = new Ui::ServerGroupDialogUI(); m_mainWidget->setupUi(mainWidget()); mainWidget()->layout()->setMargin(0); m_mainWidget->serverWidget->layout()->setMargin(0); m_mainWidget->channelWidget->layout()->setMargin(0); connect(m_mainWidget->m_editIdentityButton, SIGNAL(clicked()), this, SLOT(editIdentity())); IdentityList identities = Preferences::identityList(); for (IdentityList::ConstIterator it = identities.constBegin(); it != identities.constEnd(); ++it) m_mainWidget->m_identityCBox->addItem((*it)->getName()); m_mainWidget->m_removeServerButton->setIcon(KIcon("list-remove")); m_mainWidget->m_upServerBtn->setIcon(KIcon("arrow-up")); m_mainWidget->m_downServerBtn->setIcon(KIcon("arrow-down")); connect(m_mainWidget->m_addServerButton, SIGNAL(clicked()), this, SLOT(addServer())); connect(m_mainWidget->m_changeServerButton, SIGNAL(clicked()), this, SLOT(editServer())); connect(m_mainWidget->m_removeServerButton, SIGNAL(clicked()), this, SLOT(deleteServer())); connect(m_mainWidget->m_serverLBox, SIGNAL(itemSelectionChanged()), this, SLOT(updateServerArrows())); connect(m_mainWidget->m_upServerBtn, SIGNAL(clicked()), this, SLOT(moveServerUp())); connect(m_mainWidget->m_downServerBtn, SIGNAL(clicked()), this, SLOT(moveServerDown())); m_mainWidget->m_removeChannelButton->setIcon(KIcon("list-remove")); m_mainWidget->m_upChannelBtn->setIcon(KIcon("arrow-up")); m_mainWidget->m_downChannelBtn->setIcon(KIcon("arrow-down")); connect(m_mainWidget->m_addChannelButton, SIGNAL(clicked()), this, SLOT(addChannel())); connect(m_mainWidget->m_changeChannelButton, SIGNAL(clicked()), this, SLOT(editChannel())); connect(m_mainWidget->m_removeChannelButton, SIGNAL(clicked()), this, SLOT(deleteChannel())); connect(m_mainWidget->m_channelLBox, SIGNAL(itemSelectionChanged()), this, SLOT(updateChannelArrows())); connect(m_mainWidget->m_upChannelBtn, SIGNAL(clicked()), this, SLOT(moveChannelUp())); connect(m_mainWidget->m_downChannelBtn, SIGNAL(clicked()), this, SLOT(moveChannelDown())); setButtonGuiItem(Ok, KGuiItem(i18n("&OK"), "dialog-ok", i18n("Change network information"))); setButtonGuiItem(Cancel, KGuiItem(i18n("&Cancel"), "dialog-cancel", i18n("Discards all changes made"))); m_mainWidget->m_nameEdit->setFocus(); setInitialSize(QSize(320, 400)); }
/** Constructor */ IdDialog::IdDialog(QWidget *parent) : RsGxsUpdateBroadcastPage(rsIdentity, parent), ui(new Ui::IdDialog) { ui->setupUi(this); mIdQueue = NULL; /* Setup UI helper */ mStateHelper = new UIStateHelper(this); // mStateHelper->addWidget(IDDIALOG_IDLIST, ui->idTreeWidget); mStateHelper->addLoadPlaceholder(IDDIALOG_IDLIST, ui->idTreeWidget, false); mStateHelper->addClear(IDDIALOG_IDLIST, ui->idTreeWidget); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->lineEdit_Nickname); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->lineEdit_KeyId); // mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->lineEdit_GpgHash); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->lineEdit_GpgId); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->lineEdit_GpgName); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->lineEdit_Type); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->lineEdit_LastUsed); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->toolButton_Reputation); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->line_RatingOverall); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->line_RatingImplicit); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->line_RatingOwn); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->line_RatingPeers); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->repModButton); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->repMod_Accept); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->repMod_Ban); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->repMod_Negative); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->repMod_Positive); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->repMod_Custom); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui->repMod_spinBox); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui->lineEdit_Nickname); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui->lineEdit_GpgName); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui->lineEdit_KeyId); // mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui->lineEdit_GpgHash); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui->lineEdit_GpgId); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui->lineEdit_Type); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui->lineEdit_GpgName); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui->lineEdit_LastUsed); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui->line_RatingOverall); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui->line_RatingImplicit); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui->line_RatingOwn); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui->line_RatingPeers); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui->lineEdit_Nickname); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui->lineEdit_KeyId); // mStateHelper->addClear(IDDIALOG_IDDETAILS, ui->lineEdit_GpgHash); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui->lineEdit_GpgId); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui->lineEdit_Type); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui->lineEdit_GpgName); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui->lineEdit_LastUsed); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui->line_RatingOverall); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui->line_RatingImplicit); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui->line_RatingOwn); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui->line_RatingPeers); //mStateHelper->addWidget(IDDIALOG_REPLIST, ui->treeWidget_RepList); //mStateHelper->addLoadPlaceholder(IDDIALOG_REPLIST, ui->treeWidget_RepList); //mStateHelper->addClear(IDDIALOG_REPLIST, ui->treeWidget_RepList); /* Connect signals */ connect(ui->toolButton_NewId, SIGNAL(clicked()), this, SLOT(addIdentity())); connect(ui->todoPushButton, SIGNAL(clicked()), this, SLOT(todo())); connect(ui->removeIdentity, SIGNAL(triggered()), this, SLOT(removeIdentity())); connect(ui->editIdentity, SIGNAL(triggered()), this, SLOT(editIdentity())); connect(ui->chatIdentity, SIGNAL(triggered()), this, SLOT(chatIdentity())); connect(ui->idTreeWidget, SIGNAL(itemSelectionChanged()), this, SLOT(updateSelection())); connect(ui->idTreeWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(IdListCustomPopupMenu(QPoint))); connect(ui->filterComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(filterComboBoxChanged())); connect(ui->filterLineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterChanged(QString))); connect(ui->repModButton, SIGNAL(clicked()), this, SLOT(modifyReputation())); connect(ui->messageButton, SIGNAL(clicked()), this, SLOT(sendMsg())); ui->avlabel->setPixmap(QPixmap(":/images/user/friends64.png")); ui->headerTextLabel->setText(tr("People")); /* Initialize splitter */ ui->splitter->setStretchFactor(0, 1); ui->splitter->setStretchFactor(1, 0); QList<int> sizes; sizes << width() << 500; // Qt calculates the right sizes ui->splitter->setSizes(sizes); /* Add filter types */ ui->filterComboBox->addItem(tr("All"), RSID_FILTER_ALL); ui->filterComboBox->addItem(tr("Owned by you"), RSID_FILTER_OWNED_BY_YOU); ui->filterComboBox->addItem(tr("Linked to your node"), RSID_FILTER_YOURSELF); ui->filterComboBox->addItem(tr("Linked to neighbor nodes"), RSID_FILTER_FRIENDS); ui->filterComboBox->addItem(tr("Linked to distant nodes"), RSID_FILTER_OTHERS); ui->filterComboBox->addItem(tr("Anonymous"), RSID_FILTER_PSEUDONYMS); ui->filterComboBox->setCurrentIndex(0); /* Add filter actions */ QTreeWidgetItem *headerItem = ui->idTreeWidget->headerItem(); QString headerText = headerItem->text(RSID_COL_NICKNAME); ui->filterLineEdit->addFilter(QIcon(), headerText, RSID_COL_NICKNAME, QString("%1 %2").arg(tr("Search"), headerText)); headerText = headerItem->text(RSID_COL_KEYID); ui->filterLineEdit->addFilter(QIcon(), headerItem->text(RSID_COL_KEYID), RSID_COL_KEYID, QString("%1 %2").arg(tr("Search"), headerText)); /* Setup tree */ ui->idTreeWidget->sortByColumn(RSID_COL_NICKNAME, Qt::AscendingOrder); ui->idTreeWidget->enableColumnCustomize(true); ui->idTreeWidget->setColumnCustomizable(RSID_COL_NICKNAME, false); /* Set initial column width */ int fontWidth = QFontMetricsF(ui->idTreeWidget->font()).width("W"); ui->idTreeWidget->setColumnWidth(RSID_COL_NICKNAME, 18 * fontWidth); ui->idTreeWidget->setColumnWidth(RSID_COL_KEYID, 25 * fontWidth); ui->idTreeWidget->setColumnWidth(RSID_COL_IDTYPE, 18 * fontWidth); mIdQueue = new TokenQueue(rsIdentity->getTokenService(), this); mStateHelper->setActive(IDDIALOG_IDDETAILS, false); mStateHelper->setActive(IDDIALOG_REPLIST, false); // Hiding RepList until that part is finished. //ui->treeWidget_RepList->setVisible(false); ui->toolButton_Reputation->setVisible(false); #ifndef UNFINISHED ui->todoPushButton->hide() ; #endif QString hlp_str = tr( " <h1><img width=\"32\" src=\":/icons/help_64.png\"> Identities</h1> \ <p>In this tab you can create/edit pseudo-anonymous identities. \ </p> \ <p>Identities are used to securely identify your data: sign forum and channel posts,\ and receive feedback using Retroshare built-in email system, post comments \ after channel posts, etc.</p> \ <p> \ Identities can optionally be signed by your Retroshare node's certificate. \ Signed identities are easier to trust but are easily linked to your node's IP address. \ </p> \ <p> \ Anonymous identities allow you to anonymously interact with other users. They cannot be \ spoofed, but noone can prove who really owns a given identity. \ </p> \ ") ; registerHelpButton(ui->helpButton, hlp_str) ; // load settings processSettings(true); // hide reputation sice it's currently unused ui->reputationGroupBox->hide(); ui->tweakGroupBox->hide(); }
/** Constructor */ IdDialog::IdDialog(QWidget *parent) : RsGxsUpdateBroadcastPage(rsIdentity, parent) { ui.setupUi(this); mIdQueue = NULL; /* Setup UI helper */ mStateHelper = new UIStateHelper(this); mStateHelper->addWidget(IDDIALOG_IDLIST, ui.treeWidget_IdList); mStateHelper->addLoadPlaceholder(IDDIALOG_IDLIST, ui.treeWidget_IdList, false); mStateHelper->addClear(IDDIALOG_IDLIST, ui.treeWidget_IdList); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui.lineEdit_Nickname); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui.lineEdit_KeyId); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui.lineEdit_GpgHash); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui.lineEdit_GpgId); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui.lineEdit_GpgName); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui.toolButton_Reputation); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui.toolButton_Delete); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui.toolButton_EditId); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui.line_RatingOverall); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui.line_RatingImplicit); mStateHelper->addWidget(IDDIALOG_IDDETAILS, ui.line_RatingOwn); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui.lineEdit_Nickname); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui.lineEdit_GpgName); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui.lineEdit_KeyId); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui.lineEdit_GpgHash); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui.lineEdit_GpgId); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui.lineEdit_GpgName); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui.line_RatingOverall); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui.line_RatingImplicit); mStateHelper->addLoadPlaceholder(IDDIALOG_IDDETAILS, ui.line_RatingOwn); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui.lineEdit_Nickname); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui.lineEdit_GpgName); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui.lineEdit_KeyId); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui.lineEdit_GpgHash); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui.lineEdit_GpgId); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui.lineEdit_GpgName); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui.line_RatingOverall); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui.line_RatingImplicit); mStateHelper->addClear(IDDIALOG_IDDETAILS, ui.line_RatingOwn); mStateHelper->addWidget(IDDIALOG_REPLIST, ui.treeWidget_RepList); mStateHelper->addLoadPlaceholder(IDDIALOG_REPLIST, ui.treeWidget_RepList); mStateHelper->addClear(IDDIALOG_REPLIST, ui.treeWidget_RepList); /* Connect signals */ connect(ui.toolButton_NewId, SIGNAL(clicked()), this, SLOT(addIdentity())); connect(ui.todoPushButton, SIGNAL(clicked()), this, SLOT(todo())); connect(ui.toolButton_EditId, SIGNAL(clicked()), this, SLOT(editIdentity())); connect( ui.treeWidget_IdList, SIGNAL(itemSelectionChanged()), this, SLOT(updateSelection())); connect(ui.filterComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(filterComboBoxChanged())); connect(ui.filterLineEdit, SIGNAL(textChanged(QString)), this, SLOT(filterChanged(QString))); /* Add filter types */ ui.filterComboBox->addItem(tr("All"), RSID_FILTER_ALL); ui.filterComboBox->addItem(tr("Yourself"), RSID_FILTER_YOURSELF); ui.filterComboBox->addItem(tr("Friends / Friends of Friends"), RSID_FILTER_FRIENDS); ui.filterComboBox->addItem(tr("Others"), RSID_FILTER_OTHERS); ui.filterComboBox->addItem(tr("Pseudonyms"), RSID_FILTER_PSEUDONYMS); ui.filterComboBox->setCurrentIndex(0); /* Add filter actions */ QTreeWidgetItem *headerItem = ui.treeWidget_IdList->headerItem(); QString headerText = headerItem->text(RSID_COL_NICKNAME); ui.filterLineEdit->addFilter(QIcon(), headerText, RSID_COL_NICKNAME, QString("%1 %2").arg(tr("Search"), headerText)); headerText = headerItem->text(RSID_COL_KEYID); ui.filterLineEdit->addFilter(QIcon(), headerItem->text(RSID_COL_KEYID), RSID_COL_KEYID, QString("%1 %2").arg(tr("Search"), headerText)); /* Setup tree */ ui.treeWidget_IdList->sortByColumn(RSID_COL_NICKNAME, Qt::AscendingOrder); mIdQueue = new TokenQueue(rsIdentity->getTokenService(), this); mStateHelper->setActive(IDDIALOG_IDDETAILS, false); mStateHelper->setActive(IDDIALOG_REPLIST, false); }