[Amis-vcs] SF.net SVN: amis: [2433] branches/amis3
Brought to you by:
julienq,
marisademeglio
From: <mar...@us...> - 2008-03-18 07:42:34
|
Revision: 2433 http://amis.svn.sourceforge.net/amis/?rev=2433&view=rev Author: marisademeglio Date: 2008-03-18 00:42:39 -0700 (Tue, 18 Mar 2008) Log Message: ----------- Modified default Preferences Opening URLs from the command line now supported Modified Paths: -------------- branches/amis3/AmisGuiMFC2/src/gui/AmisApp.cpp branches/amis3/bin/settings/amisPrefs.xml.default Modified: branches/amis3/AmisGuiMFC2/src/gui/AmisApp.cpp =================================================================== --- branches/amis3/AmisGuiMFC2/src/gui/AmisApp.cpp 2008-03-18 07:27:33 UTC (rev 2432) +++ branches/amis3/AmisGuiMFC2/src/gui/AmisApp.cpp 2008-03-18 07:42:39 UTC (rev 2433) @@ -77,7 +77,6 @@ using namespace amis::gui; - BEGIN_MESSAGE_MAP(CAmisApp, CWinApp) ON_COMMAND(ID_AMIS_OPEN_FILE, OnFileOpen) ON_COMMAND(ID_AMIS_PLAYPAUSE, OnPlayPause) @@ -117,6 +116,8 @@ ON_COMMAND(ID_AMIS_SHOW_TEXTSTYLE, OnShowTextStyle) END_MESSAGE_MAP() + + CAmisApp::CAmisApp() { mpHistory = NULL; @@ -196,24 +197,34 @@ //command parameters want to open a document. //our workaround is the mbShouldIgnoreOpenDoc event flag mbShouldIgnoreOpenDocEvent = true; + //save the value in cmdInfo + CString cmd_file_name = cmdInfo.m_strFileName; + bool b_open_from_cmdline = false; + ambulant::net::url book_to_open; + if (cmd_file_name.GetLength() > 0) + { + b_open_from_cmdline = true; + if (cmd_file_name.Find(_T(":")) != 1) + { + //override the cmd info data; otherwise MFC will do something clever with this URL and crash + cmdInfo.m_strFileName.Empty(); + cmdInfo.m_nShellCommand = CCommandLineInfo::FileNew; + book_to_open = ambulant::net::url::from_url(T2A(cmd_file_name)); + } + //else it's a local file and there shouldn't be any problems + else + { + book_to_open = ambulant::net::url::from_filename(T2A(cmd_file_name)); + } + amis::util::Log::Instance()->writeMessage("Command line parameter: ", &book_to_open, "CAmisApp::InitInstance", "AmisGuiMFC2"); + } if (!ProcessShellCommand(cmdInfo)) { amis::util::Log::Instance()->writeError("Error processing shell command info", "CAmisApp::InitInstance", "AmisGuiMFC2"); return FALSE; } mbShouldIgnoreOpenDocEvent = false; - bool b_open_from_cmdline = false; - ambulant::net::url book_to_open; - if (cmdInfo.m_nShellCommand == CCommandLineInfo::FileOpen) - { - //we have to assume that command line parameters are local files - //TODO: introduce a command line parameter to identify URLs - //if we get the two mixed up, then the path gets mangled - b_open_from_cmdline = true; - book_to_open = ambulant::net::url::from_filename(T2A(cmdInfo.m_strFileName)); - amis::util::Log::Instance()->writeMessage("Command line parameter: ", &book_to_open, "CAmisApp::InitInstance", "AmisGuiMFC2"); - } - + //done with command line stuff .. phew // try to load shared MDI menus and accelerator table HINSTANCE hInst = AfxGetResourceHandle(); @@ -375,11 +386,6 @@ //this function is used by all functions here that lead to a book being opened void CAmisApp::openBook(const ambulant::net::url* filename) { - //TODO: AMIS says "TITLE" Playing etc even if the book couldn't be opened - MainWndParts::Instance()->updateTitleBar(MainWndParts::TITLEBAR_APPNAME, CString(L"Amis")); - MainWndParts::Instance()->updateTitleViewMode(); - MainWndParts::Instance()->updateTitleSelfVoicing(Preferences::Instance()->getIsSelfVoicing()); - bool b_a_book_was_open = false; //close the open book if (mbBookIsOpen == true) @@ -393,6 +399,11 @@ if (amis::dtb::DtbWithHooks::Instance()->open (filename, amis::Preferences::Instance()->getUserBmkDir())) { + //update the status in the title bar + MainWndParts::Instance()->updateTitleBar(MainWndParts::TITLEBAR_APPNAME, CString(L"Amis")); + MainWndParts::Instance()->updateTitleViewMode(); + MainWndParts::Instance()->updateTitleSelfVoicing(Preferences::Instance()->getIsSelfVoicing()); + mbBookIsOpen = true; MainWndParts::Instance()->mpMainFrame->updateToolbarState (MainWndParts::Instance()->mpBasicToolbar); @@ -552,6 +563,8 @@ MainWndParts::Instance()->mpMmView->OnDestroy(); amis::gui::MainWndParts::Instance()->mpSidebar->m_wndDlg.clearAll(); amis::gui::MenuManip::Instance()->clearBookmarks(); + //update the status in the title bar + amis::gui::MainWndParts::Instance()->updateTitleBar(amis::gui::MainWndParts::TITLEBAR_BOOKTITLE, _T("")); } } Modified: branches/amis3/bin/settings/amisPrefs.xml.default =================================================================== --- branches/amis3/bin/settings/amisPrefs.xml.default 2008-03-18 07:27:33 UTC (rev 2432) +++ branches/amis3/bin/settings/amisPrefs.xml.default 2008-03-18 07:42:39 UTC (rev 2433) @@ -4,8 +4,8 @@ <section name="general"> <entry id="ui-lang-id" value="eng-US"/> <entry id="start-in-basic-view" value="no"/> -<entry id="load-last-book" value="no"/> -<entry id="is-self-voicing" value="no"/> +<entry id="load-last-book" value="yes"/> +<entry id="is-self-voicing" value="yes"/> <entry id="tts-voice-index" value="0"/> <entry id="pause-on-lost-focus" value="no"/> <entry id="use-tts-not-audio" value="no"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |