]> code.citadel.org Git - citadel.git/blobdiff - webcit/preferences.c
Done with doxygenizing
[citadel.git] / webcit / preferences.c
index e832a772c5e4bd0a0bcf3e8c752a6f2061e35306..b76b460a96cf5de4637e720d84a07add41283f50 100644 (file)
@@ -1,16 +1,19 @@
 /*
  * $Id$
- *
- * Manage user preferences with a little help from the Citadel server.
+ */
+/**
+ * \defgroup ManagePrefs Manage user preferences with a little help from the Citadel server.
  *
  */
-
+/*@{*/
 #include "webcit.h"
 #include "webserver.h"
 #include "groupdav.h"
 
 
-
+/**
+ * \brief display preferences dialog
+ */
 void load_preferences(void) {
        char buf[SIZ];
        long msgnum = 0L;
@@ -56,14 +59,14 @@ void load_preferences(void) {
                }
        }
 
-       /* Go back to the room we're supposed to be in */
+       /** Go back to the room we're supposed to be in */
        serv_printf("GOTO %s", WC->wc_roomname);
        serv_getln(buf, sizeof buf);
 }
 
-/*
- * Goto the user's configuration room, creating it if necessary.
- * Returns 0 on success or nonzero upon failure.
+/**
+ * \brief Goto the user's configuration room, creating it if necessary.
+ * \return 0 on success or nonzero upon failure.
  */
 int goto_config_room(void) {
        char buf[SIZ];
@@ -80,7 +83,9 @@ int goto_config_room(void) {
        return(0);
 }
 
-
+/**
+ * \brief save the modifications
+ */
 void save_preferences(void) {
        char buf[SIZ];
        long msgnum = 0L;
@@ -109,11 +114,17 @@ void save_preferences(void) {
                serv_puts("000");
        }
 
-       /* Go back to the room we're supposed to be in */
+       /** Go back to the room we're supposed to be in */
        serv_printf("GOTO %s", WC->wc_roomname);
        serv_getln(buf, sizeof buf);
 }
 
+/**
+ * \brief query the actual setting of key in the citadel database
+ * \param key config key to query
+ * \param value value to the key to get
+ * \param value_len length of the value string
+ */
 void get_preference(char *key, char *value, size_t value_len) {
        int num_prefs;
        int i;
@@ -132,6 +143,12 @@ void get_preference(char *key, char *value, size_t value_len) {
        }
 }
 
+/**
+ * \brief Write a key into the citadel settings database
+ * \param key key whichs value is to be modified
+ * \param value value to set
+ * \param save_to_server really write it????
+ */
 void set_preference(char *key, char *value, int save_to_server) {
        int num_prefs;
        int i;
@@ -168,18 +185,20 @@ void set_preference(char *key, char *value, int save_to_server) {
 
 
 
-/* 
- * display form for changing your preferences and settings
+/** 
+ * \brief display form for changing your preferences and settings
  */
 void display_preferences(void)
 {
        output_headers(1, 1, 2, 0, 0, 0);
        char ebuf[300];
        char buf[256];
+       char calhourformat[16];
+       int i;
 
        wprintf("<div id=\"banner\">\n");
        wprintf("<TABLE WIDTH=100%% BORDER=0 BGCOLOR=\"#444455\"><TR><TD>");
-       wprintf("<IMG SRC=\"/static/advanpage2_48x.gif\" ALT=\" \" ALIGN=MIDDLE>");
+       wprintf("<img src=\"static/advanpage2_48x.gif\" ALT=\" \" ALIGN=MIDDLE>");
        wprintf("<SPAN CLASS=\"titlebar\">&nbsp;");
        wprintf(_("Preferences and settings"));
        wprintf("</SPAN></TD><TD ALIGN=RIGHT>");
@@ -188,16 +207,16 @@ void display_preferences(void)
        wprintf("</div>\n"
                "<div id=\"content\">\n");
 
-       wprintf("<div id=\"fix_scrollbar_bug\">"
+       wprintf("<div class=\"fix_scrollbar_bug\">"
                "<table border=0 width=100%% bgcolor=\"#ffffff\"><tr><td>\n");
 
-       /* begin form */
+       /** begin form */
        wprintf("<center>\n"
                "<form name=\"prefform\" action=\"set_preferences\" "
                "method=\"post\">\n"
                "<table border=0 cellspacing=5 cellpadding=5>\n");
 
-       /*
+       /**
         * Room list view
         */
        get_preference("roomlistview", buf, sizeof buf);
@@ -219,30 +238,88 @@ void display_preferences(void)
 
        wprintf("</td></tr>\n");
 
-       /*
+       /**
         * Calendar hour format
         */
-       get_preference("calhourformat", buf, sizeof buf);
-       if (buf[0] == 0) strcpy(buf, "12");
+       get_preference("calhourformat", calhourformat, sizeof calhourformat);
+       if (calhourformat[0] == 0) strcpy(calhourformat, "12");
        wprintf("<tr><td>");
        wprintf(_("Calendar hour format"));
        wprintf("</td><td>");
 
        wprintf("<input type=\"radio\" name=\"calhourformat\" VALUE=\"12\"");
-       if (!strcasecmp(buf, "12")) wprintf(" checked");
+       if (!strcasecmp(calhourformat, "12")) wprintf(" checked");
        wprintf(">");
        wprintf(_("12 hour (am/pm)"));
        wprintf("<br></input>\n");
 
        wprintf("<input type=\"radio\" name=\"calhourformat\" VALUE=\"24\"");
-       if (!strcasecmp(buf, "24")) wprintf(" checked");
+       if (!strcasecmp(calhourformat, "24")) wprintf(" checked");
        wprintf(">");
        wprintf(_("24 hour"));
        wprintf("<br></input>\n");
 
        wprintf("</td></tr>\n");
 
-       /*
+       /**
+        * Calendar day view -- day start time
+        */
+       get_preference("daystart", buf, sizeof buf);
+       if (buf[0] == 0) strcpy(buf, "8");
+       wprintf("<tr><td>");
+       wprintf(_("Calendar day view begins at:"));
+       wprintf("</td><td>");
+
+       wprintf("<SELECT NAME=\"daystart\" SIZE=\"1\">\n");
+       for (i=0; i<=23; ++i) {
+
+               if (!strcasecmp(calhourformat, "24")) {
+                       wprintf("<OPTION %s VALUE=\"%d\">%d:00</OPTION>\n",
+                               ((atoi(buf) == i) ? "SELECTED" : ""),
+                               i, i
+                       );
+               }
+               else {
+                       wprintf("<OPTION %s VALUE=\"%d\">%s</OPTION>\n",
+                               ((atoi(buf) == i) ? "SELECTED" : ""),
+                               i, hourname[i]
+                       );
+               }
+
+       }
+       wprintf("</SELECT>\n");
+       wprintf("</td></tr>\n");
+
+       /**
+        * Calendar day view -- day end time
+        */
+       get_preference("dayend", buf, sizeof buf);
+       if (buf[0] == 0) strcpy(buf, "17");
+       wprintf("<tr><td>");
+       wprintf(_("Calendar day view ends at:"));
+       wprintf("</td><td>");
+
+       wprintf("<SELECT NAME=\"dayend\" SIZE=\"1\">\n");
+       for (i=0; i<=23; ++i) {
+
+               if (!strcasecmp(calhourformat, "24")) {
+                       wprintf("<OPTION %s VALUE=\"%d\">%d:00</OPTION>\n",
+                               ((atoi(buf) == i) ? "SELECTED" : ""),
+                               i, i
+                       );
+               }
+               else {
+                       wprintf("<OPTION %s VALUE=\"%d\">%s</OPTION>\n",
+                               ((atoi(buf) == i) ? "SELECTED" : ""),
+                               i, hourname[i]
+                       );
+               }
+
+       }
+       wprintf("</SELECT>\n");
+       wprintf("</td></tr>\n");
+
+       /**
         * Signature
         */
        get_preference("use_sig", buf, sizeof buf);
@@ -303,15 +380,15 @@ void display_preferences(void)
 
        wprintf("</form></center>\n");
 
-       /* end form */
+       /** end form */
 
 
        wprintf("</td></tr></table></div>\n");
        wDumpContent(1);
 }
 
-/*
- * Commit new preferences and settings
+/**
+ * \brief Commit new preferences and settings
  */
 void set_preferences(void)
 {
@@ -325,15 +402,21 @@ void set_preferences(void)
                return;
        }
 
-       /* Set the last argument to 1 only for the final setting, so
+       /**
+        * Set the last argument to 1 only for the final setting, so
         * we don't send the prefs file to the server repeatedly
         */
        set_preference("roomlistview", bstr("roomlistview"), 0);
        set_preference("calhourformat", bstr("calhourformat"), 0);
        set_preference("use_sig", bstr("use_sig"), 0);
+       set_preference("daystart", bstr("daystart"), 0);
+       set_preference("dayend", bstr("dayend"), 0);
 
        euid_escapize(ebuf, bstr("signature"));
        set_preference("signature", ebuf, 1);
 
        display_main_menu();
 }
+
+
+/*@}*/