search-entry: Update style

Update the style of the search entry to match the latest mockups[0].

 - use a (non-reactive) loupe icon when no search is active
 - use themed symbolic icons
 - make the entry rounder
 - tweak gradient colors
 - use an inset shadow

[0] http://git.gnome.org/browse/gnome-shell-design/plain/mockups/static/searchbox.png

https://bugzilla.gnome.org/show_bug.cgi?id=642335
This commit is contained in:
Florian Müllner 2011-02-10 22:11:48 +01:00
parent 51bfbca2f1
commit 9925264410
5 changed files with 56 additions and 179 deletions

View File

@ -17,11 +17,6 @@ dist_searchproviders_DATA = \
search_providers/google.xml \ search_providers/google.xml \
search_providers/wikipedia.xml search_providers/wikipedia.xml
imagesdir = $(pkgdatadir)/images
dist_images_DATA = \
close-black.svg \
magnifier.svg
themedir = $(pkgdatadir)/theme themedir = $(pkgdatadir)/theme
dist_theme_DATA = \ dist_theme_DATA = \
theme/calendar-arrow-left.svg \ theme/calendar-arrow-left.svg \

View File

@ -1,66 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
id="Foreground"
x="0px"
y="0px"
width="16px"
height="16px"
viewBox="0 0 16 16"
enable-background="new 0 0 16 16"
xml:space="preserve"
sodipodi:version="0.32"
inkscape:version="0.46+devel"
sodipodi:docname="close-black.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
id="metadata2399"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs2397"><linearGradient
id="linearGradient3173"><stop
style="stop-color:#c4c4c4;stop-opacity:1;"
offset="0"
id="stop3175" /><stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="1"
id="stop3177" /></linearGradient><inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 8 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="16 : 8 : 1"
inkscape:persp3d-origin="8 : 5.3333333 : 1"
id="perspective2401" /></defs><sodipodi:namedview
inkscape:window-height="811"
inkscape:window-width="1272"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
guidetolerance="10.0"
gridtolerance="10.0"
objecttolerance="10.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#ffffff"
id="base"
showgrid="false"
inkscape:zoom="32.125"
inkscape:cx="8"
inkscape:cy="10.440056"
inkscape:window-x="40"
inkscape:window-y="40"
inkscape:current-layer="Foreground" />
<path
fill-rule="evenodd"
clip-rule="evenodd"
d="M10.5,3.5l2,2L10,8l2.5,2.5l-2,2L8,10l-2.5,2.5l-2-2L6,8L3.5,5.5l2-2L8,6L10.5,3.5 z M0,8c0-4.418,3.582-8,8-8s8,3.582,8,8s-3.582,8-8,8S0,12.418,0,8z"
id="path2394"
style="fill-opacity:1;fill:#545454" />
</svg>

Before

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -1,80 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.0"
id="Foreground"
x="0px"
y="0px"
width="18"
height="18"
viewBox="0 0 18 18"
enable-background="new 0 0 29 18"
xml:space="preserve"
sodipodi:version="0.32"
inkscape:version="0.46+devel"
sodipodi:docname="magnifier.svg"
inkscape:output_extension="org.inkscape.output.svg.inkscape"><metadata
id="metadata16"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs14"><inkscape:perspective
sodipodi:type="inkscape:persp3d"
inkscape:vp_x="0 : 9 : 1"
inkscape:vp_y="0 : 1000 : 0"
inkscape:vp_z="29 : 9 : 1"
inkscape:persp3d-origin="14.5 : 6 : 1"
id="perspective18" /></defs><sodipodi:namedview
inkscape:window-height="728"
inkscape:window-width="1103"
inkscape:pageshadow="2"
inkscape:pageopacity="1"
guidetolerance="10.0"
gridtolerance="10.0"
objecttolerance="10.0"
borderopacity="1.0"
bordercolor="#666666"
pagecolor="#000000"
id="base"
showgrid="true"
inkscape:zoom="27.260185"
inkscape:cx="9.5844061"
inkscape:cy="9.4435574"
inkscape:window-x="142"
inkscape:window-y="26"
inkscape:current-layer="Foreground"
inkscape:snap-global="true"
showguides="false"><inkscape:grid
type="xygrid"
id="grid2391"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" /></sodipodi:namedview>
<g
id="g5"
style="fill:#ffffff;fill-opacity:1"
transform="translate(-4,-0.023114)">
<path
d="m 6.246,13.98 c -0.319,-0.319 -0.319,-0.837 0,-1.157 L 9.963,9.106 c 0.319,-0.319 0.837,-0.319 1.157,0 l 0.786,0.787 c 0.32,0.319 0.32,0.837 0,1.157 l -3.717,3.717 c -0.32,0.319 -0.838,0.319 -1.157,0 l -0.786,-0.787 0,0 z"
id="path7"
style="fill:#ffffff;fill-opacity:1" />
<path
d="M 9.076,11.937"
id="path9"
style="fill:#ffffff;fill-opacity:1" />
</g>
<path
clip-rule="evenodd"
d="m 7.25,7.476886 c 0,-1.243 1.007,-2.25 2.2499998,-2.25 1.2430002,0 2.2500002,1.007 2.2500002,2.25 0,1.243 -1.007,2.25 -2.2500002,2.25 C 8.257,9.726886 7.25,8.719886 7.25,7.476886 z m -2.25,0 c 0,-2.485 2.015,-4.5 4.4999998,-4.5 2.4850002,0 4.5000002,2.015 4.5000002,4.5 0,2.4849998 -2.015,4.5 -4.5000002,4.5 C 7.015,11.976886 5,9.9618858 5,7.476886 z"
id="path11"
style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd" />
</svg>

Before

Width:  |  Height:  |  Size: 2.9 KiB

View File

@ -346,34 +346,41 @@ StTooltip StLabel {
} }
#searchEntry { #searchEntry {
padding: 4px 8px; padding: 4px 12px;
border-radius: 12px; border-radius: 17px;
color: rgb(128, 128, 128); color: rgb(128, 128, 128);
border: 2px solid rgba(128, 128, 128, 0.4); border: 2px solid rgba(245,245,245,0.2);
background-gradient-start: rgba(0, 0, 0, 0.2); background-gradient-start: rgba(5,5,6,0.1);
background-gradient-end: rgba(128, 128, 128, 0.2); background-gradient-end: rgba(254,254,254,0.1);
background-gradient-direction: vertical; background-gradient-direction: vertical;
caret-color: rgb(128, 128, 128); caret-color: rgb(128, 128, 128);
caret-size: 1px; caret-size: 1px;
width: 250px; width: 250px;
transition-duration: 300; transition-duration: 300;
box-shadow: inset 0px 2px 4px rgba(0,0,0,0.6);
} }
#searchEntry:focus { #searchEntry:focus,
border: 2px solid #ffffff; #searchEntry:hover {
background-gradient-start: rgba(0, 0, 0, 0.2); border: 2px solid rgb(136,138,133);
background-gradient-end: #ffffff; background-gradient-start: rgb(200,200,200);
background-gradient-end: white;
background-gradient-direction: vertical; background-gradient-direction: vertical;
color: rgb(64, 64, 64);
font-weight: bold;
box-shadow: 0px 0px 6px 2px rgba(255,255,255,0.9);
transition-duration: 0;
} }
#searchEntry:hover { #searchEntry:hover {
border: 2px solid #e8e8e8; transition-duration: 300;
caret-color: #545454; }
transition-duration: 500;
#searchEntry:focus {
color: rgb(64, 64, 64);
font-weight: bold;
transition-duration: 0;
}
.search-entry-icon {
icon-size: 1.4em;
color: #8d8f8a;
} }
.view-tab-title { .view-tab-title {

View File

@ -31,18 +31,18 @@ SearchEntry.prototype = {
track_hover: true }); track_hover: true });
this.entry = this.actor.clutter_text; this.entry = this.actor.clutter_text;
this.actor.clutter_text.connect('text-changed', Lang.bind(this, this._inactiveIcon = new St.Icon({ style_class: 'search-entry-icon',
function() { icon_name: 'edit-find',
if (this.isActive()) icon_type: St.IconType.SYMBOLIC });
this.actor.set_secondary_icon_from_file(global.imagedir + this._activeIcon = new St.Icon({ style_class: 'search-entry-icon',
'close-black.svg'); icon_name: 'edit-clear',
else icon_type: St.IconType.SYMBOLIC });
this.actor.set_secondary_icon_from_file(null); this.actor.set_secondary_icon(this._inactiveIcon);
}));
this.actor.connect('secondary-icon-clicked', Lang.bind(this, this._iconClickedId = 0;
function() {
this.reset(); this.actor.clutter_text.connect('text-changed',
})); Lang.bind(this, this._onTextChanged));
this.actor.connect('destroy', Lang.bind(this, this._onDestroy)); this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this.actor.connect('notify::mapped', Lang.bind(this, this._onMapped)); this.actor.connect('notify::mapped', Lang.bind(this, this._onMapped));
@ -157,11 +157,32 @@ SearchEntry.prototype = {
} }
}, },
_onTextChanged: function() {
if (this.isActive()) {
this.actor.set_secondary_icon(this._activeIcon);
if (this._iconClickedId == 0)
this._iconClickedId = this.actor.connect('secondary-icon-clicked',
Lang.bind(this, function() {
this.reset();
}));
} else {
if (this._iconClickedId > 0)
this.actor.disconnect(this._iconClickedId);
this._iconClickedId = 0;
this.actor.set_secondary_icon(this._inactiveIcon);
}
},
_onDestroy: function() { _onDestroy: function() {
if (this._capturedEventId > 0) { if (this._capturedEventId > 0) {
global.stage.disconnect(this._capturedEventId); global.stage.disconnect(this._capturedEventId);
this._capturedEventId = 0; this._capturedEventId = 0;
} }
this._activeIcon = null;
this._inactiveIcon = null;
} }
}; };
Signals.addSignalMethods(SearchEntry.prototype); Signals.addSignalMethods(SearchEntry.prototype);