]> git.lyx.org Git - lyx.git/blobdiff - src/menus.C
removed a warning from screen and added CFLAGS in lyx.spec.in.
[lyx.git] / src / menus.C
index 29e30dc0e8908a03e8fb80a3dc7e009851378fd1..fa9a78cde90e60a807fae8b2b57af930ebab3a05 100644 (file)
@@ -41,7 +41,7 @@
 #include "minibuffer.h"
 #include "lyxscreen.h"
 #include "intl.h"
-#include "error.h"
+#include "debug.h"
 #include "lyxrc.h"
 #include "lyxtext.h"
 #include "gettext.h"
@@ -64,6 +64,54 @@ extern void ToggleFloat();
 extern void AllFloats(char flag, char figmar);
 extern void LaTeXOptions();
 
+// A bunch of wrappers
+
+extern "C" void C_Menus_ShowFileMenu(FL_OBJECT *ob, long data)
+{
+       Menus::ShowFileMenu(ob, data);
+}
+
+extern "C" void C_Menus_ShowFileMenu2(FL_OBJECT *ob, long data)
+{
+       Menus::ShowFileMenu2(ob, data);
+}
+
+extern "C" void C_Menus_ShowEditMenu(FL_OBJECT *ob, long data)
+{
+       Menus::ShowEditMenu(ob, data);
+}
+
+extern "C" void C_Menus_ShowLayoutMenu(FL_OBJECT *ob, long data)
+{
+       Menus::ShowLayoutMenu(ob, data);
+}
+
+extern "C" void C_Menus_ShowInsertMenu(FL_OBJECT *ob, long data)
+{
+       Menus::ShowInsertMenu(ob, data);
+}
+
+extern "C" void C_Menus_ShowMathMenu(FL_OBJECT *ob, long data)
+{
+       Menus::ShowMathMenu(ob, data);
+}
+
+extern "C" void C_Menus_ShowOptionsMenu(FL_OBJECT *ob, long data)
+{
+       Menus::ShowOptionsMenu(ob, data);
+}
+
+extern "C" void C_Menus_ShowBufferMenu(FL_OBJECT *ob, long data)
+{
+       Menus::ShowBufferMenu(ob, data);
+}
+
+extern "C" void C_Menus_ShowHelpMenu(FL_OBJECT *ob, long data)
+{
+       Menus::ShowHelpMenu(ob, data);
+}
+
+
 Menus::Menus(LyXView *view,int air)
        : _view(view)
 {      
@@ -121,12 +169,14 @@ void Menus::openByName(string const &menuName)
                else if (menuName == _("Options"))   ShowOptionsMenu(menu_options, 0);
                else if (menuName == _("Documents")) ShowBufferMenu(menu_buffer, 0);
                else if (menuName == _("Help"))      ShowHelpMenu(menu_help, 0);
-               else lyxerr.print("The menu '" + menuName + "' is not available.");
+               else lyxerr << "The menu '" << menuName
+                           << "' is not available." << endl;
        } else {
                if (menuName == _("File"))           ShowFileMenu2(menu_file2, 0);
                else if (menuName == _("Options"))   ShowOptionsMenu(menu_options2, 0);
                else if (menuName == _("Help"))      ShowHelpMenu(menu_help2, 0);
-               else lyxerr.print("The menu '" + menuName + "' is not available.");
+               else lyxerr << "The menu '" << menuName
+                           << "' is not available." << endl;
        }
 }
 
@@ -165,7 +215,7 @@ void Menus::create_menus(int air)
                              mbheight,_("File"));
        moffset += obj->w + air;
        fl_set_object_shortcut(obj, scex(_("MB|#F")), 1);
-       fl_set_object_callback(obj,ShowFileMenu, 0);
+       fl_set_object_callback(obj,C_Menus_ShowFileMenu, 0);
        obj->u_ldata = (long)this;
        
        // Edit menu button
@@ -179,7 +229,7 @@ void Menus::create_menus(int air)
                              mbheight,_("Edit"));
        moffset += obj->w + air;
        fl_set_object_shortcut(obj, scex(_("MB|#E")),1);
-       fl_set_object_callback(obj,ShowEditMenu,0);
+       fl_set_object_callback(obj,C_Menus_ShowEditMenu,0);
        obj->u_ldata = (long) this;
        
        // Layout menu button
@@ -193,7 +243,7 @@ void Menus::create_menus(int air)
                                          mbheight,_("Layout"));
        moffset += obj->w + air;
        fl_set_object_shortcut(obj, scex(_("MB|#L")), 1);
-       fl_set_object_callback(obj,ShowLayoutMenu,0);
+       fl_set_object_callback(obj,C_Menus_ShowLayoutMenu,0);
        obj->u_ldata = (long) this;
        
        // Insert menu button button
@@ -207,7 +257,7 @@ void Menus::create_menus(int air)
                              mbheight,_("Insert"));
        moffset += obj->w + air;
        fl_set_object_shortcut(obj, scex(_("MB|#I")), 1);
-       fl_set_object_callback(obj,ShowInsertMenu,0);
+       fl_set_object_callback(obj,C_Menus_ShowInsertMenu,0);
        obj->u_ldata = (long) this;
        
        // Math menu button
@@ -221,7 +271,7 @@ void Menus::create_menus(int air)
                              mbheight,_("Math"));
        moffset += obj->w + air;
        fl_set_object_shortcut(obj, scex(_("MB|#M")), 1);
-       fl_set_object_callback(obj,ShowMathMenu,0);
+       fl_set_object_callback(obj,C_Menus_ShowMathMenu,0);
        obj->u_ldata = (long) this;
        
        // Options menu button
@@ -235,7 +285,7 @@ void Menus::create_menus(int air)
                              mbheight,_("Options"));
        moffset += obj->w + air;
        fl_set_object_shortcut(obj, scex(_("MB|#O")), 1);
-       fl_set_object_callback(obj,ShowOptionsMenu, 0);
+       fl_set_object_callback(obj,C_Menus_ShowOptionsMenu, 0);
        obj->u_ldata = (long) this;
 
        // Documents menu button
@@ -249,7 +299,7 @@ void Menus::create_menus(int air)
                              mbheight,_("Documents"));
        moffset += obj->w + air;
        fl_set_object_shortcut(obj, scex(_("MB|#D")), 1);
-       fl_set_object_callback(obj,ShowBufferMenu,0);
+       fl_set_object_callback(obj,C_Menus_ShowBufferMenu,0);
        obj->u_ldata = (long) this;
        
        // Help menu button
@@ -263,7 +313,7 @@ void Menus::create_menus(int air)
                              mbheight,_("Help"));
        moffset += obj->w + air;
        fl_set_object_shortcut(obj, scex(_("MB|#H")), 1);
-       fl_set_object_callback(obj,ShowHelpMenu,0);
+       fl_set_object_callback(obj,C_Menus_ShowHelpMenu,0);
        obj->u_ldata = (long) this;
        
        fl_end_group();
@@ -296,7 +346,7 @@ void Menus::create_menus(int air)
                              mbheight,_("File"));
        moffset += obj->w + air;
        fl_set_object_shortcut(obj, scex(_("MB|#F")), 1);
-       fl_set_object_callback(obj,ShowFileMenu2, 0);
+       fl_set_object_callback(obj,C_Menus_ShowFileMenu2, 0);
        obj->u_ldata = (long)this;
        
        // Options menu button
@@ -310,7 +360,7 @@ void Menus::create_menus(int air)
                              mbheight,_("Options"));
        moffset += obj->w + air;
        fl_set_object_shortcut(obj, scex(_("MB|#O")), 1);
-       fl_set_object_callback(obj,ShowOptionsMenu, 0);
+       fl_set_object_callback(obj,C_Menus_ShowOptionsMenu, 0);
        obj->u_ldata = (long) this;
 
        // Help menu button
@@ -324,7 +374,7 @@ void Menus::create_menus(int air)
                              mbheight,_("Help"));
        moffset += obj->w + air;
        fl_set_object_shortcut(obj, scex(_("MB|#H")), 1);
-       fl_set_object_callback(obj,ShowHelpMenu,0);
+       fl_set_object_callback(obj,C_Menus_ShowHelpMenu,0);
        obj->u_ldata = (long) this;
        
        fl_end_group();
@@ -346,6 +396,8 @@ void Menus::create_menus(int air)
 
 void Menus::ScreenOptions()
 {
+       static int ow = -1, oh;
+
        // this is not very nice....
        fl_set_input(fd_form_screen->input_roman, 
                     lyxrc->roman_font_name.c_str());
@@ -364,6 +416,11 @@ void Menus::ScreenOptions()
                fl_show_form(fd_form_screen->form_screen,
                             FL_PLACE_MOUSE | FL_FREE_SIZE, FL_FULLBORDER,
                             _("Screen Options"));
+               if (ow < 0) {
+                       ow = fd_form_screen->form_screen->w;
+                       oh = fd_form_screen->form_screen->h;
+               }
+               fl_set_form_minsize(fd_form_screen->form_screen, ow, oh);
        }
 }
 
@@ -421,7 +478,8 @@ void Menus::ShowFileMenu(FL_OBJECT *ob, long)
                                        "|as DVI...%x41"
                                        "|as PostScript...%x42"
                                        "|as Ascii Text...%x43"
-                                       "|Custom...%x44"));
+                                       "|as HTML...%x44"
+                                       "|Custom...%x45"));
         else if(LinuxDoc)
             SubFileExport=fl_defpup(FL_ObjWin(ob),
                                      _("Export%t"
@@ -441,7 +499,10 @@ void Menus::ShowFileMenu(FL_OBJECT *ob, long)
        fl_setpup_shortcut(SubFileExport, 41, scex(_("FEX|Dd#d#D")));
        fl_setpup_shortcut(SubFileExport, 42, scex(_("FEX|Pp#p#P")));
        fl_setpup_shortcut(SubFileExport, 43, scex(_("FEX|Tt#t#T")));
-       fl_setpup_shortcut(SubFileExport, 44, scex(_("FEX|mM#m#M")));
+       if (!LinuxDoc && !DocBook) {
+               fl_setpup_shortcut(SubFileExport, 44, scex(_("FEX|Hh#h#H")));
+               fl_setpup_shortcut(SubFileExport, 45, scex(_("FEX|mM#m#M")));
+       }
        
        int FileMenu = fl_defpup(FL_ObjWin(ob),
                                 _("New..."
@@ -529,7 +590,7 @@ void Menus::ShowFileMenu(FL_OBJECT *ob, long)
                string tmp;
                string tmp2;
                string relbuf = MakeDisplayPath(filname,30);
-               tmp += ii;
+               tmp += tostr(ii);
                tmp2 = tmp;
                tmp += ". " + relbuf;
                tmp2 += string("#") + tostr(ii);
@@ -590,7 +651,9 @@ void Menus::ShowFileMenu(FL_OBJECT *ob, long)
                break;
        case 43: tmpfunc->Dispatch(LFUN_EXPORT, "ascii");
                break;
-       case 44: tmpfunc->Dispatch(LFUN_EXPORT, "custom"); 
+       case 44: tmpfunc->Dispatch(LFUN_EXPORT, "html");
+               break;
+       case 45: tmpfunc->Dispatch(LFUN_EXPORT, "custom"); 
                break;
        case 17: tmpfunc->Dispatch(LFUN_QUIT); break;
                // Lastfiles:
@@ -667,7 +730,7 @@ void Menus::ShowFileMenu2(FL_OBJECT *ob, long)
                string tmp;
                string tmp2;
                string relbuf = MakeDisplayPath(filname,30);
-               tmp += ii;
+               tmp += tostr(ii);
                tmp2 = tmp;
                tmp += ". " + relbuf;
                tmp2 += string("#") + tostr(ii);