mirror of
https://github.com/wismna/DoNext.git
synced 2025-10-03 15:40:14 -04:00
TodayForm dynamic fragment now fully functional: allows selecting tasks form the task list, allows text filtering
Creation of an ArrayAdapter to handle selection for the above Moved code out of Today Activity into Today Form where it belonged Replaced TaskFragment Coordinator Layout with a Frame Layout Re-moved the Floating Action Button into the Activities out of Task Fragment Simplification of Preferences
This commit is contained in:
10
DoNExt/.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
10
DoNExt/.idea/inspectionProfiles/Project_Default.xml
generated
Normal file
@@ -0,0 +1,10 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<profile version="1.0">
|
||||
<option name="myName" value="Project Default" />
|
||||
<inspection_tool class="AndroidLintHardcodedText" enabled="false" level="WARNING" enabled_by_default="false" />
|
||||
<inspection_tool class="LoggerInitializedWithForeignClass" enabled="false" level="WARNING" enabled_by_default="false">
|
||||
<option name="loggerClassName" value="org.apache.log4j.Logger,org.slf4j.LoggerFactory,org.apache.commons.logging.LogFactory,java.util.logging.Logger" />
|
||||
<option name="loggerFactoryMethodName" value="getLogger,getLogger,getLog,getLogger" />
|
||||
</inspection_tool>
|
||||
</profile>
|
||||
</component>
|
7
DoNExt/.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
7
DoNExt/.idea/inspectionProfiles/profiles_settings.xml
generated
Normal file
@@ -0,0 +1,7 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="PROJECT_PROFILE" value="Project Default" />
|
||||
<option name="USE_PROJECT_PROFILE" value="true" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
@@ -1,25 +1,29 @@
|
||||
package com.wismna.geoffroy.donext.activities;
|
||||
|
||||
import android.content.SharedPreferences;
|
||||
import android.os.Bundle;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.preference.PreferenceManager;
|
||||
import android.support.design.widget.FloatingActionButton;
|
||||
import android.support.v4.app.FragmentManager;
|
||||
import android.support.v4.app.FragmentTransaction;
|
||||
import android.support.v7.app.ActionBar;
|
||||
import android.support.v7.app.AppCompatActivity;
|
||||
import android.support.v7.widget.RecyclerView;
|
||||
import android.support.v7.widget.Toolbar;
|
||||
import android.view.Menu;
|
||||
import android.view.MenuItem;
|
||||
import android.view.View;
|
||||
|
||||
import com.wismna.geoffroy.donext.R;
|
||||
import com.wismna.geoffroy.donext.dao.Task;
|
||||
import com.wismna.geoffroy.donext.adapters.TaskRecyclerViewAdapter;
|
||||
import com.wismna.geoffroy.donext.database.TaskDataAccess;
|
||||
import com.wismna.geoffroy.donext.fragments.TodayFormDialogFragment;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class TodayActivity extends AppCompatActivity
|
||||
implements TodayFormDialogFragment.TodayTaskListener {
|
||||
|
||||
private boolean mIsLargeLayout;
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
super.onCreate(savedInstanceState);
|
||||
@@ -33,18 +37,54 @@ public class TodayActivity extends AppCompatActivity
|
||||
if (ab != null) {
|
||||
// Enable the Up button
|
||||
ab.setDisplayHomeAsUpEnabled(true);
|
||||
ab.setHomeButtonEnabled(true);
|
||||
}
|
||||
|
||||
mIsLargeLayout = getResources().getBoolean(R.bool.large_layout);
|
||||
}
|
||||
|
||||
public void onNewTaskClick(View view) {
|
||||
List<Task> tasks;
|
||||
try(TaskDataAccess taskDataAccess = new TaskDataAccess(this)) {
|
||||
tasks = taskDataAccess.getAllTasks();
|
||||
@Override
|
||||
public boolean onCreateOptionsMenu(Menu menu) {
|
||||
getMenuInflater().inflate(R.menu.menu_today, menu);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onPrepareOptionsMenu(Menu menu) {
|
||||
MenuItem displayLayoutItem = menu.findItem(R.id.action_changeLayout);
|
||||
if (displayLayoutItem == null) return false;
|
||||
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
String layoutType = sharedPref.getString("pref_conf_task_layout", "1");
|
||||
switch (layoutType) {
|
||||
case "1" :
|
||||
displayLayoutItem.setIcon(R.drawable.ic_list_white_24dp);
|
||||
break;
|
||||
case "2" :
|
||||
displayLayoutItem.setIcon(R.drawable.ic_view_list_white_24dp);
|
||||
break;
|
||||
}
|
||||
return super.onPrepareOptionsMenu(menu);
|
||||
}
|
||||
|
||||
/** Called when the user clicks on the Change Layout button */
|
||||
public void changeLayout(MenuItem item) {
|
||||
SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(this);
|
||||
SharedPreferences.Editor editor = sharedPref.edit();
|
||||
String layoutTypeString = sharedPref.getString("pref_conf_task_layout", "1");
|
||||
int layoutType = Integer.valueOf(layoutTypeString);
|
||||
editor.putString("pref_conf_task_layout", String.valueOf(layoutType % 2 + 1));
|
||||
editor.apply();
|
||||
|
||||
// Update the ViewPagerAdapter to refresh all tabs
|
||||
//mSectionsPagerAdapter.notifyDataSetChanged();
|
||||
// Invalidate the menu to redraw the icon
|
||||
invalidateOptionsMenu();
|
||||
}
|
||||
|
||||
|
||||
public void onNewTaskClick(View view) {
|
||||
TodayFormDialogFragment taskDialogFragment =
|
||||
TodayFormDialogFragment.newInstance(tasks, TodayActivity.this);
|
||||
TodayFormDialogFragment.newInstance(this, TodayActivity.this);
|
||||
|
||||
// Set some configuration values for the dialog
|
||||
Bundle args = new Bundle();
|
||||
@@ -70,7 +110,18 @@ public class TodayActivity extends AppCompatActivity
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTodayTaskDialogPositiveClick(DialogFragment dialog, View dialogView) {
|
||||
public void onTodayTaskDialogPositiveClick(View dialogView) {
|
||||
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
|
||||
fab.setEnabled(false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onTodayTasksUpdated() {
|
||||
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
|
||||
fab.setEnabled(true);
|
||||
try (TaskDataAccess taskDataAccess = new TaskDataAccess(this)) {
|
||||
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.task_list_view);
|
||||
((TaskRecyclerViewAdapter)recyclerView.getAdapter()).setItems(taskDataAccess.getTodayTasks());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -22,7 +22,7 @@ import java.util.List;
|
||||
*/
|
||||
public class TaskRecyclerViewAdapter extends RecyclerView.Adapter<TaskRecyclerViewAdapter.SimpleViewHolder> {
|
||||
|
||||
private final List<Task> mValues;
|
||||
private List<Task> mValues;
|
||||
private int viewType;
|
||||
|
||||
public TaskRecyclerViewAdapter(List<Task> items, int viewType) {
|
||||
@@ -112,11 +112,15 @@ public class TaskRecyclerViewAdapter extends RecyclerView.Adapter<TaskRecyclerVi
|
||||
return count;
|
||||
}
|
||||
|
||||
public void setItems(List<Task> tasks) {
|
||||
this.mValues = tasks;
|
||||
notifyDataSetChanged();
|
||||
}
|
||||
|
||||
public Task getItem(int position) {
|
||||
return mValues.get(position);
|
||||
}
|
||||
|
||||
|
||||
class SimpleViewHolder extends RecyclerView.ViewHolder {
|
||||
final View mView;
|
||||
final TextView mIdView;
|
||||
|
@@ -0,0 +1,50 @@
|
||||
package com.wismna.geoffroy.donext.adapters;
|
||||
|
||||
import android.content.Context;
|
||||
import android.graphics.Color;
|
||||
import android.graphics.Typeface;
|
||||
import android.support.annotation.NonNull;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import com.wismna.geoffroy.donext.R;
|
||||
import com.wismna.geoffroy.donext.dao.Task;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Created by bg45 on 2017-03-22.
|
||||
* Custom array adapter for the Today Task list view
|
||||
*/
|
||||
|
||||
public class TodayArrayAdapter extends ArrayAdapter<Task> {
|
||||
public TodayArrayAdapter(@NonNull Context context, @NonNull List<Task> objects) {
|
||||
super(context, R.layout.list_task_item, objects);
|
||||
}
|
||||
|
||||
@NonNull
|
||||
@Override
|
||||
public View getView(int position, @Nullable View convertView, @NonNull ViewGroup parent) {
|
||||
//return super.getView(position, convertView, parent);
|
||||
if (convertView == null) {
|
||||
convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_task_item, parent, false);
|
||||
}
|
||||
TextView titleView = (TextView) convertView.findViewById(R.id.task_list_item_title);
|
||||
Task item = this.getItem(position);
|
||||
if (item != null) {
|
||||
titleView.setText(item.getName());
|
||||
if (item.isToday()) {
|
||||
titleView.setTypeface(titleView.getTypeface(), Typeface.BOLD);
|
||||
titleView.setBackgroundColor(Color.parseColor("#B2DFDB"));
|
||||
} else {
|
||||
titleView.setTypeface(Typeface.DEFAULT);
|
||||
titleView.setBackgroundColor(Color.WHITE);
|
||||
}
|
||||
}
|
||||
return convertView;
|
||||
}
|
||||
}
|
@@ -90,6 +90,13 @@ public class TaskDataAccess implements AutoCloseable {
|
||||
" AND " + DatabaseHelper.TASKS_COLUMN_LIST + " = " + taskListId, null);
|
||||
}
|
||||
|
||||
public int updateTodayTasks(long id, boolean isTodayList){
|
||||
ContentValues contentValues = new ContentValues();
|
||||
contentValues.put(DatabaseHelper.TASKS_COLUMN_TODAYDATE, isTodayList? LocalDate.now().toString() : "");
|
||||
return database.update(DatabaseHelper.TASKS_TABLE_NAME, contentValues,
|
||||
DatabaseHelper.COLUMN_ID + " == " + id, null);
|
||||
}
|
||||
|
||||
public List<Task> getAllTasks() {
|
||||
Cursor cursor = database.query(DatabaseHelper.TASKS_TABLE_NAME, taskColumns,
|
||||
DatabaseHelper.TASKS_COLUMN_DONE + " = " + 0 +
|
||||
|
@@ -110,10 +110,15 @@ public abstract class DynamicDialogFragment extends DialogFragment {
|
||||
|
||||
@Override
|
||||
public void onPrepareOptionsMenu(Menu menu) {
|
||||
Bundle args = getArguments();
|
||||
// Show the neutral button if needed
|
||||
if (!mHasNeutralButton) {
|
||||
menu.removeItem(R.id.menu_neutral_button);
|
||||
}
|
||||
else {
|
||||
menu.findItem(R.id.menu_neutral_button).setTitle(args.getString("button_neutral"));
|
||||
}
|
||||
menu.findItem(R.id.menu_positive_button).setTitle(args.getString("button_positive"));
|
||||
super.onPrepareOptionsMenu(menu);
|
||||
}
|
||||
|
||||
|
@@ -46,7 +46,7 @@ import java.util.List;
|
||||
public class TasksFragment extends Fragment implements
|
||||
TaskFormDialogFragment.NewTaskListener,
|
||||
ConfirmDialogFragment.ConfirmDialogListener,
|
||||
TaskTouchHelper.TaskTouchHelperAdapter {
|
||||
TaskTouchHelper.TaskTouchHelperAdapter{
|
||||
|
||||
public interface TaskChangedAdapter {
|
||||
void onTaskListChanged(Task task, int tabPosition);
|
||||
|
@@ -1,18 +1,22 @@
|
||||
package com.wismna.geoffroy.donext.fragments;
|
||||
|
||||
import android.content.Context;
|
||||
import android.os.AsyncTask;
|
||||
import android.os.Bundle;
|
||||
import android.support.annotation.Nullable;
|
||||
import android.support.v4.app.DialogFragment;
|
||||
import android.text.Editable;
|
||||
import android.text.TextWatcher;
|
||||
import android.view.View;
|
||||
import android.widget.AdapterView;
|
||||
import android.widget.ArrayAdapter;
|
||||
import android.widget.EditText;
|
||||
import android.widget.ListView;
|
||||
|
||||
import com.wismna.geoffroy.donext.R;
|
||||
import com.wismna.geoffroy.donext.adapters.TodayArrayAdapter;
|
||||
import com.wismna.geoffroy.donext.dao.Task;
|
||||
import com.wismna.geoffroy.donext.database.TaskDataAccess;
|
||||
|
||||
import org.joda.time.LocalDate;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -26,16 +30,20 @@ public class TodayFormDialogFragment extends DynamicDialogFragment {
|
||||
* implement this interface in order to receive event callbacks.
|
||||
* Each method passes the DialogFragment in case the host needs to query it. */
|
||||
public interface TodayTaskListener {
|
||||
void onTodayTaskDialogPositiveClick(DialogFragment dialog, View dialogView);
|
||||
void onTodayTaskDialogPositiveClick(View dialogView);
|
||||
void onTodayTasksUpdated();
|
||||
}
|
||||
|
||||
private TodayFormDialogFragment.TodayTaskListener mListener;
|
||||
private List<Task> tasks;
|
||||
|
||||
public static TodayFormDialogFragment newInstance(List<Task> tasks, TodayTaskListener todayTaskListener) {
|
||||
public static TodayFormDialogFragment newInstance(Context context, TodayTaskListener todayTaskListener) {
|
||||
TodayFormDialogFragment fragment = new TodayFormDialogFragment();
|
||||
fragment.tasks = tasks;
|
||||
|
||||
fragment.mListener = todayTaskListener;
|
||||
// TODO: put this in an AsyncTask
|
||||
try(TaskDataAccess taskDataAccess = new TaskDataAccess(context)) {
|
||||
fragment.tasks = taskDataAccess.getAllTasks();
|
||||
}
|
||||
fragment.setRetainInstance(true);
|
||||
return fragment;
|
||||
}
|
||||
@@ -59,15 +67,17 @@ public class TodayFormDialogFragment extends DynamicDialogFragment {
|
||||
|
||||
private void setLayoutValues(View view) {
|
||||
EditText editText = (EditText) view.findViewById(R.id.today_search);
|
||||
ListView listView = (ListView) view.findViewById(R.id.today_tasks);
|
||||
final ArrayAdapter<Task> adapter = new ArrayAdapter<>(getActivity(), R.layout.list_task_item, tasks);
|
||||
final ListView listView = (ListView) view.findViewById(R.id.today_tasks);
|
||||
final TodayArrayAdapter adapter = new TodayArrayAdapter(getActivity(), tasks);
|
||||
listView.setAdapter(adapter);
|
||||
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
|
||||
@Override
|
||||
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
|
||||
// Set as selected
|
||||
Task task = tasks.get(position);
|
||||
view.setSelected(!view.isSelected());
|
||||
// Set Today date for the task
|
||||
Task task = adapter.getItem(position);
|
||||
if (task == null) return;
|
||||
task.setTodayDate(task.isToday() ? "" : LocalDate.now().toString());
|
||||
adapter.notifyDataSetChanged();
|
||||
}
|
||||
});
|
||||
editText.addTextChangedListener(new TextWatcher() {
|
||||
@@ -90,7 +100,10 @@ public class TodayFormDialogFragment extends DynamicDialogFragment {
|
||||
|
||||
@Override
|
||||
protected void onPositiveButtonClick(View view) {
|
||||
mListener.onTodayTaskDialogPositiveClick(TodayFormDialogFragment.this, view);
|
||||
mListener.onTodayTaskDialogPositiveClick(view);
|
||||
// TODO: find a way to filter this list to only get changed tasks
|
||||
new UpdateTasks().execute(tasks.toArray(new Task[tasks.size()]));
|
||||
dismiss();
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -102,4 +115,25 @@ public class TodayFormDialogFragment extends DynamicDialogFragment {
|
||||
protected void onNegativeButtonClick() {
|
||||
dismiss();
|
||||
}
|
||||
}
|
||||
|
||||
private class UpdateTasks extends AsyncTask<Task, Void, Integer> {
|
||||
@Override
|
||||
protected Integer doInBackground(Task... params) {
|
||||
int elementsUpdated = 0;
|
||||
try (TaskDataAccess taskDataAccess = new TaskDataAccess(getActivity(), TaskDataAccess.MODE.WRITE)) {
|
||||
for (Task task :
|
||||
params) {
|
||||
taskDataAccess.updateTodayTasks(task.getId(), task.isToday());
|
||||
elementsUpdated++;
|
||||
}
|
||||
}
|
||||
return elementsUpdated;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onPostExecute(Integer integer) {
|
||||
super.onPostExecute(integer);
|
||||
mListener.onTodayTasksUpdated();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -8,7 +8,7 @@
|
||||
android:paddingRight="@dimen/activity_horizontal_margin"
|
||||
android:paddingTop="@dimen/activity_vertical_margin"
|
||||
android:orientation="vertical"
|
||||
tools:context="com.wismna.geoffroy.donext.activities.AboutActivity">
|
||||
tools:context=".activities.AboutActivity">
|
||||
<TextView
|
||||
android:id="@+id/version_donext"
|
||||
android:layout_width="wrap_content"
|
||||
|
@@ -51,4 +51,13 @@
|
||||
android:layout_height="match_parent"
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
|
||||
|
||||
<android.support.design.widget.FloatingActionButton
|
||||
android:id="@+id/fab"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="@dimen/fab_margin"
|
||||
android:onClick="onNewTaskClick"
|
||||
android:src="@drawable/ic_add_white_24dp" />
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
@@ -4,19 +4,14 @@
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
tools:context="com.wismna.geoffroy.donext.activities.TodayActivity">
|
||||
android:fitsSystemWindows="true"
|
||||
tools:context=".activities.TodayActivity">
|
||||
|
||||
<android.support.design.widget.AppBarLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
android:theme="@style/AppTheme.AppBarOverlay">
|
||||
|
||||
<android.support.v7.widget.Toolbar
|
||||
android:id="@+id/toolbar"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="?attr/actionBarSize"
|
||||
android:background="?attr/colorPrimary"
|
||||
app:popupTheme="@style/AppTheme.PopupOverlay" />
|
||||
<include layout="@layout/toolbar" android:id="@+id/toolbar" />
|
||||
|
||||
</android.support.design.widget.AppBarLayout>
|
||||
|
||||
@@ -28,4 +23,13 @@
|
||||
app:layout_behavior="@string/appbar_scrolling_view_behavior"
|
||||
tools:layout="@layout/fragment_tasks" />
|
||||
|
||||
<android.support.design.widget.FloatingActionButton
|
||||
android:id="@+id/fab"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="@dimen/fab_margin"
|
||||
android:onClick="onNewTaskClick"
|
||||
android:src="@drawable/ic_add_white_24dp" />
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
|
@@ -4,6 +4,8 @@
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:layout_marginTop="?attr/actionBarSize"
|
||||
android:focusable="true"
|
||||
android:focusableInTouchMode="true"
|
||||
android:background="@android:color/background_light" >
|
||||
<EditText
|
||||
android:id="@+id/today_search"
|
||||
@@ -17,7 +19,9 @@
|
||||
android:id="@+id/today_tasks"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:textFilterEnabled="true">
|
||||
android:textFilterEnabled="true"
|
||||
android:drawSelectorOnTop="true"
|
||||
android:choiceMode="multipleChoice">
|
||||
|
||||
</ListView>
|
||||
</LinearLayout>
|
@@ -10,6 +10,7 @@
|
||||
android:theme="@style/AppTheme.AppBarOverlay">
|
||||
<include layout="@layout/toolbar" android:id="@+id/dialog_toolbar" />
|
||||
</android.support.design.widget.AppBarLayout>
|
||||
<!-- This will contain the actual contents of the dialog -->
|
||||
<FrameLayout
|
||||
android:id="@+id/dynamic_fragment_content"
|
||||
android:layout_width="match_parent"
|
||||
|
@@ -1,5 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
<FrameLayout
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
xmlns:tools="http://schemas.android.com/tools"
|
||||
android:layout_width="match_parent"
|
||||
@@ -63,14 +64,4 @@
|
||||
android:layout_width="150dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="bottom|center"/>
|
||||
|
||||
<android.support.design.widget.FloatingActionButton
|
||||
android:id="@+id/fab"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_gravity="end|bottom"
|
||||
android:layout_margin="@dimen/fab_margin"
|
||||
android:onClick="onNewTaskClick"
|
||||
android:src="@drawable/ic_add_white_24dp" />
|
||||
|
||||
</android.support.design.widget.CoordinatorLayout>
|
||||
</FrameLayout>
|
@@ -1,6 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<TextView
|
||||
xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
android:id="@+id/task_list_item_title"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:padding="20dp"
|
||||
|
@@ -4,11 +4,11 @@
|
||||
<item
|
||||
android:id="@+id/menu_positive_button"
|
||||
android:orderInCategory="100"
|
||||
android:title="@string/new_task_save"
|
||||
android:title="@android:string/ok"
|
||||
app:showAsAction="always"/>
|
||||
<item
|
||||
android:id="@+id/menu_neutral_button"
|
||||
android:orderInCategory="50"
|
||||
android:title="@string/new_task_delete"
|
||||
android:title="@android:string/untitled"
|
||||
app:showAsAction="ifRoom"/>
|
||||
</menu>
|
11
DoNExt/app/src/main/res/menu/menu_today.xml
Normal file
11
DoNExt/app/src/main/res/menu/menu_today.xml
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<menu xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto">
|
||||
<item
|
||||
android:id="@+id/action_changeLayout"
|
||||
android:orderInCategory="20"
|
||||
android:title="@string/action_changeLayout"
|
||||
android:onClick="changeLayout"
|
||||
android:icon="@drawable/ic_view_list_white_24dp"
|
||||
app:showAsAction="always" />
|
||||
</menu>
|
@@ -6,6 +6,6 @@
|
||||
</string-array>
|
||||
<string-array name="settings_today_actions">
|
||||
<item>Terminer</item>
|
||||
<item>Supprimer</item>
|
||||
<item>Réinitialiser</item>
|
||||
</string-array>
|
||||
</resources>
|
@@ -23,7 +23,7 @@
|
||||
<string name="new_task_priority_low">Basse</string>
|
||||
<string name="new_task_priority_normal">Normale</string>
|
||||
<string name="new_task_save">Enregistrer</string>
|
||||
<string name="settings_category_tasklists">Liste de tâche</string>
|
||||
<string name="settings_category_tasklists">Listes de tâche</string>
|
||||
<string name="settings_category_tasks">Tâches</string>
|
||||
<string name="settings_confirm_delete">Confirmation de suppression</string>
|
||||
<string name="settings_confirm_donext">Confirmation sur suivant</string>
|
||||
@@ -59,9 +59,9 @@
|
||||
<string name="task_total">%1$d tâche%2$s</string>
|
||||
<string name="task_total_cycles">%1$d cycle%2$s</string>
|
||||
<string name="title_activity_task_list">TaskListActivity</string>
|
||||
<string name="settings_today_title">Liste Aujourd\'hui</string>
|
||||
<string name="settings_today_enable">Activer la liste Aujourd\'hui?</string>
|
||||
<string name="settings_today_desc">La liste Aujourd\'hui est une liste spéciale, dans laquelle les tâches n\'existent que pour la journée en cours. Chaque jour, cette liste est réinitialisée.</string>
|
||||
<string name="settings_today_title">Vue Aujourd\'hui</string>
|
||||
<string name="settings_today_enable">Activer la vue Aujourd\'hui?</string>
|
||||
<string name="settings_today_desc">La vue Aujourd\'hui est une façon particulière d\'organiser vos tâches. Choisissez quelles tâches vous voulez faire dans la journée et elles apparaîtront dans cette vue. À la fin de la journée, cette vue est réinitialisée.</string>
|
||||
<string name="task_list_today">Aujourd\'hui</string>
|
||||
<string name="task_list_today_list_error">Le nom \"Aujourd\'hui\" est réservé. Vous pouvez activer la liste Aujourd\'hui dans les paramètres.</string>
|
||||
<string name="settings_today_action_title">Action à entreprendre à la fin de la journée:</string>
|
||||
@@ -70,6 +70,6 @@
|
||||
<string name="action_todayList">Vue Aujourd\'hui</string>
|
||||
<string name="title_activity_today">Aujourd\'hui</string>
|
||||
<string name="new_task_today">Ajouter la tâche à la vue Aujourd\'hui?</string>
|
||||
<string name="today_search_hint">Rechercher...</string>
|
||||
<string name="today_search_hint">Rechercher…</string>
|
||||
<string name="action_today_select">Choisissez des tâches</string>
|
||||
</resources>
|
@@ -19,7 +19,7 @@
|
||||
</string-array>
|
||||
<string-array name="settings_today_actions">
|
||||
<item>Done</item>
|
||||
<item>Delete</item>
|
||||
<item>Reset</item>
|
||||
</string-array>
|
||||
<string-array name="settings_today_action_values" translatable="false">
|
||||
<item>1</item>
|
||||
|
@@ -75,9 +75,9 @@
|
||||
<string name="settings_confirm_markdone">Confirm on done?</string>
|
||||
<string name="settings_confirm_delete">Confirm on delete?</string>
|
||||
<string name="settings_task_layout">Task layout</string>
|
||||
<string name="settings_today_title">Today list</string>
|
||||
<string name="settings_today_enable">Enable Today list?</string>
|
||||
<string name="settings_today_desc">The Today list is a special kind of list, in which tasks only exist for the current day. Each day, the list is reset.</string>
|
||||
<string name="settings_today_title">Today view</string>
|
||||
<string name="settings_today_enable">Enable Today view?</string>
|
||||
<string name="settings_today_desc">The Today view is a special way of showing your tasks. Select which tasks you want to do during the day and they will show up in this view. At the end of the day, the view is reset.</string>
|
||||
<string name="settings_today_action_title">Action at the end of the day</string>
|
||||
<string name="settings_max_lists_label">Maximum number of lists</string>
|
||||
|
||||
@@ -85,13 +85,11 @@
|
||||
<string name="about_version_donext">DoNext version %s</string>
|
||||
<string name="about_version_android">Android version %d</string>
|
||||
<string name="about_link" translatable="false">https://github.com/wismna</string>
|
||||
<string name="action_todayList">Today View</string>
|
||||
<string name="title_activity_today">Today</string>
|
||||
<string name="new_task_today">Add task to Today View?</string>
|
||||
<string name="title_activity_main2">Main2Activity</string>
|
||||
|
||||
<!-- TODO: Remove or change this placeholder text -->
|
||||
<string name="hello_blank_fragment">Hello blank fragment</string>
|
||||
<string name="today_search_hint">Search...</string>
|
||||
<!-- Strings related to Today -->
|
||||
<string name="title_activity_today">Today</string>
|
||||
<string name="action_todayList">Today View</string>
|
||||
<string name="new_task_today">Add task to Today View?</string>
|
||||
<string name="today_search_hint">Search…</string>
|
||||
<string name="action_today_select">Select tasks</string>
|
||||
</resources>
|
||||
|
@@ -27,30 +27,20 @@
|
||||
android:key="pref_conf_tasklist_del"
|
||||
android:title="@string/settings_confirm_delete"
|
||||
android:defaultValue="true" />
|
||||
<ListPreference
|
||||
android:key="pref_conf_max_lists"
|
||||
android:title="@string/settings_max_lists_label"
|
||||
android:dialogTitle="@string/settings_max_lists_label"
|
||||
android:entries="@array/settings_max_lists_number"
|
||||
android:entryValues="@array/settings_max_lists_number"
|
||||
android:summary="%s"
|
||||
android:defaultValue="5" />
|
||||
<PreferenceScreen
|
||||
android:title="@string/settings_today_title">
|
||||
<PreferenceCategory
|
||||
android:title="@string/settings_today_title" />
|
||||
<SwitchPreference
|
||||
android:key="pref_conf_today_enable"
|
||||
android:title="@string/settings_today_enable"
|
||||
android:summary="@string/settings_today_desc"/>
|
||||
<ListPreference
|
||||
android:key="pref_conf_today_action"
|
||||
android:title="@string/settings_today_action_title"
|
||||
android:dialogTitle="@string/settings_today_title"
|
||||
android:entries="@array/settings_today_actions"
|
||||
android:entryValues="@array/settings_today_action_values"
|
||||
android:summary="%s"
|
||||
android:defaultValue="2" />
|
||||
</PreferenceScreen>
|
||||
<ListPreference
|
||||
android:key="pref_conf_max_lists"
|
||||
android:title="@string/settings_max_lists_label"
|
||||
android:dialogTitle="@string/settings_max_lists_label"
|
||||
android:entries="@array/settings_max_lists_number"
|
||||
android:entryValues="@array/settings_max_lists_number"
|
||||
android:summary="%s"
|
||||
android:defaultValue="5" />
|
||||
</PreferenceCategory>
|
||||
<PreferenceCategory
|
||||
android:title="@string/settings_today_title">
|
||||
<SwitchPreference
|
||||
android:key="pref_conf_today_enable"
|
||||
android:title="@string/settings_today_enable"
|
||||
android:summary="@string/settings_today_desc"/>
|
||||
</PreferenceCategory>
|
||||
</PreferenceScreen>
|
Reference in New Issue
Block a user