]> git.lyx.org Git - lyx.git/blobdiff - src/lyx_main.C
add GuiView parent to QToc for proper memory management.
[lyx.git] / src / lyx_main.C
index 0b59f51e92765fdce09247266d70c5ea31e039d3..e21566f36833152970cd79408f3748134924ed5c 100644 (file)
@@ -456,7 +456,7 @@ int LyX::exec(int & argc, char * argv[])
        // such that package().temp_dir() is properly initialized.
        pimpl_->lyx_server_.reset(new LyXServer(&pimpl_->lyxfunc_, lyxrc.lyxpipes));
        pimpl_->lyx_socket_.reset(new LyXServerSocket(&pimpl_->lyxfunc_, 
-               os::internal_path(package().temp_dir() + "/lyxsocket")));
+                       FileName(package().temp_dir().absFilename() + "/lyxsocket")));
 
        // Start the real execution loop.
        exit_status = pimpl_->application_->exec();
@@ -481,13 +481,13 @@ void LyX::prepareExit()
 
        // do any other cleanup procedures now
        if (package().temp_dir() != package().system_temp_dir()) {
-               lyxerr[Debug::INFO] << "Deleting tmp dir "
-                                   << package().temp_dir() << endl;
+               LYXERR(Debug::INFO) << "Deleting tmp dir "
+                                   << package().temp_dir().absFilename() << endl;
 
-               if (!destroyDir(FileName(package().temp_dir()))) {
+               if (!destroyDir(package().temp_dir())) {
                        docstring const msg =
                                bformat(_("Unable to remove the temporary directory %1$s"),
-                               from_utf8(package().temp_dir()));
+                               from_utf8(package().temp_dir().absFilename()));
                        Alert::warning(_("Unable to remove temporary directory"), msg);
                }
        }
@@ -531,9 +531,9 @@ int LyX::init(int & argc, char * argv[])
        }
 
        // Initialization of LyX (reads lyxrc and more)
-       lyxerr[Debug::INIT] << "Initializing LyX::init..." << endl;
+       LYXERR(Debug::INIT) << "Initializing LyX::init..." << endl;
        bool success = init();
-       lyxerr[Debug::INIT] << "Initializing LyX::init...done" << endl;
+       LYXERR(Debug::INIT) << "Initializing LyX::init...done" << endl;
        if (!success)
                return EXIT_FAILURE;
 
@@ -585,7 +585,7 @@ void LyX::execBatchCommands()
        if (batch_command.empty())
                return;
 
-       lyxerr[Debug::INIT] << "About to handle -x '"
+       LYXERR(Debug::INIT) << "About to handle -x '"
                << batch_command << '\'' << endl;
 
        pimpl_->lyxfunc_.dispatch(lyxaction.lookupFunc(batch_command));
@@ -634,7 +634,7 @@ LyXView * LyX::newLyXView()
        unsigned int height = 510;
        // default icon size, will be overwritten by  stored session value
        unsigned int iconSizeXY = 0;
-       bool maximize = false;
+       int maximized = LyXView::NotMaximized;
        // first try lyxrc
        if (lyxrc.geometry_width != 0 && lyxrc.geometry_height != 0 ) {
                width = lyxrc.geometry_width;
@@ -648,8 +648,9 @@ LyXView * LyX::newLyXView()
                val = session().sessionInfo().load("WindowHeight");
                if (!val.empty())
                        height = convert<unsigned int>(val);
-               if (session().sessionInfo().load("WindowIsMaximized") == "yes")
-                       maximize = true;
+               val = session().sessionInfo().load("WindowMaximized");
+               if (!val.empty())
+                       maximized = convert<int>(val);
                val = session().sessionInfo().load("IconSizeXY");
                if (!val.empty())
                        iconSizeXY = convert<unsigned int>(val);
@@ -674,7 +675,7 @@ LyXView * LyX::newLyXView()
        }
 
        // create the main window
-       LyXView * view = &pimpl_->application_->createView(width, height, posx, posy, maximize, iconSizeXY, geometryArg);
+       LyXView * view = &pimpl_->application_->createView(width, height, posx, posy, maximized, iconSizeXY, geometryArg);
 
        return view;
 }
@@ -811,11 +812,11 @@ bool LyX::init()
        signal(SIGTERM, error_handler);
        // SIGPIPE can be safely ignored.
 
-       lyxrc.tempdir_path = package().temp_dir();
-       lyxrc.document_path = package().document_dir();
+       lyxrc.tempdir_path = package().temp_dir().absFilename();
+       lyxrc.document_path = package().document_dir().absFilename();
 
        if (lyxrc.template_path.empty()) {
-               lyxrc.template_path = addPath(package().system_support(),
+               lyxrc.template_path = addPath(package().system_support().absFilename(),
                                              "templates");
        }
 
@@ -835,7 +836,7 @@ bool LyX::init()
        // Add the directory containing the LyX executable to the path
        // so that LyX can find things like tex2lyx.
        if (package().build_support().empty())
-               prependEnvPath("PATH", package().binary_dir());
+               prependEnvPath("PATH", package().binary_dir().absFilename());
 #endif
        if (!lyxrc.path_prefix.empty())
                prependEnvPath("PATH", lyxrc.path_prefix);
@@ -875,7 +876,7 @@ bool LyX::init()
                return false;
 
        // Load the layouts
-       lyxerr[Debug::INIT] << "Reading layouts..." << endl;
+       LYXERR(Debug::INIT) << "Reading layouts..." << endl;
        if (!LyXSetStyle())
                return false;
 
@@ -905,9 +906,9 @@ bool LyX::init()
        FileName const document_path(lyxrc.document_path);
        if (fs::exists(document_path.toFilesystemEncoding()) &&
            fs::is_directory(document_path.toFilesystemEncoding()))
-               package().document_dir() = lyxrc.document_path;
+               package().document_dir() = document_path;
 
-       package().temp_dir() = createLyXTmpDir(FileName(lyxrc.tempdir_path)).absFilename();
+       package().temp_dir() = createLyXTmpDir(FileName(lyxrc.tempdir_path));
        if (package().temp_dir().empty()) {
                Alert::error(_("Could not create temporary directory"),
                             bformat(_("Could not create a temporary directory in\n"
@@ -922,11 +923,11 @@ bool LyX::init()
                return false;
        }
 
-       if (lyxerr.debugging(Debug::INIT)) {
-               lyxerr << "LyX tmp dir: `" << package().temp_dir() << '\'' << endl;
-       }
+       LYXERR(Debug::INIT) << "LyX tmp dir: `"
+                           << package().temp_dir().absFilename()
+                           << '\'' << endl;
 
-       lyxerr[Debug::INIT] << "Reading session information '.lyx/session'..." << endl;
+       LYXERR(Debug::INIT) << "Reading session information '.lyx/session'..." << endl;
        pimpl_->session_.reset(new Session(lyxrc.num_lastfiles));
 
        // This must happen after package initialization and after lyxrc is
@@ -1043,13 +1044,13 @@ bool needsUpdate(string const & file)
        static bool firstrun = true;
        if (firstrun) {
                configure_script = FileName(addName(
-                               package().system_support(),
+                               package().system_support().absFilename(),
                                "configure.py")).toFilesystemEncoding();
                firstrun = false;
        }
 
        string const absfile = FileName(addName(
-               package().user_support(), file)).toFilesystemEncoding();
+               package().user_support().absFilename(), file)).toFilesystemEncoding();
        return (! fs::exists(absfile))
                || (fs::last_write_time(configure_script)
                    > fs::last_write_time(absfile));
@@ -1062,7 +1063,7 @@ bool LyX::queryUserLyXDir(bool explicit_userdir)
 {
        // Does user directory exist?
        string const user_support =
-               FileName(package().user_support()).toFilesystemEncoding();
+               package().user_support().toFilesystemEncoding();
        if (fs::exists(user_support) && fs::is_directory(user_support)) {
                first_start = false;
 
@@ -1081,7 +1082,7 @@ bool LyX::queryUserLyXDir(bool explicit_userdir)
                    bformat(_("You have specified a non-existent user "
                                           "LyX directory, %1$s.\n"
                                           "It is needed to keep your own configuration."),
-                           from_utf8(package().user_support())),
+                           from_utf8(package().user_support().absFilename())),
                    1, 0,
                    _("&Create directory"),
                    _("&Exit LyX"))) {
@@ -1090,7 +1091,7 @@ bool LyX::queryUserLyXDir(bool explicit_userdir)
        }
 
        lyxerr << to_utf8(bformat(_("LyX: Creating directory %1$s"),
-                         from_utf8(package().user_support())))
+                         from_utf8(package().user_support().absFilename())))
               << endl;
 
        if (!createDirectory(package().user_support(), 0755)) {
@@ -1106,19 +1107,19 @@ bool LyX::queryUserLyXDir(bool explicit_userdir)
 
 bool LyX::readRcFile(string const & name)
 {
-       lyxerr[Debug::INIT] << "About to read " << name << "... ";
+       LYXERR(Debug::INIT) << "About to read " << name << "... ";
 
        FileName const lyxrc_path = libFileSearch(string(), name);
        if (!lyxrc_path.empty()) {
 
-               lyxerr[Debug::INIT] << "Found in " << lyxrc_path << endl;
+               LYXERR(Debug::INIT) << "Found in " << lyxrc_path << endl;
 
                if (lyxrc.read(lyxrc_path) < 0) {
                        showFileError(name);
                        return false;
                }
        } else
-               lyxerr[Debug::INIT] << "Not found." << lyxrc_path << endl;
+               LYXERR(Debug::INIT) << "Not found." << lyxrc_path << endl;
        return true;
 
 }
@@ -1148,14 +1149,14 @@ bool LyX::readUIFile(string const & name, bool include)
        std::list<string>::const_iterator end = uifiles.end();
        it = std::find(it, end, name);
        if (it != end) {
-               lyxerr[Debug::INIT] << "UI file '" << name
+               LYXERR(Debug::INIT) << "UI file '" << name
                                    << "' has been read already. "
                                    << "Is this an include loop?"
                                    << endl;
                return false;
        }
 
-       lyxerr[Debug::INIT] << "About to read " << name << "..." << endl;
+       LYXERR(Debug::INIT) << "About to read " << name << "..." << endl;
 
        
        FileName ui_path;
@@ -1169,14 +1170,14 @@ bool LyX::readUIFile(string const & name, bool include)
                ui_path = libFileSearch("ui", name, "ui");
        
        if (ui_path.empty()) {
-               lyxerr[Debug::INIT] << "Could not find " << name << endl;
+               LYXERR(Debug::INIT) << "Could not find " << name << endl;
                showFileError(name);
                return false;
        }
 
        uifiles.push_back(name);
 
-       lyxerr[Debug::INIT] << "Found " << name
+       LYXERR(Debug::INIT) << "Found " << name
                            << " in " << ui_path << endl;
        LyXLex lex(uitags, ui_last - 1);
        lex.setFile(ui_path);
@@ -1223,7 +1224,7 @@ bool LyX::readUIFile(string const & name, bool include)
 // Read the languages file `name'
 bool LyX::readLanguagesFile(string const & name)
 {
-       lyxerr[Debug::INIT] << "About to read " << name << "..." << endl;
+       LYXERR(Debug::INIT) << "About to read " << name << "..." << endl;
 
        FileName const lang_path = libFileSearch(string(), name);
        if (lang_path.empty()) {
@@ -1239,7 +1240,7 @@ bool LyX::readLanguagesFile(string const & name)
 bool LyX::readEncodingsFile(string const & enc_name,
                             string const & symbols_name)
 {
-       lyxerr[Debug::INIT] << "About to read " << enc_name << " and "
+       LYXERR(Debug::INIT) << "About to read " << enc_name << " and "
                            << symbols_name << "..." << endl;
 
        FileName const symbols_path = libFileSearch(string(), symbols_name);