]> git.lyx.org Git - lyx.git/blobdiff - src/lyx_main.C
* lyx_gui: parse_lyxrc() and getStatus() methods deleted.
[lyx.git] / src / lyx_main.C
index 1d77e53ff76eaee527bb87f556a362d72f706b0a..958f2fdd39a9bc4fe48183b28ad16976cfc56bbc 100644 (file)
@@ -47,6 +47,7 @@
 
 #include "support/environment.h"
 #include "support/filetools.h"
+#include "support/fontutils.h"
 #include "support/lyxlib.h"
 #include "support/convert.h"
 #include "support/os.h"
@@ -107,9 +108,12 @@ void lyx_exit(int status)
        // FIXME: We should not directly call exit(), since it only
        // guarantees a return to the system, no application cleanup.
        // This may cause troubles with not executed destructors.
-       if (lyx_gui::use_gui)
-               // lyx_gui::exit may return and only schedule the exit
-               lyx_gui::exit(status);
+       if (lyx_gui::use_gui) {
+               theApp->exit(status);
+               // Restore original font resources after Application is destroyed.
+               lyx::support::restoreFontResources();
+       }
+
        exit(status);
 }
 
@@ -216,8 +220,11 @@ int LyX::priv_exec(int & argc, char * argv[])
                                   lyx::support::top_build_dir_is_one_level_up);
 
        // Start the real execution loop.
-       if (lyx_gui::use_gui)
+       if (lyx_gui::use_gui) {
+               // Force adding of font path _before_ Application is initialized
+               lyx::support::addFontResources();
                return lyx_gui::exec(argc, argv);
+       }
        else
                return exec2(argc, argv);
 }
@@ -243,9 +250,6 @@ int LyX::exec2(int & argc, char * argv[])
        if (!success)
                return EXIT_FAILURE;
 
-       if (lyx_gui::use_gui)
-               lyx_gui::parse_lyxrc();
-
        vector<string> files;
 
        for (int argi = argc - 1; argi >= 1; --argi)
@@ -337,7 +341,7 @@ int LyX::exec2(int & argc, char * argv[])
                        height = 0;
                }
                // create the main window
-               LyXView * view = lyx_gui::create_view(width, height, posx, posy, maximize);
+               LyXView * view = &theApp->createView(width, height, posx, posy, maximize);
                ref().addLyXView(view);
 
                // load files
@@ -356,7 +360,7 @@ int LyX::exec2(int & argc, char * argv[])
                // clear this list to save a few bytes of RAM
                session_->clearLastOpenedFiles();
 
-               return lyx_gui::start(view, batch_command);
+               return theApp->start(batch_command);
        } else {
                // Something went wrong above
                quitLyX(false);
@@ -492,11 +496,16 @@ bool LyX::init()
        }
 
        if (lyxrc.roman_font_name.empty())
-               lyxrc.roman_font_name = lyx_gui::roman_font_name();
+               lyxrc.roman_font_name = 
+                       lyx_gui::use_gui? theApp->romanFontName(): "serif";
+
        if (lyxrc.sans_font_name.empty())
-               lyxrc.sans_font_name = lyx_gui::sans_font_name();
+               lyxrc.sans_font_name =
+                       lyx_gui::use_gui? theApp->sansFontName(): "sans";
+
        if (lyxrc.typewriter_font_name.empty())
-               lyxrc.typewriter_font_name = lyx_gui::typewriter_font_name();
+               lyxrc.typewriter_font_name =
+                       lyx_gui::use_gui? theApp->typewriterFontName(): "monospace";
 
        //
        // Read configuration files