Enlightenment CVS committal

Author  : kiwi
Project : e_modules
Module  : news

Dir     : e_modules/news/src/module


Modified Files:
        Makefile.am News.h News_includes.h e_mod_main.c news_config.c 
        news_config_dialog.c news_config_dialog_feed.c 
        news_config_dialog_feeds.c news_config_dialog_item.c 
        news_config_dialog_item_content.c news_feed.c news_feed.h 
        news_item.c news_item.h news_parse_rss.c news_utils.c 
        news_utils.h news_viewer.c news_viewer.h 
Added Files:
        news_popup.c news_popup.h 
Removed Files:
        news_popup_warn.c news_popup_warn.h 


Log Message:
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

===================================================================
RCS file: /cvs/e/e_modules/news/src/module/Makefile.am,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- Makefile.am 16 May 2007 12:06:03 -0000      1.1
+++ Makefile.am 23 May 2007 23:32:36 -0000      1.2
@@ -1,9 +1,12 @@
+ACLOCAL_AMFLAGS = -I m4
+MAINTAINERCLEANFILES = Makefile.in
+
 INCLUDES              = -I. \
                        -I$(top_srcdir) \
                         -I$(includedir) \
-                       @e_cflags@
-pkgdir                 = $(datadir)/$(MODULE_ARCH)
+                       @ENLIGHTENMENT_CFLAGS@
 
+pkgdir                 = $(datadir)/$(MODULE_ARCH)
 pkg_LTLIBRARIES        = module.la
 module_la_SOURCES      = e_mod_main.c \
                          e_mod_main.h \
@@ -36,8 +39,8 @@
                          news_parse_atom.h \
                          news_parse_rss.c \
                          news_parse_rss.h \
-                         news_popup_warn.c \
-                         news_popup_warn.h \
+                         news_popup.c \
+                         news_popup.h \
                          news_theme.c \
                          news_theme.h \
                          news_utils.c \
@@ -46,6 +49,6 @@
                          news_viewer.h \
                          News.h \
                          News_includes.h
-module_la_LIBADD       = @e_libs@
+module_la_LIBADD       = @ENLIGHTENMENT_LIBS@
 module_la_LDFLAGS      = -module -avoid-version -s
 module_la_DEPENDENCIES = $(top_builddir)/config.h
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/News.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- News.h      16 May 2007 12:06:03 -0000      1.1
+++ News.h      23 May 2007 23:32:36 -0000      1.2
@@ -47,10 +47,10 @@
 #else
 # define DBROWSER(x)  ((void) 0)
 #endif
-#ifdef DEBUG_POPUP_WARN
-# define DPOPW(x)  do {printf("POPUP WARN - %s:%d: ", __FILE__, __LINE__); 
printf x; printf ("\n"); fflush(stdout);} while (0)
+#ifdef DEBUG_POPUP
+# define DPOP(x)  do {printf("POPUP - %s:%d: ", __FILE__, __LINE__); printf x; 
printf ("\n"); fflush(stdout);} while (0)
 #else
-# define DPOPW(x)  ((void) 0)
+# define DPOP(x)  ((void) 0)
 #endif
 #ifdef DEBUG_VIEWER
 # define DVIEWER(x)  do {printf("VIEWER - %s:%d: ", __FILE__, __LINE__); 
printf x; printf ("\n"); fflush(stdout);} while (0)
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/News_includes.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- News_includes.h     16 May 2007 12:06:03 -0000      1.1
+++ News_includes.h     23 May 2007 23:32:36 -0000      1.2
@@ -6,7 +6,7 @@
 #include "news_parse_rss.h"
 #include "news_parse_atom.h"
 #include "news_viewer.h"
-#include "news_popup_warn.h"
+#include "news_popup.h"
 #include "news_menu.h"
 #include "news_config.h"
 #include "news_config_dialog.h"
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/e_mod_main.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- e_mod_main.c        17 May 2007 14:21:29 -0000      1.2
+++ e_mod_main.c        23 May 2007 23:32:36 -0000      1.3
@@ -47,7 +47,7 @@
    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_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);
 
@@ -76,7 +76,7 @@
    if (news->config_dialog_category_new)
      news_config_dialog_category_hide(NULL);
 
-   news_popup_warn_shutdown();
+   news_popup_shutdown();
    news_viewer_shutdown();
    news_feed_shutdown();
    news_parse_shutdown();
@@ -170,7 +170,7 @@
 
    ni = gcc->data;
 
-   switch (ni->config->view_mode)
+   switch ((News_Item_View_Mode)ni->config->view_mode)
      {
      case NEWS_ITEM_VIEW_MODE_ONE:
         nb_feeds = 1;
@@ -178,11 +178,25 @@
      case NEWS_ITEM_VIEW_MODE_FEED:
         nb_feeds = evas_list_count(ni->config->feed_refs);
         if (!nb_feeds) nb_feeds = 1;
-        break;
+        break;        
      case NEWS_ITEM_VIEW_MODE_FEED_UNREAD:
         nb_feeds = ni->unread_count;
         if (!nb_feeds) nb_feeds = 1;
         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)
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_config.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- news_config.c       16 May 2007 12:06:03 -0000      1.1
+++ news_config.c       23 May 2007 23:32:36 -0000      1.2
@@ -31,7 +31,7 @@
    E_CONFIG_VAL(D, T, url_feed, STR);
    E_CONFIG_VAL(D, T, icon, STR);
    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);
 #undef T
 #undef D
@@ -166,9 +166,9 @@
    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_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.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;
 }
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_config_dialog.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- news_config_dialog.c        22 May 2007 00:28:13 -0000      1.3
+++ news_config_dialog.c        23 May 2007 23:32:36 -0000      1.4
@@ -211,18 +211,20 @@
    of = e_widget_frametable_add(evas, _("Browser"), 0);
 
    rg = e_widget_radio_group_new(&(cfdata->browser.wich));
-   ob = e_widget_radio_add(evas, _("Firefox"), NEWS_UTIL_BROWSER_FIREFOX, rg);
-   e_widget_frametable_object_append(of, ob, 0, 0, 1, 1, 1, 1, 0, 1);
+   ob = e_widget_radio_add(evas, _("Firefox (new window)"), 
NEWS_UTIL_BROWSER_FIREFOX, rg);
+   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);
-   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);
-   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);
-   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);
-   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));
-   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);
 
@@ -273,18 +275,20 @@
    of = e_widget_frametable_add(evas, _("Browser"), 0);
 
    rg = e_widget_radio_group_new(&(cfdata->browser.wich));
-   ob = e_widget_radio_add(evas, _("Firefox"), NEWS_UTIL_BROWSER_FIREFOX, rg);
-   e_widget_frametable_object_append(of, ob, 0, 0, 1, 1, 1, 1, 0, 1);
+   ob = e_widget_radio_add(evas, _("Firefox (new window)"), 
NEWS_UTIL_BROWSER_FIREFOX, rg);
+   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);
-   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);
-   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);
-   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);
-   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));
-   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);
 
@@ -313,8 +317,8 @@
    ob = e_widget_label_add(evas, _("Timer"));
    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"),
-                           (float)NEWS_POPUP_WARN_TIMER_S_MIN,
-                           (float)NEWS_POPUP_WARN_TIMER_S_MAX,
+                           (float)NEWS_POPUP_TIMER_S_MIN,
+                           (float)NEWS_POPUP_TIMER_S_MAX,
                            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);
 
@@ -322,14 +326,19 @@
 
    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));
+   //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);
 
    ob = e_widget_label_add(evas, _("Timer"));
    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"),
-                           (float)NEWS_POPUP_WARN_TIMER_S_MIN,
-                           (float)NEWS_POPUP_WARN_TIMER_S_MAX,
+                           (float)NEWS_POPUP_TIMER_S_MIN,
+                           (float)NEWS_POPUP_TIMER_S_MAX,
                            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);
 
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_config_dialog_feed.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- news_config_dialog_feed.c   21 May 2007 12:30:41 -0000      1.3
+++ news_config_dialog_feed.c   23 May 2007 23:32:37 -0000      1.4
@@ -24,7 +24,7 @@
    char *url_feed;
    char *icon;
    int   icon_ovrw;
-   int   urgent;
+   int   important;
    News_Feed_Category *category;
 
    News_Feed *feed;
@@ -58,6 +58,12 @@
    E_Config_Dialog *cfd;
    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->create_cfdata = _create_data;
@@ -144,10 +150,10 @@
    e_widget_ilist_thaw(ilist);
 
    if (pos_to_select != -1)
-     {
-        e_widget_ilist_selected_set(ilist, pos_to_select);
-        _cb_category_list(cfdata);
-     }
+     e_widget_ilist_selected_set(ilist, pos_to_select);
+   else
+     e_widget_ilist_selected_set(ilist, 0);
+   _cb_category_list(cfdata);
 
    e_widget_min_size_get(ilist, &w, NULL);
    e_widget_min_size_set(ilist, w, 110);
@@ -280,7 +286,7 @@
              cfdata->icon = strdup(buf);
           }
         cfdata->icon_ovrw = f->icon_ovrw;
-        cfdata->urgent = f->urgent;
+        cfdata->important = f->important;
      }
    else
      {
@@ -344,9 +350,7 @@
    e_widget_frametable_object_append(of, ob, 0, 3, 1, 1, 1, 0, 1, 0);
    ob = e_widget_entry_add(evas, &(cfdata->url_feed));
    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));
-   //TODO: NOT IMPLEMENTED YET
-   e_widget_disabled_set(ob, 1);
+   ob = e_widget_check_add(evas, _("Mark as important feed"), 
&(cfdata->important));
    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);
@@ -395,7 +399,7 @@
    ob = e_widget_entry_add(evas, &(cfdata->url_home));
    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);
@@ -412,7 +416,7 @@
    ob = e_widget_check_add(evas, _("Home url"), &(cfdata->url_home_ovrw));
    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);
 
@@ -437,7 +441,7 @@
                             cfdata->url_home, cfdata->url_home_ovrw,
                             cfdata->url_feed,
                             cfdata->icon, cfdata->icon_ovrw,
-                            cfdata->urgent,
+                            cfdata->important,
                             cfdata->category, 0) )
           {
              if (old_cat != cfdata->category)
@@ -466,7 +470,7 @@
                           cfdata->url_home, cfdata->url_home_ovrw,
                           cfdata->url_feed,
                           cfdata->icon, cfdata->icon_ovrw,
-                          cfdata->urgent,
+                          cfdata->important,
                           cfdata->category);
         if (!f)
           {
@@ -481,8 +485,6 @@
      }
 
    news_feed_lists_refresh(1);
-
-   // TODO config dialog to attach to an item
 
    news_config_save();
 
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_config_dialog_feeds.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- news_config_dialog_feeds.c  22 May 2007 00:28:13 -0000      1.3
+++ news_config_dialog_feeds.c  23 May 2007 23:32:37 -0000      1.4
@@ -152,8 +152,7 @@
                   e_icon_file_set(ic, f->icon);
                }
           
-             snprintf(buf, sizeof(buf), "%s", f->name);
-             // TODO : better display of each feed
+             snprintf(buf, sizeof(buf), "%s%s", (f->important) ? "[i] " : "", 
f->name);
           
              e_widget_ilist_append(ilist, ic, buf, _cb_feed_list, f, NULL);
             pos++;
@@ -217,7 +216,6 @@
           }
 
         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);
        pos++;
@@ -229,10 +227,7 @@
    e_widget_ilist_thaw(ilist);
 
    if (pos_to_select != -1)
-     {
-        e_widget_ilist_selected_set(ilist, pos_to_select);
-        //_cb_category_list(cfdata->selected_category);
-     }
+     e_widget_ilist_selected_set(ilist, pos_to_select);
 
    if (pos == -1)
      e_widget_min_size_set(ilist, 165, 120);
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_config_dialog_item.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- news_config_dialog_item.c   21 May 2007 12:30:41 -0000      1.2
+++ news_config_dialog_item.c   23 May 2007 23:32:37 -0000      1.3
@@ -106,9 +106,13 @@
    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);
    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);
-   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_list_object_append(o, of, 1, 1, 0.0);
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_config_dialog_item_content.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- news_config_dialog_item_content.c   22 May 2007 00:28:13 -0000      1.3
+++ news_config_dialog_item_content.c   23 May 2007 23:32:37 -0000      1.4
@@ -126,8 +126,7 @@
                   e_icon_file_set(ic, f->icon);
                }
              
-             snprintf(buf, sizeof(buf), "%s", f->name);
-             // TODO : better display of each feed
+             snprintf(buf, sizeof(buf), "%s%s", (f->important) ? "[i] " : "", 
f->name);
              
              e_widget_ilist_append(ilist, ic, buf, NULL, f, NULL);
             pos++;
@@ -184,8 +183,7 @@
              e_icon_file_set(ic, _feed->icon);
           }
 
-        snprintf(buf, sizeof(buf), "%s", _feed->name);
-        // TODO : better display of each feed
+        snprintf(buf, sizeof(buf), "%s%s", (_feed->important) ? "[i] " : "", 
_feed->name);
 
         e_widget_ilist_append(ilist, ic, buf, NULL, _feed, NULL);
        pos++;
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_feed.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- news_feed.c 17 May 2007 14:21:29 -0000      1.2
+++ news_feed.c 23 May 2007 23:32:37 -0000      1.3
@@ -90,7 +90,7 @@
                        (char *)_feed->url_home, _feed->url_home_ovrw,
                        (char *)_feed->url_feed,
                        (char *)_feed->icon, _feed->icon_ovrw,
-                       _feed->urgent,
+                       _feed->important,
                        _cat, 1))
      _cat->feeds = evas_list_remove_list(_cat->feeds, _l_cats);
    NEWS_FEED_FOREACH_END();
@@ -256,7 +256,7 @@
 }
 
 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;
 
@@ -269,7 +269,7 @@
                        url_home, url_home_ovrw,
                        url_feed,
                        icon, icon_ovrw,
-                       urgent,
+                       important,
                        category, 0))
      {
         free(f);
@@ -280,7 +280,7 @@
 }
 
 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;
    char *host, *file;
@@ -378,7 +378,16 @@
           }
         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;
 
@@ -386,12 +395,8 @@
          {
              News_Feed_Ref *ref;
 
-             if ((f->item->config->view_mode == NEWS_ITEM_VIEW_MODE_FEED)
-                 &&
-                 (f->icon && !f->obj_icon))
-               {
-                  news_feed_obj_refresh(f, 1, 1);
-               }
+             if (f->icon && !f->obj_icon)
+               news_feed_obj_refresh(f, 1, 1);
 
              /* Feed Ref update */
              ref = news_feed_ref_find(f, f->item);
@@ -416,8 +421,7 @@
    E_FREE(f->file);
    f->file = file;
 
-   //FIXME: update only if attached to an item
-   if (update) news_feed_update(f);
+   if (update && f->item) news_feed_update(f);
 
    return 1;
 }
@@ -763,11 +767,23 @@
           news_item_unread_count_change(feed->item, 1);
         else
           news_item_unread_count_change(feed->item, -1);
-
-        if (feed->item->config->view_mode == NEWS_ITEM_VIEW_MODE_FEED)
-          news_feed_obj_refresh(feed, 0, 1);
-        else if (feed->item->config->view_mode == 
NEWS_ITEM_VIEW_MODE_FEED_UNREAD)
-          news_item_refresh(feed->item, 1, 0, 1);
+        
+        switch ((News_Item_View_Mode)feed->item->config->view_mode)
+          {
+          case NEWS_ITEM_VIEW_MODE_ONE:
+             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)
           news_viewer_refresh(feed->item->viewer);
@@ -1021,7 +1037,7 @@
    if (doc->parse.meta_date) evas_stringshare_del(doc->parse.meta_date);
    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);
    ecore_event_handler_del(doc->server.handler_add);
    ecore_event_handler_del(doc->server.handler_del);
@@ -1039,7 +1055,7 @@
           }
      }
   
-   if (doc->popw) news_popup_warn_del(doc->popw);
+   if (doc->popw) news_popup_del(doc->popw);
 
    f->doc = NULL;
    free(doc);
@@ -1087,6 +1103,8 @@
    strncpy(buf, url, sizeof(buf));
    if (strncmp(buf, "http://";, 7))
      return NULL;
+   if (*(buf+7) == '\0')
+     return NULL;
    p = strchr(buf+7, '/');
    if (p) *p = '\0';
    host = strdup(buf+7);
@@ -1107,7 +1125,7 @@
    if (!p)
      file = strdup("/");
    else
-     file = strdup(p);     
+     file = strdup(p);
 
    return file;
 }
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_feed.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- news_feed.h 21 May 2007 12:30:41 -0000      1.3
+++ news_feed.h 23 May 2007 23:32:37 -0000      1.4
@@ -205,7 +205,7 @@
    const char *url_feed;
    const char *icon;
    int         icon_ovrw;
-   int         urgent;
+   int         important;
 
    /* not saved */
    E_Config_Dialog *config_dialog;
@@ -252,10 +252,10 @@
 {
    News_Feed       *feed;
 
-   News_Popup_Warn *popw;
-   Evas_List       *articles;
-   int              unread_count;
-   unsigned char    ui_needrefresh : 1;
+   News_Popup   *popw;
+   Evas_List    *articles;
+   int           unread_count;
+   unsigned char ui_needrefresh : 1;
 
    struct
    {
@@ -319,7 +319,7 @@
                                   char *url_home, int url_home_ovrw,
                                   char *url_feed,
                                   char *icon, int icon_ovrw,
-                                  int urgent,
+                                  int important,
                                   News_Feed_Category *category);
 int                 news_feed_edit(News_Feed *f,
                                    char *name, int name_ovrw,
@@ -328,7 +328,7 @@
                                    char *url_home, int url_home_ovrw,
                                    char *url_feed,
                                    char *icon, int icon_ovrw,
-                                   int urgent,
+                                   int important,
                                    News_Feed_Category *category,
                                    int check_only);
 void                news_feed_free(News_Feed *f);
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_item.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- news_item.c 16 May 2007 12:06:03 -0000      1.1
+++ news_item.c 23 May 2007 23:32:37 -0000      1.2
@@ -1,8 +1,7 @@
 #include "News.h"
 
 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 Evas_List *_feedrefs_sort_unreadonly_list_get(News_Item *ni);
+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 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);
 
@@ -48,7 +47,7 @@
    e_box_homogenous_set(view, 1);
    e_box_orientation_set(view, 1);
    edje_object_part_swallow(ni->obj, "view", view);
-   evas_object_show(view); //FIXME: not needed
+   evas_object_show(view);
    ni->view.box = view;
 
    news_item_refresh(ni, 1, 1, 1);
@@ -93,7 +92,7 @@
 news_item_refresh(News_Item *ni, int changed_order, int changed_content, int 
changed_state)
 {
    Evas_Object *box;
-   int mode;
+   News_Item_View_Mode mode;
 
    box = ni->view.box;
    e_box_freeze(box);
@@ -120,10 +119,15 @@
         _item_refresh_mode_one(ni, changed_order, changed_state);
         break;
      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;
      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;
      }
 
@@ -219,28 +223,25 @@
 }
 
 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 *obj;
-   Evas_List *feed_refs;
-   int feed_refs_free = 0;
 
    if (!evas_list_count(ni->config->feed_refs)) return;
 
    box = ni->view.box;
 
-   if (unread_only)
-     {
-        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);
+   NEWS_ITEM_FEEDS_FOREACH_BEG_LIST(ni->config->feed_refs);
    {
       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));
       
@@ -268,23 +269,6 @@
       _feed->obj = obj;
    }
    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
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_item.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- news_item.h 16 May 2007 12:06:03 -0000      1.1
+++ news_item.h 23 May 2007 23:32:37 -0000      1.2
@@ -6,7 +6,9 @@
    {
       NEWS_ITEM_VIEW_MODE_ONE,
       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;
 
 typedef enum _News_Item_Openmethod
@@ -25,17 +27,6 @@
 #define NEWS_ITEM_OPENMETHOD_DEFAULT NEWS_ITEM_OPENMETHOD_VIEWER
 #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) \
 { \
 Evas_List *_l_feeds; \
@@ -47,6 +38,8 @@
    _ref = _l_feeds->data; \
    _feed = _ref->feed; \
    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() \
 } \
 }
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_parse_rss.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- news_parse_rss.c    21 May 2007 12:30:41 -0000      1.3
+++ news_parse_rss.c    23 May 2007 23:32:37 -0000      1.4
@@ -218,7 +218,7 @@
                        (char *)url_home, feed->url_home_ovrw,
                        (char *)feed->url_feed,
                        (char *)icon, feed->icon_ovrw,
-                       feed->urgent,
+                       feed->important,
                        feed->category,
                        0);
         if (feed->item && feed->item->viewer)
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_utils.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- news_utils.c        16 May 2007 12:06:03 -0000      1.1
+++ news_utils.c        23 May 2007 23:32:37 -0000      1.2
@@ -54,10 +54,13 @@
 
    if (!url) return 0;
 
-   switch(c->browser.wich)
+   switch((News_Util_Browser)c->browser.wich)
      {
      case NEWS_UTIL_BROWSER_FIREFOX:
         snprintf(cmd, sizeof(cmd), "%s", "firefox -new-window");
+        break;
+     case NEWS_UTIL_BROWSER_FIREFOX_TAB:
+        snprintf(cmd, sizeof(cmd), "%s", "firefox -new-tab");
         break;
      case NEWS_UTIL_BROWSER_MOZILLA:
         snprintf(cmd, sizeof(cmd), "%s", "mozilla");
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_utils.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- news_utils.h        16 May 2007 12:06:03 -0000      1.1
+++ news_utils.h        23 May 2007 23:32:37 -0000      1.2
@@ -3,6 +3,7 @@
 typedef enum _News_Util_Browser
    {
       NEWS_UTIL_BROWSER_FIREFOX,
+      NEWS_UTIL_BROWSER_FIREFOX_TAB,
       NEWS_UTIL_BROWSER_MOZILLA,
       NEWS_UTIL_BROWSER_OPERA,
       NEWS_UTIL_BROWSER_DILLO,
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_viewer.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -3 -r1.3 -r1.4
--- news_viewer.c       21 May 2007 12:30:41 -0000      1.3
+++ news_viewer.c       23 May 2007 23:32:37 -0000      1.4
@@ -184,8 +184,6 @@
            ic = e_icon_add(evas_object_evas_get(ilist));
            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)
         snprintf(buf, sizeof(buf), "[UNREAD] %s", _feed->name);
         else
===================================================================
RCS file: /cvs/e/e_modules/news/src/module/news_viewer.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- news_viewer.h       16 May 2007 12:06:03 -0000      1.1
+++ news_viewer.h       23 May 2007 23:32:37 -0000      1.2
@@ -15,7 +15,7 @@
 #define NEWS_VIEWER_VCONTENT_FONT_SIZE_MAX 20
 #define NEWS_VIEWER_VCONTENT_FONT_COLOR_DEFAULT "#000000"
 #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
 {



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to