userguide/src/HelpMainWindow.cpp
changeset 18 375271912456
parent 15 c0dfc135a46c
child 33 1038206aa0cb
equal deleted inserted replaced
15:c0dfc135a46c 18:375271912456
    17 
    17 
    18 #include <hbtoolbar.h>
    18 #include <hbtoolbar.h>
    19 #include <hbnotificationdialog.h>
    19 #include <hbnotificationdialog.h>
    20 #include <hbaction.h>
    20 #include <hbaction.h>
    21 
    21 
       
    22 #include "HelpBaseView.h"
    22 #include "HelpCategoryView.h"
    23 #include "HelpCategoryView.h"
       
    24 #include "HelpKeywordView.h"
    23 #include "HelpContentsView.h"
    25 #include "HelpContentsView.h"
    24 
    26 
    25 #include "HelpMainWindow.h"
    27 #include "HelpMainWindow.h"
    26 #include "HelpDataProvider.h"
    28 #include "HelpDataProvider.h"
    27 
    29 
    28 HelpMainWindow::HelpMainWindow() : 
    30 HelpMainWindow::HelpMainWindow() : 
    29 mCategoryView(NULL),
    31 mCategoryView(NULL),
       
    32 mKeywordView(NULL),
    30 mContentsView(NULL)
    33 mContentsView(NULL)
    31 {
    34 {
    32 	connect(this, SIGNAL(orientationChanged(Qt::Orientation)), this, SLOT(onOrientationChanged(Qt::Orientation)));
       
    33 	initToolbar();
       
    34     activateCategoryView();
    35     activateCategoryView();
    35 }
    36 }
    36 
    37 
    37 HelpMainWindow::~HelpMainWindow()
    38 HelpMainWindow::~HelpMainWindow()
    38 {
    39 {
    39     HelpDataProvider::destroyInstance();
    40     HelpDataProvider::destroyInstance();
    40 }
       
    41 
       
    42 void HelpMainWindow::initToolbar()
       
    43 {
       
    44 	mBuilder.load(QRC_DOCML_TOOLBAR);
       
    45 	mToolBar = mBuilder.findWidget<HbToolBar*>(DOCML_TOOLBAR);
       
    46 
       
    47     HbAction* allAction = mBuilder.findObject<HbAction*>(DOCML_ACTION_ALL);
       
    48     HbAction* findAction = mBuilder.findObject<HbAction*>(DOCML_ACTION_SEARCH);
       
    49 	HbAction* onLineSupportAction = mBuilder.findObject<HbAction*>(DOCML_ACTION_LINK_NOKIA);
       
    50 
       
    51 	connect(allAction, SIGNAL(triggered()), this, SLOT(onToolbarAll()));
       
    52 	connect(findAction, SIGNAL(triggered()), this, SLOT(onToolbarFind()));
       
    53 	connect(onLineSupportAction, SIGNAL(triggered()), this, SLOT(onToolbarOnlineSupport()));
       
    54 }
    41 }
    55 
    42 
    56 void HelpMainWindow::onActivateView(HelpViewName viewName)
    43 void HelpMainWindow::onActivateView(HelpViewName viewName)
    57 {
    44 {
    58 	switch(viewName)
    45 	switch(viewName)
    59 	{
    46 	{
    60 	    case HelpViewCategory:
    47 	    case HelpViewCategory:
    61             activateCategoryView();
    48             activateCategoryView();
    62 			break;
    49 			break;
    63 
    50 	    case HelpViewKeyword:
       
    51             activateKeywordView();
       
    52 			break;
    64 	    case HelpViewContents:
    53 	    case HelpViewContents:
    65             activateContentsView();
    54             activateContentsView();
    66 			break;
    55 			break;
    67 
    56 		case PreviousView:
       
    57 			{
       
    58 				onActivateView(mPreviousViewName);
       
    59 			}
       
    60 			break;
    68 	    default:
    61 	    default:
    69 	        break;
    62 	        break;
    70 	}
    63 	}
    71 }
    64 }
    72 
    65 
    75     if(!mCategoryView)
    68     if(!mCategoryView)
    76     {
    69     {
    77         mCategoryView = new HelpCategoryView();
    70         mCategoryView = new HelpCategoryView();
    78         addView(mCategoryView);
    71         addView(mCategoryView);
    79         mCategoryView->init();
    72         mCategoryView->init();
    80 		mCategoryView->setToolBar(mToolBar);
       
    81         emit currentViewChanged(mCategoryView);
    73         emit currentViewChanged(mCategoryView);
    82 		connectViewSignal(mCategoryView);
    74 		connectViewSignal(mCategoryView);
    83     }
    75     }
    84 
    76 
       
    77 	mPreviousViewName = HelpViewCategory;
    85     setCurrentView(mCategoryView);
    78     setCurrentView(mCategoryView);
       
    79 }
       
    80 
       
    81 void HelpMainWindow::activateKeywordView()
       
    82 {
       
    83     if(!mKeywordView)
       
    84     {
       
    85         mKeywordView = new HelpKeywordView();
       
    86 		addView(mKeywordView);
       
    87         mKeywordView->init();
       
    88 		connectViewSignal(mKeywordView);
       
    89     }
       
    90 
       
    91 	mPreviousViewName = HelpViewKeyword;	
       
    92     setCurrentView(mKeywordView);	
    86 }
    93 }
    87 
    94 
    88 void HelpMainWindow::activateContentsView()
    95 void HelpMainWindow::activateContentsView()
    89 {
    96 {
    90     if(!mContentsView)
    97     if(!mContentsView)
    91     {
    98     {
    92 		mContentsView = new HelpContentsView();
    99 		mContentsView = new HelpContentsView();
    93         addView(mContentsView);
   100 		addView(mContentsView);
    94         mContentsView->init();
   101         mContentsView->init();
    95 		mContentsView->setToolBar(mToolBar);
       
    96 
   102 
    97         connectViewSignal(mContentsView);
   103         connectViewSignal(mContentsView);
    98     }
   104     }
    99 
       
   100     setCurrentView(mContentsView);
   105     setCurrentView(mContentsView);
   101 }
   106 }
   102 
   107 
   103 void HelpMainWindow::connectViewSignal(const QObject *object)
   108 void HelpMainWindow::connectViewSignal(const HelpBaseView *view)
   104 {
   109 {
   105     connect(object, SIGNAL(activateView(HelpViewName)), this, SLOT(onActivateView(HelpViewName)));
   110 	connect(this, SIGNAL(orientationChanged(Qt::Orientation)), view, SLOT(onOrientationChanged(Qt::Orientation)));
       
   111     connect(view, SIGNAL(activateView(HelpViewName)), this, SLOT(onActivateView(HelpViewName)));
       
   112     
       
   113     connect(view, SIGNAL(showAllList()), this, SLOT(onShowAllList()));
       
   114     connect(view, SIGNAL(showFindList()), this, SLOT(onShowFindList()));
   106 }
   115 }
   107 
   116 
   108 
   117 
   109 ////////////////////////////////////////////////////////////////////////////////////
   118 ////////////////////////////////////////////////////////////////////////////////////
   110 // handle view event
   119 // handle view event
   111 
   120 
   112 void HelpMainWindow::onToolbarAll()
   121 void HelpMainWindow::onShowAllList()
   113 {
   122 {
   114     activateCategoryView();
   123     activateCategoryView();
   115     mCategoryView->switchViewMode(HelpCategoryView::ViewModeAll);
       
   116 }
   124 }
   117 
   125 
   118 void HelpMainWindow::onToolbarFind()
   126 void HelpMainWindow::onShowFindList()
   119 {
   127 {	
   120     activateCategoryView();
   128     activateKeywordView();
   121     mCategoryView->switchViewMode(HelpCategoryView::ViewModeSearch);
   129 	mKeywordView->loadAllContent();
   122 }
       
   123 
       
   124 void HelpMainWindow::onToolbarOnlineSupport()
       
   125 {
       
   126     HbNotificationDialog *notificationDialog = new HbNotificationDialog();
       
   127     notificationDialog->setParent(this);
       
   128     notificationDialog->setTitle(URL_LINK_SUPPORT);
       
   129     notificationDialog->show();
       
   130 }
       
   131 
       
   132 void HelpMainWindow::onOrientationChanged(Qt::Orientation orientation)
       
   133 {
       
   134     RefreshToolbarText(orientation);
       
   135 }
       
   136 
       
   137 void HelpMainWindow::RefreshToolbarText(Qt::Orientation orientation)
       
   138 {
       
   139 	bool isLandscape = (Qt::Horizontal==orientation);
       
   140     HbAction* tollbarAction = mBuilder.findObject<HbAction*>(DOCML_ACTION_ALL);
       
   141     tollbarAction->setText(isLandscape ? qtTrId(TXT_BUTTON_ALL) : QString());
       
   142 
       
   143     tollbarAction = mBuilder.findObject<HbAction*>(DOCML_ACTION_SEARCH);
       
   144     tollbarAction->setText(isLandscape ? qtTrId(TXT_BUTTON_FIND) : QString());
       
   145 
       
   146     tollbarAction = mBuilder.findObject<HbAction*>(DOCML_ACTION_LINK_NOKIA);
       
   147     tollbarAction->setText(isLandscape ? qtTrId(TXT_BUTTON_LINK_SUPPORT) : QString());
       
   148 }
   130 }
   149 
   131 
   150 // end of file
   132 // end of file
   151 
   133