Home · All Namespaces · All Classes
Public Slots | Public Member Functions

StatusIndicatorMenuVerticalView Class Reference

#include <statusindicatormenuverticalview.h>

Inheritance diagram for StatusIndicatorMenuVerticalView:
Inheritance graph
[legend]
Collaboration diagram for StatusIndicatorMenuVerticalView:
Collaboration graph
[legend]

List of all members.

Public Slots

void setExtensionLayoutPosition (MApplicationExtensionInterface *extension)
 Sets the tile layout position of the extension's widget to vertical center.

Public Member Functions

 StatusIndicatorMenuVerticalView (StatusIndicatorMenu *controller)
virtual ~StatusIndicatorMenuVerticalView ()

Detailed Description

A view class for the status indicator menu with the extension area and the settings button in a vertical layout.

Definition at line 39 of file statusindicatormenuverticalview.h.


Constructor & Destructor Documentation

StatusIndicatorMenuVerticalView::StatusIndicatorMenuVerticalView ( StatusIndicatorMenu controller  ) 

Constructs a view for a notification area.

Parameters:
controller the controller of this StatusIndicatorMenuVerticalView

Definition at line 31 of file statusindicatormenuverticalview.cpp.

                                                                                                :
    MSceneWindowView(controller),
    statusBar(new MStatusBar)
{
    // Show status bar
    controller->sceneManager()->appearSceneWindowNow(statusBar);

    // Create an extension area for the top row plugins
    MApplicationExtensionArea *extensionArea = new MApplicationExtensionArea("com.meego.core.MStatusIndicatorMenuExtensionInterface/1.0");
    connect(extensionArea, SIGNAL(extensionInstantiated(MApplicationExtensionInterface*)), controller, SLOT(setStatusIndicatorMenuInterface(MApplicationExtensionInterface*)));
    connect(extensionArea, SIGNAL(extensionInstantiated(MApplicationExtensionInterface*)), this, SLOT(setExtensionLayoutPosition(MApplicationExtensionInterface*)));
    extensionArea->setObjectName("StatusIndicatorMenuExtensionArea");
    extensionArea->setInProcessFilter(QRegExp("/statusindicatormenu-(alarms|internetconnection|presence|profile).desktop$"));
    extensionArea->setOutOfProcessFilter(QRegExp("$^"));
    extensionArea->setOrder((QStringList() << "statusindicatormenu-alarms.desktop" << "statusindicatormenu-internetconnection.desktop" << "statusindicatormenu-presence.desktop" << "statusindicatormenu-profile.desktop"));
    extensionArea->init();

    // Create a button for accessing the full settings
    //% "Settings"
    MButton *settingsButton = new MButton(qtTrId("qtn_stat_menu_settings"));
    settingsButton->setObjectName("StatusIndicatorMenuTopRowExtensionButton");
    settingsButton->setViewType(MButton::iconType);
    settingsButton->setIconID("icon-m-status-menu-settings");
    settingsButton->setLayoutPosition(M::VerticalBottomPosition);
    connect(settingsButton, SIGNAL(clicked()), controller, SLOT(launchControlPanelAndHide()));

    // Put the extension area and the settings button to a horizontal layout
    QGraphicsLinearLayout *vlayout = new QGraphicsLinearLayout(Qt::Vertical);
    vlayout->setContentsMargins(0, 0, 0, 0);
    vlayout->setSpacing(0);
    vlayout->addItem(extensionArea);
    vlayout->addItem(settingsButton);

    // Create a container widget for extension area and settings button layout
    containerWidget = new MWidgetController(controller);
    containerWidget->setView(new MWidgetView(containerWidget));
    containerWidget->setObjectName("StatusIndicatorMenuExtensionAreaWidget");
    containerWidget->setLayout(vlayout);

    QGraphicsLinearLayout *hlayout = new QGraphicsLinearLayout(Qt::Horizontal);
    hlayout->setContentsMargins(0, 0, 0, 0);
    hlayout->setSpacing(0);
    hlayout->addStretch();
    hlayout->addItem(containerWidget);
    hlayout->addStretch();

    controller->setLayout(hlayout);
}

Here is the call graph for this function:

StatusIndicatorMenuVerticalView::~StatusIndicatorMenuVerticalView (  )  [virtual]

Destroys the notification area view.

Definition at line 89 of file statusindicatormenuverticalview.cpp.

{
    delete containerWidget;
    delete statusBar;
}


Member Function Documentation

void StatusIndicatorMenuVerticalView::setExtensionLayoutPosition ( MApplicationExtensionInterface extension  )  [slot]

Sets the tile layout position of the extension's widget to vertical center.

Definition at line 80 of file statusindicatormenuverticalview.cpp.

{
    MWidgetController *widget = dynamic_cast<MWidgetController*>(extension->widget());

    if (widget) {
        widget->setLayoutPosition(M::VerticalCenterPosition);
    }
}


The documentation for this class was generated from the following files:

Copyright © 2010 Nokia Corporation Generated on Thu Nov 4 2010 18:19:35
Doxygen 1.7.1
MeeGo Touch