From c1b41d9de8559240fa6c0b8f6cae8b4266830270 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 18 May 2013 13:19:16 +0400 Subject: add holo triangle back --- res/drawable-hdpi/ic_mailbox_collapsed_holo_dark.png | Bin 0 -> 274 bytes res/drawable-hdpi/ic_mailbox_collapsed_holo_light.png | Bin 0 -> 350 bytes res/layout/headlines_row.xml | 9 +++++++++ res/layout/headlines_row_selected.xml | 10 ++++++++++ res/layout/headlines_row_selected_unread.xml | 9 +++++++++ res/layout/headlines_row_unread.xml | 12 +++++++++++- 6 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 res/drawable-hdpi/ic_mailbox_collapsed_holo_dark.png create mode 100644 res/drawable-hdpi/ic_mailbox_collapsed_holo_light.png (limited to 'res') diff --git a/res/drawable-hdpi/ic_mailbox_collapsed_holo_dark.png b/res/drawable-hdpi/ic_mailbox_collapsed_holo_dark.png new file mode 100644 index 00000000..eb1a7bd8 Binary files /dev/null and b/res/drawable-hdpi/ic_mailbox_collapsed_holo_dark.png differ diff --git a/res/drawable-hdpi/ic_mailbox_collapsed_holo_light.png b/res/drawable-hdpi/ic_mailbox_collapsed_holo_light.png new file mode 100644 index 00000000..2c395b80 Binary files /dev/null and b/res/drawable-hdpi/ic_mailbox_collapsed_holo_light.png differ diff --git a/res/layout/headlines_row.xml b/res/layout/headlines_row.xml index 94d5f856..d339e281 100644 --- a/res/layout/headlines_row.xml +++ b/res/layout/headlines_row.xml @@ -120,6 +120,15 @@ android:clickable="true" android:src="@drawable/ic_rss_bw" /> + \ No newline at end of file diff --git a/res/layout/headlines_row_selected.xml b/res/layout/headlines_row_selected.xml index e1788ad5..be2239d9 100644 --- a/res/layout/headlines_row_selected.xml +++ b/res/layout/headlines_row_selected.xml @@ -120,6 +120,16 @@ android:layout_weight="0" android:clickable="true" android:src="@drawable/ic_rss_bw" /> + + diff --git a/res/layout/headlines_row_selected_unread.xml b/res/layout/headlines_row_selected_unread.xml index a91d5407..0367199e 100644 --- a/res/layout/headlines_row_selected_unread.xml +++ b/res/layout/headlines_row_selected_unread.xml @@ -121,6 +121,15 @@ android:clickable="true" android:src="@drawable/ic_rss_bw" /> + \ No newline at end of file diff --git a/res/layout/headlines_row_unread.xml b/res/layout/headlines_row_unread.xml index df794891..a4cbae11 100644 --- a/res/layout/headlines_row_unread.xml +++ b/res/layout/headlines_row_unread.xml @@ -119,9 +119,19 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0" - android:clickable="true" + android:clickable="true" android:src="@drawable/ic_rss_bw" /> + + \ No newline at end of file -- cgit v1.2.3-54-g00ecf From 709b3838bbe00f873ec7e1d18dde52b72517240f Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 18 May 2013 13:28:10 +0400 Subject: add preference to confirm marking headlines as read --- res/values/strings.xml | 1 + res/xml/preferences.xml | 6 ++ src/org/fox/ttrss/OnlineActivity.java | 109 +++++++++++++++++++--------------- 3 files changed, 68 insertions(+), 48 deletions(-) (limited to 'res') diff --git a/res/values/strings.xml b/res/values/strings.xml index 9212a1e6..05df6e0c 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -196,4 +196,5 @@ Mark read on scroll Headlines will be marked read when scrolling past them Mark %1$d article(s) as read? + Confirm marking articles as read diff --git a/res/xml/preferences.xml b/res/xml/preferences.xml index e05fc5b6..6bfa0e29 100644 --- a/res/xml/preferences.xml +++ b/res/xml/preferences.xml @@ -129,6 +129,12 @@ android:defaultValue="false" android:key="full_screen_mode" android:title="@string/prefs_fullscreen_mode" /> + + + 0) { - AlertDialog.Builder builder = new AlertDialog.Builder( - OnlineActivity.this) - .setMessage(getString(R.string.mark_num_headlines_as_read, count)) - .setPositiveButton(R.string.catchup, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { - - ArticleList articles = hf.getUnreadArticles(); - - for (Article a : articles) - a.unread = false; - - ApiRequest req = new ApiRequest(getApplicationContext()) { - protected void onPostExecute(JsonElement result) { - if (hf.isAdded()) { - hf.refresh(false); - } - } - }; - - final String articleIds = articlesToIdString(articles); - - @SuppressWarnings("serial") - HashMap map = new HashMap() { - { - put("sid", getSessionId()); - put("op", "updateArticle"); - put("article_ids", articleIds); - put("mode", "0"); - put("field", "2"); - } - }; - req.execute(map); - - - } - }) - .setNegativeButton(R.string.dialog_cancel, - new Dialog.OnClickListener() { - public void onClick(DialogInterface dialog, - int which) { - - } - }); - - AlertDialog dlg = builder.create(); - dlg.show(); + if (confirm) { + AlertDialog.Builder builder = new AlertDialog.Builder( + OnlineActivity.this) + .setMessage(getString(R.string.mark_num_headlines_as_read, count)) + .setPositiveButton(R.string.catchup, + new Dialog.OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + + catchupVisibleArticles(); + + } + }) + .setNegativeButton(R.string.dialog_cancel, + new Dialog.OnClickListener() { + public void onClick(DialogInterface dialog, + int which) { + + } + }); + + AlertDialog dlg = builder.create(); + dlg.show(); + } else { + catchupVisibleArticles(); + } } } return true; @@ -1020,6 +1000,39 @@ public class OnlineActivity extends CommonActivity { } } + protected void catchupVisibleArticles() { + final HeadlinesFragment hf = (HeadlinesFragment) getSupportFragmentManager().findFragmentByTag(FRAG_HEADLINES); + + if (hf != null) { + ArticleList articles = hf.getUnreadArticles(); + + for (Article a : articles) + a.unread = false; + + ApiRequest req = new ApiRequest(getApplicationContext()) { + protected void onPostExecute(JsonElement result) { + if (hf.isAdded()) { + hf.refresh(false); + } + } + }; + + final String articleIds = articlesToIdString(articles); + + @SuppressWarnings("serial") + HashMap map = new HashMap() { + { + put("sid", getSessionId()); + put("op", "updateArticle"); + put("article_ids", articleIds); + put("mode", "0"); + put("field", "2"); + } + }; + req.execute(map); + } + } + public void editArticleNote(final Article article) { String note = ""; -- cgit v1.2.3-54-g00ecf From ad6b01cb469b41b27056e81a44760f6d2559cda8 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 18 May 2013 13:35:12 +0400 Subject: dark theme minor style fix --- res/drawable/headline_row_selected_dark.xml | 2 ++ res/values-v11/style.xml | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'res') diff --git a/res/drawable/headline_row_selected_dark.xml b/res/drawable/headline_row_selected_dark.xml index b8ddb446..75c79a11 100644 --- a/res/drawable/headline_row_selected_dark.xml +++ b/res/drawable/headline_row_selected_dark.xml @@ -3,6 +3,8 @@ + + @android:color/transparent @android:drawable/divider_horizontal_dark - @drawable/ics_divider_vertical + @android:color/transparent @color/ics_cyan @drawable/headlines_dark @drawable/headlines_dark -- cgit v1.2.3-54-g00ecf From 47a2f150abbbe45a17df212d44cecd2416dee24a Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 18 May 2013 13:41:44 +0400 Subject: bump version, update light theme --- AndroidManifest.xml | 4 ++-- res/drawable-hdpi/arrowhead_light.png | Bin 1283 -> 287 bytes res/drawable/shadow_headlines.xml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) (limited to 'res') diff --git a/AndroidManifest.xml b/AndroidManifest.xml index d2baf5cf..3d6ebe8b 100644 --- a/AndroidManifest.xml +++ b/AndroidManifest.xml @@ -1,8 +1,8 @@ + android:versionCode="169" + android:versionName="1.7.6" > - + \ No newline at end of file -- cgit v1.2.3-54-g00ecf From 8d85dc931fb1184a12f573cc7507e4406ccd9ba9 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Sat, 18 May 2013 13:57:25 +0400 Subject: add (invisible) context triangle icon to feed rows --- res/layout-sw600dp/feeds_row_selected.xml | 12 ++++++++++++ res/layout/feeds_row.xml | 12 ++++++++++++ res/layout/feeds_row_selected.xml | 12 ++++++++++++ src/org/fox/ttrss/FeedCategoriesFragment.java | 19 +++++++++++++++++++ src/org/fox/ttrss/FeedsFragment.java | 16 ++++++++++++++++ .../ttrss/offline/OfflineFeedCategoriesFragment.java | 17 +++++++++++++++++ src/org/fox/ttrss/offline/OfflineFeedsFragment.java | 16 ++++++++++++++++ 7 files changed, 104 insertions(+) (limited to 'res') diff --git a/res/layout-sw600dp/feeds_row_selected.xml b/res/layout-sw600dp/feeds_row_selected.xml index 12336d71..f6217520 100644 --- a/res/layout-sw600dp/feeds_row_selected.xml +++ b/res/layout-sw600dp/feeds_row_selected.xml @@ -4,6 +4,7 @@ android:layout_width="match_parent" android:layout_height="?android:attr/listPreferredItemHeight" android:background="?feedsSelectedBackground" + android:descendantFocusability="blocksDescendants" android:gravity="center_vertical" android:orientation="horizontal" android:paddingBottom="10dip" @@ -43,4 +44,15 @@ android:textSize="13sp" android:textStyle="bold" /> + + \ No newline at end of file diff --git a/res/layout/feeds_row.xml b/res/layout/feeds_row.xml index bd033b25..ffea8cf6 100644 --- a/res/layout/feeds_row.xml +++ b/res/layout/feeds_row.xml @@ -3,6 +3,7 @@ android:id="@+id/feeds_row" android:layout_width="match_parent" android:layout_height="?android:attr/listPreferredItemHeight" + android:descendantFocusability="blocksDescendants" android:gravity="center_vertical" android:orientation="horizontal" android:paddingBottom="10dip" @@ -42,4 +43,15 @@ android:textSize="13sp" android:textStyle="bold" /> + + \ No newline at end of file diff --git a/res/layout/feeds_row_selected.xml b/res/layout/feeds_row_selected.xml index cb95a819..b1d53549 100644 --- a/res/layout/feeds_row_selected.xml +++ b/res/layout/feeds_row_selected.xml @@ -4,6 +4,7 @@ android:layout_width="match_parent" android:layout_height="?android:attr/listPreferredItemHeight" android:background="?feedsSelectedBackgroundSolid" + android:descendantFocusability="blocksDescendants" android:gravity="center_vertical" android:orientation="horizontal" android:paddingBottom="10dip" @@ -43,4 +44,15 @@ android:textSize="13sp" android:textStyle="bold" /> + + \ No newline at end of file diff --git a/src/org/fox/ttrss/FeedCategoriesFragment.java b/src/org/fox/ttrss/FeedCategoriesFragment.java index 90889255..fdd44f9e 100644 --- a/src/org/fox/ttrss/FeedCategoriesFragment.java +++ b/src/org/fox/ttrss/FeedCategoriesFragment.java @@ -21,6 +21,7 @@ import android.support.v4.app.Fragment; import android.util.Log; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; +import android.view.View.OnClickListener; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; @@ -29,6 +30,7 @@ import android.widget.AdapterView; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; +import android.widget.ImageButton; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; @@ -406,6 +408,21 @@ public class FeedCategoriesFragment extends Fragment implements OnItemClickListe icon.setImageResource(cat.unread > 0 ? R.drawable.ic_rss : R.drawable.ic_rss_bw); } + ImageButton ib = (ImageButton) v.findViewById(R.id.feed_menu_button); + + if (ib != null) { + if (m_activity.isDarkTheme()) + ib.setImageResource(R.drawable.ic_mailbox_collapsed_holo_dark); + + ib.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + getActivity().openContextMenu(v); + } + }); + } + + return v; } } @@ -422,6 +439,8 @@ public class FeedCategoriesFragment extends Fragment implements OnItemClickListe public void onItemClick(AdapterView av, View view, int position, long id) { ListView list = (ListView)av; + Log.d(TAG, "onItemClick=" + position); + if (list != null) { FeedCategory cat = (FeedCategory)list.getItemAtPosition(position); diff --git a/src/org/fox/ttrss/FeedsFragment.java b/src/org/fox/ttrss/FeedsFragment.java index da428823..181d4418 100644 --- a/src/org/fox/ttrss/FeedsFragment.java +++ b/src/org/fox/ttrss/FeedsFragment.java @@ -34,6 +34,7 @@ import android.util.Base64; import android.util.Log; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; +import android.view.View.OnClickListener; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; @@ -42,6 +43,7 @@ import android.widget.AdapterView; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; +import android.widget.ImageButton; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; @@ -529,6 +531,20 @@ public class FeedsFragment extends Fragment implements OnItemClickListener, OnSh } } + + ImageButton ib = (ImageButton) v.findViewById(R.id.feed_menu_button); + + if (ib != null) { + if (m_activity.isDarkTheme()) + ib.setImageResource(R.drawable.ic_mailbox_collapsed_holo_dark); + + ib.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + getActivity().openContextMenu(v); + } + }); + } return v; } diff --git a/src/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java b/src/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java index 85f49d6b..31cfcb03 100644 --- a/src/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java +++ b/src/org/fox/ttrss/offline/OfflineFeedCategoriesFragment.java @@ -15,6 +15,7 @@ import android.support.v4.widget.SimpleCursorAdapter; import android.util.Log; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; +import android.view.View.OnClickListener; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; @@ -22,6 +23,7 @@ import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.AdapterView.OnItemClickListener; +import android.widget.ImageButton; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; @@ -282,6 +284,21 @@ public class OfflineFeedCategoriesFragment extends Fragment implements OnItemCli if (icon != null) { icon.setImageResource(cursor.getInt(cursor.getColumnIndex("unread")) > 0 ? R.drawable.ic_rss : R.drawable.ic_rss_bw); } + + ImageButton ib = (ImageButton) v.findViewById(R.id.feed_menu_button); + + if (ib != null) { + if (m_activity.isDarkTheme()) + ib.setImageResource(R.drawable.ic_mailbox_collapsed_holo_dark); + + ib.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + getActivity().openContextMenu(v); + } + }); + } + return v; } diff --git a/src/org/fox/ttrss/offline/OfflineFeedsFragment.java b/src/org/fox/ttrss/offline/OfflineFeedsFragment.java index 50e13afb..a2231485 100644 --- a/src/org/fox/ttrss/offline/OfflineFeedsFragment.java +++ b/src/org/fox/ttrss/offline/OfflineFeedsFragment.java @@ -20,6 +20,7 @@ import android.support.v4.widget.SimpleCursorAdapter; import android.util.Log; import android.view.ContextMenu; import android.view.ContextMenu.ContextMenuInfo; +import android.view.View.OnClickListener; import android.view.LayoutInflater; import android.view.MenuItem; import android.view.View; @@ -27,6 +28,7 @@ import android.view.ViewGroup; import android.widget.AdapterView; import android.widget.AdapterView.AdapterContextMenuInfo; import android.widget.AdapterView.OnItemClickListener; +import android.widget.ImageButton; import android.widget.ImageView; import android.widget.ListView; import android.widget.TextView; @@ -307,6 +309,20 @@ public class OfflineFeedsFragment extends Fragment implements OnItemClickListene } + ImageButton ib = (ImageButton) v.findViewById(R.id.feed_menu_button); + + if (ib != null) { + if (m_activity.isDarkTheme()) + ib.setImageResource(R.drawable.ic_mailbox_collapsed_holo_dark); + + ib.setOnClickListener(new OnClickListener() { + @Override + public void onClick(View v) { + getActivity().openContextMenu(v); + } + }); + } + return v; } } -- cgit v1.2.3-54-g00ecf