summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Leonhardt <sebastian.leonhardt@web.de>2015-07-14 01:52:56 +0200
committerGerrit Rockbox <gerrit@rockbox.org>2015-09-24 23:15:24 +0200
commit59928e6cf5b42fda923559a1e232abe8bf0eddd3 (patch)
treec5f252c0781948945cb14406f4f684d791eccfb7
parent399904a916f3b17d2d6ee5817d5f1a53ffe62d30 (diff)
downloadrockbox-59928e6.tar.gz
rockbox-59928e6.zip
Shopper: slightly improve plugin and manual
* improve manual (hopefully fixes fs#11988). Parts of the description are taken from fs#10820. * move ACTION_STD_CONTEXT from alternate select to alternate menu action, as not all targets have ACTION_STD_MENU * add menu entries for "Quit" and "Quit without saving" Change-Id: Iec86a1608756a899f9f9d7ec7d479838dfd1d95f
-rw-r--r--apps/plugins/shopper.c38
-rw-r--r--manual/plugins/shopper.tex48
2 files changed, 82 insertions, 4 deletions
diff --git a/apps/plugins/shopper.c b/apps/plugins/shopper.c
index 15b44ca21a..7129291c10 100644
--- a/apps/plugins/shopper.c
+++ b/apps/plugins/shopper.c
@@ -320,13 +320,13 @@ enum plugin_status plugin_start(const void* parameter)
continue;
switch (button)
{
- case ACTION_STD_CONTEXT:
case ACTION_STD_OK:
{
changed |= toggle(cur_sel);
break;
}
case ACTION_STD_MENU:
+ case ACTION_STD_CONTEXT:
{
switch(view)
{
@@ -338,7 +338,9 @@ enum plugin_status plugin_start(const void* parameter)
"Mark all items",
category_string,
"Revert to saved",
- "Show Playback Menu",);
+ "Show Playback Menu",
+ "Quit without saving",
+ "Quit");
switch (rb->do_menu(&menu, NULL, NULL, false))
{
@@ -394,6 +396,20 @@ enum plugin_status plugin_start(const void* parameter)
playback_control(NULL);
break;
}
+ case 6:
+ {
+ /* Quit without saving */
+ exit = 1;
+ break;
+ }
+ case 7:
+ {
+ /* Save and quit */
+ if (changed)
+ save_changes();
+ exit = 1;
+ break;
+ }
default:
{
break;
@@ -409,7 +425,9 @@ enum plugin_status plugin_start(const void* parameter)
"Reset list",
category_string,
"Revert to saved",
- "Show Playback Menu",);
+ "Show Playback Menu",
+ "Quit without saving",
+ "Quit");
switch (rb->do_menu(&menu, NULL, NULL, false))
{
@@ -454,6 +472,20 @@ enum plugin_status plugin_start(const void* parameter)
playback_control(NULL);
break;
}
+ case 5:
+ {
+ /* Quit without saving */
+ exit = 1;
+ break;
+ }
+ case 6:
+ {
+ /* Save and quit */
+ if (changed)
+ save_changes();
+ exit = 1;
+ break;
+ }
default:
{
break;
diff --git a/manual/plugins/shopper.tex b/manual/plugins/shopper.tex
index 0abd185dda..b2e23e46ee 100644
--- a/manual/plugins/shopper.tex
+++ b/manual/plugins/shopper.tex
@@ -2,4 +2,50 @@
\subsection{Shopper}
\label{ref:Shopperplugin}
-Shopper is a shopping list plugin which allows you to maintain reusable shopping lists.
+Shopper is a plugin which allows you to maintain reusable shopping lists.
+To create a list, use a text editor to write down a list of items (one per
+line; note that the line length should not exceed 40 characters) and save the
+file as \fname{<name>.shopper}. If you want to separate the items you can do
+so by creating categories, which are prepended with `\#'. To open a
+\fname{.shopper} file just ``play'' it from the file browser.
+
+\begin{example}
+ #groceries
+ bananas
+ cucumber
+ 4 apples
+ 6 apples
+ #dairy
+ milk
+ cheese
+\end{example}
+Note that it isn't possible to choose exact quantities, but you can create a
+number of entries with different quantities in the name of the item, such as
+for the apples in the above example.
+
+There are two modes, \emph{edit mode} and \emph{view mode}. The edit mode
+shows all the items, and it allows you to select which of the items you want
+to buy. When you have finished selecting the items, use the menu to go to the
+view mode, and you will see only the items you wish to buy. If you `select'
+an item in view mode then that item will be removed from the list.
+
+When you exit Shopper the last view is saved, including which items you have
+selected, so if you re-open the shopping list it will be as you left it. There
+are additional menu options for clearing the list, selecting all items, showing
+and hiding the categories, toggling the categories, and displaying the playback
+menu.
+
+\subsubsection{Shopper Keys}
+\begin{btnmap}
+ \ActionStdOk{}
+ \opt{HAVEREMOTEKEYMAP}{& \ActionRCStdOk}
+ & Select or clear an item\\
+
+ \ActionStdMenu{} or \ActionStdContext{}
+ \opt{HAVEREMOTEKEYMAP}{& \ActionRCStdMenu{} or \ActionRCStdContext}
+ & Show menu\\
+
+ \ActionStdCancel{}
+ \opt{HAVEREMOTEKEYMAP}{& \ActionRCStdCancel}
+ & Exit\\
+\end{btnmap}