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> <class>AdvancedSearchDialog</class>
<widget class="QWidget" name="AdvancedSearchDialog" > <widget class="QDialog" name="AdvancedSearchDialog">
<property name="geometry" > <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>820</width> <width>838</width>
<height>130</height> <height>130</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy" > <property name="windowTitle">
<sizepolicy> <string>RetroShare: Advanced Search</string>
<hsizetype>0</hsizetype>
<vsizetype>0</vsizetype>
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </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> <size>
<width>820</width> <width>0</width>
<height>130</height> <height>130</height>
</size> </size>
</property> </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> <size>
<width>0</width> <width>800</width>
<height>0</height> <height>60</height>
</size> </size>
</property> </property>
<property name="windowTitle" > <property name="autoFillBackground">
<string>RetrosShare: Advanced Search</string> <bool>false</bool>
</property> </property>
<property name="windowIcon" > <property name="styleSheet">
<iconset resource="../images.qrc" >:/images/advsearch_24x24.png</iconset> <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> </property>
<layout class="QVBoxLayout" > <property name="title">
<property name="margin" > <string>Search Criteria</string>
<number>9</number>
</property> </property>
<property name="spacing" > <property name="alignment">
<number>6</number> <set>Qt::AlignJustify|Qt::AlignTop</set>
</property> </property>
<item> <layout class="QVBoxLayout">
<layout class="QHBoxLayout" > <property name="spacing">
<property name="margin" >
<number>0</number> <number>0</number>
</property> </property>
<property name="spacing" > <property name="margin">
<number>6</number> <number>2</number>
</property> </property>
<item> <item>
<widget class="QPushButton" name="addExprButton" > <widget class="QFrame" name="expressionsFrame">
<property name="toolTip" > <property name="sizePolicy">
<string>Add a further search criterion.</string> <sizepolicy hsizetype="MinimumExpanding" vsizetype="MinimumExpanding">
<horstretch>1</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<property name="text" > <property name="minimumSize">
<string> Add a selection criterion</string>
</property>
<property name="icon" >
<iconset resource="../images.qrc" >:/images/add_24x24.png</iconset>
</property>
<property name="iconSize" >
<size> <size>
<width>24</width> <width>600</width>
<height>24</height> <height>26</height>
</size> </size>
</property> </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> </widget>
</item> </item>
<item> <item>
<spacer> <spacer name="verticalSpacer">
<property name="orientation" > <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Vertical</enum>
</property> </property>
<property name="sizeType" > <property name="sizeHint" stdset="0">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" >
<size> <size>
<width>21</width> <width>20</width>
<height>20</height> <height>40</height>
</size> </size>
</property> </property>
</spacer> </spacer>
</item> </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> <item>
<widget class="QPushButton" name="resetButton" > <widget class="QPushButton" name="addExprButton">
<property name="toolTip" > <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> <string>Reset the search criteria.</string>
</property> </property>
<property name="text" > <property name="text">
<string> Reset</string> <string/>
</property> </property>
<property name="icon" > <property name="icon">
<iconset resource="../images.qrc" >:/images/reset.png</iconset> <iconset resource="../images.qrc">
<normaloff>:/images/reset.png</normaloff>:/images/reset.png</iconset>
</property> </property>
<property name="iconSize" > <property name="iconSize">
<size> <size>
<width>24</width> <width>24</width>
<height>24</height> <height>24</height>
@ -106,10 +211,10 @@
</item> </item>
<item> <item>
<spacer> <spacer>
<property name="orientation" > <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" > <property name="sizeHint" stdset="0">
<size> <size>
<width>381</width> <width>381</width>
<height>27</height> <height>27</height>
@ -118,93 +223,46 @@
</spacer> </spacer>
</item> </item>
<item> <item>
<widget class="QPushButton" name="cancelButton" > <widget class="QPushButton" name="cancelButton">
<property name="toolTip" > <property name="minimumSize">
<size>
<width>0</width>
<height>26</height>
</size>
</property>
<property name="toolTip">
<string>Cancels the search.</string> <string>Cancels the search.</string>
</property> </property>
<property name="text" > <property name="text">
<string>Cancel</string> <string>Cancel</string>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="executeButton" > <widget class="QPushButton" name="executeButton">
<property name="toolTip" > <property name="minimumSize">
<size>
<width>0</width>
<height>26</height>
</size>
</property>
<property name="toolTip">
<string>Perform the advanced search.</string> <string>Perform the advanced search.</string>
</property> </property>
<property name="text" > <property name="text">
<string>Search</string> <string>Search</string>
</property> </property>
</widget> </widget>
</item> </item>
</layout> </layout>
</item> </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> </layout>
</widget> </widget>
</item> </item>
</layout> </layout>
</widget> </widget>
<resources> <resources>
<include location="../images.qrc" /> <include location="../images.qrc"/>
</resources> </resources>
<connections> <connections>
<connection> <connection>
@ -213,13 +271,13 @@
<receiver>AdvancedSearchDialog</receiver> <receiver>AdvancedSearchDialog</receiver>
<slot>close()</slot> <slot>close()</slot>
<hints> <hints>
<hint type="sourcelabel" > <hint type="sourcelabel">
<x>481</x> <x>736</x>
<y>211</y> <y>102</y>
</hint> </hint>
<hint type="destinationlabel" > <hint type="destinationlabel">
<x>370</x> <x>418</x>
<y>5</y> <y>64</y>
</hint> </hint>
</hints> </hints>
</connection> </connection>

View File

@ -54,7 +54,7 @@ AdvancedSearchDialog::AdvancedSearchDialog(QWidget * parent) : QDialog (parent)
void AdvancedSearchDialog::addNewExpression() void AdvancedSearchDialog::addNewExpression()
{ {
int sizeChange = metrics->height() + 35; int sizeChange = metrics->height() + 26;
ExpressionWidget *expr; ExpressionWidget *expr;
if (expressions->size() == 0) if (expressions->size() == 0)
@ -84,7 +84,7 @@ void AdvancedSearchDialog::addNewExpression()
void AdvancedSearchDialog::deleteExpression(ExpressionWidget* expr) void AdvancedSearchDialog::deleteExpression(ExpressionWidget* expr)
{ {
int sizeChange = metrics->height() + 35; int sizeChange = metrics->height() + 26;
expressions->removeAll(expr); expressions->removeAll(expr);
expr->hide(); 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> <class>ExpressionWidget</class>
<widget class="QWidget" name="ExpressionWidget" > <widget class="QWidget" name="ExpressionWidget">
<property name="geometry" > <property name="geometry">
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>800</width> <width>800</width>
<height>30</height> <height>34</height>
</rect> </rect>
</property> </property>
<property name="sizePolicy" > <property name="sizePolicy">
<sizepolicy vsizetype="Minimum" hsizetype="MinimumExpanding" > <sizepolicy hsizetype="MinimumExpanding" vsizetype="Minimum">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize" > <property name="minimumSize">
<size> <size>
<width>800</width> <width>800</width>
<height>30</height> <height>30</height>
</size> </size>
</property> </property>
<property name="maximumSize" > <property name="maximumSize">
<size> <size>
<width>16777215</width> <width>16777215</width>
<height>55</height> <height>55</height>
</size> </size>
</property> </property>
<property name="windowTitle" > <property name="windowTitle">
<string>Expression Widget</string> <string>Expression Widget</string>
</property> </property>
<property name="toolTip" > <property name="toolTip">
<string/> <string/>
</property> </property>
<property name="autoFillBackground" > <property name="autoFillBackground">
<bool>true</bool> <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> </property>
<layout class="QHBoxLayout" >
<item> <item>
<widget class="QFrame" name="exprOpFrame" > <widget class="QFrame" name="exprOpFrame">
<property name="sizePolicy" > <property name="sizePolicy">
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" > <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize" > <property name="minimumSize">
<size> <size>
<width>90</width> <width>90</width>
<height>30</height> <height>26</height>
</size> </size>
</property> </property>
<property name="frameShape" > <property name="frameShape">
<enum>QFrame::NoFrame</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
<property name="frameShadow" > <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QFrame" name="exprTermFrame" > <widget class="QFrame" name="exprTermFrame">
<property name="sizePolicy" > <property name="sizePolicy">
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" > <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize" > <property name="minimumSize">
<size> <size>
<width>100</width> <width>100</width>
<height>30</height> <height>26</height>
</size> </size>
</property> </property>
<property name="frameShape" > <property name="frameShape">
<enum>QFrame::NoFrame</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
<property name="frameShadow" > <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QFrame" name="exprConditionFrame" > <widget class="QFrame" name="exprConditionFrame">
<property name="sizePolicy" > <property name="sizePolicy">
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" > <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize" > <property name="minimumSize">
<size> <size>
<width>180</width> <width>180</width>
<height>30</height> <height>26</height>
</size> </size>
</property> </property>
<property name="frameShape" > <property name="frameShape">
<enum>QFrame::NoFrame</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
<property name="frameShadow" > <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QFrame" name="exprParamFrame" > <widget class="QFrame" name="exprParamFrame">
<property name="sizePolicy" > <property name="sizePolicy">
<sizepolicy vsizetype="Fixed" hsizetype="Preferred" > <sizepolicy hsizetype="Preferred" vsizetype="Fixed">
<horstretch>1</horstretch> <horstretch>1</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize" > <property name="minimumSize">
<size> <size>
<width>350</width> <width>350</width>
<height>30</height> <height>26</height>
</size> </size>
</property> </property>
<property name="frameShape" > <property name="frameShape">
<enum>QFrame::NoFrame</enum> <enum>QFrame::NoFrame</enum>
</property> </property>
<property name="frameShadow" > <property name="frameShadow">
<enum>QFrame::Raised</enum> <enum>QFrame::Raised</enum>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<widget class="QPushButton" name="deleteExprButton" > <widget class="QPushButton" name="deleteExprButton">
<property name="sizePolicy" > <property name="sizePolicy">
<sizepolicy vsizetype="Fixed" hsizetype="Fixed" > <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
<horstretch>0</horstretch> <horstretch>0</horstretch>
<verstretch>0</verstretch> <verstretch>0</verstretch>
</sizepolicy> </sizepolicy>
</property> </property>
<property name="minimumSize" > <property name="minimumSize">
<size> <size>
<width>20</width> <width>20</width>
<height>20</height> <height>20</height>
</size> </size>
</property> </property>
<property name="toolTip" > <property name="toolTip">
<string>Delete this expression</string> <string>Delete this expression</string>
</property> </property>
<property name="text" > <property name="text">
<string/> <string/>
</property> </property>
<property name="icon" > <property name="icon">
<iconset resource="../images.qrc" >:/images/delete.png</iconset> <iconset resource="../images.qrc">
<normaloff>:/images/delete.png</normaloff>:/images/delete.png</iconset>
</property> </property>
</widget> </widget>
</item> </item>
<item> <item>
<spacer> <spacer>
<property name="orientation" > <property name="orientation">
<enum>Qt::Horizontal</enum> <enum>Qt::Horizontal</enum>
</property> </property>
<property name="sizeHint" > <property name="sizeHint" stdset="0">
<size> <size>
<width>0</width> <width>0</width>
<height>30</height> <height>30</height>
@ -166,7 +178,8 @@
</layout> </layout>
</widget> </widget>
<resources> <resources>
<include location="../images.qrc" /> <include location="../images.qrc"/>
<include location="../images.qrc"/>
</resources> </resources>
<connections/> <connections/>
</ui> </ui>

View File

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