Removed some unnecessary filter icons and added some new placeholder for the filter.

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@5779 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
thunder2 2012-11-06 00:28:11 +00:00
parent a9f70d0685
commit adee9517c1
13 changed files with 89 additions and 80 deletions

View file

@ -97,6 +97,7 @@ FriendSelectionWidget::FriendSelectionWidget(QWidget *parent) :
ui->friendList->sortItems(COLUMN_NAME, Qt::AscendingOrder);
ui->filterLineEdit->setPlaceholderText(tr("Search Friends"));
ui->filterLineEdit->showFilterIcon();
}
FriendSelectionWidget::~FriendSelectionWidget()

View file

@ -88,8 +88,6 @@ GroupTreeWidget::GroupTreeWidget(QWidget *parent) :
ui->filterLineEdit->addFilter(QIcon(), tr("Title"), FILTER_NAME_INDEX , tr("Search Title"));
ui->filterLineEdit->addFilter(QIcon(), tr("Description"), FILTER_DESC_INDEX , tr("Search Description"));
ui->filterLineEdit->setCurrentFilter(FILTER_NAME_INDEX);
// can be removed when the actions of the filter line edit have own placeholder text
ui->filterLineEdit->setPlaceholderText(tr("Enter a Keyword here"));
}
GroupTreeWidget::~GroupTreeWidget()

View file

@ -35,17 +35,7 @@ LineEditClear::LineEditClear(QWidget *parent)
: QLineEdit(parent)
{
mActionGroup = NULL;
mFilterButton = new QToolButton(this);
mFilterButton->setFixedSize(16, 16);
QPixmap filterPixmap(IMAGE_FILTER);
mFilterButton->setIcon(QIcon(filterPixmap));
mFilterButton->setIconSize(filterPixmap.size());
mFilterButton->setCursor(Qt::ArrowCursor);
mFilterButton->setStyleSheet("QToolButton { border: none; padding: 0px; }"
"QToolButton[popupMode=\"2\"] { padding-right: 10px; }"
"QToolButton::menu-indicator[popupMode=\"2\"] { subcontrol-origin: padding; subcontrol-position: bottom right; top: 5px; left: -3px; width: 7px; }");
mFilterButton->move(2, 2);
mFilterButton = NULL;
mClearButton = new QToolButton(this);
mClearButton->setFixedSize(16, 16);
@ -70,7 +60,7 @@ LineEditClear::LineEditClear(QWidget *parent)
int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
QSize msz = minimumSizeHint();
setMinimumSize(
qMax(msz.width(), mClearButton->sizeHint().height() + mFilterButton->sizeHint().width() + frameWidth * 2),
qMax(msz.width(), mClearButton->sizeHint().height() + /*mFilterButton->sizeHint().width() + */frameWidth * 2),
qMax(msz.height(), mClearButton->sizeHint().height() + frameWidth * 2));
}
@ -82,7 +72,7 @@ void LineEditClear::resizeEvent(QResizeEvent *)
#if QT_VERSION < 0x040700
sz = mFilterLabel->sizeHint();
mFilterLabel->move(frameWidth + mFilterButton->sizeHint().width() + 5, (rect().bottom() + 1 - sz.height())/2);
mFilterLabel->move(frameWidth + (mFilterButton ? mFilterButton->sizeHint().width() + 5 : 0), (rect().bottom() + 1 - sz.height())/2);
#endif
}
@ -118,7 +108,27 @@ void LineEditClear::reposButtons()
int frameWidth = style()->pixelMetric(QStyle::PM_DefaultFrameWidth);
setStyleSheet(QString("QLineEdit { padding-right: %1px; padding-left: %2px; }")
.arg(mClearButton->sizeHint().width() + frameWidth + 1)
.arg(mFilterButton->sizeHint().width() + frameWidth + 1));
.arg(mFilterButton ? mFilterButton->sizeHint().width() + frameWidth + 1 : 0));
}
void LineEditClear::showFilterIcon()
{
if (mFilterButton) {
return;
}
mFilterButton = new QToolButton(this);
mFilterButton->setFixedSize(16, 16);
QPixmap filterPixmap(IMAGE_FILTER);
mFilterButton->setIcon(QIcon(filterPixmap));
mFilterButton->setIconSize(filterPixmap.size());
mFilterButton->setCursor(Qt::ArrowCursor);
mFilterButton->setStyleSheet("QToolButton { border: none; padding: 0px; }"
"QToolButton[popupMode=\"2\"] { padding-right: 10px; }"
"QToolButton::menu-indicator[popupMode=\"2\"] { subcontrol-origin: padding; subcontrol-position: bottom right; top: 5px; left: -3px; width: 7px; }");
mFilterButton->move(2, 2);
reposButtons();
}
void LineEditClear::updateClearButton(const QString& text)
@ -133,6 +143,8 @@ void LineEditClear::addFilter(const QIcon &icon, const QString &text, int id, co
action->setCheckable(true);
mDescription[id] = description;
showFilterIcon();
if (mActionGroup == NULL) {
mFilterButton->setFixedSize(26, 16);
mFilterButton->setPopupMode(QToolButton::InstantPopup);
@ -157,6 +169,10 @@ void LineEditClear::addFilter(const QIcon &icon, const QString &text, int id, co
void LineEditClear::setCurrentFilter(int id)
{
if (mFilterButton == NULL) {
return;
}
QMenu *menu = mFilterButton->menu();
if (menu) {
Q_FOREACH (QAction *action, menu->actions()) {

View file

@ -43,6 +43,8 @@ public:
void setCurrentFilter(int id);
int currentFilter();
void showFilterIcon();
//#if QT_VERSION < 0x040700
// for Qt version with setPlaceholderText too to set the tooltip of the lineedit
void setPlaceholderText(const QString &text);