Merge lp:~teemperor/lightread/elementary-ui into lp:~cooperjona/lightread/quickly_trunk

Proposed by Raphael Isemann
Status: Needs review
Proposed branch: lp:~teemperor/lightread/elementary-ui
Merge into: lp:~cooperjona/lightread/quickly_trunk
Diff against target: 1530 lines (+1457/-4)
5 files modified
data/media/app/css/style_elementary.css (+1065/-0)
data/media/app/index_elementary.html (+300/-0)
debian/control (+1/-0)
lightread/LightreadWindow.py (+90/-3)
po/lightread.pot (+1/-1)
To merge this branch: bzr merge lp:~teemperor/lightread/elementary-ui
Reviewer Review Type Date Requested Status
consindo Pending
Review via email: mp+149006@code.launchpad.net

Description of the change

Added an optional use of the elementary UI as seen here http://i.imgur.com/RMNpvsu.jpg

If there is no granite-lib available on the system or the system is not elementary OS this merge will not affect lightread-behaviour in any way.

For quick questions i'm also available on #elementary-dev or #elementary on irc.freenode.net

To post a comment you must log in.
64. By Raphael Isemann

included a new style.css

Revision history for this message
Raphael Isemann (teemperor) wrote :

Credits for the style.css goes to the source in this news-article: http://www.elementaryupdate.com/2013/02/lightread-rss-app.html

65. By Raphael Isemann

added granite-gir dep

Revision history for this message
Nekhelesh Ramananthan (nik90) wrote :

Raphael all code merge proposals are done in Github. You can find it at https://github.com/stayradiated/LightRead

Unmerged revisions

65. By Raphael Isemann

added granite-gir dep

64. By Raphael Isemann

included a new style.css

63. By Raphael Isemann

added tooltips

62. By Raphael Isemann

added support for a optional Granite UI

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== added file 'data/media/app/css/style_elementary.css'
--- data/media/app/css/style_elementary.css 1970-01-01 00:00:00 +0000
+++ data/media/app/css/style_elementary.css 2013-02-27 22:46:21 +0000
@@ -0,0 +1,1065 @@
1button:focus {
2 outline: none; }
3
4a:focus {
5 outline: none; }
6
7::-webkit-scrollbar {
8 width: 5px; }
9
10::-webkit-scrollbar-thumb {
11 background: #4a90d9; }
12
13#articles::-webkit-scroller-thumb {
14 border-left: 1px solid #e1e1df; }
15
16#articles::-webkit-scrollbar-track {
17 border-left: 1px solid #9c9c9c; }
18
19#post-column::-webkit-scrollbar {
20 width: 4px; }
21
22#post iframe#instapaper::-webkit-scrollbar-track {
23 background: #f4f4f4; }
24
25body, html, .splitter {
26 height: 100%;
27 font-family: "Open Sans", "Ubuntu", "Helvetica", "Arial", sans-serif; }
28
29input, textarea {
30 font-family: "Open Sans", "Ubuntu", "Helvetica", "Arial", sans-serif; }
31
32#app {
33 overflow: hidden;
34 width: 100%; }
35 #app > .vsplitbar {
36 width: 1px;
37 cursor: col-resize;
38 background: #9c9c9c; }
39
40#right-side > .vsplitbar {
41 width: 1px;
42 cursor: col-resize;
43 background: white;
44 border-left: 1px solid #9c9c9c;
45 border-right: 3px solid transparent;
46 position: relative;
47 top: 1px; }
48 #right-side > .vsplitbar:after {
49 content: "";
50 position: absolute;
51 display: block;
52 top: auto;
53 bottom: 0;
54 left: 0;
55 right: auto;
56 width: 4px;
57 height: 36px;
58 background: -webkit-linear-gradient(top, #dbdbdb 0%, #c5c5c5 100%);
59 border-top: 1px solid #737373; }
60
61#feeds-column {
62 height: 100%;
63 width: 200px;
64 min-width: 20px;
65 background: #dbdbdb;
66 box-shadow: 0 1px 0 #7c7c7c inset; }
67 #feeds-column * {
68 -webkit-user-select: none; }
69 #feeds-column ul {
70 margin: 0;
71 padding: 0; }
72 #feeds-column #filters {
73 position: absolute;
74 display: block;
75 top: 0;
76 bottom: auto;
77 left: 0;
78 right: 0;
79 height: 76px;
80 border-bottom: 1px dashed rgba(0, 0, 0, 0.1); }
81 #feeds-column #feeds {
82 position: absolute;
83 display: block;
84 top: 77px;
85 bottom: 36px;
86 left: 0;
87 right: 0;
88 overflow-y: auto;
89 overflow-x: hidden;
90 border-top: 1px dashed rgba(255, 255, 255, 0.6); }
91 #feeds-column .empty-message {
92 display: none;
93 font-size: 13px;
94 font-family: "Raleway", "Open Sans", "Ubuntu", sans-serif;
95 text-shadow: 0 0 1px rgba(0, 0, 0, 0.01), 0 1px 0 white;
96 margin-top: 140px;
97 padding: 0 20px;
98 line-height: 20px;
99 color: #555555; }
100
101#articles-column {
102 min-width: 250px;
103 height: 100%;
104 width: 300px;
105 background: white;
106 box-shadow: 0 1px 0 #7c7c7c inset; }
107 #articles-column * {
108 -webkit-user-select: none; }
109 #articles-column #articles {
110 position: absolute;
111 display: block;
112 top: 0;
113 bottom: 36px;
114 left: 0;
115 right: 0;
116 overflow-y: scroll;
117 margin: 0;
118 padding: 0; }
119 #articles-column .bar {
120 display: -webkit-box; }
121
122#post-column {
123 min-width: 20px;
124 height: 100%;
125 margin-left: -5px;
126 padding-left: 5px;
127 background: white;
128 box-shadow: 0 1px 0 #7c7c7c inset; }
129 #post-column .bar.disabled #read-button,
130 #post-column .bar.disabled #star-button,
131 #post-column .bar.disabled #close-post-button,
132 #post-column .bar.disabled #instapaper-button,
133 #post-column .bar.disabled #share-button {
134 opacity: 0.4; }
135 #post-column #post-window {
136 position: absolute;
137 display: block;
138 top: 0;
139 bottom: 36px;
140 left: 0;
141 right: 0;
142 overflow-y: auto; }
143 #post-column #post-window.instapaper {
144 background: #f4f4f4; }
145 #post-column #post-window.instapaper #post {
146 margin: 0;
147 padding: 0;
148 max-width: 100%; }
149
150.scope:after, .scope:before {
151 content: "";
152 position: absolute;
153 display: block;
154 top: auto;
155 bottom: 35px;
156 left: 50%;
157 right: auto;
158 border: solid transparent;
159 height: 0;
160 width: 0;
161 position: absolute;
162 pointer-events: none;
163 z-index: 10; }
164
165.scope:after {
166 border-bottom-color: #dbdbdb;
167 border-width: 10px;
168 left: 50%;
169 margin-left: -10px; }
170
171.scope:before {
172 border-bottom-color: #737373;
173 border-width: 11px;
174 left: 50%;
175 margin-left: -11px; }
176
177#hidden {
178 display: none; }
179
180.bar {
181 position: absolute;
182 display: block;
183 top: auto;
184 bottom: 0;
185 left: 0;
186 right: 0;
187 height: 35px;
188 background: -webkit-linear-gradient(top, #dbdbdb 0%, #c5c5c5 100%);
189 border-top: 1px solid #737373;
190 font-size: 0; }
191 .bar div {
192 display: inline-block; }
193 .bar button {
194 width: 35px;
195 height: 35px;
196 border: 0;
197 line-height: 35px;
198 vertical-align: top;
199 background: transparent;
200 padding: 0; }
201
202#refresh-button {
203 margin: 0 2px;
204 background-image: url(../images/sync.png);
205 background-repeat: no-repeat;
206 background-position: 5px -211px; }
207
208#mark-all-as-read-trigger {
209 background: url(../images/btn_mark_all_read.png);
210 margin: 0 2px;
211 width: 36px; }
212
213#mark-all-as-read-popup {
214 width: 150px;
215 height: 32px;
216 position: absolute;
217 display: block;
218 top: auto;
219 bottom: 35px;
220 left: 4px;
221 right: auto;
222 border-radius: 5px;
223 background: rgba(0, 0, 0, 0.7);
224 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1), inset 0 1px rgba(255, 255, 255, 0.3);
225 border: 1px solid black;
226 display: none;
227 z-index: 11; }
228 #mark-all-as-read-popup:after, #mark-all-as-read-popup:before {
229 top: 100%;
230 border: solid transparent;
231 content: " ";
232 height: 0;
233 width: 0;
234 position: absolute;
235 pointer-events: none; }
236 #mark-all-as-read-popup:after {
237 border-top-color: rgba(0, 0, 0, 0.8);
238 border-width: 8px;
239 left: 10%;
240 margin-left: -8px; }
241 #mark-all-as-read-popup #mark-all-as-read-button {
242 background: -webkit-linear-gradient(top, #3a3a3a 0%, #232323 100%);
243 width: 138px;
244 height: 22px;
245 margin: 4px 5px;
246 border-radius: 3px;
247 box-shadow: inset 0 1px rgba(255, 255, 255, 0.2), 0 1px rgba(255, 255, 255, 0.2);
248 color: #dddddd;
249 font-family: "Open Sans", "Ubuntu Medium", "Ubuntu", "Helvetica", "Arial", sans-serif;
250 font-size: 13px;
251 font-weight: 600;
252 line-height: 22px;
253 text-align: center;
254 border: 1px solid #1a1a1a;
255 cursor: default;
256 text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); }
257 #mark-all-as-read-popup #mark-all-as-read-button:active {
258 background: -webkit-linear-gradient(bottom, #3a3a3a 0%, #232323 100%); }
259
260#add-button {
261 background: url(../images/btn_add.png) no-repeat 8px 8px;
262 float: right; }
263
264#search-button {
265 background: url(../images/btn_search.png);
266 margin: 0 2px; }
267
268#close-post-button {
269 background: url(../images/btn_close.png) no-repeat 8px 8px;
270 margin: 0 2px; }
271
272#star-button {
273 background: url(../images/btn_star.png) no-repeat 8px -18px;
274 margin: 8px 2px 0;
275 height: 18px; }
276 #star-button.starred {
277 background-position-y: 0; }
278
279#instapaper-button {
280 background: url(../images/icon_instapaper.png) no-repeat 8px 8px;
281 margin: 0 2px; }
282
283#share-button {
284 background: url(../images/btn_share.png) no-repeat 8px 8px;
285 margin: 0 2px; }
286 #share-button.active {
287 background-image: url(../images/share_spinner.gif); }
288
289#post iframe#instapaper {
290 width: 100%;
291 height: 100%;
292 margin: 0;
293 padding: 0;
294 box-shadow: none;
295 background: #f4f4f4; }
296
297#read-button {
298 background: url(../images/btn_read.png) no-repeat 8px -17px;
299 margin: 8px 2px 0;
300 height: 17px; }
301 #read-button.read {
302 background-position-y: 0; }
303
304#settings-button {
305 background: url(../images/btn_settings.png) no-repeat 0 0;
306 width: 16px;
307 height: 18px;
308 margin: 8px 10px 0;
309 float: right; }
310
311#item-count {
312 display: block;
313 -webkit-box-flex: 1;
314 text-align: center;
315 font-size: 13px;
316 color: #4c4c4c;
317 text-shadow: 0 1px 0 white;
318 line-height: 33px; }
319
320#search-input {
321 display: block;
322 -webkit-box-flex: 1;
323 -webkit-user-select: text;
324 height: 25px;
325 margin-top: 5px;
326 padding: 5px 10px;
327 font-size: 13px;
328 box-sizing: border-box;
329 box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.1), 0 1px 0 white;
330 border-radius: 3px;
331 border: 0;
332 border: 1px solid #cccccc;
333 color: #4c4c4c;
334 outline: 0;
335 line-height: 15px; }
336 #search-input.active {
337 background: lightblue; }
338
339#link-url {
340 position: absolute;
341 display: block;
342 top: 0;
343 bottom: 0;
344 left: 193px;
345 right: 35px;
346 line-height: 35px;
347 font-size: 13px;
348 color: #4c4c4c;
349 text-shadow: 0 1px 0 white;
350 overflow: hidden;
351 white-space: nowrap;
352 text-overflow: ellipsis;
353 text-align: right; }
354
355#feeds, #filters {
356 font-size: 13px; }
357 #feeds li, #filters li {
358 cursor: default;
359 text-align: left;
360 text-shadow: 0 1px 0 white; }
361 #feeds li.label, #filters li.label {
362 -webkit-transition: background 0.3s;
363 height: auto; }
364 #feeds li.label header .icon .bit, #filters li.label header .icon .bit {
365 display: block;
366 background: url(../images/icon_label.png);
367 width: 16px;
368 height: 16px;
369 -webkit-transition: all 0.3s; }
370 #feeds li.label header .icon .bit:active, #filters li.label header .icon .bit:active {
371 -webkit-transform: rotate(45deg); }
372 #feeds li.label.expanded, #filters li.label.expanded {
373 padding-bottom: 5px; }
374 #feeds li.label.expanded header .icon .bit, #filters li.label.expanded header .icon .bit {
375 -webkit-transform: rotate(90deg); }
376 #feeds li.label.expanded header .icon .bit:active, #filters li.label.expanded header .icon .bit:active {
377 -webkit-transform: rotate(45deg); }
378 #feeds li.label.expanded ul, #filters li.label.expanded ul {
379 display: block; }
380 #feeds li.label ul li, #filters li.label ul li {
381 padding-left: 10px; }
382 #feeds li.feed, #feeds li.filter, #feeds li.label header, #filters li.feed, #filters li.filter, #filters li.label header {
383 height: 20px;
384 line-height: 20px;
385 display: -webkit-box;
386 border-top: 1px solid transparent;
387 border-bottom: 1px solid transparent;
388 -webkit-transition: background 0.15s;
389 color: #4c4c4c; }
390 #feeds li.feed:first-child, #feeds li.filter:first-child, #feeds li.label header:first-child, #filters li.feed:first-child, #filters li.filter:first-child, #filters li.label header:first-child {
391 margin-top: 5px; }
392 #feeds li.feed:hover, #feeds li.filter:hover, #feeds li.label header:hover, #filters li.feed:hover, #filters li.filter:hover, #filters li.label header:hover {
393 background: whitesmoke; }
394 #feeds li.feed.selected, #feeds li.filter.selected, #feeds li.label header.selected, #filters li.feed.selected, #filters li.filter.selected, #filters li.label header.selected {
395 color: white;
396 border-top: 1px solid #5296de;
397 border-bottom: 1px solid #377fc9;
398 background: -webkit-linear-gradient(top, #74b0ee 0%, #4c91da 100%);
399 box-shadow: 0 1px 0 #91c1f3 inset, 0 -1px 0 #5b9adc inset;
400 text-shadow: 0 1px 0 #4c4c4c; }
401 #feeds li.feed.selected .count, #feeds li.filter.selected .count, #feeds li.label header.selected .count, #filters li.feed.selected .count, #filters li.filter.selected .count, #filters li.label header.selected .count {
402 background: rgba(255, 255, 255, 0.8);
403 color: #61a1e5; }
404 #feeds li.feed.hover, #feeds li.filter.hover, #feeds li.label header.hover, #filters li.feed.hover, #filters li.filter.hover, #filters li.label header.hover {
405 background: rgba(0, 0, 0, 0.05);
406 border-top: 1px solid #cccccc;
407 border-bottom: 1px solid #cccccc; }
408 #feeds li .icon, #filters li .icon {
409 -webkit-box-flex: 0;
410 display: block;
411 height: 16px;
412 width: 16px;
413 margin: 1px 3px 3px 11px; }
414 #feeds li .title, #filters li .title {
415 display: block;
416 -webkit-box-flex: 1;
417 overflow: hidden;
418 white-space: nowrap;
419 text-overflow: ellipsis;
420 font-weight: 500;
421 line-height: 20px; }
422 #feeds li .count, #filters li .count {
423 display: block;
424 -webkit-box-flex: 0;
425 color: white;
426 font-weight: bold;
427 text-shadow: none;
428 font-size: 11px;
429 height: 16px;
430 line-height: 16px;
431 padding: 0 5px;
432 margin: 2px 5px 6px 5px;
433 background: rgba(0, 0, 0, 0.5);
434 border-radius: 6px; }
435
436#articles li {
437 padding: 0 5px;
438 border-top: 1px solid white;
439 border-bottom: 1px solid #9c9c9c;
440 font-size: 12px;
441 overflow: hidden;
442 cursor: default;
443 -webkit-transition: height 150;
444 position: relative; }
445 #articles li:last-child {
446 margin-bottom: 10px; }
447 #articles li.read .title {
448 color: #777777; }
449 #articles li.starred .title {
450 color: #3b3b3b;
451 position: relative; }
452 #articles li.starred .title:after {
453 position: absolute;
454 display: block;
455 top: 5px;
456 bottom: auto;
457 left: 3px;
458 right: auto;
459 content: "";
460 display: inline-block;
461 width: 13px;
462 height: 14px;
463 background: url(../images/icon_starred_alt.png) no-repeat;
464 opacity: 0.3; }
465 #articles li.selected {
466 color: white;
467 border-top: 1px solid #5296de;
468 border-bottom: 1px solid #377fc9;
469 background: -webkit-linear-gradient(top, #74b0ee 0%, #4c91da 100%);
470 box-shadow: 0 1px 0 #91c1f3 inset, 0 -1px 0 #5b9adc inset;
471 margin: -1px auto;
472 z-index: 1; }
473 #articles li.selected:first-child {
474 border-top: 0; }
475 #articles li.selected + li {
476 border-top: 1px solid transparent; }
477 #articles li.selected.no-border {
478 box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.1), 0 -1px 0 white;
479 border-bottom: 1px solid transparent; }
480 #articles li.selected .feed, #articles li.selected .title {
481 color: white;
482 text-shadow: 0 1px 0 rgba(76, 76, 76, 0.5); }
483 #articles li.selected .time, #articles li.selected .snippet {
484 color: rgba(255, 255, 255, 0.7);
485 text-shadow: 0 1px 0 rgba(76, 76, 76, 0.3); }
486 #articles li.hover:after {
487 content: "";
488 position: absolute;
489 display: block;
490 top: 1px;
491 bottom: 2px;
492 left: 1px;
493 right: 1px;
494 background: rgba(0, 0, 0, 0.05);
495 border: 1px solid rgba(0, 0, 0, 0.2); }
496 #articles li header {
497 display: -webkit-box; }
498 #articles li header .icon {
499 padding: 4px 4px 0 2px; }
500 #articles li header .feed {
501 font-size: 11px;
502 color: #777777;
503 line-height: 25px;
504 -webkit-box-flex: 1;
505 display: block;
506 overflow: hidden;
507 white-space: nowrap;
508 text-overflow: ellipsis; }
509 #articles li header .time {
510 display: block;
511 line-height: 25px;
512 font-size: 11px;
513 margin-right: 2px;
514 color: #777777; }
515 #articles li .title {
516 font-size: 12px;
517 display: block;
518 margin-top: -2px;
519 padding: 0 0 2px 22px;
520 font-weight: bold;
521 color: #3b3b3b;
522 text-shadow: 0 0 1px rgba(0, 0, 0, 0.01); }
523 #articles li .snippet {
524 display: block;
525 padding: 0 0 0 22px;
526 line-height: 16px;
527 color: #888888;
528 height: 34px;
529 overflow: hidden; }
530#articles .splitter {
531 height: 20px;
532 padding-left: 10px;
533 font-size: 13px;
534 font-weight: bold;
535 color: #666666;
536 line-height: 20px;
537 background: #f3f3f3;
538 border: 1px solid #9c9c9c;
539 border-left: 0;
540 border-right: 0; }
541 #articles .splitter:first-child {
542 border-top: 0;
543 margin-top: 5px; }
544#articles .splitter:first-child {
545 border-top: 1px solid #9c9c9c; }
546#articles .splitter + li {
547 border-top: 1px solid transparent; }
548#articles .splitter + li.selected {
549 padding-top: 0; }
550#articles li.no-border {
551 border-bottom: 1px solid transparent; }
552 #articles li.no-border.selected {
553 border-bottom: 1px solid #9c9c9c; }
554
555#post {
556 font-family: "Open Sans", "Ubuntu", sans-serif;
557 font-weight: 400;
558 font-size: 12px;
559 line-height: 1.5;
560 max-width: 600px;
561 overflow: hidden;
562 margin: 0 auto;
563 padding: 0 25px; }
564 #post .post-link {
565 display: block;
566 position: relative;
567 margin-top: 30px;
568 margin-bottom: 30px;
569 border: 1px solid transparent;
570 border-bottom: 1px solid rgba(0, 0, 0, 0.1);
571 box-shadow: 0 1px 0 white; }
572 #post .post-link .details {
573 font-weight: 400;
574 display: block;
575 font-size: 12px;
576 color: #666666; }
577 #post .post-link h1.title {
578 font-family: "Raleway", "Open Sans", "Ubuntu", sans-serif;
579 font-weight: 200;
580 font-size: 48px;
581 line-height: 1;
582 color: #4c4c4c;
583 padding-bottom: 10px;
584 margin: 0;
585 line-height: 1;
586 text-shadow: 0 0 1px rgba(0, 0, 0, 0.01);
587 max-width: 600px; }
588 #post .post-link:hover h1.title {
589 text-decoration: underline; }
590 #post strong {
591 font-weight: bold; }
592 #post em {
593 font-style: italic; }
594 #post table {
595 max-width: 600px;
596 width: 100%; }
597 #post img {
598 max-width: 100% !important;
599 box-sizing: border-box;
600 height: auto !important; }
601 #post img:not(.no-border), #post iframe {
602 /* images resize with window */
603 padding: 4px;
604 margin: 0 15px 15px auto;
605 display: table;
606 background-color: white;
607 border: none;
608 border-radius: 2px;
609 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3); }
610 #post p img:not(.no-border), #post p iframe {
611 margin: 15px auto; }
612 #post h1 {
613 font-family: "Open Sans", "Ubuntu", sans-serif;
614 font-weight: 700;
615 font-size: 32px;
616 line-height: 1.5; }
617 #post h1 strong {
618 font-weight: inherit; }
619 #post h2 {
620 font-family: "Open Sans", "Ubuntu", sans-serif;
621 font-weight: 200;
622 font-size: 24px;
623 line-height: 28px;
624 text-shadow: 0 0 1px rgba(0, 0, 0, 0.01);
625 color: #4c4c4c; }
626 #post h2 strong {
627 font-weight: inherit; }
628 #post h3 {
629 font-size: 18px;
630 color: #4c4c4c;
631 text-shadow: 0 0 1px rgba(0, 0, 0, 0.01); }
632 #post h3 strong {
633 font-weight: inherit; }
634 #post a {
635 color: #08a8c5;
636 text-decoration: none; }
637 #post a:not(.post-link):hover {
638 text-decoration: underline; }
639 #post a.youtube {
640 display: block;
641 position: relative; }
642 #post a.youtube:after {
643 content: "";
644 position: absolute;
645 display: block;
646 top: 50%;
647 bottom: auto;
648 left: 50%;
649 right: auto;
650 width: 77px;
651 height: 77px;
652 margin: -37px 0 0 -37px;
653 z-index: 5;
654 background: url(../images/youtube.png); }
655 #post p, #post div, #post img {
656 max-width: 600px; }
657 #post a.hasImage {
658 border-bottom: 0; }
659 #post hr {
660 height: 2px;
661 border: 0;
662 background: url(../images/hr.png); }
663 #post blockquote {
664 font-style: italic; }
665
666#modal * {
667 -webkit-user-select: none; }
668#modal > div {
669 position: fixed;
670 border-radius: 5px;
671 background: white;
672 box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
673 z-index: 300; }
674 #modal > div h3 {
675 margin: 20px 0 10px;
676 color: #4c4c4c;
677 padding: 0 25px;
678 font-size: 24px;
679 font-weight: 300;
680 font-family: "Raleway", "Open Sans", "Ubuntu", sans-serif; }
681 #modal > div p {
682 font-size: 13px;
683 color: #4c4c4c;
684 margin: 0 25px 15px;
685 line-height: 18px; }
686 #modal > div input {
687 width: 250px;
688 vertical-align: top;
689 font-size: 13px;
690 line-height: 20px;
691 border-radius: 2px 0 0 2px;
692 height: 20px;
693 outline: none;
694 border: 1px solid rgba(0, 0, 0, 0.2);
695 border-right: 0;
696 padding: 5px 10px;
697 background: url(../images/input_bg.png);
698 box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 white;
699 color: #444444;
700 margin-left: 25px;
701 -webkit-user-select: text; }
702 #modal > div input.isolated {
703 border-radius: 2px;
704 border: 1px solid rgba(0, 0, 0, 0.2);
705 margin-top: 3px;
706 margin-bottom: 3px; }
707 #modal > div button {
708 text-decoration: none;
709 line-height: 27px;
710 padding: 0 10px;
711 height: 32px;
712 border-radius: 2px;
713 font-size: 13px;
714 font-weight: bold;
715 border: 1px solid #959595;
716 color: #242424;
717 font-family: "Open Sans", "Ubuntu Medium", "Ubuntu", "Helvetica", "Arial", sans-serif;
718 margin: 0 6px 25px;
719 background: -webkit-linear-gradient(top, white 0%, whitesmoke 100%); }
720 #modal > div button:focus {
721 outline: 0;
722 background: -webkit-linear-gradient(top, white 0%, #f9f9f9 100%);
723 box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2); }
724 #modal > div button:hover {
725 background: -webkit-linear-gradient(top, white 0%, #f9f9f9 100%);
726 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); }
727 #modal > div button:active {
728 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 1px 3px rgba(0, 0, 0, 0.1);
729 background: -webkit-linear-gradient(bottom, white 0%, whitesmoke 100%); }
730#modal .add {
731 top: 40%;
732 left: 50%;
733 margin-top: -52px;
734 margin-left: -190px;
735 width: 381px;
736 display: none; }
737 #modal .add h3:after {
738 width: 146px;
739 background: url(../images/modal_header_text.png); }
740 #modal .add button {
741 border-radius: 0 2px 2px 0;
742 width: 60px;
743 padding: 0;
744 margin: 0 25px 25px 0; }
745 #modal .add .error {
746 display: none;
747 margin-top: -15px; }
748#modal .confirm {
749 top: 40%;
750 left: 50%;
751 margin-top: -52px;
752 margin-left: -190px;
753 width: 340px;
754 text-align: center;
755 display: none; }
756 #modal .confirm h3:after {
757 background: url(../images/text_are_you_sure.png);
758 width: 100px; }
759 #modal .confirm .title {
760 font-weight: bold; }
761 #modal .confirm button {
762 width: 90px;
763 padding: 0; }
764#modal .rename {
765 top: 40%;
766 left: 50%;
767 margin-top: -52px;
768 margin-left: -190px;
769 width: 381px;
770 display: none; }
771 #modal .rename h3:after {
772 background: url(../images/text_rename_feed.png);
773 width: 98px; }
774 #modal .rename button {
775 border-radius: 0 2px 2px 0;
776 width: 60px;
777 padding: 0;
778 margin: 0 25px 25px 0; }
779#modal .pocket-login, #modal .instapaper-login {
780 top: 40%;
781 left: 50%;
782 margin-top: -52px;
783 margin-left: -190px;
784 width: 330px;
785 display: none; }
786 #modal .pocket-login button, #modal .instapaper-login button {
787 margin-left: 25px;
788 margin-top: 3px;
789 width: 272px; }
790
791#overlay {
792 position: fixed;
793 width: 100%;
794 height: 100%;
795 z-index: 200;
796 display: none;
797 background: rgba(0, 0, 0, 0.3);
798 top: 0;
799 left: 0; }
800
801#loading {
802 position: absolute;
803 display: block;
804 top: 0;
805 bottom: 0;
806 left: 0;
807 right: 0;
808 background: white;
809 z-index: 100; }
810 #loading * {
811 -webkit-user-select: none; }
812 #loading .login {
813 position: absolute;
814 display: block;
815 top: 50%;
816 bottom: auto;
817 left: 50%;
818 right: auto;
819 width: 300px;
820 margin-top: -200px;
821 margin-left: -150px;
822 height: 200px;
823 text-align: center;
824 display: none; }
825 #loading .login h3 {
826 text-align: center;
827 color: #4c4c4c;
828 text-shadow: 0 1px 0 white;
829 font-weight: 300;
830 font-family: "Raleway", "Open Sans", "Ubuntu", sans-serif;
831 font-size: 22px; }
832 #loading .login .password-wrapper,
833 #loading .login .username-wrapper {
834 font-size: 13px;
835 line-height: 20px;
836 border-radius: 2px;
837 height: 20px;
838 outline: none;
839 border: 1px solid rgba(0, 0, 0, 0.2);
840 padding: 5px 0 5px 10px;
841 width: 290px;
842 background: url(../images/input_bg.png);
843 box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.05), 0 1px 0 white;
844 margin: 10px 0; }
845 #loading .login .password-wrapper label,
846 #loading .login .username-wrapper label {
847 text-align: left;
848 display: inline-block;
849 width: 80px;
850 color: #333333;
851 font-weight: 500; }
852 #loading .login .password-wrapper input,
853 #loading .login .username-wrapper input {
854 color: #444444;
855 outline: none;
856 border: none;
857 background: transparent;
858 width: 200px;
859 padding: 0;
860 margin: 0;
861 -webkit-user-select: text; }
862 #loading .login .password-wrapper input[type=password],
863 #loading .login .username-wrapper input[type=password] {
864 font: small-caption;
865 font-size: 16px; }
866 #loading .login a {
867 display: inline-block;
868 text-decoration: none;
869 line-height: 27px;
870 padding: 0;
871 margin: 0 5px;
872 width: 100px;
873 height: 30px;
874 box-sizing: border-box;
875 border-radius: 3px;
876 font-size: 13px;
877 font-weight: bold;
878 font-family: "Open Sans", "Ubuntu Medium", "Ubuntu", "Helvetica", "Arial", sans-serif;
879 border: 1px solid #959595;
880 color: #242424;
881 cursor: pointer;
882 background: -webkit-linear-gradient(top, white 0%, whitesmoke 100%); }
883 #loading .login a:focus {
884 outline: 0;
885 background: -webkit-linear-gradient(top, white 0%, #f9f9f9 100%);
886 box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2); }
887 #loading .login a:hover {
888 background: -webkit-linear-gradient(top, white 0%, #f9f9f9 100%);
889 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); }
890 #loading .login a:active {
891 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 1px 3px rgba(0, 0, 0, 0.1);
892 background: -webkit-linear-gradient(bottom, white 0%, whitesmoke 100%); }
893 #loading .login .error {
894 display: none;
895 font-size: 13px;
896 font-weight: 500;
897 color: #2a76c6;
898 text-shadow: 0 1px 0 white, 0 1px 2px rgba(0, 0, 0, 0.1); }
899 #loading .progress {
900 position: absolute;
901 display: block;
902 top: 50%;
903 bottom: auto;
904 left: 25%;
905 right: 25%;
906 margin-top: -40px;
907 display: none; }
908 #loading .progress p {
909 text-align: center;
910 font-size: 13px;
911 color: #444444; }
912 #loading .progress progress {
913 width: 100%;
914 -webkit-appearance: none;
915 background-size: auto;
916 height: 18px;
917 border-radius: 3px;
918 box-shadow: 0 1px 0 white, inset 0 1px 5px rgba(0, 0, 0, 0.2); }
919 #loading .progress progress::-webkit-progress-bar {
920 background: #ffeeee;
921 border-radius: 3px; }
922 #loading .progress progress::-webkit-progress-value {
923 background: url(../images/ugly_native_progress_bar.png) 0 0;
924 border-radius: 3px;
925 box-shadow: 1px 0 3px rgba(0, 0, 0, 0.1);
926 border-left: 1px solid #bf5527;
927 border-right: 1px solid #bf5527; }
928
929@-webkit-keyframes move {
930 0% {
931 background-position: 0 -21px; }
932
933 100% {
934 background-position: 30px -21px; } }
935
936#context-menu {
937 -webkit-user-select: none;
938 min-width: 150px;
939 background: white;
940 position: absolute;
941 display: block;
942 top: 10px;
943 bottom: auto;
944 left: 10px;
945 right: auto;
946 z-index: 100;
947 box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
948 border: 1px solid white;
949 outline: 1px solid #ada9a5;
950 padding: 3px 0;
951 display: none; }
952 #context-menu .section {
953 display: block;
954 background: white;
955 border-top: 1px solid #e1e1df;
956 height: 1px;
957 margin: 3px 0; }
958 #context-menu div {
959 height: 20px;
960 line-height: 20px;
961 font-size: 12px;
962 padding: 0 0 0 24px;
963 font-weight: 400;
964 cursor: default;
965 position: relative;
966 border-top: 1px solid transparent;
967 border-bottom: 1px solid transparent; }
968 #context-menu div:hover {
969 color: white;
970 border-top: 1px solid #5296de;
971 border-bottom: 1px solid #377fc9;
972 background: -webkit-linear-gradient(top, #74b0ee 0%, #4c91da 100%);
973 box-shadow: 0 1px 0 #91c1f3 inset, 0 -1px 0 #5b9adc inset;
974 text-shadow: 0 1px 0 #4c4c4c; }
975
976#settings {
977 position: absolute;
978 display: block;
979 top: 0;
980 bottom: auto;
981 left: 50%;
982 right: auto;
983 margin: 0 0 0 -260px;
984 width: 520px;
985 height: 100%;
986 overflow-y: scroll;
987 background: #ececec;
988 border: 1px solid #888888;
989 border-top: 0;
990 border-bottom: 0;
991 box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
992 z-index: 300;
993 display: none; }
994 #settings h2 {
995 margin-top: 0;
996 text-align: center;
997 font-size: 15px;
998 height: 40px;
999 line-height: 40px;
1000 border-bottom: 1px solid rgba(0, 0, 0, 0.2);
1001 box-shadow: 0 1px 0 white;
1002 border-radius: 5px 5px 0 0;
1003 background: -webkit-linear-gradient(top, #fafafa 0%, #f6f6f6 100%);
1004 color: #3b3b3b;
1005 text-shadow: 0 1px 0 #fcfcfc; }
1006 #settings h3 {
1007 margin: 20px 0 10px;
1008 color: #4c4c4c;
1009 padding: 0 25px;
1010 font-size: 24px;
1011 font-weight: 300;
1012 font-family: "Raleway", "Open Sans", "Ubuntu", sans-serif; }
1013 #settings > div {
1014 padding: 10px 25px; }
1015 #settings > div:first-of-type {
1016 padding-top: 0; }
1017 #settings > div:not(:last-child) {
1018 border-bottom: 1px solid #cccccc;
1019 box-shadow: 0 1px 0 white; }
1020 #settings select {
1021 font-size: 13px;
1022 margin-bottom: 10px;
1023 padding: 5px; }
1024 #settings select option {
1025 font-size: 13px; }
1026 #settings label {
1027 font-size: 13px;
1028 color: #4c4c4c;
1029 display: inline-block; }
1030 #settings label.mini {
1031 width: 150px;
1032 text-align: right;
1033 margin-right: 10px; }
1034 #settings label.mini.right {
1035 width: 120px; }
1036 #settings label .email {
1037 font-weight: bold; }
1038 #settings input[type=checkbox] {
1039 margin-left: 165px;
1040 margin-right: 10px; }
1041 #settings button {
1042 display: inline-block;
1043 text-decoration: none;
1044 line-height: 27px;
1045 padding: 0 10px;
1046 margin: 0 5px 0 79px;
1047 height: 30px;
1048 box-sizing: border-box;
1049 border-radius: 3px;
1050 font-size: 13px;
1051 font-weight: bold;
1052 border: 1px solid #959595;
1053 color: #4c4c4c;
1054 font-family: "Open Sans", "Ubuntu Medium", "Ubuntu", "Helvetica", "Arial", sans-serif;
1055 background: -webkit-linear-gradient(top, white 0%, whitesmoke 100%); }
1056 #settings button:focus {
1057 outline: 0;
1058 background: -webkit-linear-gradient(top, white 0%, #f9f9f9 100%);
1059 box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2); }
1060 #settings button:hover {
1061 background: -webkit-linear-gradient(top, white 0%, #f9f9f9 100%);
1062 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); }
1063 #settings button:active {
1064 box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1), inset 0 1px 3px rgba(0, 0, 0, 0.1);
1065 background: -webkit-linear-gradient(bottom, white 0%, whitesmoke 100%); }
0\ No newline at end of file1066\ No newline at end of file
11067
=== added file 'data/media/app/index_elementary.html'
--- data/media/app/index_elementary.html 1970-01-01 00:00:00 +0000
+++ data/media/app/index_elementary.html 2013-02-27 22:46:21 +0000
@@ -0,0 +1,300 @@
1<!DOCTYPE html>
2<html>
3<head>
4 <title>RSS Reader</title>
5 <link rel="stylesheet" href="css/normalize.css">
6 <link rel="stylesheet" href="css/style_elementary.css">
7
8 <script src="scripts/lib/pyctrl.js"></script>
9 <script src="scripts/lib.js"></script>
10 <script src="scripts/app.js"></script>
11 <script src="scripts/app/storage.js"></script>
12 <script src="scripts/app/ui.js"></script>
13 <script src="scripts/app/core.js"></script>
14 <script src="scripts/app/keys.js"></script>
15</head>
16<body>
17
18 <section id="app" class="splitter">
19
20 <div id="feeds-column">
21 <ul id="filters">
22 <li class="all filter selected">
23 <img class="icon" width="16" height="16" src="images/icon_all.png">
24 <span class="title">All items</span>
25 </li>
26 <li class="unread filter">
27 <img class="icon" width="16" height="16" src="images/icon_unread.png">
28 <span class="title">Unread</span>
29 </li>
30 <li class="starred filter">
31 <img class="icon" width="16" height="16" src="images/icon_starred.png">
32 <span class="title">Starred</span>
33 </li>
34 </ul>
35 <ul id="feeds"></ul>
36 <p class="empty-message">You have no feeds. Click on the + button below to add some.</p>
37 <div class="bar">
38 <button id="refresh-button" title="Refresh"></button><button id="add-button" title="Add Feed"></button>
39 </div>
40 </div>
41
42 <div id="right-side" class="splitter">
43
44 <div id="articles-column">
45 <ul id="articles"></ul>
46 <div class="bar">
47 <button id="mark-all-as-read-trigger" title="Mark All As Read"></button>
48 <div id="mark-all-as-read-popup">
49 <div id="mark-all-as-read-button">Mark All As Read</div>
50 </div>
51 <div id="item-count"></div>
52 <input id="search-input" placeholder="Search 10 items">
53 <button id="search-button" title="Search"></button>
54 </div>
55 </div>
56
57 <div id="post-column">
58 <div id="post-window">
59 <div id="post"></div>
60 </div>
61 <div class="bar" class="disabled">
62 <button id="close-post-button" title="Close Post"></button>
63 <button id="star-button" title="Toggle Star Status"></button>
64 <button id="read-button" title="Toggle Read Status"></button>
65 <button id="instapaper-button" title="View in Instapaper Mobilizer"></button>
66 <button id="share-button" title="Share">
67 <!-- <select>
68 <option value="0">Share to Pocket</option>
69 <option value="1">Share to Instapaper</option>
70 </select> -->
71 </button>
72 <div id="link-url"></div><button id="settings-button" title="Settings"></button>
73 </div>
74 </div>
75
76 </div>
77
78 </section>
79
80 <div id="hidden"></div>
81
82 <div id="modal">
83 <div class="add">
84 <span class="close"></span><h3>Subscribe to a Feed</h3>
85 <input placeholder="Feed URL or Search Term" type="url"><button>Add</button>
86 <p class="error">Could not add feed...</p>
87 </div>
88 <!-- <div class="logout">
89 This will log you out of Lightread
90 <button id="reset-button">Logout</button>
91 </div> -->
92 <div class="confirm">
93 <span class="close"></span><h3>Are you sure?</h3>
94 <p>Are you sure you want to unsubscribe from: <br><span class="title"></span>?</p><button class="yes">Yes</button><button class="no">No</button>
95 </div>
96 <div class="rename">
97 <span class="close"></span><h3>Rename Feed</h3>
98 <input type="text" placeholder="Feed name..."><button>Save</button>
99 </div>
100 <div class="pocket-login">
101 <span class="close"></span><h3>Login to Pocket</h3>
102 <input class="isolated" type="text" placeholder="Username...">
103 <br>
104 <input class="isolated" type="password" placeholder="Password...">
105 <br>
106 <button>Login</button>
107 </div>
108 <div class="instapaper-login">
109 <span class="close"></span><h3>Login to Instapaper</h3>
110 <input class="isolated" type="text" placeholder="Username...">
111 <br>
112 <input class="isolated" type="password" placeholder="Password...">
113 <br>
114 <button>Login</button>
115 </div>
116 </div>
117 <div id="settings">
118 <h3>Settings</h3>
119 <div>
120 <label for="">Signed in as: <span class="email"></span></label><button id="reset-button">Sign out</button>
121 </div>
122 <div>
123 <label class="mini" for="sync-interval">Refresh:</label>
124 <select id="sync-interval">
125 <option value="0">Manual</option>
126 <option value="1">1 Minute</option>
127 <option value="5">5 Minutes</option>
128 <option value="15">15 Minutes</option>
129 <option value="30">30 Minutes</option>
130 <option value="60">1 Hour</option>
131 </select>
132 <br>
133 <input type="checkbox" checked id="sync-on-start"><label for="sync-on-start">Sync on start</label>
134 </div>
135 <div>
136 <label class="mini" for="keep-unread-items">Keep unread items:</label>
137 <select id="keep-unread-items">
138 <option value="-1" selected>Always</option>
139 <option value="0">Never</option>
140 <option value="1">1 day</option>
141 <option value="2">2 days</option>
142 <option value="3">3 days</option>
143 <option value="7">1 week</option>
144 <option value="14">2 weeks</option>
145 <option value="31">1 month</option>
146 </select>
147 <label class="mini right" for="max-special">Max special items:</label>
148 <select id="max-special">
149 <option value="10">10</option>
150 <option value="20">20</option>
151 <option value="30">30</option>
152 <option value="50" selected>50</option>
153 <option value="70">70</option>
154 <option value="100">100</option>
155 <option value="150">150</option>
156 <option value="200">200</option>
157 <option value="300">300</option>
158 <option value="400">400</option>
159 <option value="500">500</option>
160 </select>
161 <br>
162 <label class="mini" for="keep-starred-items">Keep starred items:</label>
163 <select id="keep-starred-items">
164 <option value="-1" selected>Always</option>
165 <option value="0">Never</option>
166 <option value="1">1 day</option>
167 <option value="2">2 days</option>
168 <option value="3">3 days</option>
169 <option value="7">1 week</option>
170 <option value="14">2 weeks</option>
171 <option value="31">1 month</option>
172 </select>
173 <label class="mini right" for="max-read">Max read items:</label>
174 <select id="max-read">
175 <option value="0">None</option>
176 <option value="10">10</option>
177 <option value="20" selected>20</option>
178 <option value="30">30</option>
179 <option value="50">50</option>
180 <option value="70">70</option>
181 <option value="100">100</option>
182 </select>
183 <br>
184 <label class="mini" for="keep-read-items">Keep read items:</label>
185 <select id="keep-read-items">
186 <option value="-1">Always</option>
187 <option value="0">Never</option>
188 <option value="1">1 day</option>
189 <option value="2">2 days</option>
190 <option value="3">3 days</option>
191 <option value="7">1 week</option>
192 <option value="14" selected>2 weeks</option>
193 <option value="31">1 month</option>
194 </select>
195 </div>
196 <div>
197 <input type="checkbox" id="show-notifications" checked><label for="show-notifications">Show notifications</label>
198 <input type="checkbox" id="auto-instapaperizer"><label for="auto-instapaperizer">Auto Instapaper</label>
199 <input type="checkbox" id="night-mode"><label for="night-mode">Night Mode</label><br>
200 <input type="checkbox" id="remember-last-feed" checked><label for="remember-last-feed">Remember Last Feed</label>
201 <input type="checkbox" id="show-indicators"><label for="show-indicators">Show in messaging menu</label>
202 <input type="checkbox" id="run-background" disabled><label for="show-indicators">Run in background</label>
203 </div>
204 </div>
205
206 <div id="overlay"></div>
207
208 <div id="loading">
209 <div class="login">
210 <h3>Sign in to Google Reader</h3>
211 <div class="username-wrapper">
212 <label for="username">Email</label><input tabindex="1" id="username" type="text" placeholder="example@gmail.com">
213 </div>
214 <div class="password-wrapper">
215 <label for="password">Password</label><input tabindex="2" id="password" type="password" placeholder="&#183;&#183;&#183;&#183;&#183;&#183;&#183;&#183;">
216 </div>
217 <a class="login-button">Sign in</a>
218 <a href="https://accounts.google.com/NewAccount?service=reader">Register</a>
219 <p class="error">Could not Sign in...</p>
220 </div>
221 <div class="progress">
222 <p>Downloading items...</p>
223 <progress min="0" value="0" max="100"></progress>
224 </div>
225 </div>
226
227 <div id="context-menu"></div>
228
229 <!--
230 Templates
231 -->
232
233 <!-- Labels -->
234 <script type="text/template" id="label-template">
235 <li class="label">
236 <header data-id="<%= id %>">
237 <span class="icon"><span class="bit"></span></span>
238 <span class="title"><%= title %></span>
239 <% if (count && count > 0) { %>
240 <span class="count"><%= count %></span>
241 <% } %>
242 </header>
243 <ul class="feeds">
244
245 <% _.each(feeds, function(feed) { %><%= feed %><% }) %>
246
247 </ul>
248 </li>
249 </script>
250
251 <!-- Feeds -->
252 <script type="text/template" id="feed-template">
253 <li class="feed" data-id="<%= id %>">
254 <img class="icon" width="16" height="16" src="<%= icon %>">
255 <span class="title"><%= title %></span>
256 <% if (count && count > 0) { %>
257 <span class="count"><%= count %></span>
258 <% } %>
259 </li>
260 </script>
261
262 <!-- Articles -->
263 <script type="text/template" id="article-template">
264 <li class="article <% if (read) { %>read<% } %> <% if (starred) { %>starred<% } %>" data-id="<%= id %>">
265 <header>
266 <img class="icon" width="16" height="16" src="<%= icon %>">
267 <span class="feed"><%= feed %></span>
268 <span class="time"><%= time %></span>
269 </header>
270 <span class="title"><%= title %></span>
271 <span class="snippet"><%= snippet %></span>
272 </li>
273 </script>
274
275 <script type="text/template" id="article-splitter-template">
276 <div class="splitter"><%= date %></div>
277 </script>
278
279 <!-- Post -->
280 <script type="text/template" id="post-template">
281 <a href="<%= link %>" class="post-link">
282 <span class="details">
283 <%= feed %> |
284 <% if (author !== undefined) {%><%= author %> | <% } %>
285 <%= time %>
286 </span>
287 <h1 class="title"><%= title %></h1>
288 </a>
289 <%= content %>
290 </script>
291
292 <!-- Context Menu Item -->
293 <script type="text/template" id="context-menu-item">
294 <div class="<%= className %>"><%= text %></div>
295 <% if (section) { %>
296 <span class="section"></span>
297 <% } %>
298 </script>
299</body>
300</html>
0301
=== modified file 'debian/control'
--- debian/control 2012-10-03 03:35:42 +0000
+++ debian/control 2013-02-27 22:46:21 +0000
@@ -17,6 +17,7 @@
17 gir1.2-indicate-0.7,17 gir1.2-indicate-0.7,
18 gir1.2-gtk-3.0,18 gir1.2-gtk-3.0,
19 gir1.2-glib-2.0,19 gir1.2-glib-2.0,
20 gir1.2-granite-1.0,
20 gir1.2-dbusmenu-glib-0.4,21 gir1.2-dbusmenu-glib-0.4,
21 gir1.2-unity-5.0,22 gir1.2-unity-5.0,
22 gir1.2-soup-2.4,23 gir1.2-soup-2.4,
2324
=== modified file 'lightread/LightreadWindow.py'
--- lightread/LightreadWindow.py 2012-10-05 07:58:49 +0000
+++ lightread/LightreadWindow.py 2013-02-27 22:46:21 +0000
@@ -96,6 +96,18 @@
96 session.add_feature(cookie_jar)96 session.add_feature(cookie_jar)
97 session.props.max_conns_per_host = 897 session.props.max_conns_per_host = 8
9898
99 # elementary OS HIG support
100 #getting env-var and try importing granite
101 #if one fails, we dont use elementary ui
102 self.elementary_ui = False
103 if(os.environ["DESKTOP_SESSION"] == "pantheon"):
104 try:
105 from gi.repository import Granite
106 self.elementary_ui = True
107 print "We use the elementary ui"
108 except ImportError:
109 pass
110
99111
100 self.webview = WebKit.WebView()112 self.webview = WebKit.WebView()
101 self.scroller.add(self.webview)113 self.scroller.add(self.webview)
@@ -104,7 +116,10 @@
104 self.webviewsettings.set_property("javascript-can-open-windows-automatically", True)116 self.webviewsettings.set_property("javascript-can-open-windows-automatically", True)
105 self.webviewsettings.set_property("enable-universal-access-from-file-uris", True)117 self.webviewsettings.set_property("enable-universal-access-from-file-uris", True)
106 self.webviewsettings.set_property("enable-developer-extras", True)118 self.webviewsettings.set_property("enable-developer-extras", True)
107 self.webview.load_uri(get_media_file('app/index.html'))119 if(self.elementary_ui):
120 self.webview.load_uri(get_media_file('app/index_elementary.html'))
121 else:
122 self.webview.load_uri(get_media_file('app/index.html'))
108123
109 self.webview_inspector = self.webview.get_inspector()124 self.webview_inspector = self.webview.get_inspector()
110 self.webview_inspector.connect('inspect-web-view', self.inspect_webview)125 self.webview_inspector.connect('inspect-web-view', self.inspect_webview)
@@ -113,7 +128,7 @@
113 self.webview.show()128 self.webview.show()
114129
115 #Menubar130 #Menubar
116 self.add = self.builder.get_object("add")131 self.add_btn = self.builder.get_object("add")
117 self.refresh = self.builder.get_object("refresh")132 self.refresh = self.builder.get_object("refresh")
118 self.star = self.builder.get_object("star")133 self.star = self.builder.get_object("star")
119 self.read = self.builder.get_object("read")134 self.read = self.builder.get_object("read")
@@ -225,12 +240,84 @@
225 else:240 else:
226 self.indicator.remove_indicator(urllib.unquote(feed_json['id']))241 self.indicator.remove_indicator(urllib.unquote(feed_json['id']))
227242
243
244 #building the elementary UI
245 if(self.elementary_ui):
246 vbox1 = self.builder.get_object("vbox1")
247 menubar1 = self.builder.get_object("menubar1")
248 #no menubars
249 vbox1.remove(menubar1)
250 toolbar = Gtk.Toolbar()
251
252 #add toolbarbuttons
253 button_add = Gtk.ToolButton.new_from_stock(Gtk.STOCK_NEW)
254 toolbar.add(button_add)
255 button_add.set_name("add")
256 button_add.set_tooltip_text(self.add_btn.get_label())
257 button_add.connect("clicked", menuexternal, None)
258
259 button_refresh = Gtk.ToolButton.new_from_stock(Gtk.STOCK_REFRESH)
260 toolbar.add(button_refresh)
261 button_refresh.set_name("refresh")
262 button_refresh.set_tooltip_text(self.refresh.get_label())
263 button_refresh.connect("clicked", menuexternal, None)
264
265 button_star = Gtk.ToolButton.new_from_stock(Gtk.STOCK_ABOUT)
266 toolbar.add(button_star)
267 button_star.set_name("star")
268 button_star.set_tooltip_text(self.star.get_label())
269 button_star.connect("clicked", menuexternal, None)
270
271 button_read = Gtk.ToolButton.new_from_stock(Gtk.STOCK_COPY)
272 toolbar.add(button_read)
273 button_read.set_name("read")
274 button_read.set_tooltip_text(self.read.get_label())
275 button_read.connect("clicked", menuexternal, None)
276
277
278 button_next = Gtk.ToolButton.new_from_stock(Gtk.STOCK_GO_DOWN)
279 toolbar.add(button_next)
280 button_next.set_name("next-article")
281 button_next.set_tooltip_text(self.next_article.get_label())
282 button_next.connect("clicked", menuexternal, None)
283
284 button_previous = Gtk.ToolButton.new_from_stock(Gtk.STOCK_GO_UP)
285 toolbar.add(button_previous)
286 button_previous.set_name("prev-article")
287 button_previous.set_tooltip_text(self.prev_article.get_label())
288 button_previous.connect("clicked", menuexternal, None)
289
290 #spanner that the appmenu is on the right side
291 spanner = Gtk.ToolItem()
292 spanner.set_expand(True)
293 toolbar.add(spanner)
294
295 appmenu = Gtk.Menu()
296 #add the settings menu
297 self.logout.unparent()
298 appmenu.append(self.logout)
299 #add the contents of the helpmenu to the appmenu
300 help_menu = self.builder.get_object("helpMenu")
301 for i in help_menu.get_children():
302 i.unparent()
303 help_menu.remove(i)
304 appmenu.add(i)
305
306 button_appmenu = Granite.WidgetsAppMenu.new(appmenu)
307 toolbar.add(button_appmenu)
308
309
310 vbox1.pack_start(toolbar,False,False,0)
311 vbox1.remove(self.scroller)
312 vbox1.pack_end(self.scroller,True,True,0)
313 toolbar.show_all()
314
228 # Connects to WebView315 # Connects to WebView
229 self.webview.connect('title-changed', title_changed)316 self.webview.connect('title-changed', title_changed)
230 self.webview.connect('navigation-requested', _navigation_requested_cb)317 self.webview.connect('navigation-requested', _navigation_requested_cb)
231 self.webview.connect('console-message', console_message_cb)318 self.webview.connect('console-message', console_message_cb)
232319
233 self.add.connect("activate", menuexternal, None)320 self.add_btn.connect("activate", menuexternal, None)
234 self.refresh.connect("activate", menuexternal, None)321 self.refresh.connect("activate", menuexternal, None)
235 self.star.connect("activate", menuexternal, None)322 self.star.connect("activate", menuexternal, None)
236 self.read.connect("activate", menuexternal, None)323 self.read.connect("activate", menuexternal, None)
237324
=== modified file 'po/lightread.pot'
--- po/lightread.pot 2012-10-05 07:58:49 +0000
+++ po/lightread.pot 2013-02-27 22:46:21 +0000
@@ -8,7 +8,7 @@
8msgstr ""8msgstr ""
9"Project-Id-Version: PACKAGE VERSION\n"9"Project-Id-Version: PACKAGE VERSION\n"
10"Report-Msgid-Bugs-To: \n"10"Report-Msgid-Bugs-To: \n"
11"POT-Creation-Date: 2012-10-05 20:57+1300\n"11"POT-Creation-Date: 2013-02-18 12:27+0100\n"
12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"12"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"13"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
14"Language-Team: LANGUAGE <LL@li.org>\n"14"Language-Team: LANGUAGE <LL@li.org>\n"

Subscribers

People subscribed via source and target branches

to all changes: