From 1feb6818a7f1428f16f782dc9a74409d74c018ef Mon Sep 17 00:00:00 2001 From: Mark Watkins <jedimark@users.sourceforge.net> Date: Sun, 30 Oct 2011 14:51:57 +1000 Subject: [PATCH] Preferenalize that skip feature --- daily.cpp | 40 +++++++++++++++++++++------------------- preferencesdialog.cpp | 4 ++++ preferencesdialog.ui | 12 +++++++++++- 3 files changed, 36 insertions(+), 20 deletions(-) diff --git a/daily.cpp b/daily.cpp index 66c09fb3..a04cafff 100644 --- a/daily.cpp +++ b/daily.cpp @@ -856,33 +856,35 @@ void Daily::on_JournalNotesUnderline_clicked() void Daily::on_prevDayButton_clicked() { - QDate d=previous_date; - bool found=false; - for (int i=0;i<90;i++) { - d=d.addDays(-1); - if (PROFILE.GetDay(d)) { - LoadDate(d); - found=true; - break; + if (!PREF.ExistsAndTrue("SkipEmptyDays")) { + LoadDate(previous_date.addDays(-1)); + } else { + QDate d=previous_date; + bool found=false; + for (int i=0;i<90;i++) { + d=d.addDays(-1); + if (PROFILE.GetDay(d)) { + LoadDate(d); + break; + } } } - if (!found) LoadDate(previous_date.addDays(-1)); } void Daily::on_nextDayButton_clicked() { - QDate d=previous_date; - bool found=false; - for (int i=0;i<90;i++) { - d=d.addDays(1); - if (PROFILE.GetDay(d)) { - LoadDate(d); - found=true; - break; + if (!PREF.ExistsAndTrue("SkipEmptyDays")) { + LoadDate(previous_date.addDays(1)); + } else { + QDate d=previous_date; + for (int i=0;i<90;i++) { + d=d.addDays(1); + if (PROFILE.GetDay(d)) { + LoadDate(d); + break; + } } } - if (!found) LoadDate(previous_date.addDays(1)); - //LoadDate(previous_date.addDays(1)); } void Daily::on_calButton_toggled(bool checked) diff --git a/preferencesdialog.cpp b/preferencesdialog.cpp index 64a1dcc7..88a3a8ec 100644 --- a/preferencesdialog.cpp +++ b/preferencesdialog.cpp @@ -66,6 +66,9 @@ PreferencesDialog::PreferencesDialog(QWidget *parent,Profile * _profile) : ui->bigFontBold->setChecked(bigfont->weight()==QFont::Bold); ui->bigFontItalic->setChecked(bigfont->italic()); + if (!PREF.Exists("SkipEmptyDays")) PREF["SkipEmptyDays"]=true; + ui->skipEmptyDays->setChecked(PREF["SkipEmptyDays"].toBool()); + if (!PREF.Exists("Updates_AutoCheck")) PREF["Updates_AutoCheck"]=true; ui->automaticallyCheckUpdates->setChecked(PREF["Updates_AutoCheck"].toBool()); @@ -193,6 +196,7 @@ void PreferencesDialog::Save() (*profile)["SyncOximetry"]=ui->oximetrySync->isChecked(); (*profile)["OximeterType"]=ui->oximetryType->currentText(); + PREF["SkipEmptyDays"]=ui->skipEmptyDays->isChecked(); PREF["Updates_AutoCheck"]=ui->automaticallyCheckUpdates->isChecked(); PREF["Updates_CheckFrequency"]=ui->updateCheckEvery->value(); diff --git a/preferencesdialog.ui b/preferencesdialog.ui index a904b302..44337d7f 100644 --- a/preferencesdialog.ui +++ b/preferencesdialog.ui @@ -38,7 +38,7 @@ <item> <widget class="QTabWidget" name="tabWidget"> <property name="currentIndex"> - <number>6</number> + <number>0</number> </property> <widget class="QWidget" name="visualTab"> <attribute name="title"> @@ -209,6 +209,16 @@ It has no effect on single cpu machines.</string> </property> </spacer> </item> + <item row="7" column="2"> + <widget class="QCheckBox" name="skipEmptyDays"> + <property name="toolTip"> + <string>Skip empty days with Prev & Next buttons above daily view calendar</string> + </property> + <property name="text"> + <string>Skip Empty Days</string> + </property> + </widget> + </item> </layout> </widget> <widget class="QWidget" name="sessionTab">