82 |
99 |
100 |
101 |
102 |
103 |
104 |
=_('WinThumbsPreloader is a simple open source tool for preloading thumbnails in Windows Explorer. Just right click on the folder to call the context menu and select WinThumbsPreloader > Preload thumbnails in the menu.')?>
105 |
106 |
=_('Key features')?>
107 |
108 | =sprintf(_('Free, no advertisements, %sopen source%s'), '', ' ')?>
109 | =_('Preload thumbnails for entire folder and (optionally) it\'s subfolders')?>
110 | =_('Integration with Windows Explorer')?>
111 | =_('Command line interface')?>
112 |
113 |
114 |
134 |
135 |
136 |
137 |
--------------------------------------------------------------------------------
/Website/main.css:
--------------------------------------------------------------------------------
1 | body {
2 | font-family: 'Open Sans', sans-serif;
3 | color: #212529;
4 | font-size: 16px;
5 | line-height: 1.5;
6 | }
7 |
8 | a {
9 | color: #212529;
10 | }
11 |
12 | .container {
13 | width: 970px;
14 | margin: 0 auto;
15 | }
16 |
17 | .header {
18 | text-align: center;
19 | margin-bottom: 47px;
20 | }
21 |
22 | h1 {
23 | line-height: 1;
24 | font-size: 54px;
25 | margin: 40px 0 10px 0;
26 | }
27 |
28 | .lead {
29 | margin: 21px 0 33px 0;
30 | }
31 |
32 | .buttons {
33 | display: flex;
34 | justify-content: center;
35 | }
36 |
37 | .button {
38 | -webkit-user-select: none;
39 | -moz-user-select: none;
40 | -ms-user-select: none;
41 | user-select: none;
42 | text-decoration: none;
43 | padding: 8px 16px;
44 | margin: 0 8px;
45 | border-radius: 5px;
46 | font-size: 20px;
47 | color: #212529;
48 | border: 1px solid #212529;
49 | transition:
50 | color 100ms ease,
51 | background-color 100ms ease,
52 | border-color 100ms ease;
53 | }
54 |
55 | .button:hover {
56 | color: #fff;
57 | background-color: #212529;
58 | border-color: #212529;
59 | }
60 |
61 | .download {
62 | position: relative;
63 | color: #fff;
64 | background-color: #212529;
65 | border-color: #212529;
66 | padding: 0;
67 | }
68 |
69 | .downloadLink {
70 | padding: 8px 16px;
71 | color: #ffffff;
72 | text-decoration: none;
73 | display: inline-block;
74 | }
75 |
76 | .downloadInfo {
77 | position: absolute;
78 | color: #212529;
79 | font-size: 14px;
80 | white-space: nowrap;
81 | text-align: left;
82 | top: 100%;
83 | margin-top: 10px;
84 | left: 0;
85 | border: 1px solid #212529;
86 | border-radius: 5px;
87 | padding: 8px;
88 | background-color: #ffffff;
89 | pointer-events: none;
90 | z-index: 1;
91 | opacity: 0;
92 | transition: opacity 100ms ease;
93 | }
94 |
95 | .downloadInfo:before {
96 | content: '';
97 | position: absolute;
98 | left: 0;
99 | width: 100%;
100 | top: -10px;
101 | height: 10px;
102 | }
103 |
104 | .download:hover .downloadInfo {
105 | opacity: 1;
106 | pointer-events: auto;
107 | }
108 |
109 | .downloadInfoArrow {
110 | position: absolute;
111 | top: 100%;
112 | margin-top: 3px;
113 | left: 50%;
114 | margin-left: -7px;
115 | pointer-events: none;
116 | z-index: 2;
117 | opacity: 0;
118 | transition: opacity 100ms ease;
119 | }
120 |
121 | .download:hover .downloadInfoArrow {
122 | opacity: 1;
123 | }
124 |
125 | .downloadInfoArrow:before {
126 | content: '';
127 | display: block;
128 | width: 0;
129 | height: 0;
130 | border-style: solid;
131 | border-width: 0 7px 7px 7px;
132 | border-color: transparent transparent #212529 transparent;
133 | }
134 |
135 | .downloadInfoArrow:after {
136 | content: '';
137 | position: absolute;
138 | margin-top: -5px;
139 | display: block;
140 | width: 0;
141 | height: 0;
142 | border-style: solid;
143 | border-width: 0 7px 7px 7px;
144 | border-color: transparent transparent #ffffff transparent;
145 | }
146 |
147 | .screenshotContainer {
148 | text-align: center;
149 | margin-bottom: 44px; /* 3px in bottom of a video */
150 | }
151 |
152 | .description {
153 | margin-bottom: 47px;
154 | }
155 |
156 | .featuresContainer {
157 | text-align: center;
158 | margin-bottom: 47px;
159 | }
160 |
161 | h2 {
162 | line-height: 1;
163 | font-size: 26px;
164 | margin-bottom: 15px;
165 | }
166 |
167 | ul {
168 | display: table;
169 | white-space: nowrap;
170 | margin: 0 auto;
171 | text-align: left;
172 | }
173 |
174 | .footer {
175 | border-top: 1px solid #212529;
176 | font-size: 14px;
177 | display: flex;
178 | justify-content: space-between;
179 | align-items: center;
180 | padding: 10px 0;
181 | }
182 |
183 | .language {
184 | cursor: pointer;
185 | position: relative;
186 | }
187 |
188 | .language:after {
189 | display: inline-block;
190 | position: relative;
191 | content: "";
192 | top: -3px;
193 | right: 0;
194 | margin-left: 4px;
195 | width: 6px;
196 | height: 6px;
197 | transform: rotate(45deg);
198 | border-right: 2px solid #212529;
199 | border-bottom: 2px solid #212529;
200 | transition:
201 | transform 100ms ease,
202 | top 100ms ease;
203 | }
204 |
205 | .language:hover:after {
206 | transform: rotate(-135deg);
207 | top: 1px;
208 | }
209 |
210 | .language:before {
211 | content: '';
212 | position: absolute;
213 | width: 100%;
214 | height: 17px;
215 | top: -11px;
216 | }
217 |
218 | .flag {
219 | display: inline-block;
220 | width: 24px;
221 | height: 24px;
222 | vertical-align: -6px;
223 | margin: 0 4px;
224 | background-image: url('images/flags.png');
225 | background-repeat: no-repeat;;
226 | }
227 |
228 | .flag.en { background-position: 0 0px; }
229 | .flag.ru { background-position: 0 -24px; }
230 |
231 | .languages {
232 | position: absolute;
233 | bottom: 100%;
234 | margin-bottom: 10px;
235 | right: 0;
236 | border-radius: 5px;
237 | color: #212529;
238 | border: 1px solid #212529;
239 | background-color: #ffffff;
240 | pointer-events: none;
241 | opacity: 0;
242 | transition: opacity 100ms ease;
243 | }
244 |
245 | .language:hover .languages {
246 | opacity: 1;
247 | pointer-events: auto;
248 | }
249 |
250 | .languages:before, .languages:after {
251 | content: '';
252 | display: block;
253 | position: absolute;
254 | left: 50%;
255 | margin-left: -7px;
256 | top: 100%;
257 | margin-top: 1px;
258 | width: 0;
259 | height: 0;
260 | border-style: solid;
261 | border-width: 7px 7px 0 7px;
262 | border-color: #212529 transparent transparent transparent;
263 | }
264 |
265 | .languages:after {
266 | margin-top: -1px;
267 | border-color: #ffffff transparent transparent transparent;
268 | }
269 |
270 | .languageLink {
271 | position: relative;
272 | display: block;
273 | text-decoration: none;
274 | font-weight: 700;
275 | padding: 8px 8px 8px 4px;
276 | transition:
277 | color 100ms ease,
278 | background-color 100ms ease;
279 | }
280 |
281 | .languageLink:hover {
282 | color: #ffffff;
283 | background-color: #212529;
284 | }
285 |
286 | .languageLink:last-child:before {
287 | content: '';
288 | position: absolute;
289 | display: block;
290 | left: 50%;
291 | margin-left: -8px;
292 | top: 100%;
293 | margin-top: -1px;
294 | width: 0;
295 | height: 0;
296 | border-style: solid;
297 | border-width: 8px 8px 0 8px;
298 | border-color: #212529 transparent transparent transparent;
299 | opacity: 0;
300 | z-index: 1;
301 | transition: opacity 100ms ease;
302 | }
303 |
304 | .languageLink:last-child:hover:before {
305 | opacity: 1;
306 | }
--------------------------------------------------------------------------------
/InnoSetup/installer.iss:
--------------------------------------------------------------------------------
1 | #define MyAppName "WinThumbsPreloader"
2 | #define MyAppReleaseDirectory "..\WinThumbsPreloader\WinThumbsPreloader\bin\Release"
3 | #define MyAppFilename MyAppName + ".exe"
4 | #define MyAppFilepath MyAppReleaseDirectory + "\" + MyAppFilename
5 | #dim Version[4]
6 | #expr ParseVersion(MyAppFilepath, Version[0], Version[1], Version[2], Version[3])
7 | #define MyAppVersion Str(Version[0]) + "." + Str(Version[1]) + "." + Str(Version[2])
8 | #define MyAppPublisher "Dmitry Bruhov"
9 | #define MyAppId "CF49DD18-AA76-4E79-97C2-4FEAED1AED5F"
10 |
11 | #include