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

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>
<layout class="QHBoxLayout" > <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>
<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);