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:
kiwi 2007-06-02 21:33:13 +00:00 committed by kiwi
parent d878e36d3c
commit 9e0e80c41c
6 changed files with 91 additions and 69 deletions

30
TODO
View File

@ -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]

View File

@ -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";

View File

@ -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

View File

@ -879,7 +879,6 @@ _meta_block_find(char **buf)
*buf = p1;
p2 = _meta_block_end(*buf, 0, 1);
if (!p2) return NULL;
return p2;
}

View File

@ -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,

View File

@ -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 */