diff -r 819e59dfc032 -r 2d9cac8919d3 launcher/src/applicationview.cpp --- a/launcher/src/applicationview.cpp Mon Oct 04 10:09:02 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,299 +0,0 @@ -/* -* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). -* All rights reserved. -* This component and the accompanying materials are made available -* under the terms of "Eclipse Public License v1.0" -* which accompanies this distribution, and is available -* at the URL "http://www.eclipse.org/legal/epl-v10.html". -* -* Initial Contributors: -* Nokia Corporation - initial contribution. -* -* Contributors: -* -* Description: -* -*/ - -#include -#include -#include -#include -#include -#include - -#include "applicationview.h" -#include "launchermainwindow.h" -#include "enginewrapper.h" -#include "notifications.h" -#include "commonActions.h" -#include "outputview.h" - - - - -// xml definition of view -const char *APPLICATIONVIEW_XML = ":/xml/applicationview.xml"; - -// name of the application view object in the xml file. -const char *APPLICATIONVIEW = "applicationview"; -const char *LISTVIEW = "applicationList"; -const char *ACTIONREFRESH = "actionRefresh"; -const char *ACTIONLAUNCHAPPS = "actionLaunchApps"; -const char *ACTIONLAUNCHANDCLOSEAPPS = "actionLaunchAppsAndClose"; -const char *ACTIONSELECT = "actionSelectAll"; -const char *ACTIONUNSELECT = "actionUnselectAll"; -const char *ACTIONOPENOUTPUTVIEW = "actionOpenOutputView"; -const char *ACTIONSKIPHIDDEN = "actionSkipHidden"; -const char *ACTIONDONTSKIPHIDDEN = "actionDontSkipHidden"; - -// --------------------------------------------------------------------------- - -ApplicationView* ApplicationView::create(HbDocumentLoader &loader, CommonActions *commonActions, EngineWrapper *engine) -{ - - // Load xml-file - bool ok = false; - qDebug("QTLauncher::load xml"); - loader.load(APPLICATIONVIEW_XML, &ok); - - // Load Application View: - QGraphicsWidget *widget = loader.findWidget(APPLICATIONVIEW); - Q_ASSERT_X(ok && (widget != 0), "Launcher", "Invalid launcher.xml file"); - ApplicationView *applicationView = qobject_cast(widget); - - // Set enginewrappers pointer to applicationview and initialize it - applicationView->setEngine(engine); - applicationView->init(loader, commonActions); - - return applicationView; -} - -// --------------------------------------------------------------------------- - -ApplicationView::ApplicationView() - : mEngine(0), - mActionRefresh(0), - mActionLaunchApps(0), - mActionLaunchAndCloseApps(0), - mActionSkipHidden(0), - mActionDontSkipHidden(0), - mActionSelectAll(0), - mActionUnselectAll(0), - mActionOpenOutputView(0) -{ -} - -// --------------------------------------------------------------------------- - -void ApplicationView::setEngine(EngineWrapper *engine) -{ - mEngine = engine; -} - -// --------------------------------------------------------------------------- - -ApplicationView::~ApplicationView() -{ - if(mActionRefresh) - mActionRefresh->deleteLater(); - if(mActionLaunchApps) - mActionLaunchApps->deleteLater(); - if(mActionLaunchAndCloseApps) - mActionLaunchAndCloseApps->deleteLater(); - if(mActionSkipHidden) - mActionSkipHidden->deleteLater(); - if(mActionDontSkipHidden) - mActionDontSkipHidden->deleteLater(); - if(mActionSelectAll) - mActionSelectAll->deleteLater(); - if(mActionUnselectAll) - mActionUnselectAll->deleteLater(); - if(mActionOpenOutputView) - mActionOpenOutputView->deleteLater(); -} - -// --------------------------------------------------------------------------- - -void ApplicationView::init(HbDocumentLoader &loader, CommonActions *commonActions) -{ - // Load items from xml file - loadItemsFromXml(loader); - - // Set actions checkable and select "Skip hidden & embed" - mActionSkipHidden->setCheckable(true); - mActionSkipHidden->setChecked(true); - mActionDontSkipHidden->setCheckable(true); - - commonActions->addActionsToMenu(menu()); - - // Set list widget settings - mApplicationList->setClampingStyle(HbScrollArea::BounceBackClamping); - mApplicationList->setSelectionMode(HbAbstractItemView::MultiSelection); - - // Refresh application list - refreshAppList(); - - // Connect signals and slots - connectSignalsAndSlots(); - -} - -// --------------------------------------------------------------------------- - -void ApplicationView::refreshAppList() -{ - // Clear list - - mApplicationList->clear(); - QStringList apps; - - // show wait dialog - QObject *dialog = static_cast(Notifications::showWaitDialog("Initializing")); - - // Get application list from engine - if(!mEngine->listOfAllApps(apps)) { - Notifications::showErrorNote("Unable to refresh list"); - } - - // Format values to list widget - int i = 0; - while(i < apps.size()) { - mApplicationList->addItem(/*HbIcon(":/gfx/check.svg"),*/apps.at(i)); - i++; - } - mApplicationList->selectAll(); - - // remove the wait dialog - delete dialog; -} - -// --------------------------------------------------------------------------- - -void ApplicationView::connectSignalsAndSlots() -{ - // Actions - connect(mActionRefresh, SIGNAL(triggered()), this, SLOT(refreshAppList())); - connect(mActionLaunchApps, SIGNAL(triggered()), this, SLOT(launchSelectedApplications())); - connect(mActionLaunchAndCloseApps, SIGNAL(triggered()), this, SLOT(launchAndCloseSelectedApplications())); - connect(mActionSelectAll, SIGNAL(triggered()), this, SLOT(selectAllItems())); - connect(mActionUnselectAll, SIGNAL(triggered()), this, SLOT(unselectAllItems())); - connect(mActionSkipHidden, SIGNAL(triggered()), this, SLOT(launchOptionsSkipHidden())); - connect(mActionDontSkipHidden, SIGNAL(triggered()), this, SLOT(launchOptionsDontSkipHidden())); - connect(mActionOpenOutputView, SIGNAL(triggered()), this, SLOT(openOutputView())); -} - -// --------------------------------------------------------------------------- - - -void ApplicationView::loadItemsFromXml(HbDocumentLoader &loader) -{ - - // List widget: - QGraphicsWidget *widget = loader.findWidget(LISTVIEW); - Q_ASSERT_X((widget != 0), "Launcher", "Invalid launcher.xml file"); - mApplicationList = qobject_cast(widget); - - /* ACTIONS: */ - //refresh - QObject *object= loader.findObject(ACTIONREFRESH); - Q_ASSERT_X((object != 0), "Launcher", "Invalid launcher.xml file"); - mActionRefresh = qobject_cast(object); - - // launch applications - object= loader.findObject(ACTIONLAUNCHAPPS); - Q_ASSERT_X((object != 0), "Launcher", "Invalid launcher.xml file"); - mActionLaunchApps = qobject_cast(object); - - // launch and close - object= loader.findObject(ACTIONLAUNCHANDCLOSEAPPS); - Q_ASSERT_X((object != 0), "Launcher", "Invalid launcher.xml file"); - mActionLaunchAndCloseApps = qobject_cast(object); - - // select all applications - object= loader.findObject(ACTIONSELECT); - Q_ASSERT_X((object != 0), "Launcher", "Invalid launcher.xml file"); - mActionSelectAll = qobject_cast(object); - - // unselect all applications - object= loader.findObject(ACTIONUNSELECT); - Q_ASSERT_X((object != 0), "Launcher", "Invalid launcher.xml file"); - mActionUnselectAll = qobject_cast(object); - - // open output view - object= loader.findObject(ACTIONOPENOUTPUTVIEW); - Q_ASSERT_X((object != 0), "Launcher", "Invalid launcher.xml file"); - mActionOpenOutputView = qobject_cast(object); - - // skip hidden - object= loader.findObject(ACTIONSKIPHIDDEN); - Q_ASSERT_X((object != 0), "Launcher", "Invalid launcher.xml file"); - mActionSkipHidden = qobject_cast(object); - - // do not skip hidden - object= loader.findObject(ACTIONDONTSKIPHIDDEN); - Q_ASSERT_X((object != 0), "Launcher", "Invalid launcher.xml file"); - mActionDontSkipHidden = qobject_cast(object); - -} - -// --------------------------------------------------------------------------- - -void ApplicationView::launchSelectedApplications() -{ - QModelIndexList list = mApplicationList->selectionModel()->selectedIndexes(); - mEngine->startAppLaunching(list, false); -} - -// --------------------------------------------------------------------------- - -void ApplicationView::launchAndCloseSelectedApplications() -{ - QModelIndexList list = mApplicationList->selectionModel()->selectedIndexes(); - mEngine->startAppLaunching(list, true); -} - -// --------------------------------------------------------------------------- - -void ApplicationView::selectAllItems() -{ - mApplicationList->selectAll(); -} - -// --------------------------------------------------------------------------- - -void ApplicationView::unselectAllItems() -{ - mApplicationList->clearSelection(); -} -// --------------------------------------------------------------------------- - -void ApplicationView::launchOptionsSkipHidden() -{ - mActionSkipHidden->setChecked(true); - mActionDontSkipHidden->setChecked(false); - mEngine->setSkipHiddenAndEmbedOnly(true); -} - -// --------------------------------------------------------------------------- - -void ApplicationView::launchOptionsDontSkipHidden() -{ - mActionSkipHidden->setChecked(false); - mActionDontSkipHidden->setChecked(true); - mEngine->setSkipHiddenAndEmbedOnly(false); -} - -// --------------------------------------------------------------------------- - -void ApplicationView::openOutputView() -{ - qDebug("OpenOutputView"); - LauncherMainWindow *pMainWindow = static_cast< LauncherMainWindow * >( mainWindow() ); - if( pMainWindow ) - { - pMainWindow->openOutputView(); - } -} - -// ---------------------------------------------------------------------------