mirror of
https://github.com/RetroShare/RetroShare.git
synced 2025-01-12 07:59:29 -05:00
added columns context menu entry, to hide optional some columns
git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@7923 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
parent
83f2ee4c95
commit
3b5644c474
@ -170,13 +170,20 @@ IdDialog::IdDialog(QWidget *parent) :
|
|||||||
headerText = headerItem->text(RSID_COL_KEYID);
|
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));
|
ui->filterLineEdit->addFilter(QIcon(), headerItem->text(RSID_COL_KEYID), RSID_COL_KEYID, QString("%1 %2").arg(tr("Search"), headerText));
|
||||||
|
|
||||||
/* Set header resize modes and initial section sizes ID TreeView*/
|
initializeHeader(true);
|
||||||
QHeaderView * _idheader = ui->treeWidget_IdList->header () ;
|
|
||||||
_idheader->resizeSection ( RSID_COL_NICKNAME, 170 );
|
|
||||||
|
|
||||||
/* Setup tree */
|
/* Setup tree */
|
||||||
ui->treeWidget_IdList->sortByColumn(RSID_COL_NICKNAME, Qt::AscendingOrder);
|
ui->treeWidget_IdList->sortByColumn(RSID_COL_NICKNAME, Qt::AscendingOrder);
|
||||||
ui->treeWidget_IdList->setContextMenuPolicy(Qt::CustomContextMenu) ;
|
ui->treeWidget_IdList->setContextMenuPolicy(Qt::CustomContextMenu) ;
|
||||||
|
|
||||||
|
/** Setup the actions for the header context menu */
|
||||||
|
hideIdAct= new QAction(headerItem->text(RSID_COL_KEYID),this);
|
||||||
|
hideIdAct->setCheckable(true); hideIdAct->setToolTip(tr("Show ")+hideIdAct->text()+tr(" Column"));
|
||||||
|
connect(hideIdAct,SIGNAL(triggered(bool)),this,SLOT(setHideIdColumn(bool))) ;
|
||||||
|
|
||||||
|
hideTypeAct= new QAction(headerItem->text(RSID_COL_IDTYPE),this);
|
||||||
|
hideTypeAct->setCheckable(true); hideTypeAct->setToolTip(tr("Show ")+hideTypeAct->text()+tr(" Column"));
|
||||||
|
connect(hideTypeAct,SIGNAL(triggered(bool)),this,SLOT(setHideIdTypeColumn(bool))) ;
|
||||||
|
|
||||||
mIdQueue = new TokenQueue(rsIdentity->getTokenService(), this);
|
mIdQueue = new TokenQueue(rsIdentity->getTokenService(), this);
|
||||||
|
|
||||||
@ -222,6 +229,18 @@ IdDialog::~IdDialog()
|
|||||||
delete(mIdQueue);
|
delete(mIdQueue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IdDialog::initializeHeader(bool )
|
||||||
|
{
|
||||||
|
/* Set header resize modes and initial section sizes ID TreeView*/
|
||||||
|
QHeaderView * _idheader = ui->treeWidget_IdList->header () ;
|
||||||
|
_idheader->resizeSection ( RSID_COL_NICKNAME, 170 );
|
||||||
|
_idheader->resizeSection ( RSID_COL_KEYID, 120 );
|
||||||
|
_idheader->resizeSection ( RSID_COL_IDTYPE, 170 );
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
void IdDialog::todo()
|
void IdDialog::todo()
|
||||||
{
|
{
|
||||||
QMessageBox::information(this, "Todo",
|
QMessageBox::information(this, "Todo",
|
||||||
@ -983,6 +1002,15 @@ void IdDialog::IdListCustomPopupMenu( QPoint )
|
|||||||
|
|
||||||
contextMnu.addAction(ui->editIdentity);
|
contextMnu.addAction(ui->editIdentity);
|
||||||
contextMnu.addAction(ui->removeIdentity);
|
contextMnu.addAction(ui->removeIdentity);
|
||||||
|
|
||||||
|
contextMnu.addSeparator();
|
||||||
|
|
||||||
|
hideIdAct->setChecked(!ui->treeWidget_IdList->isColumnHidden(RSID_COL_KEYID));
|
||||||
|
hideTypeAct->setChecked(!ui->treeWidget_IdList->isColumnHidden(RSID_COL_IDTYPE));
|
||||||
|
|
||||||
|
QMenu *menu = contextMnu.addMenu(tr("Columns"));
|
||||||
|
menu->addAction(hideIdAct);
|
||||||
|
menu->addAction(hideTypeAct);
|
||||||
|
|
||||||
contextMnu.exec(QCursor::pos());
|
contextMnu.exec(QCursor::pos());
|
||||||
}
|
}
|
||||||
@ -1032,3 +1060,34 @@ void IdDialog::sendMsg()
|
|||||||
/* window will destroy itself! */
|
/* window will destroy itself! */
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IdDialog::setHideIdColumn(bool show)
|
||||||
|
{
|
||||||
|
if (ui->treeWidget_IdList->isColumnHidden(RSID_COL_KEYID) == show) {
|
||||||
|
ui->treeWidget_IdList->setColumnHidden(RSID_COL_KEYID, !show);
|
||||||
|
}
|
||||||
|
ui->treeWidget_IdList->header()->setVisible(getNumColVisible()>1);
|
||||||
|
|
||||||
|
initializeHeader(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
void IdDialog::setHideIdTypeColumn(bool show)
|
||||||
|
{
|
||||||
|
if (ui->treeWidget_IdList->isColumnHidden(RSID_COL_IDTYPE) == show) {
|
||||||
|
ui->treeWidget_IdList->setColumnHidden(RSID_COL_IDTYPE, !show);
|
||||||
|
}
|
||||||
|
ui->treeWidget_IdList->header()->setVisible(getNumColVisible()>1);
|
||||||
|
|
||||||
|
initializeHeader(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
int IdDialog::getNumColVisible()
|
||||||
|
{
|
||||||
|
int iNumColVis=0;
|
||||||
|
for (int iColumn = 0; iColumn <RSID_COL_IDTYPE; ++iColumn) {
|
||||||
|
if (!ui->treeWidget_IdList->isColumnHidden(iColumn)) {
|
||||||
|
++iNumColVis;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return iNumColVis;
|
||||||
|
}
|
@ -74,6 +74,9 @@ private slots:
|
|||||||
|
|
||||||
/** Create the context popup menu and it's submenus */
|
/** Create the context popup menu and it's submenus */
|
||||||
void IdListCustomPopupMenu( QPoint point );
|
void IdListCustomPopupMenu( QPoint point );
|
||||||
|
|
||||||
|
void setHideIdColumn(bool hide);
|
||||||
|
void setHideIdTypeColumn(bool hide);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void processSettings(bool load);
|
void processSettings(bool load);
|
||||||
@ -92,14 +95,21 @@ private:
|
|||||||
|
|
||||||
void requestIdEdit(std::string &id);
|
void requestIdEdit(std::string &id);
|
||||||
void showIdEdit(uint32_t token);
|
void showIdEdit(uint32_t token);
|
||||||
|
|
||||||
|
void initializeHeader(bool);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
TokenQueue *mIdQueue;
|
TokenQueue *mIdQueue;
|
||||||
UIStateHelper *mStateHelper;
|
UIStateHelper *mStateHelper;
|
||||||
|
|
||||||
RsGxsGroupId mId;
|
RsGxsGroupId mId;
|
||||||
|
|
||||||
|
/** Defines the actions for the header context menu */
|
||||||
|
QAction* hideIdAct;
|
||||||
|
QAction* hideTypeAct;
|
||||||
|
int getNumColVisible();
|
||||||
|
|
||||||
/* UI - from Designer */
|
/* UI - Designer */
|
||||||
Ui::IdDialog *ui;
|
Ui::IdDialog *ui;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user