mirror of
https://github.com/RetroShare/RetroShare.git
synced 2024-12-24 23:19:29 -05:00
Merge pull request #2536 from PhenomRetroShare/Fix_RSElidedItemDelegateUseSpacing
Fix RSElidedItemDelegate to use spacing in size hint.
This commit is contained in:
commit
478fc5e8f9
@ -59,6 +59,10 @@
|
|||||||
#define COLUMN_COUNT 3
|
#define COLUMN_COUNT 3
|
||||||
#define COLUMN_DATA 0
|
#define COLUMN_DATA 0
|
||||||
|
|
||||||
|
#define COLUMN_NAME_NB_CHAR 30
|
||||||
|
#define COLUMN_USER_COUNT_NB_CHAR 4
|
||||||
|
#define COLUMN_TOPIC_NB_CHAR 25
|
||||||
|
|
||||||
#define ROLE_SORT Qt::UserRole
|
#define ROLE_SORT Qt::UserRole
|
||||||
#define ROLE_ID Qt::UserRole + 1
|
#define ROLE_ID Qt::UserRole + 1
|
||||||
#define ROLE_SUBSCRIBED Qt::UserRole + 2
|
#define ROLE_SUBSCRIBED Qt::UserRole + 2
|
||||||
@ -88,6 +92,13 @@ ChatLobbyWidget::ChatLobbyWidget(QWidget *parent, Qt::WindowFlags flags)
|
|||||||
{
|
{
|
||||||
ui.setupUi(this);
|
ui.setupUi(this);
|
||||||
|
|
||||||
|
int H = QFontMetricsF(ui.lobbyTreeWidget->font()).height();
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(5,11,0)
|
||||||
|
int W = QFontMetricsF(ui.lobbyTreeWidget->font()).width("_");
|
||||||
|
#else
|
||||||
|
int W = QFontMetricsF(ui.lobbyTreeWidget->font()).horizontalAdvance("_");
|
||||||
|
#endif
|
||||||
|
|
||||||
m_bProcessSettings = false;
|
m_bProcessSettings = false;
|
||||||
myChatLobbyUserNotify = NULL;
|
myChatLobbyUserNotify = NULL;
|
||||||
myInviteYesButton = NULL;
|
myInviteYesButton = NULL;
|
||||||
@ -108,6 +119,10 @@ ChatLobbyWidget::ChatLobbyWidget(QWidget *parent, Qt::WindowFlags flags)
|
|||||||
compareRole = new RSTreeWidgetItemCompareRole;
|
compareRole = new RSTreeWidgetItemCompareRole;
|
||||||
compareRole->setRole(COLUMN_NAME, ROLE_SORT);
|
compareRole->setRole(COLUMN_NAME, ROLE_SORT);
|
||||||
|
|
||||||
|
RSElidedItemDelegate *itemDelegate = new RSElidedItemDelegate(this);
|
||||||
|
itemDelegate->setSpacing(QSize(W/2, H/4));
|
||||||
|
ui.lobbyTreeWidget->setItemDelegate(itemDelegate);
|
||||||
|
|
||||||
ui.lobbyTreeWidget->setColumnCount(COLUMN_COUNT);
|
ui.lobbyTreeWidget->setColumnCount(COLUMN_COUNT);
|
||||||
ui.lobbyTreeWidget->sortItems(COLUMN_NAME, Qt::AscendingOrder);
|
ui.lobbyTreeWidget->sortItems(COLUMN_NAME, Qt::AscendingOrder);
|
||||||
|
|
||||||
@ -159,14 +174,11 @@ ChatLobbyWidget::ChatLobbyWidget(QWidget *parent, Qt::WindowFlags flags)
|
|||||||
ui.lobbyTreeWidget->setColumnHidden(COLUMN_USER_COUNT,true) ;
|
ui.lobbyTreeWidget->setColumnHidden(COLUMN_USER_COUNT,true) ;
|
||||||
ui.lobbyTreeWidget->setColumnHidden(COLUMN_TOPIC,true) ;
|
ui.lobbyTreeWidget->setColumnHidden(COLUMN_TOPIC,true) ;
|
||||||
ui.lobbyTreeWidget->setSortingEnabled(true) ;
|
ui.lobbyTreeWidget->setSortingEnabled(true) ;
|
||||||
ui.lobbyTreeWidget->setItemDelegateForColumn(COLUMN_NAME, new RSElidedItemDelegate());
|
|
||||||
|
|
||||||
float fact = QFontMetricsF(font()).height()/14.0f;
|
|
||||||
|
|
||||||
ui.lobbyTreeWidget->adjustSize();
|
ui.lobbyTreeWidget->adjustSize();
|
||||||
ui.lobbyTreeWidget->setColumnWidth(COLUMN_NAME,100*fact);
|
ui.lobbyTreeWidget->setColumnWidth(COLUMN_NAME,COLUMN_NAME_NB_CHAR*W);
|
||||||
ui.lobbyTreeWidget->setColumnWidth(COLUMN_USER_COUNT, 50*fact);
|
ui.lobbyTreeWidget->setColumnWidth(COLUMN_USER_COUNT, COLUMN_USER_COUNT_NB_CHAR*W);
|
||||||
ui.lobbyTreeWidget->setColumnWidth(COLUMN_TOPIC, 50*fact);
|
ui.lobbyTreeWidget->setColumnWidth(COLUMN_TOPIC, COLUMN_TOPIC_NB_CHAR*W);
|
||||||
|
|
||||||
/** Setup the actions for the header context menu */
|
/** Setup the actions for the header context menu */
|
||||||
showUserCountAct= new QAction(headerItem->text(COLUMN_USER_COUNT),this);
|
showUserCountAct= new QAction(headerItem->text(COLUMN_USER_COUNT),this);
|
||||||
@ -181,7 +193,7 @@ ChatLobbyWidget::ChatLobbyWidget(QWidget *parent, Qt::WindowFlags flags)
|
|||||||
ui.splitter->setStretchFactor(1, 1);
|
ui.splitter->setStretchFactor(1, 1);
|
||||||
|
|
||||||
QList<int> sizes;
|
QList<int> sizes;
|
||||||
sizes << 200*fact << width(); // Qt calculates the right sizes
|
sizes << ui.lobbyTreeWidget->columnWidth(COLUMN_NAME) << width(); // Qt calculates the right sizes
|
||||||
ui.splitter->setSizes(sizes);
|
ui.splitter->setSizes(sizes);
|
||||||
|
|
||||||
lobbyChanged();
|
lobbyChanged();
|
||||||
@ -194,7 +206,6 @@ ChatLobbyWidget::ChatLobbyWidget(QWidget *parent, Qt::WindowFlags flags)
|
|||||||
// load settings
|
// load settings
|
||||||
processSettings(true);
|
processSettings(true);
|
||||||
|
|
||||||
int S = QFontMetricsF(font()).height();
|
|
||||||
QString help_str = tr("\
|
QString help_str = tr("\
|
||||||
<h1><img width=\"%1\" src=\":/icons/help_64.png\"> Chat Rooms</h1> \
|
<h1><img width=\"%1\" src=\":/icons/help_64.png\"> Chat Rooms</h1> \
|
||||||
<p>Chat rooms work pretty much like IRC. \
|
<p>Chat rooms work pretty much like IRC. \
|
||||||
@ -212,11 +223,11 @@ ChatLobbyWidget::ChatLobbyWidget(QWidget *parent, Qt::WindowFlags flags)
|
|||||||
Note: For the chat rooms to work properly, your computer needs be on time. So check your system clock!\
|
Note: For the chat rooms to work properly, your computer needs be on time. So check your system clock!\
|
||||||
</p> \
|
</p> \
|
||||||
"
|
"
|
||||||
).arg(QString::number(2*S), QString::number(S)) ;
|
).arg(QString::number(4*W), QString::number(2*W)) ;
|
||||||
|
|
||||||
registerHelpButton(ui.helpButton,help_str,"ChatLobbyDialog") ;
|
registerHelpButton(ui.helpButton,help_str,"ChatLobbyDialog") ;
|
||||||
|
|
||||||
ui.lobbyTreeWidget->setIconSize(QSize(S*1.5,S*1.5));
|
ui.lobbyTreeWidget->setIconSize(QSize(H*1.5,H*1.5));
|
||||||
}
|
}
|
||||||
|
|
||||||
ChatLobbyWidget::~ChatLobbyWidget()
|
ChatLobbyWidget::~ChatLobbyWidget()
|
||||||
@ -232,7 +243,7 @@ ChatLobbyWidget::~ChatLobbyWidget()
|
|||||||
UserNotify *ChatLobbyWidget::createUserNotify(QObject *parent)
|
UserNotify *ChatLobbyWidget::createUserNotify(QObject *parent)
|
||||||
{
|
{
|
||||||
myChatLobbyUserNotify = new ChatLobbyUserNotify(parent);
|
myChatLobbyUserNotify = new ChatLobbyUserNotify(parent);
|
||||||
connect(myChatLobbyUserNotify, SIGNAL(countChanged(ChatLobbyId, uint)), this, SLOT(updateNotify(ChatLobbyId, uint)));
|
connect(myChatLobbyUserNotify, SIGNAL(countChanged(ChatLobbyId,uint)), this, SLOT(updateNotify(ChatLobbyId,uint)));
|
||||||
|
|
||||||
return myChatLobbyUserNotify;
|
return myChatLobbyUserNotify;
|
||||||
}
|
}
|
||||||
|
@ -102,7 +102,7 @@
|
|||||||
<enum>Qt::NoFocus</enum>
|
<enum>Qt::NoFocus</enum>
|
||||||
</property>
|
</property>
|
||||||
<property name="icon">
|
<property name="icon">
|
||||||
<iconset resource="images.qrc">
|
<iconset resource="icons.qrc">
|
||||||
<normaloff>:/icons/help_64.png</normaloff>:/icons/help_64.png</iconset>
|
<normaloff>:/icons/help_64.png</normaloff>:/icons/help_64.png</iconset>
|
||||||
</property>
|
</property>
|
||||||
<property name="checkable">
|
<property name="checkable">
|
||||||
@ -191,6 +191,11 @@
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="RSTreeWidget" name="lobbyTreeWidget">
|
<widget class="RSTreeWidget" name="lobbyTreeWidget">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>11</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
<property name="iconSize">
|
<property name="iconSize">
|
||||||
<size>
|
<size>
|
||||||
<width>16</width>
|
<width>16</width>
|
||||||
@ -459,7 +464,7 @@
|
|||||||
<customwidget>
|
<customwidget>
|
||||||
<class>LineEditClear</class>
|
<class>LineEditClear</class>
|
||||||
<extends>QLineEdit</extends>
|
<extends>QLineEdit</extends>
|
||||||
<header>gui/common/LineEditClear.h</header>
|
<header location="global">gui/common/LineEditClear.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>RSTreeWidget</class>
|
<class>RSTreeWidget</class>
|
||||||
@ -468,7 +473,6 @@
|
|||||||
</customwidget>
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="images.qrc"/>
|
|
||||||
<include location="icons.qrc"/>
|
<include location="icons.qrc"/>
|
||||||
</resources>
|
</resources>
|
||||||
<connections/>
|
<connections/>
|
||||||
|
@ -169,15 +169,18 @@ IdDialog::IdDialog(QWidget *parent)
|
|||||||
//connect(mCirclesBroadcastBase, SIGNAL(fillDisplay(bool)), this, SLOT(updateCirclesDisplay(bool)));
|
//connect(mCirclesBroadcastBase, SIGNAL(fillDisplay(bool)), this, SLOT(updateCirclesDisplay(bool)));
|
||||||
|
|
||||||
ownItem = new QTreeWidgetItem();
|
ownItem = new QTreeWidgetItem();
|
||||||
ownItem->setText(0, tr("My own identities"));
|
ownItem->setText(RSID_COL_NICKNAME, tr("My own identities"));
|
||||||
|
ownItem->setFont(RSID_COL_NICKNAME, ui->idTreeWidget->font());
|
||||||
ownItem->setData(RSID_COL_VOTES, Qt::DecorationRole,0xff); // this is in order to prevent displaying a reputaiton icon next to these items.
|
ownItem->setData(RSID_COL_VOTES, Qt::DecorationRole,0xff); // this is in order to prevent displaying a reputaiton icon next to these items.
|
||||||
|
|
||||||
allItem = new QTreeWidgetItem();
|
allItem = new QTreeWidgetItem();
|
||||||
allItem->setText(0, tr("All"));
|
allItem->setText(RSID_COL_NICKNAME, tr("All"));
|
||||||
|
allItem->setFont(RSID_COL_NICKNAME, ui->idTreeWidget->font());
|
||||||
allItem->setData(RSID_COL_VOTES, Qt::DecorationRole,0xff);
|
allItem->setData(RSID_COL_VOTES, Qt::DecorationRole,0xff);
|
||||||
|
|
||||||
contactsItem = new QTreeWidgetItem();
|
contactsItem = new QTreeWidgetItem();
|
||||||
contactsItem->setText(0, tr("My contacts"));
|
contactsItem->setText(RSID_COL_NICKNAME, tr("My contacts"));
|
||||||
|
contactsItem->setFont(RSID_COL_NICKNAME, ui->idTreeWidget->font());
|
||||||
contactsItem->setData(RSID_COL_VOTES, Qt::DecorationRole,0xff);
|
contactsItem->setData(RSID_COL_VOTES, Qt::DecorationRole,0xff);
|
||||||
|
|
||||||
|
|
||||||
@ -366,6 +369,7 @@ IdDialog::IdDialog(QWidget *parent)
|
|||||||
ui->idTreeWidget->setColumnWidth(RSID_COL_IDTYPE, 18 * fontWidth);
|
ui->idTreeWidget->setColumnWidth(RSID_COL_IDTYPE, 18 * fontWidth);
|
||||||
ui->idTreeWidget->setColumnWidth(RSID_COL_VOTES, 2 * fontWidth);
|
ui->idTreeWidget->setColumnWidth(RSID_COL_VOTES, 2 * fontWidth);
|
||||||
|
|
||||||
|
ui->idTreeWidget->setItemDelegate(new RSElidedItemDelegate());
|
||||||
ui->idTreeWidget->setItemDelegateForColumn(
|
ui->idTreeWidget->setItemDelegateForColumn(
|
||||||
RSID_COL_NICKNAME,
|
RSID_COL_NICKNAME,
|
||||||
new GxsIdTreeItemDelegate());
|
new GxsIdTreeItemDelegate());
|
||||||
@ -648,15 +652,16 @@ void IdDialog::loadCircles(const std::list<RsGroupMetaData>& groupInfo)
|
|||||||
if(!mExternalOtherCircleItem)
|
if(!mExternalOtherCircleItem)
|
||||||
{
|
{
|
||||||
mExternalOtherCircleItem = new QTreeWidgetItem();
|
mExternalOtherCircleItem = new QTreeWidgetItem();
|
||||||
mExternalOtherCircleItem->setText(0, tr("Other circles"));
|
mExternalOtherCircleItem->setText(CIRCLEGROUP_CIRCLE_COL_GROUPNAME, tr("Other circles"));
|
||||||
|
mExternalOtherCircleItem->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPNAME, ui->treeWidget_membership->font());
|
||||||
ui->treeWidget_membership->addTopLevelItem(mExternalOtherCircleItem);
|
ui->treeWidget_membership->addTopLevelItem(mExternalOtherCircleItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!mExternalBelongingCircleItem )
|
if(!mExternalBelongingCircleItem )
|
||||||
{
|
{
|
||||||
mExternalBelongingCircleItem = new QTreeWidgetItem();
|
mExternalBelongingCircleItem = new QTreeWidgetItem();
|
||||||
mExternalBelongingCircleItem->setText(0, tr("Circles I belong to"));
|
mExternalBelongingCircleItem->setText(CIRCLEGROUP_CIRCLE_COL_GROUPNAME, tr("Circles I belong to"));
|
||||||
|
mExternalBelongingCircleItem->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPNAME, ui->treeWidget_membership->font());
|
||||||
ui->treeWidget_membership->addTopLevelItem(mExternalBelongingCircleItem);
|
ui->treeWidget_membership->addTopLevelItem(mExternalBelongingCircleItem);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
@ -732,14 +737,11 @@ void IdDialog::loadCircles(const std::list<RsGroupMetaData>& groupInfo)
|
|||||||
|
|
||||||
item->setToolTip(CIRCLEGROUP_CIRCLE_COL_GROUPNAME,tooltip);
|
item->setToolTip(CIRCLEGROUP_CIRCLE_COL_GROUPNAME,tooltip);
|
||||||
|
|
||||||
if (am_I_admin)
|
QFont font = ui->treeWidget_membership->font() ;
|
||||||
{
|
font.setBold(am_I_admin) ;
|
||||||
QFont font = item->font(CIRCLEGROUP_CIRCLE_COL_GROUPNAME) ;
|
|
||||||
font.setBold(true) ;
|
|
||||||
item->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPNAME,font) ;
|
item->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPNAME,font) ;
|
||||||
item->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPID,font) ;
|
item->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPID,font) ;
|
||||||
item->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPFLAGS,font) ;
|
item->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPFLAGS,font) ;
|
||||||
}
|
|
||||||
|
|
||||||
// now determine for this circle wether we have pending invites
|
// now determine for this circle wether we have pending invites
|
||||||
// we add a sub-item to the circle (to show the invite system info) in the following two cases:
|
// we add a sub-item to the circle (to show the invite system info) in the following two cases:
|
||||||
@ -854,8 +856,6 @@ void IdDialog::loadCircles(const std::list<RsGroupMetaData>& groupInfo)
|
|||||||
subitem->setData(CIRCLEGROUP_CIRCLE_COL_GROUPFLAGS, Qt::UserRole, QVariant(it->second)) ;
|
subitem->setData(CIRCLEGROUP_CIRCLE_COL_GROUPFLAGS, Qt::UserRole, QVariant(it->second)) ;
|
||||||
subitem->setData(CIRCLEGROUP_CIRCLE_COL_GROUPID, Qt::UserRole, QString::fromStdString(it->first.toStdString())) ;
|
subitem->setData(CIRCLEGROUP_CIRCLE_COL_GROUPID, Qt::UserRole, QString::fromStdString(it->first.toStdString())) ;
|
||||||
|
|
||||||
//subitem->setIcon(RSID_COL_NICKNAME, QIcon(pixmap));
|
|
||||||
|
|
||||||
new_sub_items.push_back(subitem);
|
new_sub_items.push_back(subitem);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -878,15 +878,12 @@ void IdDialog::loadCircles(const std::list<RsGroupMetaData>& groupInfo)
|
|||||||
if(invited && subscrb)
|
if(invited && subscrb)
|
||||||
subitem->setText(CIRCLEGROUP_CIRCLE_COL_GROUPID, tr("Member")) ;
|
subitem->setText(CIRCLEGROUP_CIRCLE_COL_GROUPID, tr("Member")) ;
|
||||||
|
|
||||||
if (is_own_id)
|
QFont font = ui->treeWidget_membership->font() ;
|
||||||
{
|
font.setBold(is_own_id) ;
|
||||||
QFont font = subitem->font(CIRCLEGROUP_CIRCLE_COL_GROUPNAME) ;
|
|
||||||
font.setBold(true) ;
|
|
||||||
subitem->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPNAME,font) ;
|
subitem->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPNAME,font) ;
|
||||||
subitem->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPID,font) ;
|
subitem->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPID,font) ;
|
||||||
subitem->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPFLAGS,font) ;
|
subitem->setFont(CIRCLEGROUP_CIRCLE_COL_GROUPFLAGS,font) ;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// add all items
|
// add all items
|
||||||
item->addChildren(new_sub_items);
|
item->addChildren(new_sub_items);
|
||||||
@ -1389,73 +1386,42 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item,
|
|||||||
uint32_t item_flags = 0;
|
uint32_t item_flags = 0;
|
||||||
|
|
||||||
/* do filtering */
|
/* do filtering */
|
||||||
bool ok = false;
|
|
||||||
if (data.mMeta.mGroupFlags & RSGXSID_GROUPFLAG_REALID_kept_for_compatibility)
|
if (data.mMeta.mGroupFlags & RSGXSID_GROUPFLAG_REALID_kept_for_compatibility)
|
||||||
{
|
{
|
||||||
if (isLinkedToOwnNode && (accept & RSID_FILTER_YOURSELF))
|
if (isLinkedToOwnNode && (accept & RSID_FILTER_YOURSELF))
|
||||||
{
|
|
||||||
ok = true;
|
|
||||||
item_flags |= RSID_FILTER_YOURSELF ;
|
item_flags |= RSID_FILTER_YOURSELF ;
|
||||||
}
|
|
||||||
|
|
||||||
if (data.mPgpKnown && (accept & RSID_FILTER_FRIENDS))
|
if (data.mPgpKnown && (accept & RSID_FILTER_FRIENDS))
|
||||||
{
|
|
||||||
ok = true;
|
|
||||||
item_flags |= RSID_FILTER_FRIENDS ;
|
item_flags |= RSID_FILTER_FRIENDS ;
|
||||||
}
|
|
||||||
|
|
||||||
if (accept & RSID_FILTER_OTHERS)
|
if (accept & RSID_FILTER_OTHERS)
|
||||||
{
|
|
||||||
ok = true;
|
|
||||||
item_flags |= RSID_FILTER_OTHERS ;
|
item_flags |= RSID_FILTER_OTHERS ;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else if (accept & RSID_FILTER_PSEUDONYMS)
|
else if (accept & RSID_FILTER_PSEUDONYMS)
|
||||||
{
|
|
||||||
ok = true;
|
|
||||||
item_flags |= RSID_FILTER_PSEUDONYMS ;
|
item_flags |= RSID_FILTER_PSEUDONYMS ;
|
||||||
}
|
|
||||||
|
|
||||||
if (isOwnId && (accept & RSID_FILTER_OWNED_BY_YOU))
|
if (isOwnId && (accept & RSID_FILTER_OWNED_BY_YOU))
|
||||||
{
|
|
||||||
ok = true;
|
|
||||||
item_flags |= RSID_FILTER_OWNED_BY_YOU ;
|
item_flags |= RSID_FILTER_OWNED_BY_YOU ;
|
||||||
}
|
|
||||||
|
|
||||||
if (isBanned && (accept & RSID_FILTER_BANNED))
|
if (isBanned && (accept & RSID_FILTER_BANNED))
|
||||||
{
|
|
||||||
ok = true;
|
|
||||||
item_flags |= RSID_FILTER_BANNED ;
|
item_flags |= RSID_FILTER_BANNED ;
|
||||||
}
|
|
||||||
|
|
||||||
if (!ok)
|
if (item_flags == 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!item)
|
if (!item)
|
||||||
{
|
|
||||||
item = new TreeWidgetItem();
|
item = new TreeWidgetItem();
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
item->setText(RSID_COL_NICKNAME, QString::fromUtf8(data.mMeta.mGroupName.c_str()).left(RSID_MAXIMUM_NICKNAME_SIZE));
|
item->setText(RSID_COL_NICKNAME, QString::fromUtf8(data.mMeta.mGroupName.c_str()).left(RSID_MAXIMUM_NICKNAME_SIZE));
|
||||||
item->setData(RSID_COL_NICKNAME, Qt::UserRole, QString::fromStdString(data.mMeta.mGroupId.toStdString()));
|
item->setData(RSID_COL_NICKNAME, Qt::UserRole, QString::fromStdString(data.mMeta.mGroupId.toStdString()));
|
||||||
item->setText(RSID_COL_KEYID, QString::fromStdString(data.mMeta.mGroupId.toStdString()));
|
item->setText(RSID_COL_KEYID, QString::fromStdString(data.mMeta.mGroupId.toStdString()));
|
||||||
|
|
||||||
if(isBanned)
|
|
||||||
{
|
|
||||||
//TODO (Phenom): Add qproperty for these text colors in stylesheets
|
//TODO (Phenom): Add qproperty for these text colors in stylesheets
|
||||||
item->setData(RSID_COL_NICKNAME, Qt::ForegroundRole, QColor(Qt::red));
|
item->setData(RSID_COL_NICKNAME, Qt::ForegroundRole, isBanned ? QColor(Qt::red) : QVariant() );
|
||||||
item->setData(RSID_COL_KEYID , Qt::ForegroundRole, QColor(Qt::red));
|
item->setData(RSID_COL_KEYID , Qt::ForegroundRole, isBanned ? QColor(Qt::red) : QVariant() );
|
||||||
item->setData(RSID_COL_IDTYPE , Qt::ForegroundRole, QColor(Qt::red));
|
item->setData(RSID_COL_IDTYPE , Qt::ForegroundRole, isBanned ? QColor(Qt::red) : QVariant() );
|
||||||
item->setData(RSID_COL_VOTES , Qt::ForegroundRole, QColor(Qt::red));
|
item->setData(RSID_COL_VOTES , Qt::ForegroundRole, isBanned ? QColor(Qt::red) : QVariant() );
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
item->setData(RSID_COL_NICKNAME, Qt::ForegroundRole, QVariant());
|
|
||||||
item->setData(RSID_COL_KEYID , Qt::ForegroundRole, QVariant());
|
|
||||||
item->setData(RSID_COL_IDTYPE , Qt::ForegroundRole, QVariant());
|
|
||||||
item->setData(RSID_COL_VOTES , Qt::ForegroundRole, QVariant());
|
|
||||||
}
|
|
||||||
|
|
||||||
item->setData(RSID_COL_KEYID, Qt::UserRole,QVariant(item_flags)) ;
|
item->setData(RSID_COL_KEYID, Qt::UserRole,QVariant(item_flags)) ;
|
||||||
item->setTextAlignment(RSID_COL_VOTES, Qt::AlignRight | Qt::AlignVCenter);
|
item->setTextAlignment(RSID_COL_VOTES, Qt::AlignRight | Qt::AlignVCenter);
|
||||||
@ -1468,13 +1434,6 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item,
|
|||||||
|
|
||||||
if(isOwnId)
|
if(isOwnId)
|
||||||
{
|
{
|
||||||
QFont font = item->font(RSID_COL_NICKNAME) ;
|
|
||||||
|
|
||||||
font.setBold(true) ;
|
|
||||||
item->setFont(RSID_COL_NICKNAME,font) ;
|
|
||||||
item->setFont(RSID_COL_IDTYPE,font) ;
|
|
||||||
item->setFont(RSID_COL_KEYID,font) ;
|
|
||||||
|
|
||||||
QString tooltip = tr("This identity is owned by you");
|
QString tooltip = tr("This identity is owned by you");
|
||||||
|
|
||||||
if(idd.mFlags & RS_IDENTITY_FLAGS_IS_DEPRECATED)
|
if(idd.mFlags & RS_IDENTITY_FLAGS_IS_DEPRECATED)
|
||||||
@ -1491,6 +1450,12 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item,
|
|||||||
item->setToolTip(RSID_COL_KEYID, tooltip) ;
|
item->setToolTip(RSID_COL_KEYID, tooltip) ;
|
||||||
item->setToolTip(RSID_COL_IDTYPE, tooltip) ;
|
item->setToolTip(RSID_COL_IDTYPE, tooltip) ;
|
||||||
}
|
}
|
||||||
|
QFont font = ui->idTreeWidget->font() ;
|
||||||
|
font.setBold(isOwnId) ;
|
||||||
|
item->setFont(RSID_COL_NICKNAME,font) ;
|
||||||
|
item->setFont(RSID_COL_IDTYPE,font) ;
|
||||||
|
item->setFont(RSID_COL_KEYID,font) ;
|
||||||
|
|
||||||
|
|
||||||
//QPixmap pixmap ;
|
//QPixmap pixmap ;
|
||||||
//
|
//
|
||||||
@ -1501,8 +1466,6 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item,
|
|||||||
// Icon Place Holder
|
// Icon Place Holder
|
||||||
item->setIcon(RSID_COL_NICKNAME,FilesDefs::getIconFromQtResourcePath(":/icons/png/anonymous.png"));
|
item->setIcon(RSID_COL_NICKNAME,FilesDefs::getIconFromQtResourcePath(":/icons/png/anonymous.png"));
|
||||||
|
|
||||||
QString tooltip;
|
|
||||||
|
|
||||||
if (data.mMeta.mGroupFlags & RSGXSID_GROUPFLAG_REALID_kept_for_compatibility)
|
if (data.mMeta.mGroupFlags & RSGXSID_GROUPFLAG_REALID_kept_for_compatibility)
|
||||||
{
|
{
|
||||||
if (data.mPgpKnown)
|
if (data.mPgpKnown)
|
||||||
@ -1513,7 +1476,7 @@ bool IdDialog::fillIdListItem(const RsGxsIdGroup& data, QTreeWidgetItem *&item,
|
|||||||
item->setToolTip(RSID_COL_IDTYPE,"Verified signature from node "+QString::fromStdString(data.mPgpId.toStdString())) ;
|
item->setToolTip(RSID_COL_IDTYPE,"Verified signature from node "+QString::fromStdString(data.mPgpId.toStdString())) ;
|
||||||
|
|
||||||
|
|
||||||
tooltip += tr("Node name:")+" " + QString::fromUtf8(details.name.c_str()) + "\n";
|
QString tooltip = tr("Node name:")+" " + QString::fromUtf8(details.name.c_str()) + "\n";
|
||||||
tooltip += tr("Node Id :")+" " + QString::fromStdString(data.mPgpId.toStdString()) ;
|
tooltip += tr("Node Id :")+" " + QString::fromStdString(data.mPgpId.toStdString()) ;
|
||||||
item->setToolTip(RSID_COL_KEYID,tooltip) ;
|
item->setToolTip(RSID_COL_KEYID,tooltip) ;
|
||||||
}
|
}
|
||||||
@ -2224,8 +2187,9 @@ void IdDialog::IdListCustomPopupMenu( QPoint )
|
|||||||
|
|
||||||
if(!one_item_owned_by_you)
|
if(!one_item_owned_by_you)
|
||||||
{
|
{
|
||||||
QWidget *widget = new QWidget(contextMenu);
|
QFrame *widget = new QFrame(contextMenu);
|
||||||
widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}");
|
widget->setObjectName("gradFrame"); //Use qss
|
||||||
|
//widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}");
|
||||||
|
|
||||||
// create menu header
|
// create menu header
|
||||||
QHBoxLayout *hbox = new QHBoxLayout(widget);
|
QHBoxLayout *hbox = new QHBoxLayout(widget);
|
||||||
@ -2233,12 +2197,14 @@ void IdDialog::IdListCustomPopupMenu( QPoint )
|
|||||||
hbox->setSpacing(6);
|
hbox->setSpacing(6);
|
||||||
|
|
||||||
QLabel *iconLabel = new QLabel(widget);
|
QLabel *iconLabel = new QLabel(widget);
|
||||||
|
iconLabel->setObjectName("trans_Icon");
|
||||||
QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
|
QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
|
||||||
iconLabel->setPixmap(pix);
|
iconLabel->setPixmap(pix);
|
||||||
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
||||||
hbox->addWidget(iconLabel);
|
hbox->addWidget(iconLabel);
|
||||||
|
|
||||||
QLabel *textLabel = new QLabel("<strong>" + ui->titleBarLabel->text() + "</strong>", widget);
|
QLabel *textLabel = new QLabel("<strong>" + ui->titleBarLabel->text() + "</strong>", widget);
|
||||||
|
textLabel->setObjectName("trans_Text");
|
||||||
hbox->addWidget(textLabel);
|
hbox->addWidget(textLabel);
|
||||||
|
|
||||||
QSpacerItem *spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
QSpacerItem *spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||||
|
@ -218,6 +218,11 @@
|
|||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>11</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
<property name="contextMenuPolicy">
|
<property name="contextMenuPolicy">
|
||||||
<enum>Qt::CustomContextMenu</enum>
|
<enum>Qt::CustomContextMenu</enum>
|
||||||
</property>
|
</property>
|
||||||
@ -1046,6 +1051,11 @@ border-image: url(:/images/closepressed.png)
|
|||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QTreeWidget" name="treeWidget_membership">
|
<widget class="QTreeWidget" name="treeWidget_membership">
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>11</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
<property name="contextMenuPolicy">
|
<property name="contextMenuPolicy">
|
||||||
<enum>Qt::CustomContextMenu</enum>
|
<enum>Qt::CustomContextMenu</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -126,7 +126,11 @@ bool ElidedLabel::paintElidedLine( QPainter* painter, QString plainText
|
|||||||
to.setWrapMode(wordWrap ? QTextOption::WrapAtWordBoundaryOrAnywhere : QTextOption::NoWrap);
|
to.setWrapMode(wordWrap ? QTextOption::WrapAtWordBoundaryOrAnywhere : QTextOption::NoWrap);
|
||||||
textLayout.setTextOption(to);
|
textLayout.setTextOption(to);
|
||||||
|
|
||||||
if (painter) painter->save();
|
if (painter)
|
||||||
|
{
|
||||||
|
painter->save();
|
||||||
|
painter->setFont(useFont);
|
||||||
|
}
|
||||||
textLayout.beginLayout();
|
textLayout.beginLayout();
|
||||||
forever {
|
forever {
|
||||||
//Get new line for text.
|
//Get new line for text.
|
||||||
@ -220,10 +224,7 @@ bool ElidedLabel::paintElidedLine( QPainter* painter, QString plainText
|
|||||||
|
|
||||||
if(width+iTransX+cr.left() <= cr.right())
|
if(width+iTransX+cr.left() <= cr.right())
|
||||||
if (painter)
|
if (painter)
|
||||||
{
|
|
||||||
painter->setFont(useFont);
|
|
||||||
painter->drawText(QPoint(iTransX + cr.left(), y + fontMetrics.ascent() + cr.top()), elidedLastLine);
|
painter->drawText(QPoint(iTransX + cr.left(), y + fontMetrics.ascent() + cr.top()), elidedLastLine);
|
||||||
}
|
|
||||||
|
|
||||||
//Draw button to get ToolTip
|
//Draw button to get ToolTip
|
||||||
#if QT_VERSION < QT_VERSION_CHECK(5,11,0)
|
#if QT_VERSION < QT_VERSION_CHECK(5,11,0)
|
||||||
|
@ -55,6 +55,7 @@
|
|||||||
#include "gui/chat/ChatUserNotify.h"
|
#include "gui/chat/ChatUserNotify.h"
|
||||||
#include "gui/connect/ConnectProgressDialog.h"
|
#include "gui/connect/ConnectProgressDialog.h"
|
||||||
#include "gui/common/ElidedLabel.h"
|
#include "gui/common/ElidedLabel.h"
|
||||||
|
#include "gui/common/FilesDefs.h"
|
||||||
|
|
||||||
#include "FriendList.h"
|
#include "FriendList.h"
|
||||||
#include "ui_FriendList.h"
|
#include "ui_FriendList.h"
|
||||||
@ -297,8 +298,9 @@ void FriendList::peerTreeWidgetCustomPopupMenu()
|
|||||||
|
|
||||||
QMenu *contextMenu = new QMenu(this);
|
QMenu *contextMenu = new QMenu(this);
|
||||||
|
|
||||||
QWidget *widget = new QWidget(contextMenu);
|
QFrame *widget = new QFrame(contextMenu);
|
||||||
widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}");
|
widget->setObjectName("gradFrame"); //Use qss
|
||||||
|
//widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}");
|
||||||
|
|
||||||
// create menu header
|
// create menu header
|
||||||
QHBoxLayout *hbox = new QHBoxLayout(widget);
|
QHBoxLayout *hbox = new QHBoxLayout(widget);
|
||||||
@ -306,12 +308,14 @@ void FriendList::peerTreeWidgetCustomPopupMenu()
|
|||||||
hbox->setSpacing(6);
|
hbox->setSpacing(6);
|
||||||
|
|
||||||
QLabel *iconLabel = new QLabel(widget);
|
QLabel *iconLabel = new QLabel(widget);
|
||||||
|
iconLabel->setObjectName("trans_Icon");
|
||||||
QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
|
QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
|
||||||
iconLabel->setPixmap(pix);
|
iconLabel->setPixmap(pix);
|
||||||
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
||||||
hbox->addWidget(iconLabel);
|
hbox->addWidget(iconLabel);
|
||||||
|
|
||||||
QLabel *textLabel = new QLabel("<strong>RetroShare</strong>", widget);
|
QLabel *textLabel = new QLabel("<strong>RetroShare</strong>", widget);
|
||||||
|
textLabel->setObjectName("trans_Text");
|
||||||
hbox->addWidget(textLabel);
|
hbox->addWidget(textLabel);
|
||||||
|
|
||||||
QSpacerItem *spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
QSpacerItem *spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||||
|
@ -60,16 +60,25 @@ GroupTreeWidget::GroupTreeWidget(QWidget *parent) :
|
|||||||
connect(ui->filterLineEdit, SIGNAL(filterChanged(int)), this, SLOT(filterChanged()));
|
connect(ui->filterLineEdit, SIGNAL(filterChanged(int)), this, SLOT(filterChanged()));
|
||||||
|
|
||||||
connect(ui->treeWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(customContextMenuRequested(QPoint)));
|
connect(ui->treeWidget, SIGNAL(customContextMenuRequested(QPoint)), this, SLOT(customContextMenuRequested(QPoint)));
|
||||||
connect(ui->treeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)), this, SLOT(currentItemChanged(QTreeWidgetItem*, QTreeWidgetItem*)));
|
connect(ui->treeWidget, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), this, SLOT(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)));
|
||||||
connect(ui->treeWidget, SIGNAL(itemActivated(QTreeWidgetItem*,int)), this, SLOT(itemActivated(QTreeWidgetItem*,int)));
|
connect(ui->treeWidget, SIGNAL(itemActivated(QTreeWidgetItem*,int)), this, SLOT(itemActivated(QTreeWidgetItem*,int)));
|
||||||
if (!style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick, NULL, this)) {
|
if (!style()->styleHint(QStyle::SH_ItemView_ActivateItemOnSingleClick, NULL, this)) {
|
||||||
// need signal itemClicked too
|
// need signal itemClicked too
|
||||||
connect(ui->treeWidget, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(itemActivated(QTreeWidgetItem*,int)));
|
connect(ui->treeWidget, SIGNAL(itemClicked(QTreeWidgetItem*,int)), this, SLOT(itemActivated(QTreeWidgetItem*,int)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int H = QFontMetricsF(ui->treeWidget->font()).height() ;
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(5,11,0)
|
||||||
|
int W = QFontMetricsF(ui->treeWidget->font()).width("_") ;
|
||||||
|
int D = QFontMetricsF(ui->treeWidget->font()).width("9999-99-99[]") ;
|
||||||
|
#else
|
||||||
|
int W = QFontMetricsF(ui->treeWidget->font()).horizontalAdvance("_") ;
|
||||||
|
int D = QFontMetricsF(ui->treeWidget->font()).horizontalAdvance("9999-99-99[]") ;
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Add own item delegate */
|
/* Add own item delegate */
|
||||||
RSElidedItemDelegate *itemDelegate = new RSElidedItemDelegate(this);
|
RSElidedItemDelegate *itemDelegate = new RSElidedItemDelegate(this);
|
||||||
itemDelegate->setSpacing(QSize(0, 2));
|
itemDelegate->setSpacing(QSize(W/2, H/4));
|
||||||
ui->treeWidget->setItemDelegate(itemDelegate);
|
ui->treeWidget->setItemDelegate(itemDelegate);
|
||||||
|
|
||||||
/* Set compare role for each column */
|
/* Set compare role for each column */
|
||||||
@ -87,10 +96,6 @@ GroupTreeWidget::GroupTreeWidget(QWidget *parent) :
|
|||||||
ui->treeWidget->enableColumnCustomize(true);
|
ui->treeWidget->enableColumnCustomize(true);
|
||||||
ui->treeWidget->setColumnCustomizable(GTW_COLUMN_NAME, false);
|
ui->treeWidget->setColumnCustomizable(GTW_COLUMN_NAME, false);
|
||||||
|
|
||||||
int S = QFontMetricsF(font()).height() ;
|
|
||||||
int W = QFontMetricsF(font()).width("_") ;
|
|
||||||
int D = QFontMetricsF(font()).width("9999-99-99[]") ;
|
|
||||||
|
|
||||||
QTreeWidgetItem *headerItem = ui->treeWidget->headerItem();
|
QTreeWidgetItem *headerItem = ui->treeWidget->headerItem();
|
||||||
headerItem->setText(GTW_COLUMN_NAME, tr("Name"));
|
headerItem->setText(GTW_COLUMN_NAME, tr("Name"));
|
||||||
headerItem->setText(GTW_COLUMN_UNREAD, "");
|
headerItem->setText(GTW_COLUMN_UNREAD, "");
|
||||||
@ -143,7 +148,7 @@ GroupTreeWidget::GroupTreeWidget(QWidget *parent) :
|
|||||||
|
|
||||||
connect(ui->distantSearchLineEdit,SIGNAL(returnPressed()),this,SLOT(distantSearch())) ;
|
connect(ui->distantSearchLineEdit,SIGNAL(returnPressed()),this,SLOT(distantSearch())) ;
|
||||||
|
|
||||||
ui->treeWidget->setIconSize(QSize(S*1.8,S*1.8));
|
ui->treeWidget->setIconSize(QSize(H*1.8,H*1.8));
|
||||||
}
|
}
|
||||||
|
|
||||||
GroupTreeWidget::~GroupTreeWidget()
|
GroupTreeWidget::~GroupTreeWidget()
|
||||||
@ -205,9 +210,9 @@ void GroupTreeWidget::updateColors()
|
|||||||
|
|
||||||
int color = item->data(GTW_COLUMN_DATA, ROLE_COLOR).toInt();
|
int color = item->data(GTW_COLUMN_DATA, ROLE_COLOR).toInt();
|
||||||
if (color >= 0) {
|
if (color >= 0) {
|
||||||
item->setData(GTW_COLUMN_NAME, Qt::TextColorRole, mTextColor[color]);
|
item->setData(GTW_COLUMN_NAME, Qt::ForegroundRole, mTextColor[color]);
|
||||||
} else {
|
} else {
|
||||||
item->setData(GTW_COLUMN_NAME, Qt::TextColorRole, QVariant());
|
item->setData(GTW_COLUMN_NAME, Qt::ForegroundRole, QVariant());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -246,7 +251,6 @@ void GroupTreeWidget::itemActivated(QTreeWidgetItem *item, int column)
|
|||||||
|
|
||||||
QTreeWidgetItem *GroupTreeWidget::addCategoryItem(const QString &name, const QIcon &icon, bool expand, int sortOrder /*= -1*/)
|
QTreeWidgetItem *GroupTreeWidget::addCategoryItem(const QString &name, const QIcon &icon, bool expand, int sortOrder /*= -1*/)
|
||||||
{
|
{
|
||||||
QFont font;
|
|
||||||
RSTreeWidgetItem *item = new RSTreeWidgetItem();
|
RSTreeWidgetItem *item = new RSTreeWidgetItem();
|
||||||
ui->treeWidget->addTopLevelItem(item);
|
ui->treeWidget->addTopLevelItem(item);
|
||||||
// To get StyleSheet for Items
|
// To get StyleSheet for Items
|
||||||
@ -255,15 +259,16 @@ QTreeWidgetItem *GroupTreeWidget::addCategoryItem(const QString &name, const QIc
|
|||||||
|
|
||||||
item->setText(GTW_COLUMN_NAME, name);
|
item->setText(GTW_COLUMN_NAME, name);
|
||||||
item->setData(GTW_COLUMN_DATA, ROLE_NAME, name);
|
item->setData(GTW_COLUMN_DATA, ROLE_NAME, name);
|
||||||
font = item->font(GTW_COLUMN_NAME);
|
QFont itFont = item->font(GTW_COLUMN_NAME);
|
||||||
font.setBold(true);
|
itFont.setBold(true);
|
||||||
item->setFont(GTW_COLUMN_NAME, font);
|
itFont.setPointSize(ui->treeWidget->font().pointSize()); //use treeWidget font size defined in ui.
|
||||||
|
item->setFont(GTW_COLUMN_NAME, itFont);
|
||||||
item->setIcon(GTW_COLUMN_NAME, icon);
|
item->setIcon(GTW_COLUMN_NAME, icon);
|
||||||
|
|
||||||
int S = QFontMetricsF(font).height();
|
//int S = QFontMetricsF(itFont).height();
|
||||||
|
|
||||||
item->setSizeHint(GTW_COLUMN_NAME, QSize(S*1.9, S*1.9));
|
//item->setSizeHint(GTW_COLUMN_NAME, QSize(S*1.9, S*1.9)); //size hint is calculated by item delegate. Use itemDelegate->setSpacing() in constructor.
|
||||||
item->setData(GTW_COLUMN_NAME, Qt::TextColorRole, textColorCategory());
|
item->setData(GTW_COLUMN_NAME, Qt::ForegroundRole, textColorCategory());
|
||||||
item->setData(GTW_COLUMN_DATA, ROLE_COLOR, GROUPTREEWIDGET_COLOR_CATEGORY);
|
item->setData(GTW_COLUMN_DATA, ROLE_COLOR, GROUPTREEWIDGET_COLOR_CATEGORY);
|
||||||
|
|
||||||
item->setExpanded(expand);
|
item->setExpanded(expand);
|
||||||
@ -385,6 +390,7 @@ void GroupTreeWidget::fillGroupItems(QTreeWidgetItem *categoryItem, const QList<
|
|||||||
if (item == NULL) {
|
if (item == NULL) {
|
||||||
item = new RSTreeWidgetItem(compareRole);
|
item = new RSTreeWidgetItem(compareRole);
|
||||||
item->setData(GTW_COLUMN_DATA, ROLE_ID, itemInfo.id);
|
item->setData(GTW_COLUMN_DATA, ROLE_ID, itemInfo.id);
|
||||||
|
item->setFont(GTW_COLUMN_DATA, ui->treeWidget->font());
|
||||||
//static_cast<RSTreeWidgetItem*>(item)->setNoDataAsLast(true); //Uncomment this to sort data with QVariant() always at end.
|
//static_cast<RSTreeWidgetItem*>(item)->setNoDataAsLast(true); //Uncomment this to sort data with QVariant() always at end.
|
||||||
categoryItem->addChild(item);
|
categoryItem->addChild(item);
|
||||||
}
|
}
|
||||||
@ -506,18 +512,18 @@ void GroupTreeWidget::setUnreadCount(QTreeWidgetItem *item, int unreadCount)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
QFont font = item->font(GTW_COLUMN_NAME);
|
QFont itFont = item->font(GTW_COLUMN_NAME);
|
||||||
|
|
||||||
if (unreadCount) {
|
if (unreadCount) {
|
||||||
item->setText(GTW_COLUMN_UNREAD, QString::number(unreadCount));
|
item->setText(GTW_COLUMN_UNREAD, QString::number(unreadCount));
|
||||||
font.setBold(true);
|
itFont.setBold(true);
|
||||||
} else {
|
} else {
|
||||||
item->setText(GTW_COLUMN_UNREAD, "");
|
item->setText(GTW_COLUMN_UNREAD, "");
|
||||||
font.setBold(false);
|
itFont.setBold(false);
|
||||||
}
|
}
|
||||||
item->setData(GTW_COLUMN_UNREAD, ROLE_SORT, unreadCount);
|
item->setData(GTW_COLUMN_UNREAD, ROLE_SORT, unreadCount);
|
||||||
|
|
||||||
item->setFont(GTW_COLUMN_NAME, font);
|
item->setFont(GTW_COLUMN_NAME, itFont);
|
||||||
}
|
}
|
||||||
|
|
||||||
QTreeWidgetItem *GroupTreeWidget::getItemFromId(const QString &id)
|
QTreeWidgetItem *GroupTreeWidget::getItemFromId(const QString &id)
|
||||||
|
@ -70,6 +70,11 @@
|
|||||||
<verstretch>0</verstretch>
|
<verstretch>0</verstretch>
|
||||||
</sizepolicy>
|
</sizepolicy>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="font">
|
||||||
|
<font>
|
||||||
|
<pointsize>11</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
<property name="contextMenuPolicy">
|
<property name="contextMenuPolicy">
|
||||||
<enum>Qt::CustomContextMenu</enum>
|
<enum>Qt::CustomContextMenu</enum>
|
||||||
</property>
|
</property>
|
||||||
|
@ -184,6 +184,13 @@ NewFriendList::NewFriendList(QWidget */*parent*/) : /* RsAutoUpdatePage(5000,par
|
|||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
|
|
||||||
|
int H = QFontMetricsF(ui->peerTreeWidget->font()).height();
|
||||||
|
#if QT_VERSION < QT_VERSION_CHECK(5,11,0)
|
||||||
|
int W = QFontMetricsF(ui->peerTreeWidget->font()).width("_");
|
||||||
|
#else
|
||||||
|
int W = QFontMetricsF(ui->peerTreeWidget->font()).horizontalAdvance("_");
|
||||||
|
#endif
|
||||||
|
|
||||||
ui->filterLineEdit->setPlaceholderText(tr("Search")) ;
|
ui->filterLineEdit->setPlaceholderText(tr("Search")) ;
|
||||||
ui->filterLineEdit->showFilterIcon();
|
ui->filterLineEdit->showFilterIcon();
|
||||||
|
|
||||||
@ -205,7 +212,9 @@ NewFriendList::NewFriendList(QWidget */*parent*/) : /* RsAutoUpdatePage(5000,par
|
|||||||
mProxyModel->setFilterRegExp(QRegExp(RsFriendListModel::FilterString));
|
mProxyModel->setFilterRegExp(QRegExp(RsFriendListModel::FilterString));
|
||||||
|
|
||||||
ui->peerTreeWidget->setModel(mProxyModel);
|
ui->peerTreeWidget->setModel(mProxyModel);
|
||||||
ui->peerTreeWidget->setItemDelegate(new RSElidedItemDelegate());
|
RSElidedItemDelegate *itemDelegate = new RSElidedItemDelegate(this);
|
||||||
|
itemDelegate->setSpacing(QSize(W/2, H/4));
|
||||||
|
ui->peerTreeWidget->setItemDelegate(itemDelegate);
|
||||||
ui->peerTreeWidget->setWordWrap(false);
|
ui->peerTreeWidget->setWordWrap(false);
|
||||||
|
|
||||||
/* Add filter actions */
|
/* Add filter actions */
|
||||||
@ -228,17 +237,13 @@ NewFriendList::NewFriendList(QWidget */*parent*/) : /* RsAutoUpdatePage(5000,par
|
|||||||
QShortcut *Shortcut = new QShortcut(QKeySequence(Qt::Key_Delete), ui->peerTreeWidget, 0, 0, Qt::WidgetShortcut);
|
QShortcut *Shortcut = new QShortcut(QKeySequence(Qt::Key_Delete), ui->peerTreeWidget, 0, 0, Qt::WidgetShortcut);
|
||||||
connect(Shortcut, SIGNAL(activated()), this, SLOT(removeItem()),Qt::QueuedConnection);
|
connect(Shortcut, SIGNAL(activated()), this, SLOT(removeItem()),Qt::QueuedConnection);
|
||||||
|
|
||||||
QFontMetricsF fontMetrics(ui->peerTreeWidget->font());
|
|
||||||
|
|
||||||
/* Set initial column width */
|
/* Set initial column width */
|
||||||
int fontWidth = fontMetrics.width("W");
|
ui->peerTreeWidget->setColumnWidth(RsFriendListModel::COLUMN_THREAD_NAME , 22 * W);
|
||||||
ui->peerTreeWidget->setColumnWidth(RsFriendListModel::COLUMN_THREAD_NAME , 22 * fontWidth);
|
ui->peerTreeWidget->setColumnWidth(RsFriendListModel::COLUMN_THREAD_IP , 15 * W);
|
||||||
ui->peerTreeWidget->setColumnWidth(RsFriendListModel::COLUMN_THREAD_IP , 15 * fontWidth);
|
ui->peerTreeWidget->setColumnWidth(RsFriendListModel::COLUMN_THREAD_ID , 32 * W);
|
||||||
ui->peerTreeWidget->setColumnWidth(RsFriendListModel::COLUMN_THREAD_ID , 32 * fontWidth);
|
ui->peerTreeWidget->setColumnWidth(RsFriendListModel::COLUMN_THREAD_LAST_CONTACT, 12 * W);
|
||||||
ui->peerTreeWidget->setColumnWidth(RsFriendListModel::COLUMN_THREAD_LAST_CONTACT, 12 * fontWidth);
|
|
||||||
|
|
||||||
int avatarHeight = fontMetrics.height() * 2;
|
ui->peerTreeWidget->setIconSize(QSize(H*2, H*2));
|
||||||
ui->peerTreeWidget->setIconSize(QSize(avatarHeight, avatarHeight));
|
|
||||||
|
|
||||||
mModel->checkInternalData(true);
|
mModel->checkInternalData(true);
|
||||||
|
|
||||||
@ -301,8 +306,9 @@ void NewFriendList::headerContextMenuRequested(QPoint /*p*/)
|
|||||||
{
|
{
|
||||||
QMenu displayMenu(tr("Show Items"), this);
|
QMenu displayMenu(tr("Show Items"), this);
|
||||||
|
|
||||||
QWidget *widget = new QWidget(&displayMenu);
|
QFrame *widget = new QFrame(&displayMenu);
|
||||||
widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}");
|
widget->setObjectName("gradFrame"); //Use qss
|
||||||
|
//widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}");
|
||||||
|
|
||||||
// create menu header
|
// create menu header
|
||||||
QHBoxLayout *hbox = new QHBoxLayout(widget);
|
QHBoxLayout *hbox = new QHBoxLayout(widget);
|
||||||
@ -310,12 +316,14 @@ void NewFriendList::headerContextMenuRequested(QPoint /*p*/)
|
|||||||
hbox->setSpacing(6);
|
hbox->setSpacing(6);
|
||||||
|
|
||||||
QLabel *iconLabel = new QLabel(widget);
|
QLabel *iconLabel = new QLabel(widget);
|
||||||
|
iconLabel->setObjectName("trans_Icon");
|
||||||
QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
|
QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
|
||||||
iconLabel->setPixmap(pix);
|
iconLabel->setPixmap(pix);
|
||||||
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
||||||
hbox->addWidget(iconLabel);
|
hbox->addWidget(iconLabel);
|
||||||
|
|
||||||
QLabel *textLabel = new QLabel("<strong>Show/hide...</strong>", widget);
|
QLabel *textLabel = new QLabel("<strong>Show/hide...</strong>", widget);
|
||||||
|
textLabel->setObjectName("trans_Text");
|
||||||
hbox->addWidget(textLabel);
|
hbox->addWidget(textLabel);
|
||||||
|
|
||||||
QSpacerItem *spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
QSpacerItem *spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||||
@ -564,8 +572,9 @@ void NewFriendList::peerTreeWidgetCustomPopupMenu()
|
|||||||
|
|
||||||
QMenu contextMenu(this);
|
QMenu contextMenu(this);
|
||||||
|
|
||||||
QWidget *widget = new QWidget(&contextMenu);
|
QFrame *widget = new QFrame();
|
||||||
widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}");
|
widget->setObjectName("gradFrame"); //Use qss
|
||||||
|
//widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}");
|
||||||
|
|
||||||
// create menu header
|
// create menu header
|
||||||
QHBoxLayout *hbox = new QHBoxLayout(widget);
|
QHBoxLayout *hbox = new QHBoxLayout(widget);
|
||||||
@ -573,12 +582,14 @@ void NewFriendList::peerTreeWidgetCustomPopupMenu()
|
|||||||
hbox->setSpacing(6);
|
hbox->setSpacing(6);
|
||||||
|
|
||||||
QLabel *iconLabel = new QLabel(widget);
|
QLabel *iconLabel = new QLabel(widget);
|
||||||
|
iconLabel->setObjectName("trans_Icon");
|
||||||
QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
|
QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/user/friends24.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
|
||||||
iconLabel->setPixmap(pix);
|
iconLabel->setPixmap(pix);
|
||||||
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
||||||
hbox->addWidget(iconLabel);
|
hbox->addWidget(iconLabel);
|
||||||
|
|
||||||
QLabel *textLabel = new QLabel("<strong>Friend list</strong>", widget);
|
QLabel *textLabel = new QLabel("<strong>Friend list</strong>", widget);
|
||||||
|
textLabel->setObjectName("trans_Text");
|
||||||
hbox->addWidget(textLabel);
|
hbox->addWidget(textLabel);
|
||||||
|
|
||||||
QSpacerItem *spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
QSpacerItem *spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||||
|
@ -51,7 +51,7 @@ QTreeView::item:hover, QTreeWidget::item:hover, QListWidget::item:hover{
|
|||||||
color: #0000EF;
|
color: #0000EF;
|
||||||
background-color: #FEDCBA;
|
background-color: #FEDCBA;
|
||||||
}
|
}
|
||||||
QQTreeView::item:selected:hover, TreeWidget::item:selected:hover, QListWidget::item:selected:hover{
|
QTreeView::item:selected:hover, QTreeWidget::item:selected:hover, QListWidget::item:selected:hover{
|
||||||
color: #ABCDEF;
|
color: #ABCDEF;
|
||||||
background-color: #FE0000;
|
background-color: #FE0000;
|
||||||
}
|
}
|
||||||
@ -88,7 +88,12 @@ QSize RSElidedItemDelegate::sizeHint(const QStyleOptionViewItem &option, const Q
|
|||||||
|
|
||||||
QSize contSize = ownStyle->sizeFromContents( QStyle::CT_ItemViewItem,&ownOption
|
QSize contSize = ownStyle->sizeFromContents( QStyle::CT_ItemViewItem,&ownOption
|
||||||
,QSize( checkRect.width()+iconRect.width()+textRect.width()
|
,QSize( checkRect.width()+iconRect.width()+textRect.width()
|
||||||
,qMax(checkRect.height(),qMax(iconRect.height(),textRect.height()))),widget);
|
, qMax(checkRect.height(),qMax(iconRect.height(),textRect.height()))
|
||||||
|
), widget ) ;
|
||||||
|
|
||||||
|
contSize += QSize( 2*spacing().width()
|
||||||
|
, qMax(checkRect.height(),iconRect.height()) > textRect.height()
|
||||||
|
? 0 : 2*spacing().height() );
|
||||||
|
|
||||||
return contSize;
|
return contSize;
|
||||||
}
|
}
|
||||||
@ -97,7 +102,7 @@ inline QColor getImagePixelColor(QImage img, int x, int y)
|
|||||||
{
|
{
|
||||||
#if QT_VERSION >= QT_VERSION_CHECK(5,6,0)
|
#if QT_VERSION >= QT_VERSION_CHECK(5,6,0)
|
||||||
#ifdef DEBUG_EID_PAINT
|
#ifdef DEBUG_EID_PAINT
|
||||||
// RsDbg() << " RSEID: Found Color " << img.pixelColor(x,y).name(QColor::HexArgb).toStdString() << " at " << x << "," << y << std::endl;
|
//RsDbg(" RSEID: Found Color ", img.pixelColor(x,y).name(QColor::HexArgb).toStdString(), " at ", x, ",", y);
|
||||||
#endif
|
#endif
|
||||||
return img.pixelColor(x,y);
|
return img.pixelColor(x,y);
|
||||||
#else
|
#else
|
||||||
@ -109,7 +114,7 @@ void RSElidedItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
{
|
{
|
||||||
if(!index.isValid())
|
if(!index.isValid())
|
||||||
{
|
{
|
||||||
RsErr() << __PRETTY_FUNCTION__ << " attempt to draw an invalid index." << std::endl;
|
RS_ERR(" attempt to draw an invalid index.");
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
painter->save();
|
painter->save();
|
||||||
@ -120,7 +125,7 @@ void RSElidedItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
ownOption.icon = option.icon;
|
ownOption.icon = option.icon;
|
||||||
|
|
||||||
#ifdef DEBUG_EID_PAINT
|
#ifdef DEBUG_EID_PAINT
|
||||||
RsDbg() << __PRETTY_FUNCTION__ << std::endl << " RSEID: Enter for item with text:" << ownOption.text.toStdString() << std::endl;
|
RS_DBG("\n RSEID: Enter for item with text:", ownOption.text.toStdString());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
const QWidget* widget = option.widget;
|
const QWidget* widget = option.widget;
|
||||||
@ -139,16 +144,16 @@ void RSElidedItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
ownOption.fontMetrics = QFontMetrics(font);
|
ownOption.fontMetrics = QFontMetrics(font);
|
||||||
#ifdef DEBUG_EID_PAINT
|
#ifdef DEBUG_EID_PAINT
|
||||||
QFontInfo info(font);
|
QFontInfo info(font);
|
||||||
RsDbg() << " RSEID: Found font in model:" << info.family().toStdString() << std::endl;
|
RsDbg(" RSEID: Found font in model:", info.family().toStdString());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
// Get Text color from model if one exists
|
// Get Text color from model if one exists
|
||||||
QColor textColor;
|
QColor textColor;
|
||||||
if (index.data(Qt::TextColorRole).isValid()) {
|
if (index.data(Qt::ForegroundRole).isValid()) {
|
||||||
//textColor = QColor(index.data(Qt::TextColorRole).toString());//Needs to pass from string else loose RBG format.
|
//textColor = QColor(index.data(Qt::TextColorRole).toString());//Needs to pass from string else loose RBG format.
|
||||||
textColor = index.data(Qt::TextColorRole).value<QColor>();
|
textColor = index.data(Qt::ForegroundRole).value<QColor>();
|
||||||
#ifdef DEBUG_EID_PAINT
|
#ifdef DEBUG_EID_PAINT
|
||||||
RsDbg() << " RSEID: Found text color in model:" << textColor.name().toStdString() << std::endl;
|
RsDbg(" RSEID: Found text color in model:", textColor.name().toStdString());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
// Get Brush from model if one exists
|
// Get Brush from model if one exists
|
||||||
@ -157,7 +162,7 @@ void RSElidedItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
if (index.data(Qt::BackgroundRole).isValid()) {
|
if (index.data(Qt::BackgroundRole).isValid()) {
|
||||||
bgBrush = index.data(Qt::BackgroundRole).value<QBrush>();
|
bgBrush = index.data(Qt::BackgroundRole).value<QBrush>();
|
||||||
#ifdef DEBUG_EID_PAINT
|
#ifdef DEBUG_EID_PAINT
|
||||||
RsDbg() << " RSEID: Found bg brush in model:" << bgBrush.color().name().toStdString() << std::endl;
|
RsDbg(" RSEID: Found bg brush in model:", bgBrush.color().name().toStdString());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -165,10 +170,10 @@ void RSElidedItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
if ( (bgBrush.color().spec()==QColor::Invalid) || (textColor.spec()!=QColor::Invalid) )
|
if ( (bgBrush.color().spec()==QColor::Invalid) || (textColor.spec()!=QColor::Invalid) )
|
||||||
{
|
{
|
||||||
#ifdef DEBUG_EID_PAINT
|
#ifdef DEBUG_EID_PAINT
|
||||||
RsDbg() << " RSEID:"
|
RsDbg( " RSEID:"
|
||||||
<< ((bgBrush.color().spec()==QColor::Invalid) ? " Brush not defined" : "")
|
, ((bgBrush.color().spec()==QColor::Invalid) ? " Brush not defined" : "")
|
||||||
<< ((textColor.spec()==QColor::Invalid) ? " Text Color not defined" : "")
|
, ((textColor.spec()==QColor::Invalid) ? " Text Color not defined" : "")
|
||||||
<< " so get it from base image." << std::endl;
|
, " so get it from base image.");
|
||||||
#endif
|
#endif
|
||||||
// QPalette is not updated by StyleSheet all occurs in internal class. (QRenderRule)
|
// QPalette is not updated by StyleSheet all occurs in internal class. (QRenderRule)
|
||||||
// https://code.woboq.org/qt5/qtbase/src/widgets/styles/qstylesheetstyle.cpp.html#4138
|
// https://code.woboq.org/qt5/qtbase/src/widgets/styles/qstylesheetstyle.cpp.html#4138
|
||||||
@ -179,7 +184,7 @@ void RSElidedItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
if (moSize.width() <= 20)
|
if (moSize.width() <= 20)
|
||||||
moSize.setWidth(20);
|
moSize.setWidth(20);
|
||||||
#ifdef DEBUG_EID_PAINT
|
#ifdef DEBUG_EID_PAINT
|
||||||
RsDbg() << " RSEID: for item size = " << moSize.width() << "x" << moSize.height() << std::endl;
|
RsDbg(" RSEID: for item size = ", moSize.width(), "x", moSize.height());
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
QImage moImg(moSize,QImage::Format_ARGB32);
|
QImage moImg(moSize,QImage::Format_ARGB32);
|
||||||
@ -268,14 +273,14 @@ void RSElidedItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
{
|
{
|
||||||
bgBrush = QBrush(moBGColor);
|
bgBrush = QBrush(moBGColor);
|
||||||
#ifdef DEBUG_EID_PAINT
|
#ifdef DEBUG_EID_PAINT
|
||||||
RsDbg() << " RSEID: bg brush setted to " << moBGColor.name(QColor::HexArgb).toStdString() << std::endl;
|
RsDbg(" RSEID: bg brush setted to ", moBGColor.name(QColor::HexArgb).toStdString());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
if (textColor.spec()==QColor::Invalid)
|
if (textColor.spec()==QColor::Invalid)
|
||||||
{
|
{
|
||||||
textColor = moColor;
|
textColor = moColor;
|
||||||
#ifdef DEBUG_EID_PAINT
|
#ifdef DEBUG_EID_PAINT
|
||||||
RsDbg() << " RSEID: text color setted to " << moColor.name(QColor::HexArgb).toStdString() << std::endl;
|
RsDbg(" RSEID: text color setted to ", moColor.name(QColor::HexArgb).toStdString());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -389,7 +394,7 @@ void RSElidedItemDelegate::paint(QPainter *painter, const QStyleOptionViewItem &
|
|||||||
}
|
}
|
||||||
painter->restore();
|
painter->restore();
|
||||||
#ifdef DEBUG_EID_PAINT
|
#ifdef DEBUG_EID_PAINT
|
||||||
RsDbg() << " RSEID: Finished" << std::endl;
|
RsDbg(" RSEID: Finished");
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -253,8 +253,9 @@ QMenu *RSTreeWidget::createStandardContextMenu(QMenu *contextMenu)
|
|||||||
}
|
}
|
||||||
|
|
||||||
if(!mContextMenuActions.isEmpty() || !mContextMenuMenus.isEmpty() || mEnableColumnCustomize) {
|
if(!mContextMenuActions.isEmpty() || !mContextMenuMenus.isEmpty() || mEnableColumnCustomize) {
|
||||||
QWidget *widget = new QWidget(contextMenu);
|
QFrame *widget = new QFrame(contextMenu);
|
||||||
widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}");
|
widget->setObjectName("gradFrame"); //Use qss
|
||||||
|
//widget->setStyleSheet( ".QWidget{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,stop:0 #FEFEFE, stop:1 #E8E8E8); border: 1px solid #CCCCCC;}");
|
||||||
|
|
||||||
// create menu header
|
// create menu header
|
||||||
QHBoxLayout *hbox = new QHBoxLayout(widget);
|
QHBoxLayout *hbox = new QHBoxLayout(widget);
|
||||||
@ -262,12 +263,14 @@ QMenu *RSTreeWidget::createStandardContextMenu(QMenu *contextMenu)
|
|||||||
hbox->setSpacing(6);
|
hbox->setSpacing(6);
|
||||||
|
|
||||||
QLabel *iconLabel = new QLabel(widget);
|
QLabel *iconLabel = new QLabel(widget);
|
||||||
|
iconLabel->setObjectName("trans_Icon");
|
||||||
QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/settings.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
|
QPixmap pix = FilesDefs::getPixmapFromQtResourcePath(":/images/settings.png").scaledToHeight(QFontMetricsF(iconLabel->font()).height()*1.5);
|
||||||
iconLabel->setPixmap(pix);
|
iconLabel->setPixmap(pix);
|
||||||
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
iconLabel->setMaximumSize(iconLabel->frameSize().height() + pix.height(), pix.width());
|
||||||
hbox->addWidget(iconLabel);
|
hbox->addWidget(iconLabel);
|
||||||
|
|
||||||
QLabel *textLabel = new QLabel("<strong>" + tr("Tree View Options") + "</strong>", widget);
|
QLabel *textLabel = new QLabel("<strong>" + tr("Tree View Options") + "</strong>", widget);
|
||||||
|
textLabel->setObjectName("trans_Text");
|
||||||
hbox->addWidget(textLabel);
|
hbox->addWidget(textLabel);
|
||||||
|
|
||||||
QSpacerItem *spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
QSpacerItem *spacerItem = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
|
||||||
|
Loading…
Reference in New Issue
Block a user