]> Pileus Git - lackey/blobdiff - src/screen.c
Make month view interactive
[lackey] / src / screen.c
index f9bfd4f01a1ab48917fde756c442b55cf9e0b566..feb23c6c7bd213dbc2429942ca2aa158545e4ace 100644 (file)
@@ -1,3 +1,20 @@
+/*
+ * Copyright (C) 2012 Andy Spencer <andy753421@gmail.com>
+ * 
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ * 
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
 #include <string.h>
 #include <ncurses.h>
 #include "main.h"
@@ -16,16 +33,16 @@ typedef struct {
 
 /* Data */
 view_t views[] = {
-       { "Day",      day_init,      day_draw,      day_run,      {KEY_F(1), '1', 'd',    } },
-       { "Week",     week_init,     week_draw,     week_run,     {KEY_F(2), '2', 'w',    } },
-       { "Month",    month_init,    month_draw,    month_run,    {KEY_F(3), '3', 'm',    } },
-       { "Year",     year_init,     year_draw,     year_run,     {KEY_F(4), '4', 'y',    } },
-       { "|",        NULL,          NULL,          NULL,         {                       } },
-       { "Todo",     todo_init,     todo_draw,     todo_run,     {KEY_F(5), '5', 't',    } },
-       { "Notes",    notes_init,    notes_draw,    notes_run,    {KEY_F(6), '6', 'n',    } },
-       { "|",        NULL,          NULL,          NULL,         {                       } },
-       { "Settings", settings_init, settings_draw, settings_run, {KEY_F(7), '7', 's',    } },
-       { "Help",     help_init,     help_draw,     help_run,     {KEY_F(8), '8', 'h', '?'} },
+       { "Day",      day_init,      day_draw,      day_run,      {KEY_F(1), '1',    } },
+       { "Week",     week_init,     week_draw,     week_run,     {KEY_F(2), '2',    } },
+       { "Month",    month_init,    month_draw,    month_run,    {KEY_F(3), '3',    } },
+       { "Year",     year_init,     year_draw,     year_run,     {KEY_F(4), '4',    } },
+       { "|",        NULL,          NULL,          NULL,         {                  } },
+       { "Todo",     todo_init,     todo_draw,     todo_run,     {KEY_F(5), '5',    } },
+       { "Notes",    notes_init,    notes_draw,    notes_run,    {KEY_F(6), '6',    } },
+       { "|",        NULL,          NULL,          NULL,         {                  } },
+       { "Settings", settings_init, settings_draw, settings_run, {KEY_F(7), '7',    } },
+       { "Help",     help_init,     help_draw,     help_run,     {KEY_F(8), '8', '?'} },
 };
 
 int active = 0;
@@ -93,7 +110,7 @@ int screen_run(int key, mmask_t btn, int row, int col)
                int start = 1;
                for (int i = 0; i < N_ELEMENTS(views); i++) {
                        int end = start + strlen(views[i].name) - 1;
-                       if (start <= col && col <= end)
+                       if (start <= col && col <= end && views[i].draw)
                                return screen_set(i);
                        start = end + 2;
                }