better ui
* [viewer] add different styles in the content view * [gadget] add fading effects to the icons SVN revision: 30201
This commit is contained in:
parent
d878e36d3c
commit
9e0e80c41c
30
TODO
30
TODO
|
@ -1,4 +1,4 @@
|
|||
make install CFLAGS="-g -Wall -Werror -DDEBUG -DDEBUG_MAIN -DDEBUG_CONFIG -DDEBUG_ITEM -DDEBUG_FEED -DDEBUG_PARSE -DDEBUG_BROWSER -DDEBUG_POPUP_WARN -DDEBUG_VIEWER"
|
||||
gmake install CFLAGS="-g -Wall -Werror -DDEBUG -DDEBUG_MAIN -DDEBUG_CONFIG -DDEBUG_ITEM -DDEBUG_FEED -DDEBUG_PARSE -DDEBUG_BROWSER -DDEBUG_POPUP_WARN -DDEBUG_VIEWER"
|
||||
|
||||
----------------------------------------------------
|
||||
BUGS
|
||||
|
@ -35,20 +35,7 @@ http://www.kozlika.org/kozeries/feed/rss2
|
|||
NEEDED (to do more or less in this order)
|
||||
----------------------------------------------------
|
||||
|
||||
- make a difference in item ui, depending on the gadon gadget inset/freee appearance
|
||||
|
||||
- item: open feeds in menu ?
|
||||
each menu item would be an article of the feed you clicked on
|
||||
it would open the article in the viewer (viewer-article_set)
|
||||
|
||||
news_menu_viewer, in news_menu :
|
||||
going over a menu item would fire up a viewer near the menu
|
||||
the position of this small viewer is fixed, next to the menu. side to side. the same way that a submenu sticks to the menu. we are always on the side of the menu where there is the most much space
|
||||
maybe that could replace the normal viewer ? smaller are easier to use, more quick to get to the info ... but normal viewer is maybe better when you want to look at all the feeds, reading here and there, doing other sings at the same time ...
|
||||
|
||||
the menu has a title, the feeds name
|
||||
|
||||
the viewer near the menu gets its content by the same function than the full viewer
|
||||
- ? make a difference in item ui, depending on the gadon gadget inset/freee appearance ?
|
||||
|
||||
- debug html chars parse with test.rss
|
||||
-> add support for & alone in evas_textblock
|
||||
|
@ -82,10 +69,19 @@ news_config_dialog_item_refresh_feed
|
|||
to avoid refresh the ilist
|
||||
|
||||
[Viewer]
|
||||
- ? item: open feeds in menu ?
|
||||
each menu item would be an article of the feed you clicked on
|
||||
it would open the article in the viewer (viewer-article_set)
|
||||
news_menu_viewer, in news_menu :
|
||||
going over a menu item would fire up a viewer near the menu
|
||||
the position of this small viewer is fixed, next to the menu. side to side. the same way that a submenu sticks to the menu. we are always on the side of the menu where there is the most much space
|
||||
maybe that could replace the normal viewer ? smaller are easier to use, more quick to get to the info ... but normal viewer is maybe better when you want to look at all the feeds, reading here and there, doing other sings at the same time ...
|
||||
the menu has a title, the feeds name
|
||||
the viewer near the menu gets its content by the same function than the full viewer
|
||||
- ? viewer: instead of having 'own lists', get the pos of feeds/articles via going through ilist items (e_widget_ilist_items_get && e_widget_ilist_nth_data_get), counting and looking data field ?
|
||||
- appear with sliding animation in option ?
|
||||
- viewer: dont reselect current feed in viewer when a feed has updated with changes
|
||||
- viewer: when an article goes to "as read" and "feeds first" option, refresh the feeds list but don't reselect the feed, go on top of the list
|
||||
- dont reselect current feed in viewer when a feed has updated with changes
|
||||
- when an article goes to "as read" and "feeds first" option, refresh the feeds list but don't reselect the feed, go on top of the list
|
||||
- use a "changed" attribute to things, to detect what has to be refresh when refresh() is called. to avoid refresh things for nothing, so avoid user ilists changer for nothing
|
||||
|
||||
[Parse]
|
||||
|
|
|
@ -1,35 +1,3 @@
|
|||
part
|
||||
{
|
||||
name: "border";
|
||||
type: IMAGE;
|
||||
mouse_events: 0;
|
||||
description
|
||||
{
|
||||
state: "default" 0.0;
|
||||
visible: 0;
|
||||
color: 255 255 255 0;
|
||||
rel1
|
||||
{
|
||||
relative: 0.0 0.0;
|
||||
}
|
||||
rel2
|
||||
{
|
||||
relative: 1.0 1.0;
|
||||
}
|
||||
image
|
||||
{
|
||||
normal: "feed_border.png";
|
||||
}
|
||||
}
|
||||
description
|
||||
{
|
||||
state: "selected" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
visible: 1;
|
||||
color: 255 255 255 255;
|
||||
}
|
||||
}
|
||||
|
||||
part
|
||||
{
|
||||
name: "icon";
|
||||
|
@ -55,15 +23,33 @@ part
|
|||
}
|
||||
}
|
||||
|
||||
part
|
||||
{
|
||||
name: "unread_clip";
|
||||
type: RECT;
|
||||
mouse_events: 0;
|
||||
description
|
||||
{
|
||||
state: "default" 0.0;
|
||||
color: 255 255 255 0;
|
||||
}
|
||||
description
|
||||
{
|
||||
state: "active" 0.0;
|
||||
inherit: "default" 0.0;
|
||||
color: 255 255 255 255;
|
||||
}
|
||||
}
|
||||
|
||||
part
|
||||
{
|
||||
name: "unread";
|
||||
type: IMAGE;
|
||||
mouse_events: 0;
|
||||
clip_to: "unread_clip";
|
||||
description
|
||||
{
|
||||
state: "default" 0.0;
|
||||
color: 255 255 255 0;
|
||||
rel1
|
||||
{
|
||||
relative: 0.0 0.0;
|
||||
|
@ -77,6 +63,18 @@ part
|
|||
normal: "feed_background_new.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
part
|
||||
{
|
||||
name: "border_clip";
|
||||
type: RECT;
|
||||
mouse_events: 0;
|
||||
description
|
||||
{
|
||||
state: "default" 0.0;
|
||||
color: 255 255 255 0;
|
||||
}
|
||||
description
|
||||
{
|
||||
state: "active" 0.0;
|
||||
|
@ -85,6 +83,30 @@ part
|
|||
}
|
||||
}
|
||||
|
||||
part
|
||||
{
|
||||
name: "border";
|
||||
type: IMAGE;
|
||||
mouse_events: 0;
|
||||
clip_to: "border_clip";
|
||||
description
|
||||
{
|
||||
state: "default" 0.0;
|
||||
rel1
|
||||
{
|
||||
relative: 0.0 0.0;
|
||||
}
|
||||
rel2
|
||||
{
|
||||
relative: 1.0 1.0;
|
||||
}
|
||||
image
|
||||
{
|
||||
normal: "feed_border.png";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
part
|
||||
{
|
||||
name: "name";
|
||||
|
|
|
@ -19,8 +19,8 @@ program
|
|||
signal: "e,state,new,set";
|
||||
source: "e";
|
||||
action: STATE_SET "active" 0.0;
|
||||
transition: SINUSOIDAL 0.5;
|
||||
target: "unread";
|
||||
transition: SINUSOIDAL 0.7;
|
||||
target: "unread_clip";
|
||||
}
|
||||
program
|
||||
{
|
||||
|
@ -29,7 +29,7 @@ program
|
|||
source: "e";
|
||||
action: STATE_SET "default" 0.0;
|
||||
transition: SINUSOIDAL 0.5;
|
||||
target: "unread";
|
||||
target: "unread_clip";
|
||||
}
|
||||
|
||||
/* Mouse in/out */
|
||||
|
@ -39,8 +39,9 @@ program
|
|||
name: "mouse_in";
|
||||
signal: "mouse,in";
|
||||
source: "inout";
|
||||
action: STATE_SET "selected" 0.0;
|
||||
target: "border";
|
||||
action: STATE_SET "active" 0.0;
|
||||
transition: SINUSOIDAL 0.1;
|
||||
target: "border_clip";
|
||||
}
|
||||
|
||||
program
|
||||
|
@ -49,7 +50,8 @@ program
|
|||
signal: "mouse,out";
|
||||
source: "inout";
|
||||
action: STATE_SET "default" 0.0;
|
||||
target: "border";
|
||||
transition: SINUSOIDAL 0.5;
|
||||
target: "border_clip";
|
||||
}
|
||||
|
||||
program
|
||||
|
|
|
@ -879,7 +879,6 @@ _meta_block_find(char **buf)
|
|||
*buf = p1;
|
||||
|
||||
p2 = _meta_block_end(*buf, 0, 1);
|
||||
if (!p2) return NULL;
|
||||
|
||||
return p2;
|
||||
}
|
||||
|
|
|
@ -422,10 +422,16 @@ _dialog_content_create(News_Viewer *nv)
|
|||
news->config->viewer.vcontent.font_shadow_color);
|
||||
}
|
||||
snprintf(buf, sizeof(buf),
|
||||
"DEFAULT='font=Vera font_size=%d align=left color=%s%s wrap=word'" "br='\n'",
|
||||
"DEFAULT='font=Vera font_size=%d align=left color=%s%s wrap=word'"
|
||||
"br='\n'"
|
||||
"hilight='+ font=Vera-Bold font_size=%d'"
|
||||
"small='+ font_size=%d'"
|
||||
"italic='+ font=Vera-Italic'",
|
||||
news->config->viewer.vcontent.font_size,
|
||||
news->config->viewer.vcontent.font_color,
|
||||
buf2);
|
||||
buf2,
|
||||
news->config->viewer.vcontent.font_size + 1,
|
||||
news->config->viewer.vcontent.font_size - 1);
|
||||
evas_textblock_style_set(tb_style, buf);
|
||||
evas_object_textblock_style_set(ob, tb_style);
|
||||
evas_textblock_style_free(tb_style);
|
||||
|
@ -591,11 +597,10 @@ _dialog_cb_article_selected(void *data)
|
|||
if (art->date.tm_year != 0)
|
||||
strftime(buf_date, sizeof(buf_date), "%Y-%m-%d %H:%M:%S", &art->date);
|
||||
snprintf(buf, sizeof(buf),
|
||||
"<underline=on underline_color=%s>%s</><br>"
|
||||
"<hilight>%s</hilight><br>"
|
||||
"<small>%s</small><br><br>"
|
||||
"%s<br><br>"
|
||||
"%s<br><br>"
|
||||
"%s",
|
||||
news->config->viewer.vcontent.font_color,
|
||||
"<small>%s</small>",
|
||||
(art->title && art->title[0]) ? art->title : "No title",
|
||||
buf_date,
|
||||
(art->description && art->description[0])? art->description : "No description text",
|
||||
|
@ -878,12 +883,11 @@ _vcontent_feed_infos_set(News_Viewer *nv)
|
|||
}
|
||||
}
|
||||
snprintf(buf, sizeof(buf),
|
||||
"<underline=on underline_color=%s>%s</> <i>in %s</i><br>"
|
||||
"<hilight>%s</hilight> <small>in %s</small><br><br>"
|
||||
"%s"
|
||||
"%s<br><br>"
|
||||
"%s%s<br>"
|
||||
"%s",
|
||||
news->config->viewer.vcontent.font_color,
|
||||
"<italic>%s%s<br>"
|
||||
"%s</italic>",
|
||||
f->name,
|
||||
f->category->name,
|
||||
buf_error,
|
||||
|
|
|
@ -26,11 +26,10 @@ struct _News_Viewer
|
|||
struct
|
||||
{
|
||||
E_Dialog *dia;
|
||||
int x, y, w, h;
|
||||
|
||||
Evas_Object *tab;
|
||||
Evas_Object *ftab_feeds, *ftab_articles, *ftab_content;
|
||||
|
||||
int x, y, w, h;
|
||||
} dialog;
|
||||
|
||||
/* view of the feeds list */
|
||||
|
|
Loading…
Reference in New Issue