Ignore:
Timestamp:
Jun 11, 2006, 4:12:09 PM (15 years ago)
Author:
Eugene Romanenko
Message:

added settings dialog, asynch opening, fixed many crashes and bugs

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Lucide/SOURCE/gui/lucide.cpp

    r40 r50  
    5050#include "findDlg.h"
    5151#include "progressDlg.h"
     52#include "settingsDlg.h"
    5253#include "docViewer.h"
    5354#include "indexWindow.h"
     55#include "lusettings.h"
    5456#include "luutils.h"
    5557#include "tb_spl.h"
     
    6769const char *showind    = "ShowIndex";
    6870
     71ULONG APIENTRY GPFHandler( PEXCEPTIONREPORTRECORD pxcptrec,
     72                           PEXCEPTIONREGISTRATIONRECORD prr,
     73                           PCONTEXTRECORD pcr, PVOID pv );
    6974
    7075HWND createToolbar( HWND hwnd );
     
    8691IndexWindow    *indexWin  = NULL;
    8792FindDlg        *findDlg   = NULL;
     93LuSettings     *settings  = NULL;
    8894char           *title     = NULL;
    8995
     
    291297}
    292298
    293 void Lucide::setViewMode( ViewMode mode )
    294 {
    295     if ( mode == SinglePage )
     299void Lucide::setPageLayout( PgLayout layout )
     300{
     301    if ( layout == SinglePage )
    296302    {
    297303        WinSendMsg( hWndMenu, MM_SETITEMATTR,
     
    312318    }
    313319
    314     docViewer->setViewMode( mode );
     320    docViewer->setPageLayout( layout );
    315321}
    316322
     
    371377                loadError = NULL;
    372378
    373 #if 0
     379                // Load document asynchronously
    374380                loadProgressDlg = new ProgressDlg( hWndFrame );
    375                 loadProgressDlg->setText( "Loading document, please wait..." );
     381                char *ldmsg = newstrdupL( MSGS_LOADING_DOCUMENT );
     382                loadProgressDlg->setText( ldmsg );
     383                delete ldmsg;
    376384                loadProgressDlg->show( loadthread, NULL ); // doc will be loaded
    377385                delete loadProgressDlg;
    378 #else
    379                 docLoaded = doc->loadFile( ev, docName, NULL, &loadError );
    380 #endif
    381386
    382387                if ( docLoaded )
    383388                {
    384389                    char *t = new char[ 2048 ];
    385                     char _fn[ _MAX_NAME ];
     390                    char _fn[ _MAX_FNAME ];
    386391                    char _ex[ _MAX_EXT ];
    387392                    _splitpath( fn, NULL, NULL, _fn, _ex );
    388                     strcpy( t, _fn );
    389                     strcat( t, _ex );
    390                     strcat( t, " - " );
    391                     strcat( t, title );
     393                    snprintf( t, 2048, "%s%s - %s", _fn, _ex, title );
    392394                    WinSetWindowText( hWndFrame, t );
    393395                    delete t;
     
    602604                    return (MRESULT)FALSE;
    603605
     606                case CM_SETTINGS:
     607                {
     608                    SettingsDlg *d = new SettingsDlg( hWndFrame, settings );
     609                    d->doDialog();
     610                    return (MRESULT)FALSE;
     611                }
     612
    604613                case CM_FIRSTPAGE:
    605614                    Lucide::goToPage( 0 );
     
    631640
    632641                case CM_SINGLEPAGE:
    633                     Lucide::setViewMode( SinglePage );
     642                    Lucide::setPageLayout( SinglePage );
    634643                    return (MRESULT)FALSE;
    635644
    636645                case CM_CONTINUOUS:
    637                     Lucide::setViewMode( Continuous );
     646                    Lucide::setPageLayout( Continuous );
    638647                    return (MRESULT)FALSE;
    639648
     
    681690
    682691    loadLang();
     692
     693    settings = new LuSettings;
     694    settings->load();
    683695
    684696    pluginMan = new PluginManager;
     
    737749    findDlg = new FindDlg( hWndFrame );
    738750    Lucide::checkMenus();
     751    Lucide::setPageLayout( settings->layout );
     752    Lucide::setZoom( settings->zoom );
    739753
    740754    // ®ª § âì ®ª­® ¯à®£à ¬¬ë
     
    767781
    768782    WinDestroyWindow( hWndFrame );
    769     WinDestroyMsgQueue( hmq );
    770     WinTerminate( hab );
    771783
    772784    delete docViewer;
     
    779791    delete findDlg;
    780792    delete title;
    781 
     793    delete settings;
     794
     795    WinDestroyMsgQueue( hmq );
     796    WinTerminate( hab );
    782797    return 0;
    783798}
Note: See TracChangeset for help on using the changeset viewer.