Kalender: doppel Klick zum vor und zurück blättern der Wochen eingefügt
Deutsche übersetzung erweitert
This commit is contained in:
@@ -34,11 +34,12 @@ import de.sebse.fuplanner.tools.ui.weekview.WeekViewEvent;
|
||||
* create an instance of this fragment.
|
||||
*
|
||||
*/
|
||||
public class ScheduleFragment extends Fragment implements MonthLoader.MonthChangeListener, WeekView.ScrollListener {
|
||||
public class ScheduleFragment extends Fragment implements MonthLoader.MonthChangeListener, WeekView.ScrollListener, WeekView.DoubleTapListener {
|
||||
private MainAcitivityListener mListener;
|
||||
private WeekView mWeekView;
|
||||
private Logger log = new Logger(this);
|
||||
private Modules mModules = null;
|
||||
private Calendar firstVisibleDay;
|
||||
|
||||
public ScheduleFragment() {
|
||||
// Required empty public constructor
|
||||
@@ -91,10 +92,14 @@ public class ScheduleFragment extends Fragment implements MonthLoader.MonthChang
|
||||
mWeekView = v.findViewById(R.id.weekView);
|
||||
mWeekView.setMonthChangeListener(this);
|
||||
mWeekView.setScrollListener(this);
|
||||
|
||||
mWeekView.setEventDoubleTapListener(this);
|
||||
return v;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
public void onAttach(Context context) {
|
||||
super.onAttach(context);
|
||||
@@ -142,13 +147,37 @@ public class ScheduleFragment extends Fragment implements MonthLoader.MonthChang
|
||||
|
||||
@Override
|
||||
public void onFirstVisibleDayChanged(Calendar newFirstVisibleDay, Calendar oldFirstVisibleDay) {
|
||||
firstVisibleDay = newFirstVisibleDay;
|
||||
Calendar newLastVisibleDay = (Calendar) newFirstVisibleDay.clone();
|
||||
newLastVisibleDay.add(Calendar.HOUR, 24*mWeekView.getNumberOfVisibleDays());
|
||||
//mListener.onScheduleFragmentInteraction(newFirstVisibleDay, newLastVisibleDay);
|
||||
mListener.onTitleTextChange(getResources().getString(R.string.date_scale, DateUtils.getModifiedDate(newFirstVisibleDay.getTimeInMillis()), DateUtils.getModifiedDate(newLastVisibleDay.getTimeInMillis())));
|
||||
}
|
||||
|
||||
|
||||
public void goToToday() {
|
||||
mWeekView.goToToday();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void mOnDoubleTapListener(Calendar time) {
|
||||
Calendar c = Calendar.getInstance();
|
||||
c.set(firstVisibleDay.get(Calendar.YEAR), firstVisibleDay.get(Calendar.MONTH), firstVisibleDay.get(Calendar.DAY_OF_MONTH), 0,0 );
|
||||
c.add(Calendar.DATE, 2); // die Grenze beim tippen, wann ver nach vorne und wann nach hinten springt
|
||||
|
||||
if (c.getTimeInMillis() > time.getTimeInMillis()){//nach links blättern
|
||||
firstVisibleDay.add(Calendar.DATE, -1);
|
||||
while (firstVisibleDay.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
|
||||
firstVisibleDay.add(Calendar.DATE, -1);
|
||||
}
|
||||
}
|
||||
else{
|
||||
firstVisibleDay.add(Calendar.DATE, 1);
|
||||
while (firstVisibleDay.get(Calendar.DAY_OF_WEEK) != Calendar.MONDAY) {
|
||||
firstVisibleDay.add(Calendar.DATE, 1);
|
||||
}
|
||||
}
|
||||
mWeekView.goToDate(firstVisibleDay);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,6 +47,7 @@ import java.util.Locale;
|
||||
|
||||
import de.sebse.fuplanner.R;
|
||||
import de.sebse.fuplanner.tools.DateUtils;
|
||||
import de.sebse.fuplanner.tools.logging.Logger;
|
||||
|
||||
import static de.sebse.fuplanner.tools.ui.weekview.WeekViewUtil.daysBetween;
|
||||
import static de.sebse.fuplanner.tools.ui.weekview.WeekViewUtil.getPassedMinutesInDay;
|
||||
@@ -180,14 +181,18 @@ public class WeekView extends View {
|
||||
// Listeners.
|
||||
private EventClickListener mEventClickListener;
|
||||
private EventLongPressListener mEventLongPressListener;
|
||||
private GestureDetector.OnDoubleTapListener mOnDoubleTapListener;//////////////////////////////////////////////////////
|
||||
private WeekViewLoader mWeekViewLoader;
|
||||
private EmptyViewClickListener mEmptyViewClickListener;
|
||||
private EmptyViewLongPressListener mEmptyViewLongPressListener;
|
||||
private DoubleTapListener mDoubleTapListener; //////////////////////////////
|
||||
private DateTimeInterpreter mDateTimeInterpreter;
|
||||
private ScrollListener mScrollListener;
|
||||
private AddEventClickListener mAddEventClickListener;
|
||||
private DropListener mDropListener;
|
||||
|
||||
private Logger log = new Logger(this);
|
||||
|
||||
private final GestureDetector.SimpleOnGestureListener mGestureListener = new GestureDetector.SimpleOnGestureListener() {
|
||||
|
||||
@Override
|
||||
@@ -297,10 +302,19 @@ public class WeekView extends View {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onDoubleTap(MotionEvent e){
|
||||
log.d("onDoubleTapEvent");
|
||||
Calendar selectedTime = getTimeFromPoint(e.getX(), e.getY());
|
||||
if (selectedTime != null && mDoubleTapListener != null) {
|
||||
mDoubleTapListener.mOnDoubleTapListener((Calendar) selectedTime.clone());
|
||||
}
|
||||
return super.onDoubleTap(e);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean onSingleTapConfirmed(MotionEvent e) {
|
||||
|
||||
log.d("onSingleTapConfirmed");
|
||||
// If the tap was on an event then trigger the callback.
|
||||
if (mEventRects != null && mEventClickListener != null) {
|
||||
List<EventRect> reversedEventRects = mEventRects;
|
||||
@@ -1563,10 +1577,21 @@ public class WeekView extends View {
|
||||
return mEventLongPressListener;
|
||||
}
|
||||
|
||||
//Event für Doppelkick/////////////////////// wird offenbar nicht gebraucht
|
||||
/*public GestureDetector.OnDoubleTapListener getEventDoubleTapListener() {
|
||||
return mOnDoubleTapListener; // oder der mDoubleTapListener ????
|
||||
}*/
|
||||
|
||||
|
||||
public void setEventLongPressListener(EventLongPressListener eventLongPressListener) {
|
||||
this.mEventLongPressListener = eventLongPressListener;
|
||||
}
|
||||
|
||||
//Event für Doppelkick
|
||||
public void setEventDoubleTapListener(DoubleTapListener eventDoubleTapListener) {
|
||||
this.mDoubleTapListener = eventDoubleTapListener;
|
||||
}
|
||||
|
||||
public void setEmptyViewClickListener(EmptyViewClickListener emptyViewClickListener) {
|
||||
this.mEmptyViewClickListener = emptyViewClickListener;
|
||||
}
|
||||
@@ -2714,6 +2739,14 @@ public class WeekView extends View {
|
||||
void onEmptyViewLongPress(Calendar time);
|
||||
}
|
||||
|
||||
public interface DoubleTapListener {
|
||||
/**
|
||||
*
|
||||
* @param time: {@link Calendar} object set with the date and time of the long pressed position on the view.
|
||||
*/
|
||||
void mOnDoubleTapListener(Calendar time);
|
||||
}
|
||||
|
||||
public interface ScrollListener {
|
||||
/**
|
||||
* Called when the first visible day has changed.
|
||||
|
||||
@@ -34,5 +34,8 @@
|
||||
<string name="Current_percentage">Aktuelle Prozentzahl</string>
|
||||
<string name="offline_mode">Offline-Modus</string>
|
||||
<string name="refresh_failed">Aktualisieren fehlgeschlagen...</string>
|
||||
<string name="share_intent">Hey, guck\' dir mal die KVV-App an: %1$s</string>
|
||||
<string name="share_intent">Hey, schau dir die neue KVV App an: %s$s</string>
|
||||
<string name="refresh">"Aktualisieren "</string>
|
||||
<string name="go_to_today">Heute</string>
|
||||
<string name="canteens">Kantinen</string>
|
||||
</resources>
|
||||
@@ -45,5 +45,5 @@
|
||||
<string name="refresh">Refresh</string>
|
||||
<string name="go_to_today">Go to today</string>
|
||||
<string name="canteens">Canteens</string>
|
||||
<string name="prices">%1$.2f / %2$.2f / %3$.2f</string>
|
||||
<string name="prices" translatable="false">%1$.2f / %2$.2f / %3$.2f</string>
|
||||
</resources>
|
||||
|
||||
Reference in New Issue
Block a user