some design improvements for Advanced Search

git-svn-id: http://svn.code.sf.net/p/retroshare/code/trunk@2358 b45a01b8-16f6-495d-af2f-9b41ad6348cc
This commit is contained in:
defnax 2010-02-18 02:14:09 +00:00
parent f9af70d361
commit ec2a0a3057
4 changed files with 356 additions and 285 deletions

View File

@ -1,102 +1,207 @@
<ui version="4.0" >
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>AdvancedSearchDialog</class>
<widget class="QWidget" name="AdvancedSearchDialog" >
<property name="geometry" >
<widget class="QDialog" name="AdvancedSearchDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>820</width>
<width>838</width>
<height>130</height>
</rect>
</property>
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
<property name="windowTitle">
<string>RetroShare: Advanced Search</string>
</property>
<property name="minimumSize" >
<property name="windowIcon">
<iconset resource="../images.qrc">
<normaloff>:/images/rstray3.png</normaloff>:/images/rstray3.png</iconset>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<property name="margin">
<number>0</number>
</property>
<item row="0" column="0">
<widget class="QFrame" name="frame">
<property name="minimumSize">
<size>
<width>820</width>
<width>0</width>
<height>130</height>
</size>
</property>
<property name="sizeIncrement" >
<property name="styleSheet">
<string notr="true">QFrame#frame{
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #FEFEFE, stop:1 #E8E8E8);
border: 1px solid #CCCCCC;}
QToolButton, QPushButton, QComboBox {
border-image: url(:/images/btn_26.png) 4;
border-width: 4;
padding: 0px 6px;
font-size: 12px;
}
*{
color: black;
}
QComboBox QAbstractItemView {
background-color:white;
}
QComboBox::down-arrow {
image: url(:/images/combobox_arrow.png);
}
QComboBox:drop-down
{
subcontrol-origin: padding;
subcontrol-position: top right;
border-left-style: none;
border-top-right-radius: 1px;
border-bottom-right-radius: 1px;
}
QToolButton:hover, QPushButton:hover, QComboBox:hover {
border-image: url(:/images/btn_26_hover.png) 4;
}
QToolButton:disabled, QPushButton:disabled, QComboBox::disabled {
color:gray;
}
QToolButton:pressed, QPushButton:pressed{
border-image: url(:/images/btn_26_pressed.png) 4;
}</string>
</property>
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="0" column="0">
<widget class="QGroupBox" name="searchCriteriaBox">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
<horstretch>1</horstretch>
<verstretch>1</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
<width>800</width>
<height>60</height>
</size>
</property>
<property name="windowTitle" >
<string>RetrosShare: Advanced Search</string>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="windowIcon" >
<iconset resource="../images.qrc" >:/images/advsearch_24x24.png</iconset>
<property name="styleSheet">
<string notr="true">QWidget#frame{
background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1,
stop:0 #FEFEFE, stop:1 #E8E8E8);
border: 1px solid #CCCCCC;}</string>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
<property name="title">
<string>Search Criteria</string>
</property>
<property name="spacing" >
<number>6</number>
<property name="alignment">
<set>Qt::AlignJustify|Qt::AlignTop</set>
</property>
<item>
<layout class="QHBoxLayout" >
<property name="margin" >
<layout class="QVBoxLayout">
<property name="spacing">
<number>0</number>
</property>
<property name="spacing" >
<number>6</number>
<property name="margin">
<number>2</number>
</property>
<item>
<widget class="QPushButton" name="addExprButton" >
<property name="toolTip" >
<string>Add a further search criterion.</string>
<widget class="QFrame" name="expressionsFrame">
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="text" >
<string> Add a selection criterion</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/add_24x24.png</iconset>
</property>
<property name="iconSize" >
<property name="minimumSize">
<size>
<width>24</width>
<height>24</height>
<width>600</width>
<height>26</height>
</size>
</property>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<enum>Qt::Horizontal</enum>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType" >
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>21</width>
<height>20</height>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
<item row="1" column="0">
<layout class="QHBoxLayout" name="_2">
<property name="spacing">
<number>6</number>
</property>
<property name="margin">
<number>0</number>
</property>
<item>
<widget class="QPushButton" name="resetButton" >
<property name="toolTip" >
<widget class="QPushButton" name="addExprButton">
<property name="toolTip">
<string>Add a further search criterion.</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/add_24x24.png</normaloff>:/images/add_24x24.png</iconset>
</property>
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
</size>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="resetButton">
<property name="toolTip">
<string>Reset the search criteria.</string>
</property>
<property name="text" >
<string> Reset</string>
<property name="text">
<string/>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/reset.png</iconset>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/reset.png</normaloff>:/images/reset.png</iconset>
</property>
<property name="iconSize" >
<property name="iconSize">
<size>
<width>24</width>
<height>24</height>
@ -106,10 +211,10 @@
</item>
<item>
<spacer>
<property name="orientation" >
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>381</width>
<height>27</height>
@ -118,93 +223,46 @@
</spacer>
</item>
<item>
<widget class="QPushButton" name="cancelButton" >
<property name="toolTip" >
<widget class="QPushButton" name="cancelButton">
<property name="minimumSize">
<size>
<width>0</width>
<height>26</height>
</size>
</property>
<property name="toolTip">
<string>Cancels the search.</string>
</property>
<property name="text" >
<property name="text">
<string>Cancel</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="executeButton" >
<property name="toolTip" >
<widget class="QPushButton" name="executeButton">
<property name="minimumSize">
<size>
<width>0</width>
<height>26</height>
</size>
</property>
<property name="toolTip">
<string>Perform the advanced search.</string>
</property>
<property name="text" >
<property name="text">
<string>Search</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="searchCriteriaBox" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>3</vsizetype>
<horstretch>1</horstretch>
<verstretch>1</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>800</width>
<height>60</height>
</size>
</property>
<property name="autoFillBackground" >
<bool>true</bool>
</property>
<property name="title" >
<string>Search Criteria</string>
</property>
<property name="alignment" >
<set>Qt::AlignJustify|Qt::AlignTop</set>
</property>
<layout class="QVBoxLayout" >
<property name="margin" >
<number>9</number>
</property>
<property name="spacing" >
<number>0</number>
</property>
<item>
<widget class="QFrame" name="expressionsFrame" >
<property name="sizePolicy" >
<sizepolicy>
<hsizetype>3</hsizetype>
<vsizetype>3</vsizetype>
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<size>
<width>600</width>
<height>35</height>
</size>
</property>
<property name="autoFillBackground" >
<bool>true</bool>
</property>
<property name="frameShape" >
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow" >
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<resources>
<include location="../images.qrc" />
<include location="../images.qrc"/>
</resources>
<connections>
<connection>
@ -213,13 +271,13 @@
<receiver>AdvancedSearchDialog</receiver>
<slot>close()</slot>
<hints>
<hint type="sourcelabel" >
<x>481</x>
<y>211</y>
<hint type="sourcelabel">
<x>736</x>
<y>102</y>
</hint>
<hint type="destinationlabel" >
<x>370</x>
<y>5</y>
<hint type="destinationlabel">
<x>418</x>
<y>64</y>
</hint>
</hints>
</connection>

View File

@ -54,7 +54,7 @@ AdvancedSearchDialog::AdvancedSearchDialog(QWidget * parent) : QDialog (parent)
void AdvancedSearchDialog::addNewExpression()
{
int sizeChange = metrics->height() + 35;
int sizeChange = metrics->height() + 26;
ExpressionWidget *expr;
if (expressions->size() == 0)
@ -84,7 +84,7 @@ void AdvancedSearchDialog::addNewExpression()
void AdvancedSearchDialog::deleteExpression(ExpressionWidget* expr)
{
int sizeChange = metrics->height() + 35;
int sizeChange = metrics->height() + 26;
expressions->removeAll(expr);
expr->hide();

View File

@ -1,161 +1,173 @@
<ui version="4.0" >
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>ExpressionWidget</class>
<widget class="QWidget" name="ExpressionWidget" >
<property name="geometry" >
<widget class="QWidget" name="ExpressionWidget">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>30</height>
<height>34</height>
</rect>
</property>
<property name="sizePolicy" >
<sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" >
<property name="sizePolicy">
<sizepolicy hsizetype="MinimumExpanding" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<property name="minimumSize">
<size>
<width>800</width>
<height>30</height>
</size>
</property>
<property name="maximumSize" >
<property name="maximumSize">
<size>
<width>16777215</width>
<height>55</height>
</size>
</property>
<property name="windowTitle" >
<property name="windowTitle">
<string>Expression Widget</string>
</property>
<property name="toolTip" >
<property name="toolTip">
<string/>
</property>
<property name="autoFillBackground" >
<bool>true</bool>
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="styleSheet">
<string notr="true">QWidget#ExpressionWidget{
background: transparent;}</string>
</property>
<layout class="QHBoxLayout">
<property name="spacing">
<number>6</number>
</property>
<property name="margin">
<number>6</number>
</property>
<layout class="QHBoxLayout" >
<item>
<widget class="QFrame" name="exprOpFrame" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<widget class="QFrame" name="exprOpFrame">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<property name="minimumSize">
<size>
<width>90</width>
<height>30</height>
<height>26</height>
</size>
</property>
<property name="frameShape" >
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow" >
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="exprTermFrame" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<widget class="QFrame" name="exprTermFrame">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<property name="minimumSize">
<size>
<width>100</width>
<height>30</height>
<height>26</height>
</size>
</property>
<property name="frameShape" >
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow" >
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="exprConditionFrame" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<widget class="QFrame" name="exprConditionFrame">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<property name="minimumSize">
<size>
<width>180</width>
<height>30</height>
<height>26</height>
</size>
</property>
<property name="frameShape" >
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow" >
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item>
<widget class="QFrame" name="exprParamFrame" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" >
<widget class="QFrame" name="exprParamFrame">
<property name="sizePolicy">
<sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<property name="minimumSize">
<size>
<width>350</width>
<height>30</height>
<height>26</height>
</size>
</property>
<property name="frameShape" >
<property name="frameShape">
<enum>QFrame::NoFrame</enum>
</property>
<property name="frameShadow" >
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="deleteExprButton" >
<property name="sizePolicy" >
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" >
<widget class="QPushButton" name="deleteExprButton">
<property name="sizePolicy">
<sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize" >
<property name="minimumSize">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
<property name="toolTip" >
<property name="toolTip">
<string>Delete this expression</string>
</property>
<property name="text" >
<property name="text">
<string/>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/delete.png</iconset>
<property name="icon">
<iconset resource="../images.qrc">
<normaloff>:/images/delete.png</normaloff>:/images/delete.png</iconset>
</property>
</widget>
</item>
<item>
<spacer>
<property name="orientation" >
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" >
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>30</height>
@ -166,7 +178,8 @@
</layout>
</widget>
<resources>
<include location="../images.qrc" />
<include location="../images.qrc"/>
<include location="../images.qrc"/>
</resources>
<connections/>
</ui>

View File

@ -23,7 +23,7 @@
#define STR_FIELDS_MIN_WIDTH 200
#define SIZE_FIELDS_MIN_WIDTH 80
#define DATE_FIELDS_MIN_WIDTH 100
#define FIELDS_MIN_HEIGHT 30
#define FIELDS_MIN_HEIGHT 26
#define LOGICAL_OP_CB_WIDTH 70
#define STD_CB_WIDTH 90
@ -416,7 +416,7 @@ void ExprParamElement::adjustForSearchType(ExprSearchType type)
QHBoxLayout* hbox = createLayout();
internalframe->setLayout(hbox);
internalframe->setMinimumSize(320,30);
internalframe->setMinimumSize(320,26);
if (isStringSearchExpression())
{
@ -499,7 +499,7 @@ void ExprParamElement::setRangedSearch(bool ranged)
toLbl->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
if (searchType == DateSearch) {
internalframe->setMinimumSize(250,30);
internalframe->setMinimumSize(250,26);
QDateEdit * dateEdit = new QDateEdit(QDate::currentDate(), internalframe);
dateEdit->setMinimumSize(DATE_FIELDS_MIN_WIDTH, FIELDS_MIN_HEIGHT);
dateEdit->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
@ -514,7 +514,7 @@ void ExprParamElement::setRangedSearch(bool ranged)
hbox->addWidget(dateEdit, Qt::AlignLeft);
hbox->addStretch();
} else if (searchType == SizeSearch) {
internalframe->setMinimumSize(340,30);
internalframe->setMinimumSize(340,26);
QLineEdit * lineEdit = new QLineEdit(internalframe);
lineEdit->setMinimumSize(SIZE_FIELDS_MIN_WIDTH, FIELDS_MIN_HEIGHT);
lineEdit->setMaximumSize(SIZE_FIELDS_MIN_WIDTH, FIELDS_MIN_HEIGHT);