Pass distcheck, some fixes, and a new "important" field for feeds
* use pkg-config * pass make distcheck * [dialog] little ui fixes * [viewer] make default shadow a little lighter * [feed] implement "important" feed marks. in a gadget, you can now display only feeds that you marked as "important", or only unread "important" feeds. "important" feeds are marked with a "[i]" in configuration dialogs * [config] add browser "firefox (new window)" and "firefox (new tab)" as requested * cleanups and renames SVN revision: 30062
This commit is contained in:
parent
01de93cb8a
commit
d87177eae6
|
@ -1,9 +1,12 @@
|
||||||
|
ACLOCAL_AMFLAGS = -I m4
|
||||||
|
MAINTAINERCLEANFILES = Makefile.in
|
||||||
|
|
||||||
INCLUDES = -I. \
|
INCLUDES = -I. \
|
||||||
-I$(top_srcdir) \
|
-I$(top_srcdir) \
|
||||||
-I$(includedir) \
|
-I$(includedir) \
|
||||||
@e_cflags@
|
@ENLIGHTENMENT_CFLAGS@
|
||||||
pkgdir = $(datadir)/$(MODULE_ARCH)
|
|
||||||
|
|
||||||
|
pkgdir = $(datadir)/$(MODULE_ARCH)
|
||||||
pkg_LTLIBRARIES = module.la
|
pkg_LTLIBRARIES = module.la
|
||||||
module_la_SOURCES = e_mod_main.c \
|
module_la_SOURCES = e_mod_main.c \
|
||||||
e_mod_main.h \
|
e_mod_main.h \
|
||||||
|
@ -36,8 +39,8 @@ module_la_SOURCES = e_mod_main.c \
|
||||||
news_parse_atom.h \
|
news_parse_atom.h \
|
||||||
news_parse_rss.c \
|
news_parse_rss.c \
|
||||||
news_parse_rss.h \
|
news_parse_rss.h \
|
||||||
news_popup_warn.c \
|
news_popup.c \
|
||||||
news_popup_warn.h \
|
news_popup.h \
|
||||||
news_theme.c \
|
news_theme.c \
|
||||||
news_theme.h \
|
news_theme.h \
|
||||||
news_utils.c \
|
news_utils.c \
|
||||||
|
@ -46,6 +49,6 @@ module_la_SOURCES = e_mod_main.c \
|
||||||
news_viewer.h \
|
news_viewer.h \
|
||||||
News.h \
|
News.h \
|
||||||
News_includes.h
|
News_includes.h
|
||||||
module_la_LIBADD = @e_libs@
|
module_la_LIBADD = @ENLIGHTENMENT_LIBS@
|
||||||
module_la_LDFLAGS = -module -avoid-version -s
|
module_la_LDFLAGS = -module -avoid-version -s
|
||||||
module_la_DEPENDENCIES = $(top_builddir)/config.h
|
module_la_DEPENDENCIES = $(top_builddir)/config.h
|
||||||
|
|
|
@ -47,10 +47,10 @@
|
||||||
#else
|
#else
|
||||||
# define DBROWSER(x) ((void) 0)
|
# define DBROWSER(x) ((void) 0)
|
||||||
#endif
|
#endif
|
||||||
#ifdef DEBUG_POPUP_WARN
|
#ifdef DEBUG_POPUP
|
||||||
# define DPOPW(x) do {printf("POPUP WARN - %s:%d: ", __FILE__, __LINE__); printf x; printf ("\n"); fflush(stdout);} while (0)
|
# define DPOP(x) do {printf("POPUP - %s:%d: ", __FILE__, __LINE__); printf x; printf ("\n"); fflush(stdout);} while (0)
|
||||||
#else
|
#else
|
||||||
# define DPOPW(x) ((void) 0)
|
# define DPOP(x) ((void) 0)
|
||||||
#endif
|
#endif
|
||||||
#ifdef DEBUG_VIEWER
|
#ifdef DEBUG_VIEWER
|
||||||
# define DVIEWER(x) do {printf("VIEWER - %s:%d: ", __FILE__, __LINE__); printf x; printf ("\n"); fflush(stdout);} while (0)
|
# define DVIEWER(x) do {printf("VIEWER - %s:%d: ", __FILE__, __LINE__); printf x; printf ("\n"); fflush(stdout);} while (0)
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include "news_parse_rss.h"
|
#include "news_parse_rss.h"
|
||||||
#include "news_parse_atom.h"
|
#include "news_parse_atom.h"
|
||||||
#include "news_viewer.h"
|
#include "news_viewer.h"
|
||||||
#include "news_popup_warn.h"
|
#include "news_popup.h"
|
||||||
#include "news_menu.h"
|
#include "news_menu.h"
|
||||||
#include "news_config.h"
|
#include "news_config.h"
|
||||||
#include "news_config_dialog.h"
|
#include "news_config_dialog.h"
|
||||||
|
|
|
@ -47,7 +47,7 @@ e_modapi_init(E_Module *m)
|
||||||
if (!news_parse_init()) E_MOD_INIT_FAIL(m, _("Parser init failed"));
|
if (!news_parse_init()) E_MOD_INIT_FAIL(m, _("Parser init failed"));
|
||||||
if (!news_feed_init()) E_MOD_INIT_FAIL(m, _("Feeds init failed"));
|
if (!news_feed_init()) E_MOD_INIT_FAIL(m, _("Feeds init failed"));
|
||||||
if (!news_viewer_init()) E_MOD_INIT_FAIL(m, _("Viewer init failed"));
|
if (!news_viewer_init()) E_MOD_INIT_FAIL(m, _("Viewer init failed"));
|
||||||
if (!news_popup_warn_init()) E_MOD_INIT_FAIL(m, _("Popup warn subsystem init failed"));
|
if (!news_popup_init()) E_MOD_INIT_FAIL(m, _("Popup subsystem init failed"));
|
||||||
|
|
||||||
e_gadcon_provider_register((E_Gadcon_Client_Class *)&_gadcon_class);
|
e_gadcon_provider_register((E_Gadcon_Client_Class *)&_gadcon_class);
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ e_modapi_shutdown(E_Module *m)
|
||||||
if (news->config_dialog_category_new)
|
if (news->config_dialog_category_new)
|
||||||
news_config_dialog_category_hide(NULL);
|
news_config_dialog_category_hide(NULL);
|
||||||
|
|
||||||
news_popup_warn_shutdown();
|
news_popup_shutdown();
|
||||||
news_viewer_shutdown();
|
news_viewer_shutdown();
|
||||||
news_feed_shutdown();
|
news_feed_shutdown();
|
||||||
news_parse_shutdown();
|
news_parse_shutdown();
|
||||||
|
@ -170,7 +170,7 @@ _gc_orient(E_Gadcon_Client *gcc)
|
||||||
|
|
||||||
ni = gcc->data;
|
ni = gcc->data;
|
||||||
|
|
||||||
switch (ni->config->view_mode)
|
switch ((News_Item_View_Mode)ni->config->view_mode)
|
||||||
{
|
{
|
||||||
case NEWS_ITEM_VIEW_MODE_ONE:
|
case NEWS_ITEM_VIEW_MODE_ONE:
|
||||||
nb_feeds = 1;
|
nb_feeds = 1;
|
||||||
|
@ -178,11 +178,25 @@ _gc_orient(E_Gadcon_Client *gcc)
|
||||||
case NEWS_ITEM_VIEW_MODE_FEED:
|
case NEWS_ITEM_VIEW_MODE_FEED:
|
||||||
nb_feeds = evas_list_count(ni->config->feed_refs);
|
nb_feeds = evas_list_count(ni->config->feed_refs);
|
||||||
if (!nb_feeds) nb_feeds = 1;
|
if (!nb_feeds) nb_feeds = 1;
|
||||||
break;
|
break;
|
||||||
case NEWS_ITEM_VIEW_MODE_FEED_UNREAD:
|
case NEWS_ITEM_VIEW_MODE_FEED_UNREAD:
|
||||||
nb_feeds = ni->unread_count;
|
nb_feeds = ni->unread_count;
|
||||||
if (!nb_feeds) nb_feeds = 1;
|
if (!nb_feeds) nb_feeds = 1;
|
||||||
break;
|
break;
|
||||||
|
case NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT:
|
||||||
|
case NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT_UNREAD:
|
||||||
|
nb_feeds = 0;
|
||||||
|
NEWS_ITEM_FEEDS_FOREACH_BEG(ni);
|
||||||
|
if (_feed->important)
|
||||||
|
{
|
||||||
|
if ((ni->config->view_mode == NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT)
|
||||||
|
||
|
||||||
|
((ni->config->view_mode == NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT_UNREAD)
|
||||||
|
&& _feed->doc && _feed->doc->unread_count))
|
||||||
|
nb_feeds++;
|
||||||
|
}
|
||||||
|
NEWS_ITEM_FEEDS_FOREACH_END();
|
||||||
|
if (!nb_feeds) nb_feeds = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (gcc->gadcon->orient)
|
switch (gcc->gadcon->orient)
|
||||||
|
|
|
@ -31,7 +31,7 @@ news_config_init(void)
|
||||||
E_CONFIG_VAL(D, T, url_feed, STR);
|
E_CONFIG_VAL(D, T, url_feed, STR);
|
||||||
E_CONFIG_VAL(D, T, icon, STR);
|
E_CONFIG_VAL(D, T, icon, STR);
|
||||||
E_CONFIG_VAL(D, T, icon_ovrw, SHORT);
|
E_CONFIG_VAL(D, T, icon_ovrw, SHORT);
|
||||||
E_CONFIG_VAL(D, T, urgent, SHORT);
|
E_CONFIG_VAL(D, T, important, SHORT);
|
||||||
_news_feed_ref_edd = E_CONFIG_DD_NEW("News_Feed_Ref", News_Feed_Ref);
|
_news_feed_ref_edd = E_CONFIG_DD_NEW("News_Feed_Ref", News_Feed_Ref);
|
||||||
#undef T
|
#undef T
|
||||||
#undef D
|
#undef D
|
||||||
|
@ -166,9 +166,9 @@ news_config_init(void)
|
||||||
E_CONFIG_LIMIT(news->config->viewer.varticles.sort_date, 0, 1);
|
E_CONFIG_LIMIT(news->config->viewer.varticles.sort_date, 0, 1);
|
||||||
E_CONFIG_LIMIT(news->config->viewer.vcontent.font_size, NEWS_VIEWER_VCONTENT_FONT_SIZE_MIN, NEWS_VIEWER_VCONTENT_FONT_SIZE_MAX);
|
E_CONFIG_LIMIT(news->config->viewer.vcontent.font_size, NEWS_VIEWER_VCONTENT_FONT_SIZE_MIN, NEWS_VIEWER_VCONTENT_FONT_SIZE_MAX);
|
||||||
E_CONFIG_LIMIT(news->config->viewer.vcontent.font_shadow, 0, 1);
|
E_CONFIG_LIMIT(news->config->viewer.vcontent.font_shadow, 0, 1);
|
||||||
E_CONFIG_LIMIT(news->config->popup_news.timer_s, NEWS_POPUP_WARN_TIMER_S_MIN, NEWS_POPUP_WARN_TIMER_S_MAX);
|
E_CONFIG_LIMIT(news->config->popup_news.timer_s, NEWS_POPUP_TIMER_S_MIN, NEWS_POPUP_TIMER_S_MAX);
|
||||||
E_CONFIG_LIMIT(news->config->popup_other.on_timeout, 0, 1);
|
E_CONFIG_LIMIT(news->config->popup_other.on_timeout, 0, 1);
|
||||||
E_CONFIG_LIMIT(news->config->popup_other.timer_s, NEWS_POPUP_WARN_TIMER_S_MIN, NEWS_POPUP_WARN_TIMER_S_MAX);
|
E_CONFIG_LIMIT(news->config->popup_other.timer_s, NEWS_POPUP_TIMER_S_MIN, NEWS_POPUP_TIMER_S_MAX);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -211,18 +211,20 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
of = e_widget_frametable_add(evas, _("Browser"), 0);
|
of = e_widget_frametable_add(evas, _("Browser"), 0);
|
||||||
|
|
||||||
rg = e_widget_radio_group_new(&(cfdata->browser.wich));
|
rg = e_widget_radio_group_new(&(cfdata->browser.wich));
|
||||||
ob = e_widget_radio_add(evas, _("Firefox"), NEWS_UTIL_BROWSER_FIREFOX, rg);
|
ob = e_widget_radio_add(evas, _("Firefox (new window)"), NEWS_UTIL_BROWSER_FIREFOX, rg);
|
||||||
e_widget_frametable_object_append(of, ob, 0, 0, 1, 1, 1, 1, 0, 1);
|
e_widget_frametable_object_append(of, ob, 0, 0, 3, 1, 1, 1, 0, 1);
|
||||||
|
ob = e_widget_radio_add(evas, _("Firefox (new tab)"), NEWS_UTIL_BROWSER_FIREFOX_TAB, rg);
|
||||||
|
e_widget_frametable_object_append(of, ob, 3, 0, 3, 1, 1, 1, 0, 1);
|
||||||
ob = e_widget_radio_add(evas, _("Mozilla"), NEWS_UTIL_BROWSER_MOZILLA, rg);
|
ob = e_widget_radio_add(evas, _("Mozilla"), NEWS_UTIL_BROWSER_MOZILLA, rg);
|
||||||
e_widget_frametable_object_append(of, ob, 1, 0, 1, 1, 1, 1, 0, 1);
|
e_widget_frametable_object_append(of, ob, 0, 1, 2, 1, 1, 1, 0, 1);
|
||||||
ob = e_widget_radio_add(evas, _("Opera"), NEWS_UTIL_BROWSER_OPERA, rg);
|
ob = e_widget_radio_add(evas, _("Opera"), NEWS_UTIL_BROWSER_OPERA, rg);
|
||||||
e_widget_frametable_object_append(of, ob, 2, 0, 1, 1, 1, 1, 0, 1);
|
e_widget_frametable_object_append(of, ob, 2, 1, 2, 1, 1, 1, 0, 1);
|
||||||
ob = e_widget_radio_add(evas, _("Dillo"), NEWS_UTIL_BROWSER_DILLO, rg);
|
ob = e_widget_radio_add(evas, _("Dillo"), NEWS_UTIL_BROWSER_DILLO, rg);
|
||||||
e_widget_frametable_object_append(of, ob, 3, 0, 1, 1, 1, 1, 0, 1);
|
e_widget_frametable_object_append(of, ob, 4, 1, 2, 1, 1, 1, 0, 1);
|
||||||
ob = e_widget_radio_add(evas, _("This one"), NEWS_UTIL_BROWSER_OWN, rg);
|
ob = e_widget_radio_add(evas, _("This one"), NEWS_UTIL_BROWSER_OWN, rg);
|
||||||
e_widget_frametable_object_append(of, ob, 0, 1, 1, 1, 1, 1, 0, 1);
|
e_widget_frametable_object_append(of, ob, 0, 2, 2, 1, 1, 1, 0, 1);
|
||||||
ob = e_widget_entry_add(evas, &(cfdata->browser.own));
|
ob = e_widget_entry_add(evas, &(cfdata->browser.own));
|
||||||
e_widget_frametable_object_append(of, ob, 1, 1, 3, 1, 1, 1, 1, 1);
|
e_widget_frametable_object_append(of, ob, 2, 2, 4, 1, 1, 1, 0, 1);
|
||||||
|
|
||||||
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
e_widget_list_object_append(o, of, 1, 1, 0.5);
|
||||||
|
|
||||||
|
@ -273,18 +275,20 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
||||||
of = e_widget_frametable_add(evas, _("Browser"), 0);
|
of = e_widget_frametable_add(evas, _("Browser"), 0);
|
||||||
|
|
||||||
rg = e_widget_radio_group_new(&(cfdata->browser.wich));
|
rg = e_widget_radio_group_new(&(cfdata->browser.wich));
|
||||||
ob = e_widget_radio_add(evas, _("Firefox"), NEWS_UTIL_BROWSER_FIREFOX, rg);
|
ob = e_widget_radio_add(evas, _("Firefox (new window)"), NEWS_UTIL_BROWSER_FIREFOX, rg);
|
||||||
e_widget_frametable_object_append(of, ob, 0, 0, 1, 1, 1, 1, 0, 1);
|
e_widget_frametable_object_append(of, ob, 0, 0, 3, 1, 1, 1, 0, 1);
|
||||||
|
ob = e_widget_radio_add(evas, _("Firefox (new tab)"), NEWS_UTIL_BROWSER_FIREFOX_TAB, rg);
|
||||||
|
e_widget_frametable_object_append(of, ob, 3, 0, 3, 1, 1, 1, 0, 1);
|
||||||
ob = e_widget_radio_add(evas, _("Mozilla"), NEWS_UTIL_BROWSER_MOZILLA, rg);
|
ob = e_widget_radio_add(evas, _("Mozilla"), NEWS_UTIL_BROWSER_MOZILLA, rg);
|
||||||
e_widget_frametable_object_append(of, ob, 1, 0, 1, 1, 1, 1, 0, 1);
|
e_widget_frametable_object_append(of, ob, 0, 1, 2, 1, 1, 1, 0, 1);
|
||||||
ob = e_widget_radio_add(evas, _("Opera"), NEWS_UTIL_BROWSER_OPERA, rg);
|
ob = e_widget_radio_add(evas, _("Opera"), NEWS_UTIL_BROWSER_OPERA, rg);
|
||||||
e_widget_frametable_object_append(of, ob, 2, 0, 1, 1, 1, 1, 0, 1);
|
e_widget_frametable_object_append(of, ob, 2, 1, 2, 1, 1, 1, 0, 1);
|
||||||
ob = e_widget_radio_add(evas, _("Dillo"), NEWS_UTIL_BROWSER_DILLO, rg);
|
ob = e_widget_radio_add(evas, _("Dillo"), NEWS_UTIL_BROWSER_DILLO, rg);
|
||||||
e_widget_frametable_object_append(of, ob, 3, 0, 1, 1, 1, 1, 0, 1);
|
e_widget_frametable_object_append(of, ob, 4, 1, 2, 1, 1, 1, 0, 1);
|
||||||
ob = e_widget_radio_add(evas, _("This one"), NEWS_UTIL_BROWSER_OWN, rg);
|
ob = e_widget_radio_add(evas, _("This one"), NEWS_UTIL_BROWSER_OWN, rg);
|
||||||
e_widget_frametable_object_append(of, ob, 0, 1, 1, 1, 1, 1, 0, 1);
|
e_widget_frametable_object_append(of, ob, 0, 2, 2, 1, 1, 1, 0, 1);
|
||||||
ob = e_widget_entry_add(evas, &(cfdata->browser.own));
|
ob = e_widget_entry_add(evas, &(cfdata->browser.own));
|
||||||
e_widget_frametable_object_append(of, ob, 1, 1, 3, 1, 1, 1, 1, 1);
|
e_widget_frametable_object_append(of, ob, 2, 2, 4, 1, 1, 1, 0, 1);
|
||||||
|
|
||||||
e_widget_list_object_append(o2, of, 1, 1, 0.5);
|
e_widget_list_object_append(o2, of, 1, 1, 0.5);
|
||||||
|
|
||||||
|
@ -313,8 +317,8 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
||||||
ob = e_widget_label_add(evas, _("Timer"));
|
ob = e_widget_label_add(evas, _("Timer"));
|
||||||
e_widget_frametable_object_append(of, ob, 0, 2, 1, 1, 1, 1, 1, 0);
|
e_widget_frametable_object_append(of, ob, 0, 2, 1, 1, 1, 1, 1, 0);
|
||||||
ob = e_widget_slider_add(evas, 1, 0, _("%1.0f s"),
|
ob = e_widget_slider_add(evas, 1, 0, _("%1.0f s"),
|
||||||
(float)NEWS_POPUP_WARN_TIMER_S_MIN,
|
(float)NEWS_POPUP_TIMER_S_MIN,
|
||||||
(float)NEWS_POPUP_WARN_TIMER_S_MAX,
|
(float)NEWS_POPUP_TIMER_S_MAX,
|
||||||
1.0, 0, NULL, &(cfdata->popup_news.timer_s), 70);
|
1.0, 0, NULL, &(cfdata->popup_news.timer_s), 70);
|
||||||
e_widget_frametable_object_append(of, ob, 1, 2, 1, 1, 1, 1, 1, 0);
|
e_widget_frametable_object_append(of, ob, 1, 2, 1, 1, 1, 1, 1, 0);
|
||||||
|
|
||||||
|
@ -322,14 +326,19 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
||||||
|
|
||||||
of = e_widget_frametable_add(evas, _("Popup On Warning / Error"), 0);
|
of = e_widget_frametable_add(evas, _("Popup On Warning / Error"), 0);
|
||||||
|
|
||||||
|
//TODO: NOT IMPLEMENTED YET
|
||||||
|
news->config->popup_other.on_timeout = 0;
|
||||||
|
cfdata->popup_other.on_timeout = 0;
|
||||||
ob = e_widget_check_add(evas, _("Show on timeout ?"), &(cfdata->popup_other.on_timeout));
|
ob = e_widget_check_add(evas, _("Show on timeout ?"), &(cfdata->popup_other.on_timeout));
|
||||||
|
//TODO: NOT IMPLEMENTED YET
|
||||||
|
e_widget_disabled_set(ob, 1);
|
||||||
e_widget_frametable_object_append(of, ob, 0, 0, 2, 1, 1, 0, 1, 0);
|
e_widget_frametable_object_append(of, ob, 0, 0, 2, 1, 1, 0, 1, 0);
|
||||||
|
|
||||||
ob = e_widget_label_add(evas, _("Timer"));
|
ob = e_widget_label_add(evas, _("Timer"));
|
||||||
e_widget_frametable_object_append(of, ob, 0, 1, 1, 1, 1, 1, 1, 0);
|
e_widget_frametable_object_append(of, ob, 0, 1, 1, 1, 1, 1, 1, 0);
|
||||||
ob = e_widget_slider_add(evas, 1, 0, _("%1.0f s"),
|
ob = e_widget_slider_add(evas, 1, 0, _("%1.0f s"),
|
||||||
(float)NEWS_POPUP_WARN_TIMER_S_MIN,
|
(float)NEWS_POPUP_TIMER_S_MIN,
|
||||||
(float)NEWS_POPUP_WARN_TIMER_S_MAX,
|
(float)NEWS_POPUP_TIMER_S_MAX,
|
||||||
1.0, 0, NULL, &(cfdata->popup_other.timer_s), 70);
|
1.0, 0, NULL, &(cfdata->popup_other.timer_s), 70);
|
||||||
e_widget_frametable_object_append(of, ob, 1, 1, 1, 1, 1, 1, 1, 0);
|
e_widget_frametable_object_append(of, ob, 1, 1, 1, 1, 1, 1, 1, 0);
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@ struct _E_Config_Dialog_Data
|
||||||
char *url_feed;
|
char *url_feed;
|
||||||
char *icon;
|
char *icon;
|
||||||
int icon_ovrw;
|
int icon_ovrw;
|
||||||
int urgent;
|
int important;
|
||||||
News_Feed_Category *category;
|
News_Feed_Category *category;
|
||||||
|
|
||||||
News_Feed *feed;
|
News_Feed *feed;
|
||||||
|
@ -58,6 +58,12 @@ news_config_dialog_feed_show(News_Feed *feed)
|
||||||
E_Config_Dialog *cfd;
|
E_Config_Dialog *cfd;
|
||||||
E_Config_Dialog_View *v;
|
E_Config_Dialog_View *v;
|
||||||
|
|
||||||
|
if (!evas_list_count(news->config->feed.categories))
|
||||||
|
{
|
||||||
|
news_util_message_error_show(_("You need to <hilight>create a category</hilight> first"));
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
v = E_NEW(E_Config_Dialog_View, 1);
|
v = E_NEW(E_Config_Dialog_View, 1);
|
||||||
|
|
||||||
v->create_cfdata = _create_data;
|
v->create_cfdata = _create_data;
|
||||||
|
@ -144,10 +150,10 @@ news_config_dialog_feed_refresh_categories(News_Feed *feed)
|
||||||
e_widget_ilist_thaw(ilist);
|
e_widget_ilist_thaw(ilist);
|
||||||
|
|
||||||
if (pos_to_select != -1)
|
if (pos_to_select != -1)
|
||||||
{
|
e_widget_ilist_selected_set(ilist, pos_to_select);
|
||||||
e_widget_ilist_selected_set(ilist, pos_to_select);
|
else
|
||||||
_cb_category_list(cfdata);
|
e_widget_ilist_selected_set(ilist, 0);
|
||||||
}
|
_cb_category_list(cfdata);
|
||||||
|
|
||||||
e_widget_min_size_get(ilist, &w, NULL);
|
e_widget_min_size_get(ilist, &w, NULL);
|
||||||
e_widget_min_size_set(ilist, w, 110);
|
e_widget_min_size_set(ilist, w, 110);
|
||||||
|
@ -280,7 +286,7 @@ _fill_data(E_Config_Dialog_Data *cfdata, News_Feed *f)
|
||||||
cfdata->icon = strdup(buf);
|
cfdata->icon = strdup(buf);
|
||||||
}
|
}
|
||||||
cfdata->icon_ovrw = f->icon_ovrw;
|
cfdata->icon_ovrw = f->icon_ovrw;
|
||||||
cfdata->urgent = f->urgent;
|
cfdata->important = f->important;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -344,9 +350,7 @@ _common_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *c
|
||||||
e_widget_frametable_object_append(of, ob, 0, 3, 1, 1, 1, 0, 1, 0);
|
e_widget_frametable_object_append(of, ob, 0, 3, 1, 1, 1, 0, 1, 0);
|
||||||
ob = e_widget_entry_add(evas, &(cfdata->url_feed));
|
ob = e_widget_entry_add(evas, &(cfdata->url_feed));
|
||||||
e_widget_frametable_object_append(of, ob, 0, 4, 1, 1, 1, 0, 1, 0);
|
e_widget_frametable_object_append(of, ob, 0, 4, 1, 1, 1, 0, 1, 0);
|
||||||
ob = e_widget_check_add(evas, _("Mark as important feed"), &(cfdata->urgent));
|
ob = e_widget_check_add(evas, _("Mark as important feed"), &(cfdata->important));
|
||||||
//TODO: NOT IMPLEMENTED YET
|
|
||||||
e_widget_disabled_set(ob, 1);
|
|
||||||
e_widget_frametable_object_append(of, ob, 0, 5, 1, 1, 1, 0, 1, 0);
|
e_widget_frametable_object_append(of, ob, 0, 5, 1, 1, 1, 0, 1, 0);
|
||||||
|
|
||||||
e_widget_table_object_append(o, of, 0, 0, 2, 1, 1, 1, 1, 1);
|
e_widget_table_object_append(o, of, 0, 0, 2, 1, 1, 1, 1, 1);
|
||||||
|
@ -395,7 +399,7 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
||||||
ob = e_widget_entry_add(evas, &(cfdata->url_home));
|
ob = e_widget_entry_add(evas, &(cfdata->url_home));
|
||||||
e_widget_framelist_object_append(of, ob);
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
|
||||||
e_widget_table_object_append(o, of, 0, 1, 3, 1, 1, 0, 1, 0);
|
e_widget_table_object_append(o, of, 0, 1, 3, 1, 1, 1, 1, 1);
|
||||||
|
|
||||||
|
|
||||||
of = e_widget_framelist_add(evas, _("Server informations"), 0);
|
of = e_widget_framelist_add(evas, _("Server informations"), 0);
|
||||||
|
@ -412,7 +416,7 @@ _advanced_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data
|
||||||
ob = e_widget_check_add(evas, _("Home url"), &(cfdata->url_home_ovrw));
|
ob = e_widget_check_add(evas, _("Home url"), &(cfdata->url_home_ovrw));
|
||||||
e_widget_framelist_object_append(of, ob);
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
|
||||||
e_widget_table_object_append(o, of, 3, 1, 3, 1, 1, 0, 1, 0);
|
e_widget_table_object_append(o, of, 3, 1, 3, 1, 1, 1, 1, 1);
|
||||||
|
|
||||||
e_dialog_resizable_set(cfd->dia, 1);
|
e_dialog_resizable_set(cfd->dia, 1);
|
||||||
|
|
||||||
|
@ -437,7 +441,7 @@ _common_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
cfdata->url_home, cfdata->url_home_ovrw,
|
cfdata->url_home, cfdata->url_home_ovrw,
|
||||||
cfdata->url_feed,
|
cfdata->url_feed,
|
||||||
cfdata->icon, cfdata->icon_ovrw,
|
cfdata->icon, cfdata->icon_ovrw,
|
||||||
cfdata->urgent,
|
cfdata->important,
|
||||||
cfdata->category, 0) )
|
cfdata->category, 0) )
|
||||||
{
|
{
|
||||||
if (old_cat != cfdata->category)
|
if (old_cat != cfdata->category)
|
||||||
|
@ -466,7 +470,7 @@ _common_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
cfdata->url_home, cfdata->url_home_ovrw,
|
cfdata->url_home, cfdata->url_home_ovrw,
|
||||||
cfdata->url_feed,
|
cfdata->url_feed,
|
||||||
cfdata->icon, cfdata->icon_ovrw,
|
cfdata->icon, cfdata->icon_ovrw,
|
||||||
cfdata->urgent,
|
cfdata->important,
|
||||||
cfdata->category);
|
cfdata->category);
|
||||||
if (!f)
|
if (!f)
|
||||||
{
|
{
|
||||||
|
@ -482,8 +486,6 @@ _common_apply_data(E_Config_Dialog *cfd, E_Config_Dialog_Data *cfdata)
|
||||||
|
|
||||||
news_feed_lists_refresh(1);
|
news_feed_lists_refresh(1);
|
||||||
|
|
||||||
// TODO config dialog to attach to an item
|
|
||||||
|
|
||||||
news_config_save();
|
news_config_save();
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
@ -152,8 +152,7 @@ news_config_dialog_feeds_refresh_feeds(void)
|
||||||
e_icon_file_set(ic, f->icon);
|
e_icon_file_set(ic, f->icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "%s", f->name);
|
snprintf(buf, sizeof(buf), "%s%s", (f->important) ? "[i] " : "", f->name);
|
||||||
// TODO : better display of each feed
|
|
||||||
|
|
||||||
e_widget_ilist_append(ilist, ic, buf, _cb_feed_list, f, NULL);
|
e_widget_ilist_append(ilist, ic, buf, _cb_feed_list, f, NULL);
|
||||||
pos++;
|
pos++;
|
||||||
|
@ -217,7 +216,6 @@ news_config_dialog_feeds_refresh_categories(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "%s", fc->name);
|
snprintf(buf, sizeof(buf), "%s", fc->name);
|
||||||
// TODO : better display of each category
|
|
||||||
|
|
||||||
e_widget_ilist_append(ilist, ic, buf, _cb_category_list, fc, NULL);
|
e_widget_ilist_append(ilist, ic, buf, _cb_category_list, fc, NULL);
|
||||||
pos++;
|
pos++;
|
||||||
|
@ -229,10 +227,7 @@ news_config_dialog_feeds_refresh_categories(void)
|
||||||
e_widget_ilist_thaw(ilist);
|
e_widget_ilist_thaw(ilist);
|
||||||
|
|
||||||
if (pos_to_select != -1)
|
if (pos_to_select != -1)
|
||||||
{
|
e_widget_ilist_selected_set(ilist, pos_to_select);
|
||||||
e_widget_ilist_selected_set(ilist, pos_to_select);
|
|
||||||
//_cb_category_list(cfdata->selected_category);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (pos == -1)
|
if (pos == -1)
|
||||||
e_widget_min_size_set(ilist, 165, 120);
|
e_widget_min_size_set(ilist, 165, 120);
|
||||||
|
|
|
@ -106,9 +106,13 @@ _basic_create_widgets(E_Config_Dialog *cfd, Evas *evas, E_Config_Dialog_Data *cf
|
||||||
rg = e_widget_radio_group_new(&(cfdata->view_mode));
|
rg = e_widget_radio_group_new(&(cfdata->view_mode));
|
||||||
ob = e_widget_radio_add(evas, _("Show one icon for all feeds"), NEWS_ITEM_VIEW_MODE_ONE, rg);
|
ob = e_widget_radio_add(evas, _("Show one icon for all feeds"), NEWS_ITEM_VIEW_MODE_ONE, rg);
|
||||||
e_widget_framelist_object_append(of, ob);
|
e_widget_framelist_object_append(of, ob);
|
||||||
ob = e_widget_radio_add(evas, _("Show each feed"), NEWS_ITEM_VIEW_MODE_FEED, rg);
|
ob = e_widget_radio_add(evas, _("Show all feeds"), NEWS_ITEM_VIEW_MODE_FEED, rg);
|
||||||
e_widget_framelist_object_append(of, ob);
|
e_widget_framelist_object_append(of, ob);
|
||||||
ob = e_widget_radio_add(evas, _("Show unread feeds only"), NEWS_ITEM_VIEW_MODE_FEED_UNREAD, rg);
|
ob = e_widget_radio_add(evas, _("Show unread feeds"), NEWS_ITEM_VIEW_MODE_FEED_UNREAD, rg);
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
ob = e_widget_radio_add(evas, _("Show all feeds marked as important"), NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT, rg);
|
||||||
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
ob = e_widget_radio_add(evas, _("Show unread feeds marked as important"), NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT_UNREAD, rg);
|
||||||
e_widget_framelist_object_append(of, ob);
|
e_widget_framelist_object_append(of, ob);
|
||||||
|
|
||||||
e_widget_list_object_append(o, of, 1, 1, 0.0);
|
e_widget_list_object_append(o, of, 1, 1, 0.0);
|
||||||
|
|
|
@ -126,8 +126,7 @@ news_config_dialog_item_content_refresh_feeds(News_Item *ni)
|
||||||
e_icon_file_set(ic, f->icon);
|
e_icon_file_set(ic, f->icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "%s", f->name);
|
snprintf(buf, sizeof(buf), "%s%s", (f->important) ? "[i] " : "", f->name);
|
||||||
// TODO : better display of each feed
|
|
||||||
|
|
||||||
e_widget_ilist_append(ilist, ic, buf, NULL, f, NULL);
|
e_widget_ilist_append(ilist, ic, buf, NULL, f, NULL);
|
||||||
pos++;
|
pos++;
|
||||||
|
@ -184,8 +183,7 @@ news_config_dialog_item_content_refresh_selected_feeds(News_Item *ni)
|
||||||
e_icon_file_set(ic, _feed->icon);
|
e_icon_file_set(ic, _feed->icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "%s", _feed->name);
|
snprintf(buf, sizeof(buf), "%s%s", (_feed->important) ? "[i] " : "", _feed->name);
|
||||||
// TODO : better display of each feed
|
|
||||||
|
|
||||||
e_widget_ilist_append(ilist, ic, buf, NULL, _feed, NULL);
|
e_widget_ilist_append(ilist, ic, buf, NULL, _feed, NULL);
|
||||||
pos++;
|
pos++;
|
||||||
|
|
|
@ -90,7 +90,7 @@ news_feed_init(void)
|
||||||
(char *)_feed->url_home, _feed->url_home_ovrw,
|
(char *)_feed->url_home, _feed->url_home_ovrw,
|
||||||
(char *)_feed->url_feed,
|
(char *)_feed->url_feed,
|
||||||
(char *)_feed->icon, _feed->icon_ovrw,
|
(char *)_feed->icon, _feed->icon_ovrw,
|
||||||
_feed->urgent,
|
_feed->important,
|
||||||
_cat, 1))
|
_cat, 1))
|
||||||
_cat->feeds = evas_list_remove_list(_cat->feeds, _l_cats);
|
_cat->feeds = evas_list_remove_list(_cat->feeds, _l_cats);
|
||||||
NEWS_FEED_FOREACH_END();
|
NEWS_FEED_FOREACH_END();
|
||||||
|
@ -256,7 +256,7 @@ news_feed_timer_set(int time)
|
||||||
}
|
}
|
||||||
|
|
||||||
News_Feed *
|
News_Feed *
|
||||||
news_feed_new(char *name, int name_ovrw, char *language, int language_ovrw, char *description, int description_ovrw, char *url_home, int url_home_ovrw, char *url_feed, char *icon, int icon_ovrw, int urgent, News_Feed_Category *category)
|
news_feed_new(char *name, int name_ovrw, char *language, int language_ovrw, char *description, int description_ovrw, char *url_home, int url_home_ovrw, char *url_feed, char *icon, int icon_ovrw, int important, News_Feed_Category *category)
|
||||||
{
|
{
|
||||||
News_Feed *f;
|
News_Feed *f;
|
||||||
|
|
||||||
|
@ -269,7 +269,7 @@ news_feed_new(char *name, int name_ovrw, char *language, int language_ovrw, char
|
||||||
url_home, url_home_ovrw,
|
url_home, url_home_ovrw,
|
||||||
url_feed,
|
url_feed,
|
||||||
icon, icon_ovrw,
|
icon, icon_ovrw,
|
||||||
urgent,
|
important,
|
||||||
category, 0))
|
category, 0))
|
||||||
{
|
{
|
||||||
free(f);
|
free(f);
|
||||||
|
@ -280,7 +280,7 @@ news_feed_new(char *name, int name_ovrw, char *language, int language_ovrw, char
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
news_feed_edit(News_Feed *f, char *name, int name_ovrw, char *language, int language_ovrw, char *description, int description_ovrw, char *url_home, int url_home_ovrw, char *url_feed, char *icon, int icon_ovrw, int urgent, News_Feed_Category *category, int check_only)
|
news_feed_edit(News_Feed *f, char *name, int name_ovrw, char *language, int language_ovrw, char *description, int description_ovrw, char *url_home, int url_home_ovrw, char *url_feed, char *icon, int icon_ovrw, int important, News_Feed_Category *category, int check_only)
|
||||||
{
|
{
|
||||||
News_Feed *f2;
|
News_Feed *f2;
|
||||||
char *host, *file;
|
char *host, *file;
|
||||||
|
@ -378,7 +378,16 @@ news_feed_edit(News_Feed *f, char *name, int name_ovrw, char *language, int lang
|
||||||
}
|
}
|
||||||
f->icon_ovrw = icon_ovrw;
|
f->icon_ovrw = icon_ovrw;
|
||||||
|
|
||||||
f->urgent = urgent;
|
if (f->important != important)
|
||||||
|
{
|
||||||
|
f->important = important;
|
||||||
|
if (f->item
|
||||||
|
&& ( (f->item->config->view_mode == NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT)
|
||||||
|
||
|
||||||
|
((f->item->config->view_mode == NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT_UNREAD)
|
||||||
|
&& f->doc && f->doc->unread_count)))
|
||||||
|
news_item_refresh(f->item, 1, 0, 1);
|
||||||
|
}
|
||||||
|
|
||||||
f->category = category;
|
f->category = category;
|
||||||
|
|
||||||
|
@ -386,12 +395,8 @@ news_feed_edit(News_Feed *f, char *name, int name_ovrw, char *language, int lang
|
||||||
{
|
{
|
||||||
News_Feed_Ref *ref;
|
News_Feed_Ref *ref;
|
||||||
|
|
||||||
if ((f->item->config->view_mode == NEWS_ITEM_VIEW_MODE_FEED)
|
if (f->icon && !f->obj_icon)
|
||||||
&&
|
news_feed_obj_refresh(f, 1, 1);
|
||||||
(f->icon && !f->obj_icon))
|
|
||||||
{
|
|
||||||
news_feed_obj_refresh(f, 1, 1);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Feed Ref update */
|
/* Feed Ref update */
|
||||||
ref = news_feed_ref_find(f, f->item);
|
ref = news_feed_ref_find(f, f->item);
|
||||||
|
@ -416,8 +421,7 @@ news_feed_edit(News_Feed *f, char *name, int name_ovrw, char *language, int lang
|
||||||
E_FREE(f->file);
|
E_FREE(f->file);
|
||||||
f->file = file;
|
f->file = file;
|
||||||
|
|
||||||
//FIXME: update only if attached to an item
|
if (update && f->item) news_feed_update(f);
|
||||||
if (update) news_feed_update(f);
|
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
@ -763,11 +767,23 @@ news_feed_unread_count_change(News_Feed *feed, int nb)
|
||||||
news_item_unread_count_change(feed->item, 1);
|
news_item_unread_count_change(feed->item, 1);
|
||||||
else
|
else
|
||||||
news_item_unread_count_change(feed->item, -1);
|
news_item_unread_count_change(feed->item, -1);
|
||||||
|
|
||||||
if (feed->item->config->view_mode == NEWS_ITEM_VIEW_MODE_FEED)
|
switch ((News_Item_View_Mode)feed->item->config->view_mode)
|
||||||
news_feed_obj_refresh(feed, 0, 1);
|
{
|
||||||
else if (feed->item->config->view_mode == NEWS_ITEM_VIEW_MODE_FEED_UNREAD)
|
case NEWS_ITEM_VIEW_MODE_ONE:
|
||||||
news_item_refresh(feed->item, 1, 0, 1);
|
break;
|
||||||
|
case NEWS_ITEM_VIEW_MODE_FEED:
|
||||||
|
case NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT:
|
||||||
|
news_feed_obj_refresh(feed, 0, 1);
|
||||||
|
break;
|
||||||
|
case NEWS_ITEM_VIEW_MODE_FEED_UNREAD:
|
||||||
|
news_item_refresh(feed->item, 1, 0, 1);
|
||||||
|
break;
|
||||||
|
case NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT_UNREAD:
|
||||||
|
if (feed->important)
|
||||||
|
news_item_refresh(feed->item, 1, 0, 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (feed->item->viewer)
|
if (feed->item->viewer)
|
||||||
news_viewer_refresh(feed->item->viewer);
|
news_viewer_refresh(feed->item->viewer);
|
||||||
|
@ -1021,7 +1037,7 @@ _feed_deactivate(News_Feed *f)
|
||||||
if (doc->parse.meta_date) evas_stringshare_del(doc->parse.meta_date);
|
if (doc->parse.meta_date) evas_stringshare_del(doc->parse.meta_date);
|
||||||
if (doc->parse.charset) evas_stringshare_del(doc->parse.charset);
|
if (doc->parse.charset) evas_stringshare_del(doc->parse.charset);
|
||||||
|
|
||||||
//FIXME: segfault appears if i delete the server ...
|
//FIXME: waiting ecore_con patch to be able to delete the server in all cases
|
||||||
if (doc->server.conn && doc->server.waiting_reply) ecore_con_server_del(doc->server.conn);
|
if (doc->server.conn && doc->server.waiting_reply) ecore_con_server_del(doc->server.conn);
|
||||||
ecore_event_handler_del(doc->server.handler_add);
|
ecore_event_handler_del(doc->server.handler_add);
|
||||||
ecore_event_handler_del(doc->server.handler_del);
|
ecore_event_handler_del(doc->server.handler_del);
|
||||||
|
@ -1039,7 +1055,7 @@ _feed_deactivate(News_Feed *f)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (doc->popw) news_popup_warn_del(doc->popw);
|
if (doc->popw) news_popup_del(doc->popw);
|
||||||
|
|
||||||
f->doc = NULL;
|
f->doc = NULL;
|
||||||
free(doc);
|
free(doc);
|
||||||
|
@ -1087,6 +1103,8 @@ _get_host_from_url(const char *url)
|
||||||
strncpy(buf, url, sizeof(buf));
|
strncpy(buf, url, sizeof(buf));
|
||||||
if (strncmp(buf, "http://", 7))
|
if (strncmp(buf, "http://", 7))
|
||||||
return NULL;
|
return NULL;
|
||||||
|
if (*(buf+7) == '\0')
|
||||||
|
return NULL;
|
||||||
p = strchr(buf+7, '/');
|
p = strchr(buf+7, '/');
|
||||||
if (p) *p = '\0';
|
if (p) *p = '\0';
|
||||||
host = strdup(buf+7);
|
host = strdup(buf+7);
|
||||||
|
@ -1107,7 +1125,7 @@ _get_file_from_url(const char *url)
|
||||||
if (!p)
|
if (!p)
|
||||||
file = strdup("/");
|
file = strdup("/");
|
||||||
else
|
else
|
||||||
file = strdup(p);
|
file = strdup(p);
|
||||||
|
|
||||||
return file;
|
return file;
|
||||||
}
|
}
|
||||||
|
|
|
@ -205,7 +205,7 @@ struct _News_Feed
|
||||||
const char *url_feed;
|
const char *url_feed;
|
||||||
const char *icon;
|
const char *icon;
|
||||||
int icon_ovrw;
|
int icon_ovrw;
|
||||||
int urgent;
|
int important;
|
||||||
|
|
||||||
/* not saved */
|
/* not saved */
|
||||||
E_Config_Dialog *config_dialog;
|
E_Config_Dialog *config_dialog;
|
||||||
|
@ -252,10 +252,10 @@ struct _News_Feed_Document
|
||||||
{
|
{
|
||||||
News_Feed *feed;
|
News_Feed *feed;
|
||||||
|
|
||||||
News_Popup_Warn *popw;
|
News_Popup *popw;
|
||||||
Evas_List *articles;
|
Evas_List *articles;
|
||||||
int unread_count;
|
int unread_count;
|
||||||
unsigned char ui_needrefresh : 1;
|
unsigned char ui_needrefresh : 1;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
@ -319,7 +319,7 @@ News_Feed *news_feed_new(char *name, int name_ovrw,
|
||||||
char *url_home, int url_home_ovrw,
|
char *url_home, int url_home_ovrw,
|
||||||
char *url_feed,
|
char *url_feed,
|
||||||
char *icon, int icon_ovrw,
|
char *icon, int icon_ovrw,
|
||||||
int urgent,
|
int important,
|
||||||
News_Feed_Category *category);
|
News_Feed_Category *category);
|
||||||
int news_feed_edit(News_Feed *f,
|
int news_feed_edit(News_Feed *f,
|
||||||
char *name, int name_ovrw,
|
char *name, int name_ovrw,
|
||||||
|
@ -328,7 +328,7 @@ int news_feed_edit(News_Feed *f,
|
||||||
char *url_home, int url_home_ovrw,
|
char *url_home, int url_home_ovrw,
|
||||||
char *url_feed,
|
char *url_feed,
|
||||||
char *icon, int icon_ovrw,
|
char *icon, int icon_ovrw,
|
||||||
int urgent,
|
int important,
|
||||||
News_Feed_Category *category,
|
News_Feed_Category *category,
|
||||||
int check_only);
|
int check_only);
|
||||||
void news_feed_free(News_Feed *f);
|
void news_feed_free(News_Feed *f);
|
||||||
|
|
|
@ -1,8 +1,7 @@
|
||||||
#include "News.h"
|
#include "News.h"
|
||||||
|
|
||||||
static void _item_refresh_mode_one(News_Item *ni, int changed_order, int changed_state);
|
static void _item_refresh_mode_one(News_Item *ni, int changed_order, int changed_state);
|
||||||
static void _item_refresh_mode_feed(News_Item *ni, int unread_only, int changed_order, int changed_content, int changed_state);
|
static void _item_refresh_mode_feed(News_Item *ni, int important_only, int unread_only, int changed_order, int changed_content, int changed_state);
|
||||||
static Evas_List *_feedrefs_sort_unreadonly_list_get(News_Item *ni);
|
|
||||||
static void _cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
static void _cb_mouse_down(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||||
static void _cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
static void _cb_mouse_out(void *data, Evas *e, Evas_Object *obj, void *event_info);
|
||||||
|
|
||||||
|
@ -48,7 +47,7 @@ news_item_new(E_Gadcon_Client *gcc, Evas_Object *obj)
|
||||||
e_box_homogenous_set(view, 1);
|
e_box_homogenous_set(view, 1);
|
||||||
e_box_orientation_set(view, 1);
|
e_box_orientation_set(view, 1);
|
||||||
edje_object_part_swallow(ni->obj, "view", view);
|
edje_object_part_swallow(ni->obj, "view", view);
|
||||||
evas_object_show(view); //FIXME: not needed
|
evas_object_show(view);
|
||||||
ni->view.box = view;
|
ni->view.box = view;
|
||||||
|
|
||||||
news_item_refresh(ni, 1, 1, 1);
|
news_item_refresh(ni, 1, 1, 1);
|
||||||
|
@ -93,7 +92,7 @@ void
|
||||||
news_item_refresh(News_Item *ni, int changed_order, int changed_content, int changed_state)
|
news_item_refresh(News_Item *ni, int changed_order, int changed_content, int changed_state)
|
||||||
{
|
{
|
||||||
Evas_Object *box;
|
Evas_Object *box;
|
||||||
int mode;
|
News_Item_View_Mode mode;
|
||||||
|
|
||||||
box = ni->view.box;
|
box = ni->view.box;
|
||||||
e_box_freeze(box);
|
e_box_freeze(box);
|
||||||
|
@ -120,10 +119,15 @@ news_item_refresh(News_Item *ni, int changed_order, int changed_content, int cha
|
||||||
_item_refresh_mode_one(ni, changed_order, changed_state);
|
_item_refresh_mode_one(ni, changed_order, changed_state);
|
||||||
break;
|
break;
|
||||||
case NEWS_ITEM_VIEW_MODE_FEED:
|
case NEWS_ITEM_VIEW_MODE_FEED:
|
||||||
_item_refresh_mode_feed(ni, 0, changed_order, changed_content, changed_state);
|
_item_refresh_mode_feed(ni, 0, 0, changed_order, changed_content, changed_state);
|
||||||
break;
|
break;
|
||||||
case NEWS_ITEM_VIEW_MODE_FEED_UNREAD:
|
case NEWS_ITEM_VIEW_MODE_FEED_UNREAD:
|
||||||
_item_refresh_mode_feed(ni, 1, changed_order, changed_content, changed_state);
|
_item_refresh_mode_feed(ni, 0, 1, changed_order, changed_content, changed_state);
|
||||||
|
case NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT:
|
||||||
|
_item_refresh_mode_feed(ni, 1, 0, changed_order, changed_content, changed_state);
|
||||||
|
break;
|
||||||
|
case NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT_UNREAD:
|
||||||
|
_item_refresh_mode_feed(ni, 1, 1, changed_order, changed_content, changed_state);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -219,28 +223,25 @@ _item_refresh_mode_one(News_Item *ni, int changed_order, int changed_state)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_item_refresh_mode_feed(News_Item *ni, int unread_only, int changed_order, int changed_content, int changed_state)
|
_item_refresh_mode_feed(News_Item *ni, int important_only, int unread_only, int changed_order, int changed_content, int changed_state)
|
||||||
{
|
{
|
||||||
Evas_Object *box;
|
Evas_Object *box;
|
||||||
Evas_Object *obj;
|
Evas_Object *obj;
|
||||||
Evas_List *feed_refs;
|
|
||||||
int feed_refs_free = 0;
|
|
||||||
|
|
||||||
if (!evas_list_count(ni->config->feed_refs)) return;
|
if (!evas_list_count(ni->config->feed_refs)) return;
|
||||||
|
|
||||||
box = ni->view.box;
|
box = ni->view.box;
|
||||||
|
|
||||||
if (unread_only)
|
NEWS_ITEM_FEEDS_FOREACH_BEG_LIST(ni->config->feed_refs);
|
||||||
{
|
|
||||||
feed_refs = _feedrefs_sort_unreadonly_list_get(ni);
|
|
||||||
feed_refs_free = 1;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
feed_refs = ni->config->feed_refs;
|
|
||||||
|
|
||||||
NEWS_ITEM_FEEDS_FOREACH_BEG_LIST(feed_refs);
|
|
||||||
{
|
{
|
||||||
obj = _feed->obj;
|
obj = _feed->obj;
|
||||||
|
|
||||||
|
if (important_only &&
|
||||||
|
(!_feed->important))
|
||||||
|
continue;
|
||||||
|
if (unread_only &&
|
||||||
|
(!_feed->doc || !_feed->doc->unread_count))
|
||||||
|
continue;
|
||||||
|
|
||||||
DITEM(("refresh : feed %s", _feed->name));
|
DITEM(("refresh : feed %s", _feed->name));
|
||||||
|
|
||||||
|
@ -268,23 +269,6 @@ _item_refresh_mode_feed(News_Item *ni, int unread_only, int changed_order, int c
|
||||||
_feed->obj = obj;
|
_feed->obj = obj;
|
||||||
}
|
}
|
||||||
NEWS_ITEM_FEEDS_FOREACH_END();
|
NEWS_ITEM_FEEDS_FOREACH_END();
|
||||||
|
|
||||||
if (feed_refs_free)
|
|
||||||
evas_list_free(feed_refs);
|
|
||||||
}
|
|
||||||
|
|
||||||
static Evas_List *
|
|
||||||
_feedrefs_sort_unreadonly_list_get(News_Item *ni)
|
|
||||||
{
|
|
||||||
Evas_List *feed_refs;
|
|
||||||
|
|
||||||
feed_refs = NULL;
|
|
||||||
NEWS_ITEM_FEEDS_FOREACH_BEG(ni);
|
|
||||||
if (_feed->doc && _feed->doc->unread_count)
|
|
||||||
feed_refs = evas_list_append(feed_refs, _ref);
|
|
||||||
NEWS_ITEM_FEEDS_FOREACH_END();
|
|
||||||
|
|
||||||
return feed_refs;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -6,7 +6,9 @@ typedef enum _News_Item_View_Mode
|
||||||
{
|
{
|
||||||
NEWS_ITEM_VIEW_MODE_ONE,
|
NEWS_ITEM_VIEW_MODE_ONE,
|
||||||
NEWS_ITEM_VIEW_MODE_FEED,
|
NEWS_ITEM_VIEW_MODE_FEED,
|
||||||
NEWS_ITEM_VIEW_MODE_FEED_UNREAD
|
NEWS_ITEM_VIEW_MODE_FEED_UNREAD,
|
||||||
|
NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT,
|
||||||
|
NEWS_ITEM_VIEW_MODE_FEED_IMPORTANT_UNREAD
|
||||||
} News_Item_View_Mode;
|
} News_Item_View_Mode;
|
||||||
|
|
||||||
typedef enum _News_Item_Openmethod
|
typedef enum _News_Item_Openmethod
|
||||||
|
@ -25,17 +27,6 @@ typedef enum _News_Item_Openmethod
|
||||||
#define NEWS_ITEM_OPENMETHOD_DEFAULT NEWS_ITEM_OPENMETHOD_VIEWER
|
#define NEWS_ITEM_OPENMETHOD_DEFAULT NEWS_ITEM_OPENMETHOD_VIEWER
|
||||||
#define NEWS_ITEM_BROWSER_OPEN_HOME_DEFAULT 0
|
#define NEWS_ITEM_BROWSER_OPEN_HOME_DEFAULT 0
|
||||||
|
|
||||||
#define NEWS_ITEM_FEEDS_FOREACH_BEG(item) \
|
|
||||||
{ \
|
|
||||||
Evas_List *_l_feeds; \
|
|
||||||
News_Feed_Ref *_ref; \
|
|
||||||
News_Feed *_feed; \
|
|
||||||
\
|
|
||||||
for (_l_feeds=item->config->feed_refs; _l_feeds; _l_feeds=evas_list_next(_l_feeds)) \
|
|
||||||
{ \
|
|
||||||
_ref = _l_feeds->data; \
|
|
||||||
_feed = _ref->feed; \
|
|
||||||
if (!_feed) continue;
|
|
||||||
#define NEWS_ITEM_FEEDS_FOREACH_BEG_LIST(list) \
|
#define NEWS_ITEM_FEEDS_FOREACH_BEG_LIST(list) \
|
||||||
{ \
|
{ \
|
||||||
Evas_List *_l_feeds; \
|
Evas_List *_l_feeds; \
|
||||||
|
@ -47,6 +38,8 @@ for (_l_feeds=list; _l_feeds; _l_feeds=evas_list_next(_l_feeds)) \
|
||||||
_ref = _l_feeds->data; \
|
_ref = _l_feeds->data; \
|
||||||
_feed = _ref->feed; \
|
_feed = _ref->feed; \
|
||||||
if (!_feed) continue;
|
if (!_feed) continue;
|
||||||
|
#define NEWS_ITEM_FEEDS_FOREACH_BEG(item) \
|
||||||
|
NEWS_ITEM_FEEDS_FOREACH_BEG_LIST(item->config->feed_refs);
|
||||||
#define NEWS_ITEM_FEEDS_FOREACH_END() \
|
#define NEWS_ITEM_FEEDS_FOREACH_END() \
|
||||||
} \
|
} \
|
||||||
}
|
}
|
||||||
|
|
|
@ -218,7 +218,7 @@ _parse_infos(News_Parse *parser)
|
||||||
(char *)url_home, feed->url_home_ovrw,
|
(char *)url_home, feed->url_home_ovrw,
|
||||||
(char *)feed->url_feed,
|
(char *)feed->url_feed,
|
||||||
(char *)icon, feed->icon_ovrw,
|
(char *)icon, feed->icon_ovrw,
|
||||||
feed->urgent,
|
feed->important,
|
||||||
feed->category,
|
feed->category,
|
||||||
0);
|
0);
|
||||||
if (feed->item && feed->item->viewer)
|
if (feed->item && feed->item->viewer)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
static Evas_List *_popups_warn;
|
static Evas_List *_popups_warn;
|
||||||
|
|
||||||
static void _check_overlap(int *px, int *py, int *pw, int *ph, int tries, int org_x, int org_y);
|
static void _check_overlap(int *px, int *py, int *pw, int *ph, int tries, int org_x, int org_y);
|
||||||
static void _try_close(News_Popup_Warn *popw);
|
static void _try_close(News_Popup *popw);
|
||||||
|
|
||||||
static int _cb_timer(void *data);
|
static int _cb_timer(void *data);
|
||||||
static void _cb_edje_close(void *data, Evas_Object *obj, const char *emission, const char *source);
|
static void _cb_edje_close(void *data, Evas_Object *obj, const char *emission, const char *source);
|
||||||
|
@ -13,7 +13,7 @@ static void _cb_edje_desactivate(void *data, Evas_Object *obj, const char *emiss
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int
|
int
|
||||||
news_popup_warn_init(void)
|
news_popup_init(void)
|
||||||
{
|
{
|
||||||
_popups_warn = NULL;
|
_popups_warn = NULL;
|
||||||
|
|
||||||
|
@ -21,29 +21,29 @@ news_popup_warn_init(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
news_popup_warn_shutdown(void)
|
news_popup_shutdown(void)
|
||||||
{
|
{
|
||||||
Evas_List *l;
|
Evas_List *l;
|
||||||
|
|
||||||
for (l = _popups_warn; l; l = evas_list_next(l))
|
for (l = _popups_warn; l; l = evas_list_next(l))
|
||||||
{
|
{
|
||||||
News_Popup_Warn *p;
|
News_Popup *p;
|
||||||
p = evas_list_data(l);
|
p = evas_list_data(l);
|
||||||
news_popup_warn_del(p);
|
news_popup_del(p);
|
||||||
}
|
}
|
||||||
evas_list_free(_popups_warn);
|
evas_list_free(_popups_warn);
|
||||||
_popups_warn = NULL;
|
_popups_warn = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
News_Popup_Warn *
|
News_Popup *
|
||||||
news_popup_warn_add(int type, const char *title, const char *text, int timer, int (*func_close) (News_Popup_Warn *popw, void *data), void (func_desactivate) (News_Popup_Warn *popw, void *data), void *data)
|
news_popup_add(int type, const char *title, const char *text, int timer, int (*func_close) (News_Popup *popw, void *data), void (func_desactivate) (News_Popup *popw, void *data), void *data)
|
||||||
{
|
{
|
||||||
E_Zone *zone;
|
E_Zone *zone;
|
||||||
News_Popup_Warn *popw;
|
News_Popup *popw;
|
||||||
int fw, fh;
|
int fw, fh;
|
||||||
int ecanvas_w, ecanvas_h;
|
int ecanvas_w, ecanvas_h;
|
||||||
|
|
||||||
popw = E_NEW(News_Popup_Warn, 1);
|
popw = E_NEW(News_Popup, 1);
|
||||||
|
|
||||||
popw->type = type;
|
popw->type = type;
|
||||||
popw->timer_org = timer;
|
popw->timer_org = timer;
|
||||||
|
@ -55,7 +55,7 @@ news_popup_warn_add(int type, const char *title, const char *text, int timer, in
|
||||||
popw->pop = e_popup_new(zone, 0, 0, 1, 1);
|
popw->pop = e_popup_new(zone, 0, 0, 1, 1);
|
||||||
if (!popw->pop)
|
if (!popw->pop)
|
||||||
{
|
{
|
||||||
news_popup_warn_del(popw);
|
news_popup_del(popw);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
evas_event_freeze(popw->pop->evas);
|
evas_event_freeze(popw->pop->evas);
|
||||||
|
@ -79,7 +79,7 @@ news_popup_warn_add(int type, const char *title, const char *text, int timer, in
|
||||||
|
|
||||||
/* type */
|
/* type */
|
||||||
edje_object_message_send(popw->face, EDJE_MESSAGE_INT,
|
edje_object_message_send(popw->face, EDJE_MESSAGE_INT,
|
||||||
NEWS_POPUP_WARN_EDJE_MESSAGE_TYPE,
|
NEWS_POPUP_EDJE_MESSAGE_TYPE,
|
||||||
&type);
|
&type);
|
||||||
|
|
||||||
/* pos */
|
/* pos */
|
||||||
|
@ -100,7 +100,7 @@ news_popup_warn_add(int type, const char *title, const char *text, int timer, in
|
||||||
|
|
||||||
popw->func_desactivate = func_desactivate;
|
popw->func_desactivate = func_desactivate;
|
||||||
edje_object_message_send(popw->face, EDJE_MESSAGE_INT,
|
edje_object_message_send(popw->face, EDJE_MESSAGE_INT,
|
||||||
NEWS_POPUP_WARN_EDJE_MESSAGE_SHOW_DESACTIVATE,
|
NEWS_POPUP_EDJE_MESSAGE_SHOW_DESACTIVATE,
|
||||||
&show_desactivate);
|
&show_desactivate);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ news_popup_warn_add(int type, const char *title, const char *text, int timer, in
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
news_popup_warn_del(News_Popup_Warn *popw)
|
news_popup_del(News_Popup *popw)
|
||||||
{
|
{
|
||||||
if (popw->timer)
|
if (popw->timer)
|
||||||
ecore_timer_del(popw->timer);
|
ecore_timer_del(popw->timer);
|
||||||
|
@ -151,7 +151,7 @@ static void
|
||||||
_check_overlap(int *px, int *py, int *pw, int *ph, int tries, int org_x, int org_y)
|
_check_overlap(int *px, int *py, int *pw, int *ph, int tries, int org_x, int org_y)
|
||||||
{
|
{
|
||||||
Evas_List *l;
|
Evas_List *l;
|
||||||
News_Popup_Warn *p;
|
News_Popup *p;
|
||||||
int pxw, pyh;
|
int pxw, pyh;
|
||||||
int p_xw, p_yh;
|
int p_xw, p_yh;
|
||||||
|
|
||||||
|
@ -172,15 +172,15 @@ _check_overlap(int *px, int *py, int *pw, int *ph, int tries, int org_x, int org
|
||||||
/* try upper, and then on the left */
|
/* try upper, and then on the left */
|
||||||
/* TODO...: try down and right, maybe placement policy ? */
|
/* TODO...: try down and right, maybe placement policy ? */
|
||||||
DPOPW(("Overlap !"));
|
DPOPW(("Overlap !"));
|
||||||
*py = p->y - (*ph + NEWS_POPUP_WARN_OVERLAP_BORDER);
|
*py = p->y - (*ph + NEWS_POPUP_OVERLAP_BORDER);
|
||||||
if (*py < 0)
|
if (*py < 0)
|
||||||
{
|
{
|
||||||
*py = org_y;
|
*py = org_y;
|
||||||
*px = *px - (*px + NEWS_POPUP_WARN_OVERLAP_BORDER);
|
*px = *px - (*px + NEWS_POPUP_OVERLAP_BORDER);
|
||||||
if (*px < 0) break;
|
if (*px < 0) break;
|
||||||
}
|
}
|
||||||
tries++;
|
tries++;
|
||||||
if (tries > NEWS_POPUP_WARN_OVERLAP_CHECK_MAX)
|
if (tries > NEWS_POPUP_OVERLAP_CHECK_MAX)
|
||||||
return;
|
return;
|
||||||
else
|
else
|
||||||
_check_overlap(px, py, pw, ph, tries, org_x, org_y);
|
_check_overlap(px, py, pw, ph, tries, org_x, org_y);
|
||||||
|
@ -190,7 +190,7 @@ _check_overlap(int *px, int *py, int *pw, int *ph, int tries, int org_x, int org
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
_try_close(News_Popup_Warn *popw)
|
_try_close(News_Popup *popw)
|
||||||
{
|
{
|
||||||
int del = 1;
|
int del = 1;
|
||||||
|
|
||||||
|
@ -201,13 +201,13 @@ _try_close(News_Popup_Warn *popw)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (del)
|
if (del)
|
||||||
news_popup_warn_del(popw);
|
news_popup_del(popw);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
_cb_timer(void *data)
|
_cb_timer(void *data)
|
||||||
{
|
{
|
||||||
News_Popup_Warn *popw;
|
News_Popup *popw;
|
||||||
|
|
||||||
popw = data;
|
popw = data;
|
||||||
_try_close(popw);
|
_try_close(popw);
|
||||||
|
@ -218,7 +218,7 @@ _cb_timer(void *data)
|
||||||
static void
|
static void
|
||||||
_cb_edje_close(void *data, Evas_Object *obj, const char *emission, const char *source)
|
_cb_edje_close(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
{
|
{
|
||||||
News_Popup_Warn *popw;
|
News_Popup *popw;
|
||||||
|
|
||||||
popw = data;
|
popw = data;
|
||||||
_try_close(popw);
|
_try_close(popw);
|
||||||
|
@ -227,7 +227,7 @@ _cb_edje_close(void *data, Evas_Object *obj, const char *emission, const char *s
|
||||||
static void
|
static void
|
||||||
_cb_edje_desactivate(void *data, Evas_Object *obj, const char *emission, const char *source)
|
_cb_edje_desactivate(void *data, Evas_Object *obj, const char *emission, const char *source)
|
||||||
{
|
{
|
||||||
News_Popup_Warn *popw;
|
News_Popup *popw;
|
||||||
|
|
||||||
popw = data;
|
popw = data;
|
||||||
if (popw->func_desactivate)
|
if (popw->func_desactivate)
|
|
@ -0,0 +1,57 @@
|
||||||
|
#ifdef E_MOD_NEWS_TYPEDEFS
|
||||||
|
|
||||||
|
typedef struct _News_Popup News_Popup;
|
||||||
|
|
||||||
|
typedef enum _News_Popup_Active
|
||||||
|
{
|
||||||
|
NEWS_POPUP_ACTIVE_NO,
|
||||||
|
NEWS_POPUP_ACTIVE_SUM,
|
||||||
|
NEWS_POPUP_ACTIVE_VERBOSE
|
||||||
|
} News_Popup_Active;
|
||||||
|
|
||||||
|
typedef enum _News_Popup_Type
|
||||||
|
{
|
||||||
|
NEWS_POPUP_TYPE_NEWS,
|
||||||
|
NEWS_POPUP_TYPE_INFO,
|
||||||
|
NEWS_POPUP_TYPE_ERROR
|
||||||
|
} News_Popup_Type;
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
#ifndef NEWS_POPUP_H_INCLUDED
|
||||||
|
#define NEWS_POPUP_H_INCLUDED
|
||||||
|
|
||||||
|
#define NEWS_POPUP_TIMER_S_MIN 2
|
||||||
|
#define NEWS_POPUP_TIMER_S_MAX 60
|
||||||
|
|
||||||
|
#define NEWS_POPUP_EDJE_MESSAGE_SHOW_DESACTIVATE 0
|
||||||
|
#define NEWS_POPUP_EDJE_MESSAGE_TYPE 1
|
||||||
|
|
||||||
|
#define NEWS_POPUP_OVERLAP_BORDER 15
|
||||||
|
#define NEWS_POPUP_OVERLAP_CHECK_MAX 50
|
||||||
|
|
||||||
|
struct _News_Popup
|
||||||
|
{
|
||||||
|
News_Popup_Type type;
|
||||||
|
E_Popup *pop;
|
||||||
|
Evas_Object *face;
|
||||||
|
Evas_Object *tb;
|
||||||
|
Evas_List *log; /* 2 consecutive strings for each popup */
|
||||||
|
|
||||||
|
Ecore_Timer *timer;
|
||||||
|
int (*func_close) (News_Popup *popw, void *data);
|
||||||
|
void (*func_desactivate) (News_Popup *popw, void *data);
|
||||||
|
void *data;
|
||||||
|
|
||||||
|
int timer_org;
|
||||||
|
int x, y, w, h;
|
||||||
|
};
|
||||||
|
|
||||||
|
int news_popup_init(void);
|
||||||
|
void news_popup_shutdown(void);
|
||||||
|
|
||||||
|
News_Popup *news_popup_add(int type, const char *title, const char *text, int timer, int (*func_close) (News_Popup *popw, void *data), void (func_desactivate) (News_Popup *popw, void *data), void *data);
|
||||||
|
void news_popup_del(News_Popup *popw);
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
|
@ -1,57 +0,0 @@
|
||||||
#ifdef E_MOD_NEWS_TYPEDEFS
|
|
||||||
|
|
||||||
typedef struct _News_Popup_Warn News_Popup_Warn;
|
|
||||||
|
|
||||||
typedef enum _News_Popup_Warn_Active
|
|
||||||
{
|
|
||||||
NEWS_POPUP_WARN_ACTIVE_NO,
|
|
||||||
NEWS_POPUP_WARN_ACTIVE_SUM,
|
|
||||||
NEWS_POPUP_WARN_ACTIVE_VERBOSE
|
|
||||||
} News_Popup_Warn_Active;
|
|
||||||
|
|
||||||
typedef enum _News_Popup_Warn_Type
|
|
||||||
{
|
|
||||||
NEWS_POPUP_WARN_TYPE_NEWS,
|
|
||||||
NEWS_POPUP_WARN_TYPE_INFO,
|
|
||||||
NEWS_POPUP_WARN_TYPE_ERROR
|
|
||||||
} News_Popup_Warn_Type;
|
|
||||||
|
|
||||||
#else
|
|
||||||
|
|
||||||
#ifndef NEWS_POPUP_WARN_H_INCLUDED
|
|
||||||
#define NEWS_POPUP_WARN_H_INCLUDED
|
|
||||||
|
|
||||||
#define NEWS_POPUP_WARN_TIMER_S_MIN 2
|
|
||||||
#define NEWS_POPUP_WARN_TIMER_S_MAX 60
|
|
||||||
|
|
||||||
#define NEWS_POPUP_WARN_EDJE_MESSAGE_SHOW_DESACTIVATE 0
|
|
||||||
#define NEWS_POPUP_WARN_EDJE_MESSAGE_TYPE 1
|
|
||||||
|
|
||||||
#define NEWS_POPUP_WARN_OVERLAP_BORDER 15
|
|
||||||
#define NEWS_POPUP_WARN_OVERLAP_CHECK_MAX 50
|
|
||||||
|
|
||||||
struct _News_Popup_Warn
|
|
||||||
{
|
|
||||||
News_Popup_Warn_Type type;
|
|
||||||
E_Popup *pop;
|
|
||||||
Evas_Object *face;
|
|
||||||
Evas_Object *tb;
|
|
||||||
Evas_List *log; /* 2 consecutive strings for each popup */
|
|
||||||
|
|
||||||
Ecore_Timer *timer;
|
|
||||||
int (*func_close) (News_Popup_Warn *popw, void *data);
|
|
||||||
void (*func_desactivate) (News_Popup_Warn *popw, void *data);
|
|
||||||
void *data;
|
|
||||||
|
|
||||||
int timer_org;
|
|
||||||
int x, y, w, h;
|
|
||||||
};
|
|
||||||
|
|
||||||
int news_popup_warn_init(void);
|
|
||||||
void news_popup_warn_shutdown(void);
|
|
||||||
|
|
||||||
News_Popup_Warn *news_popup_warn_add(int type, const char *title, const char *text, int timer, int (*func_close) (News_Popup_Warn *popw, void *data), void (func_desactivate) (News_Popup_Warn *popw, void *data), void *data);
|
|
||||||
void news_popup_warn_del(News_Popup_Warn *popw);
|
|
||||||
|
|
||||||
#endif
|
|
||||||
#endif
|
|
|
@ -54,11 +54,14 @@ news_util_browser_open(const char *url)
|
||||||
|
|
||||||
if (!url) return 0;
|
if (!url) return 0;
|
||||||
|
|
||||||
switch(c->browser.wich)
|
switch((News_Util_Browser)c->browser.wich)
|
||||||
{
|
{
|
||||||
case NEWS_UTIL_BROWSER_FIREFOX:
|
case NEWS_UTIL_BROWSER_FIREFOX:
|
||||||
snprintf(cmd, sizeof(cmd), "%s", "firefox -new-window");
|
snprintf(cmd, sizeof(cmd), "%s", "firefox -new-window");
|
||||||
break;
|
break;
|
||||||
|
case NEWS_UTIL_BROWSER_FIREFOX_TAB:
|
||||||
|
snprintf(cmd, sizeof(cmd), "%s", "firefox -new-tab");
|
||||||
|
break;
|
||||||
case NEWS_UTIL_BROWSER_MOZILLA:
|
case NEWS_UTIL_BROWSER_MOZILLA:
|
||||||
snprintf(cmd, sizeof(cmd), "%s", "mozilla");
|
snprintf(cmd, sizeof(cmd), "%s", "mozilla");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -3,6 +3,7 @@
|
||||||
typedef enum _News_Util_Browser
|
typedef enum _News_Util_Browser
|
||||||
{
|
{
|
||||||
NEWS_UTIL_BROWSER_FIREFOX,
|
NEWS_UTIL_BROWSER_FIREFOX,
|
||||||
|
NEWS_UTIL_BROWSER_FIREFOX_TAB,
|
||||||
NEWS_UTIL_BROWSER_MOZILLA,
|
NEWS_UTIL_BROWSER_MOZILLA,
|
||||||
NEWS_UTIL_BROWSER_OPERA,
|
NEWS_UTIL_BROWSER_OPERA,
|
||||||
NEWS_UTIL_BROWSER_DILLO,
|
NEWS_UTIL_BROWSER_DILLO,
|
||||||
|
|
|
@ -184,8 +184,6 @@ news_viewer_refresh(News_Viewer *nv)
|
||||||
ic = e_icon_add(evas_object_evas_get(ilist));
|
ic = e_icon_add(evas_object_evas_get(ilist));
|
||||||
e_icon_file_set(ic, _feed->icon);
|
e_icon_file_set(ic, _feed->icon);
|
||||||
}
|
}
|
||||||
//FIXME better unread state display (wait for feed icons)
|
|
||||||
//FIXME show if its an important feed
|
|
||||||
if (_feed->doc && _feed->doc->unread_count)
|
if (_feed->doc && _feed->doc->unread_count)
|
||||||
snprintf(buf, sizeof(buf), "[UNREAD] %s", _feed->name);
|
snprintf(buf, sizeof(buf), "[UNREAD] %s", _feed->name);
|
||||||
else
|
else
|
||||||
|
|
|
@ -15,7 +15,7 @@ typedef struct _News_Viewer News_Viewer;
|
||||||
#define NEWS_VIEWER_VCONTENT_FONT_SIZE_MAX 20
|
#define NEWS_VIEWER_VCONTENT_FONT_SIZE_MAX 20
|
||||||
#define NEWS_VIEWER_VCONTENT_FONT_COLOR_DEFAULT "#000000"
|
#define NEWS_VIEWER_VCONTENT_FONT_COLOR_DEFAULT "#000000"
|
||||||
#define NEWS_VIEWER_VCONTENT_FONT_SHADOW_DEFAULT 1
|
#define NEWS_VIEWER_VCONTENT_FONT_SHADOW_DEFAULT 1
|
||||||
#define NEWS_VIEWER_VCONTENT_FONT_SHADOW_COLOR_DEFAULT "#EBEBEB"
|
#define NEWS_VIEWER_VCONTENT_FONT_SHADOW_COLOR_DEFAULT "#EFEFEF"
|
||||||
|
|
||||||
struct _News_Viewer
|
struct _News_Viewer
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue