lynx-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

lynx-dev multibookmarks & form options (patch)


From: Leonid Pauzner
Subject: lynx-dev multibookmarks & form options (patch)
Date: Sat, 15 Aug 1998 18:59:57 +0400 (MSD)

Hi, I made a kluge to include MBM support from form-based options:
I just made a link  href="LYNXOPTIONS://MBM_MENU" like it was in LYPrint.c
and call edit_bookmarks() from postoptions().

One note: MBM changes (seems) became active just when exit menu,
while the OFF/STANDARD/ADVANCED switch became active
like the other options when you "assept changes" with a button.

So the patch against plain dev20
(it does NOT include my other changes, Tom).

Leonid.



diff -u old/lymainlo.c ./lymainlo.c
--- old/lymainlo.c      Fri Aug  7 15:48:08 1998
+++ ./lymainlo.c        Sat Aug 15 18:18:30 1998
@@ -383,6 +383,9 @@
 #ifndef EXP_FORMS_OPTIONS
                    if (strncmp(newdoc.address, "LYNXDOWNLOAD:", 13))
 #else /* EXP_FORMS_OPTIONS */
+                   if (!strncmp(newdoc.address, "LYNXOPTIONS://MBM_MENU", 22))
+                       LYpush(&curdoc, ForcePush);
+
                    if (strncmp(newdoc.address, "LYNXDOWNLOAD:", 13) &&
                        strncmp(newdoc.address, "LYNXOPTIONS:", 12))
 #endif /* EXP_FORMS_OPTIONS */
diff -u old/lyoption.c ./lyoption.c
--- old/lyoption.c      Fri Aug  7 15:48:12 1998
+++ ./lyoption.c        Sat Aug 15 18:41:58 1998
@@ -3133,6 +3133,12 @@

 static char * display_string = "display";

+static char * mbm_string = "multi_bookmarks_mode";
+static char * mbm_off_string = "OFF";
+static char * mbm_standard_string = "STANDARD";
+static char * mbm_advanced_string = "ADVANCED";
+static char * single_bookmark_string = "single_bookmark_name";
+
 static char * ftp_sort_string = "ftp_sort";
 static char * ftp_by_name_string = "ftp_by_name";
 static char * ftp_by_type_string = "ftp_by_type";
@@ -3262,6 +3268,23 @@
     int i;
     BOOLEAN save_all = FALSE;
     BOOLEAN need_reload = FALSE;
+    char *link_info = NULL;
+
+
+       /*-------------------------------------------------
+        kluge a link from mbm_menu, the URL was:
+        fprintf(fp0,"<a href=\"LYNXOPTIONS://MBM_MENU\">go mbm menu</a>\n");
+        --------------------------------------------------*/
+
+       StrAllocCopy(link_info, newdoc->address);
+       if (strstr(link_info, "LYNXOPTIONS://MBM_MENU"))
+       {
+               edit_bookmarks();
+               FREE(newdoc->post_data);
+               FREE(data);
+               return(NULLFILE);
+       }
+

     data = break_data(newdoc->post_data);

@@ -3301,6 +3324,31 @@
        }

        /*
+        * multi-bookmarks mode
+        */
+       if (!strcmp(data[i].tag, mbm_string)) {
+           if (!strcmp(data[i].value, mbm_off_string)) {
+               LYMultiBookmarks = FALSE;
+           } else if (!strcmp(data[i].value, mbm_standard_string)) {
+               LYMultiBookmarks = TRUE;
+               LYMBMAdvanced = FALSE;
+           } else if (!strcmp(data[i].value, mbm_advanced_string)) {
+               LYMultiBookmarks = TRUE;
+               LYMBMAdvanced = TRUE;
+           }
+       }
+
+       /*
+        * single bookmarks file name
+        */
+       if (!strcmp(data[i].tag, single_bookmark_string)) {
+           if (strcmp(data[i].value, ""))      {
+               FREE(bookmark_page);
+           StrAllocCopy(bookmark_page, data[i].value);
+               }
+       }
+
+       /*
         * ftp sort
         */
        if (!strcmp(data[i].tag, ftp_sort_string)) {
@@ -3634,6 +3682,39 @@
     fprintf(fp0,"<input type=\"text\" name=\"%s\" value=\"%s\">\n",
            display_string, (display && display[0])?display:empty_string);

+    /*
+     * multi-bookmarks mode
+     */
+    if (!LYMBMBlocked)
+       {
+       fprintf(fp0,"<%s>Multi-bookmarks:</%s> ", label_string, label_string);
+       fprintf(fp0,"<select name=\"%s\">\n", mbm_string);
+       fprintf(fp0,"<option %s value=\"%s\">OFF</option>\n",
+           (!LYMultiBookmarks)?selected_string:empty_string,
+           mbm_off_string);
+       fprintf(fp0,"<option %s value=\"%s\">STANDARD</option>\n",
+           (LYMultiBookmarks && (!LYMBMAdvanced))?selected_string:empty_string,
+           mbm_standard_string);
+       fprintf(fp0,"<option %s value=\"%s\">ADVANCED</option>\n",
+           (LYMultiBookmarks && LYMBMAdvanced)?selected_string:empty_string,
+           mbm_advanced_string);
+       fprintf(fp0,"</select>\n");
+    }
+
+    /*
+     * bookmarks files menu
+     */
+    if (LYMultiBookmarks) {
+
+       fprintf(fp0,"<%s>Review/edit Bookmarks files:</%s> ", label_string, 
label_string);
+       fprintf(fp0,"<a href=\"LYNXOPTIONS://MBM_MENU\">go mbm menu</a>\n");
+
+    } else {
+       fprintf(fp0,"<%s>Bookmarks file:</%s> ", label_string, label_string);
+           fprintf(fp0,"<input type=\"text\" name=\"%s\" value=\"%s\">\n",
+           single_bookmark_string, (bookmark_page && 
bookmark_page[0])?bookmark_page:empty_string);
+    }
+
     /*
      * ftp sort
      */



reply via email to

[Prev in Thread] Current Thread [Next in Thread]