src/hbcore/gui/hbtoolbarextension.cpp
author hgs
Mon, 18 Oct 2010 18:23:13 +0300
changeset 34 ed14f46c0e55
parent 7 923ff622b8b9
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/****************************************************************************
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
**
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
** Copyright (C) 2008-2010 Nokia Corporation and/or its subsidiary(-ies).
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     4
** All rights reserved.
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     5
** Contact: Nokia Corporation (developer.feedback@nokia.com)
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     6
**
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     7
** This file is part of the HbCore module of the UI Extensions for Mobile.
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
**
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     9
** GNU Lesser General Public License Usage
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    10
** This file may be used under the terms of the GNU Lesser General Public
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    11
** License version 2.1 as published by the Free Software Foundation and
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    12
** appearing in the file LICENSE.LGPL included in the packaging of this file.
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
** Please review the following information to ensure the GNU Lesser General
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    14
** Public License version 2.1 requirements will be met:
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    15
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    16
**
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
** In addition, as a special exception, Nokia gives you certain additional
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    18
** rights.  These rights are described in the Nokia Qt LGPL Exception
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    19
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    20
**
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
** If you have questions regarding the use of this file, please contact
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
** Nokia at developer.feedback@nokia.com.
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
**
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
****************************************************************************/
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    25
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    26
#include "hbtoolbarextension.h"
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    27
#include "hbtoolbarextension_p.h"
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include "hbaction.h"
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include "hbtoolbutton.h"
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    30
#include "hbtoolbutton_p.h"
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    31
#include "hbdialog_p.h"
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    32
#include "hbdeviceprofile.h"
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    33
#include "hbtoolbar_p.h"
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    34
#include "hbmainwindow.h"
34
hgs
parents: 7
diff changeset
    35
#include "hbstyle_p.h"
hgs
parents: 7
diff changeset
    36
#include <hbframeitem.h>
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    37
#ifdef HB_EFFECTS
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
#include <hbeffect.h>
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
#include <hbeffectinternal_p.h>
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
bool HbToolBarExtensionPrivate::extensionEffectsLoaded = false;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
#endif
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    43
#include <QDebug>
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    44
#include <QGraphicsGridLayout>
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
#include <QEventLoop>
34
hgs
parents: 7
diff changeset
    46
#include <QGraphicsLinearLayout>
hgs
parents: 7
diff changeset
    47
    
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    48
/*!
34
hgs
parents: 7
diff changeset
    49
  @stable
hgs
parents: 7
diff changeset
    50
  @hbcore
hgs
parents: 7
diff changeset
    51
  \class HbToolBarExtension
hgs
parents: 7
diff changeset
    52
  \brief The HbToolBarExtension class provides a popup extension to a toolbar.
hgs
parents: 7
diff changeset
    53
    
hgs
parents: 7
diff changeset
    54
  You can use a toolbar extension to extend the main toolbar
hgs
parents: 7
diff changeset
    55
  (HbToolBar class) in a view with additional actions that are placed
hgs
parents: 7
diff changeset
    56
  in a subsidiary toolbar. Alternatively, a toolbar extension can
hgs
parents: 7
diff changeset
    57
  contain a widget, such as a list or grid. This is useful, for
hgs
parents: 7
diff changeset
    58
  example, for providing navigation between views when there are more
hgs
parents: 7
diff changeset
    59
  views than can fit as actions on the toolbar itself.
hgs
parents: 7
diff changeset
    60
    
hgs
parents: 7
diff changeset
    61
  A toolbar can contain more than one toolbar extension. A toolbar
hgs
parents: 7
diff changeset
    62
  extension opens when the user triggers the toolbar action that is
hgs
parents: 7
diff changeset
    63
  associated with the extension, usually by tapping it. The user
hgs
parents: 7
diff changeset
    64
  dismisses the toolbar extension by selecting an option (which runs a
hgs
parents: 7
diff changeset
    65
  command) or by tapping outside the extension.
hgs
parents: 7
diff changeset
    66
    
hgs
parents: 7
diff changeset
    67
  The following image shows a toolbar that has two extensions: the
hgs
parents: 7
diff changeset
    68
  leftmost one contains a list widget and the rightmost one contains
hgs
parents: 7
diff changeset
    69
  three standard actions.
hgs
parents: 7
diff changeset
    70
    
hgs
parents: 7
diff changeset
    71
  \image html toolbarextension.png A toolbar that has two extensions
hgs
parents: 7
diff changeset
    72
    
hgs
parents: 7
diff changeset
    73
  Use addAction() to create an action and add it to the toolbar
hgs
parents: 7
diff changeset
    74
  extension. There are several overloads of this function, which allow
hgs
parents: 7
diff changeset
    75
  you to specify both a text and image or just a text and also to
hgs
parents: 7
diff changeset
    76
  connect the action's \link HbAction::triggered() triggered()\endlink
hgs
parents: 7
diff changeset
    77
  signal to a slot on a receiver object. Use the insertAction(),
hgs
parents: 7
diff changeset
    78
  addActions() and insertActions() methods (which are inherited from
hgs
parents: 7
diff changeset
    79
  QGraphicsWidget) to add existing actions to the toolbar
hgs
parents: 7
diff changeset
    80
  extension. Use clearActions() to clear all of the actions and
hgs
parents: 7
diff changeset
    81
  removeAction() to remove individual actions.
hgs
parents: 7
diff changeset
    82
    
hgs
parents: 7
diff changeset
    83
  The order of the actions within the toolbar extension controls the
hgs
parents: 7
diff changeset
    84
  order of the buttons that the user sees. addAction() and
hgs
parents: 7
diff changeset
    85
  addActions() append the actions to the end of the toolbar and
hgs
parents: 7
diff changeset
    86
  insertAction() and insertActions() enable you to specify the
hgs
parents: 7
diff changeset
    87
  required position.
hgs
parents: 7
diff changeset
    88
    
hgs
parents: 7
diff changeset
    89
  You can use the HbDialog API to fill the toolbar extension popup
hgs
parents: 7
diff changeset
    90
  with widgets (such as a list, grid or line edit). If you do this,
hgs
parents: 7
diff changeset
    91
  any actions that you add to the toolbar extension will not be
hgs
parents: 7
diff changeset
    92
  visible.
hgs
parents: 7
diff changeset
    93
    
hgs
parents: 7
diff changeset
    94
  \section _usecases_hbtoolbarextension Using the HbToolBarExtension class
hgs
parents: 7
diff changeset
    95
    
hgs
parents: 7
diff changeset
    96
  \subsection _uc_001_hbtoolbarextension Creating a toolbar extension containing actions
hgs
parents: 7
diff changeset
    97
  The following example demonstrates how to add a toolbar extension button to the toolbar
hgs
parents: 7
diff changeset
    98
  and how to add actions to the toolbar extension.
hgs
parents: 7
diff changeset
    99
  \snippet{ultimatecodesnippet/ultimatecodesnippet.cpp,27}
hgs
parents: 7
diff changeset
   100
    
hgs
parents: 7
diff changeset
   101
  \subsection _uc_002_hbtoolbarextension Creating a toolbar extension containing a widget
hgs
parents: 7
diff changeset
   102
    
hgs
parents: 7
diff changeset
   103
  The following example demonstrates creating a toolbar extension containing a single-selection
hgs
parents: 7
diff changeset
   104
  list widget.
hgs
parents: 7
diff changeset
   105
    
hgs
parents: 7
diff changeset
   106
  \code
hgs
parents: 7
diff changeset
   107
  // Create the toolbar.
hgs
parents: 7
diff changeset
   108
  HbToolBar *toolBar = new HbToolBar();
hgs
parents: 7
diff changeset
   109
    
hgs
parents: 7
diff changeset
   110
  // Add the action that will open the toolbar extension.
hgs
parents: 7
diff changeset
   111
  HbAction *radioAction = toolBar->addAction("Channel");
hgs
parents: 7
diff changeset
   112
    
hgs
parents: 7
diff changeset
   113
  // Create the toolbar extension.
hgs
parents: 7
diff changeset
   114
  HbToolBarExtension *radioExtension = new HbToolBarExtension();
hgs
parents: 7
diff changeset
   115
    
hgs
parents: 7
diff changeset
   116
  // Set the heading.
hgs
parents: 7
diff changeset
   117
  HbLabel* heading = new HbLabel(QString("Channel"));
hgs
parents: 7
diff changeset
   118
  radioExtension->setHeadingWidget(heading);
hgs
parents: 7
diff changeset
   119
    
hgs
parents: 7
diff changeset
   120
  // Create a list widget.
hgs
parents: 7
diff changeset
   121
  HbListWidget *list = new HbListWidget();
hgs
parents: 7
diff changeset
   122
  list->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Minimum);
hgs
parents: 7
diff changeset
   123
    
hgs
parents: 7
diff changeset
   124
  // Make the list single selection.
hgs
parents: 7
diff changeset
   125
  list->setSelectionMode(HbAbstractItemView::SingleSelection);
hgs
parents: 7
diff changeset
   126
    
hgs
parents: 7
diff changeset
   127
  // Add list items.
hgs
parents: 7
diff changeset
   128
  list->addItem("574.7");
hgs
parents: 7
diff changeset
   129
  list->addItem("976.5");
hgs
parents: 7
diff changeset
   130
  list->addItem("108.67");
hgs
parents: 7
diff changeset
   131
    
hgs
parents: 7
diff changeset
   132
  // Add the list widget to the toolbar extension object.
hgs
parents: 7
diff changeset
   133
  radioExtension->setContentWidget(list);
hgs
parents: 7
diff changeset
   134
    
hgs
parents: 7
diff changeset
   135
  // Add the toolbar extension to the toolbar action that will open it.
hgs
parents: 7
diff changeset
   136
  radioAction->setToolBarExtension(radioExtension);
hgs
parents: 7
diff changeset
   137
  \endcode
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   138
*/
34
hgs
parents: 7
diff changeset
   139
    
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   140
/*!
34
hgs
parents: 7
diff changeset
   141
  \fn int HbToolBarExtension::type() const
hgs
parents: 7
diff changeset
   142
*/
hgs
parents: 7
diff changeset
   143
    
hgs
parents: 7
diff changeset
   144
/*
6
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   145
  \primitives
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   146
  \primitive{background} HbFrameItem representing the extension background.
34
hgs
parents: 7
diff changeset
   147
*/
hgs
parents: 7
diff changeset
   148
    
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   149
HbToolBarExtensionPrivate::HbToolBarExtensionPrivate() :
34
hgs
parents: 7
diff changeset
   150
    HbDialogPrivate(),
hgs
parents: 7
diff changeset
   151
    mToolButtons(),
hgs
parents: 7
diff changeset
   152
    mLayout(0),
hgs
parents: 7
diff changeset
   153
    extensionAction(0),
hgs
parents: 7
diff changeset
   154
    mAlignment(Qt::AlignTop),
hgs
parents: 7
diff changeset
   155
    mDefaultContentWidget(false),
hgs
parents: 7
diff changeset
   156
    // default values, in case CSS parsing fails
hgs
parents: 7
diff changeset
   157
    mRowsPortrait(4),
hgs
parents: 7
diff changeset
   158
    mRowsLandscape(3),
hgs
parents: 7
diff changeset
   159
    mColsPortrait(3),
hgs
parents: 7
diff changeset
   160
    mColsLandscape(4),
hgs
parents: 7
diff changeset
   161
    lazyInitDone(false),
hgs
parents: 7
diff changeset
   162
    orientationConnectDone(false),
hgs
parents: 7
diff changeset
   163
    mExtendedButton(0),
hgs
parents: 7
diff changeset
   164
    mToolBar(0)
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   165
{
34
hgs
parents: 7
diff changeset
   166
    frameType = HbPopup::Weak;
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   169
HbToolBarExtensionPrivate::~HbToolBarExtensionPrivate()
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   170
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   171
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   172
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   173
void HbToolBarExtensionPrivate::init()
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   174
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   175
    Q_Q(HbToolBarExtension);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   176
    extensionAction = new HbAction(q);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   177
    extensionAction->setToolBarExtension(q);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   178
    q->setTimeout(HbDialog::NoTimeout);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   179
    q->setDismissPolicy(HbPopup::TapOutside);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   180
    q->setBackgroundFaded(false);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   181
    q->setFlag(QGraphicsItem::ItemClipsChildrenToShape);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   182
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   183
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   184
void HbToolBarExtensionPrivate::doLazyInit()
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   185
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   186
    if ( !lazyInitDone ) {
34
hgs
parents: 7
diff changeset
   187
        Q_Q(HbToolBarExtension);
hgs
parents: 7
diff changeset
   188
        QGraphicsObject *backgroundItem = q->style()->createPrimitive(HbStyle::PT_FrameItem, "background", q);
hgs
parents: 7
diff changeset
   189
        
hgs
parents: 7
diff changeset
   190
        HbStyleFramePrimitiveData data;
hgs
parents: 7
diff changeset
   191
        q->initPrimitiveData(&data, backgroundItem);
hgs
parents: 7
diff changeset
   192
        q->style()->updatePrimitive(backgroundItem, &data, 0);
hgs
parents: 7
diff changeset
   193
        q->setBackgroundItem(backgroundItem, -1);
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
#ifdef HB_EFFECTS
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
        if (!extensionEffectsLoaded){
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   196
            HbEffectInternal::add("HB_TBE", "tbe_button_click", "clicked");
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   197
            extensionEffectsLoaded = true;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
        }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
#endif
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
        lazyInitDone = true;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   203
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
void HbToolBarExtensionPrivate::initialiseContent()
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   205
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
    Q_Q(HbToolBarExtension);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   208
    QGraphicsWidget *tbeContentWidget = q->contentWidget();
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
    if ( !tbeContentWidget ) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
        tbeContentWidget = new QGraphicsWidget(q);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
        q->setContentWidget( tbeContentWidget );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
        mDefaultContentWidget = true;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   214
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   217
/*!
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
    Creates a new grid layout and populates tool buttons into it.
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   219
 */
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   220
void HbToolBarExtensionPrivate::doLayout()
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   221
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   222
    Q_Q(HbToolBarExtension);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   223
    if (!q->mainWindow() ) return;  // workaround unittest
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   224
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   225
    int columns( q->mainWindow()->orientation() == Qt::Vertical ? 
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
                 mColsPortrait : mColsLandscape );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
    int maxRow( q->mainWindow()->orientation() == Qt::Vertical ? 
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
                mRowsPortrait : mRowsLandscape );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   229
    int column (0);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   230
    int row(0);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   231
    initialiseContent();
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   232
    if (!mDefaultContentWidget)
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   233
        return;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   234
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
    foreach (HbToolButton* button, mToolButtons) {
6
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   236
        button->setVisible(HbToolButtonPrivate::d_ptr(button)->action->isVisible());
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
    mLayout = new QGraphicsGridLayout();
34
hgs
parents: 7
diff changeset
   240
    mLayout->setContentsMargins(0, 0, 0, 0);
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   241
    mLayout->setSpacing(0.0);  // if non zero spacing needed, add to css
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   242
    for ( int i(0), j(0), ie(mToolButtons.count()); i < ie; ++i ) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   243
        HbToolButton *button = mToolButtons.at(i);
6
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   244
        if ( HbToolButtonPrivate::d_ptr(button)->action->isVisible() ) {
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   245
            // Calculate the row and column indices
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   246
            column = ( j % columns );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   247
            row = ( (j - column) / columns );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   248
            if ( row >= maxRow ) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   249
                qWarning() << "Too many items in extension!";
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   250
            }
1
f7ac710697a9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   251
            HbToolButtonPrivate::d_ptr(button)->setExtensionBackgroundVisible(true);
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   252
            mLayout->addItem( button, row, column );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   253
            ++j;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   254
        }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   255
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   256
    q->contentWidget()->setLayout(mLayout);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   257
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   258
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   259
void HbToolBarExtensionPrivate::placeToolBarExtension()
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   260
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   261
    Q_Q(HbToolBarExtension);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   262
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   263
    if (mExtendedButton) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   264
        if (mAlignment == Qt::AlignLeft) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   265
            QPointF position = QPointF(mExtendedButton->scenePos().x(),
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   266
                                       mExtendedButton->scenePos().y() +
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   267
                                       (mExtendedButton->geometry().height()/2));
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   268
            q->setPreferredPos(position, HbPopup::RightEdgeCenter);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   269
        } else if (mAlignment == Qt::AlignRight) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   270
            QPointF position = QPointF(mExtendedButton->scenePos().x() +
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   271
                                       (mExtendedButton->geometry().width()),
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   272
                                       mExtendedButton->scenePos().y() +
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   273
                                       (mExtendedButton->geometry().height()/2));
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   274
            q->setPreferredPos(position, HbPopup::LeftEdgeCenter);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
        } else if (mAlignment == Qt::AlignTop) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
            QPointF position = QPointF(mExtendedButton->scenePos().x() +
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
                                       (mExtendedButton->geometry().width()/2),
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   278
                                       mExtendedButton->scenePos().y());
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   279
            q->setPreferredPos(position, HbPopup::BottomEdgeCenter);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   280
        }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   281
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   282
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   283
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   284
void HbToolBarExtensionPrivate::actionAdded( QActionEvent *event )
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   285
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   286
    Q_Q(HbToolBarExtension);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   287
6
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   288
    HbToolButton *button = 0;
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   289
6
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   290
    HbAction *hbAction = qobject_cast<HbAction *>( event->action() );
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   291
6
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   292
    if (hbAction) {
7
923ff622b8b9 Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 6
diff changeset
   293
        if (!q->contentWidget()) {
923ff622b8b9 Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 6
diff changeset
   294
            initialiseContent(); // create now to prevent mem leak below
923ff622b8b9 Revision: 201025
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 6
diff changeset
   295
        }
6
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   296
        button = new HbToolButton(hbAction, q->contentWidget());
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   297
    } else {
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   298
        button = new HbToolButton(q->contentWidget());
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   299
        HbToolButtonPrivate::d_ptr(button)->action = event->action();
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   300
        QObject::connect(event->action(), SIGNAL(triggered()), button, SLOT(_q_actionTriggered()));
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   301
        QObject::connect(event->action(), SIGNAL(changed()), button, SLOT(_q_actionChanged()));
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   302
    }
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   303
6
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   304
    if ((hbAction && !hbAction->icon().isNull()) || !event->action()->icon().isNull()) {
34
hgs
parents: 7
diff changeset
   305
        q->setProperty("icon", true);
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   306
    } else {
34
hgs
parents: 7
diff changeset
   307
        q->setProperty("icon", false);
hgs
parents: 7
diff changeset
   308
    }
hgs
parents: 7
diff changeset
   309
    if (!HbToolButtonPrivate::d_ptr(button)->action->text().isEmpty()) {
hgs
parents: 7
diff changeset
   310
        q->setProperty("text", true);
hgs
parents: 7
diff changeset
   311
    } else {
hgs
parents: 7
diff changeset
   312
        q->setProperty("text", false);
6
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   313
    }
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   314
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   315
    button->setProperty("toolbutton_extension_layout", true);
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   316
    button->setSizePolicy( QSizePolicy( QSizePolicy::Preferred,
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   317
                                        QSizePolicy::Preferred) );
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   318
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   319
    // Find out index where to insert button
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   320
    int index = q->actions().indexOf( event->action() );
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   321
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   322
    mToolButtons.insert( index, button );
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   323
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   324
    q->connect(button, SIGNAL(clicked()), q, SLOT(_q_animateButtonClicked()));
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   325
    q->connect(event->action(), SIGNAL(triggered()), q, SLOT(close()));
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   326
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   327
    if (contentWidget){
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   328
        doLayout();
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   329
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   330
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   331
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   332
void HbToolBarExtensionPrivate::actionRemoved( QActionEvent *event )
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   333
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
    for ( int i(0); i < mToolButtons.count(); ++i ) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   335
        HbToolButton *button = mToolButtons.at(i);
6
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   336
        if ( HbToolButtonPrivate::d_ptr(button)->action == event->action() ) {
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   337
            mToolButtons.removeAt(i);                   
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   338
            if (contentWidget) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   339
                mLayout->removeAt(i);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   340
                doLayout();
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
            }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   342
            delete button;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   343
            return;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   344
        }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   345
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   346
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   347
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   348
void HbToolBarExtensionPrivate::actionChanged()
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   349
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
    if (contentWidget) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
        doLayout(); // for action()->setVisible(visible) support
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
void HbToolBarExtensionPrivate::setAlignment(Qt::Alignment alignment)
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   356
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
    mAlignment = alignment;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
void HbToolBarExtensionPrivate::setExtensionAction(HbAction *action)
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   362
    Q_Q(HbToolBarExtension);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
    if (extensionAction == action) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
        return;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   365
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
    if (extensionAction) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   367
        delete extensionAction;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   368
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
    extensionAction = action;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   370
    extensionAction->setToolBarExtension(q);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   371
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   372
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   373
34
hgs
parents: 7
diff changeset
   374
void HbToolBarExtensionPrivate::_q_toolbarOrientationChanged()
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   375
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
    Q_Q(HbToolBarExtension);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
    if (mToolBar) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
        if (mToolBar->orientation() == Qt::Horizontal) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
            HbToolBarExtensionPrivate::d_ptr(q)->setAlignment(Qt::AlignTop);
34
hgs
parents: 7
diff changeset
   380
        } else if (mToolBar->orientation() == Qt::Vertical
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
                   && q->layoutDirection() == Qt::LeftToRight) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   382
            HbToolBarExtensionPrivate::d_ptr(q)->setAlignment(Qt::AlignLeft);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   383
        } else {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   384
            HbToolBarExtensionPrivate::d_ptr(q)->setAlignment(Qt::AlignRight);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   385
        }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   386
    }
34
hgs
parents: 7
diff changeset
   387
}
hgs
parents: 7
diff changeset
   388
hgs
parents: 7
diff changeset
   389
void HbToolBarExtensionPrivate::_q_orientationChanged()
hgs
parents: 7
diff changeset
   390
{
hgs
parents: 7
diff changeset
   391
    Q_Q(HbToolBarExtension);
hgs
parents: 7
diff changeset
   392
    q->close();
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
void HbToolBarExtensionPrivate::_q_animateButtonClicked()
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
#ifdef HB_EFFECTS
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   398
    Q_Q(HbToolBarExtension);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   399
    HbToolButton *button = static_cast<HbToolButton *>(q->sender());
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   400
    if (button) {
6
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   401
        HbEffect::start(button, "HB_TBE", "clicked");
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   403
#endif
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   406
// ======== MEMBER FUNCTIONS ========
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   407
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
/*!
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
    Constructs a new HbToolBarExtension. \a parent graphics item can be set.
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
 */
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   411
HbToolBarExtension::HbToolBarExtension( QGraphicsItem *parent ) :
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
        HbDialog(*new HbToolBarExtensionPrivate(), parent)
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   413
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   414
    Q_D(HbToolBarExtension);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   415
    d->q_ptr = this;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   416
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   417
    d->init();
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   418
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   420
/*!
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   421
    Destructor.
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   422
 */
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   423
HbToolBarExtension::~HbToolBarExtension()
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   424
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   425
}
34
hgs
parents: 7
diff changeset
   426
    
hgs
parents: 7
diff changeset
   427
    
hgs
parents: 7
diff changeset
   428
/*!  
hgs
parents: 7
diff changeset
   429
  Creates a new action with the given \a text and adds the action
hgs
parents: 7
diff changeset
   430
  to the end of the toolbar extension, provided space is
hgs
parents: 7
diff changeset
   431
  available. The space available in a toolbar extension depends on the
hgs
parents: 7
diff changeset
   432
  screen size and orientation. When there is no free space, this
hgs
parents: 7
diff changeset
   433
  function does nothing. There is currently no notification when there
hgs
parents: 7
diff changeset
   434
  is no free space.
hgs
parents: 7
diff changeset
   435
    
hgs
parents: 7
diff changeset
   436
  \overload
hgs
parents: 7
diff changeset
   437
  \return The new action.
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   438
*/
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   439
HbAction *HbToolBarExtension::addAction( const QString &text )
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   440
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   441
    HbAction *action = new HbAction( text, this );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   442
    addAction(action);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   443
    return action;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   444
}
34
hgs
parents: 7
diff changeset
   445
    
hgs
parents: 7
diff changeset
   446
    
hgs
parents: 7
diff changeset
   447
/*!  
hgs
parents: 7
diff changeset
   448
  Creates a new action with the given \a icon and \a text and adds
hgs
parents: 7
diff changeset
   449
  the action to the end of the toolbar extension, provided space is
hgs
parents: 7
diff changeset
   450
  available. The space available in a toolbar extension depends on the
hgs
parents: 7
diff changeset
   451
  screen size and orientation. When there is no free space, this
hgs
parents: 7
diff changeset
   452
  function does nothing. There is currently no notification when there
hgs
parents: 7
diff changeset
   453
  is no free space.
hgs
parents: 7
diff changeset
   454
    
hgs
parents: 7
diff changeset
   455
  \overload
hgs
parents: 7
diff changeset
   456
  \return The new action.
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   457
*/
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   458
HbAction *HbToolBarExtension::addAction( const HbIcon &icon, 
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   459
                                         const QString &text )
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   460
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   461
    HbAction *action = new HbAction( icon, text, this );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   462
    addAction(action);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   463
    return action;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   464
}
34
hgs
parents: 7
diff changeset
   465
    
hgs
parents: 7
diff changeset
   466
    
hgs
parents: 7
diff changeset
   467
/*!  
hgs
parents: 7
diff changeset
   468
  Creates a new action with the given \a text, adds the action to
hgs
parents: 7
diff changeset
   469
  the end of the toolbar extension (provided space is available), and
hgs
parents: 7
diff changeset
   470
  connects the action's \link HbAction::triggered()
hgs
parents: 7
diff changeset
   471
  triggered()\endlink signal to a receiver object's slot.
hgs
parents: 7
diff changeset
   472
    
hgs
parents: 7
diff changeset
   473
  The space available in a toolbar extension depends on the screen
hgs
parents: 7
diff changeset
   474
  size and orientation.  When there is no free space, this function
hgs
parents: 7
diff changeset
   475
  does not add the action to the toolbar extension. There is currently
hgs
parents: 7
diff changeset
   476
  no notification when there is no free space.
hgs
parents: 7
diff changeset
   477
    
hgs
parents: 7
diff changeset
   478
  \overload
hgs
parents: 7
diff changeset
   479
  \param text The text for the new action.
hgs
parents: 7
diff changeset
   480
  \param receiver The object that is to receive the new action's signal.
hgs
parents: 7
diff changeset
   481
  \param member The slot on the receiver to which the action's signal is to connect.
hgs
parents: 7
diff changeset
   482
  \return The new action.
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   483
*/
34
hgs
parents: 7
diff changeset
   484
HbAction *HbToolBarExtension::addAction( const QString &text,
hgs
parents: 7
diff changeset
   485
                                         const QObject *receiver,
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   486
                                         const char *member )
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   487
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
    HbAction *action = new HbAction( text, this );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   489
    QObject::connect( action, SIGNAL( triggered(bool) ), receiver, member );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   490
    addAction(action);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   491
    return action;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   492
}
34
hgs
parents: 7
diff changeset
   493
    
hgs
parents: 7
diff changeset
   494
/*!  
hgs
parents: 7
diff changeset
   495
  Creates a new action with the given \a icon and \a text, adds the
hgs
parents: 7
diff changeset
   496
  action to the end of the toolbar extension (provided space is
hgs
parents: 7
diff changeset
   497
  available), and connects the action's \link HbAction::triggered()
hgs
parents: 7
diff changeset
   498
  triggered()\endlink signal to a receiver object's slot.
hgs
parents: 7
diff changeset
   499
    
hgs
parents: 7
diff changeset
   500
  The space available in a toolbar extension depends on the screen
hgs
parents: 7
diff changeset
   501
  size and orientation.  When there is no free space, this function
hgs
parents: 7
diff changeset
   502
  does not add the action to the toolbar extension. There is currently
hgs
parents: 7
diff changeset
   503
  no notification when there is no free space.
hgs
parents: 7
diff changeset
   504
    
hgs
parents: 7
diff changeset
   505
  \overload
hgs
parents: 7
diff changeset
   506
  \param icon The image for the new action.
hgs
parents: 7
diff changeset
   507
  \param text The text for the new action.
hgs
parents: 7
diff changeset
   508
  \param receiver The object that is to receive the new action's signal.
hgs
parents: 7
diff changeset
   509
  \param member The slot on the receiver to which the action's signal is to connect.
hgs
parents: 7
diff changeset
   510
  \return The new action.
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   511
*/
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   512
HbAction *HbToolBarExtension::addAction( const HbIcon &icon, 
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   513
                                         const QString &text, 
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   514
                                         const QObject *receiver, 
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   515
                                         const char *member )
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   516
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   517
    HbAction *action = new HbAction( icon, text, this );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   518
    QObject::connect( action, SIGNAL( triggered(bool) ), receiver, member );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   519
    addAction(action);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   520
    return action;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   521
}
34
hgs
parents: 7
diff changeset
   522
    
hgs
parents: 7
diff changeset
   523
/*!  
hgs
parents: 7
diff changeset
   524
  Returns the action associated with this toolbar extension. This
hgs
parents: 7
diff changeset
   525
  is the action in the toolbar to which this toolbar extension belongs
hgs
parents: 7
diff changeset
   526
  that opens this toolbar extension when triggered.
hgs
parents: 7
diff changeset
   527
*/
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   528
HbAction *HbToolBarExtension::extensionAction() const
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   529
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   530
    Q_D( const HbToolBarExtension );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   531
    return d->extensionAction;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   532
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   533
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   534
/*!
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   535
    Protected constructor.
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   536
*/
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   537
HbToolBarExtension::HbToolBarExtension( HbToolBarExtensionPrivate &dd, QGraphicsItem *parent ) :
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   538
        HbDialog( dd, parent )
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   539
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   540
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   541
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   542
/*!
34
hgs
parents: 7
diff changeset
   543
    
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   544
 */
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   545
bool HbToolBarExtension::event( QEvent *event )
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   546
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   547
    Q_D( HbToolBarExtension );    
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   548
    if ( event->type() == QEvent::ActionAdded ) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   549
        d->actionAdded( static_cast<QActionEvent *>(event) );
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
        return true;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   551
    } else if ( event->type() == QEvent::ActionRemoved ) {
34
hgs
parents: 7
diff changeset
   552
        d->actionRemoved( static_cast<QActionEvent *>(event) );
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   553
        return true;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   554
    } else if (event->type() == QEvent::ActionChanged ) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   555
        d->actionChanged();
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
        return true;
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
    } else if ( event->type() == QEvent::GraphicsSceneResize ) {
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   558
        d->doLayout();
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   559
        // fall trough
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   560
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   561
    return HbDialog::event(event);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   562
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   563
6
c3690ec91ef8 Revision: 201023
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 1
diff changeset
   564
/*!
34
hgs
parents: 7
diff changeset
   565
    
hgs
parents: 7
diff changeset
   566
 */
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   567
void HbToolBarExtension::polish( HbStyleParameters &params )
34
hgs
parents: 7
diff changeset
   568
{
hgs
parents: 7
diff changeset
   569
    if (isVisible()) {
hgs
parents: 7
diff changeset
   570
        Q_D(HbToolBarExtension);
hgs
parents: 7
diff changeset
   571
        d->doLazyInit();
hgs
parents: 7
diff changeset
   572
        const QLatin1String RowsPortrait("max-rows-portrait");
hgs
parents: 7
diff changeset
   573
        const QLatin1String RowsLandscape("max-rows-landscape");
hgs
parents: 7
diff changeset
   574
        const QLatin1String ColsPortrait("max-columns-portrait");
hgs
parents: 7
diff changeset
   575
        const QLatin1String ColsLandscape("max-columns-landscape");
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   576
34
hgs
parents: 7
diff changeset
   577
        params.addParameter( RowsPortrait );
hgs
parents: 7
diff changeset
   578
        params.addParameter( RowsLandscape );
hgs
parents: 7
diff changeset
   579
        params.addParameter( ColsPortrait );
hgs
parents: 7
diff changeset
   580
        params.addParameter( ColsLandscape );
hgs
parents: 7
diff changeset
   581
        d->initialiseContent();
hgs
parents: 7
diff changeset
   582
        if (d->mDefaultContentWidget) {
hgs
parents: 7
diff changeset
   583
            HbDialog::polish(params);
hgs
parents: 7
diff changeset
   584
            if ( params.value( RowsPortrait ).isValid()
hgs
parents: 7
diff changeset
   585
                && params.value( RowsLandscape ).isValid()
hgs
parents: 7
diff changeset
   586
                && params.value( ColsPortrait ).isValid()
hgs
parents: 7
diff changeset
   587
                && params.value( ColsLandscape ).isValid() ) {
hgs
parents: 7
diff changeset
   588
                d->mRowsPortrait  = params.value( RowsPortrait ).toInt();
hgs
parents: 7
diff changeset
   589
                d->mRowsLandscape = params.value( RowsLandscape ).toInt();
hgs
parents: 7
diff changeset
   590
                d->mColsPortrait  = params.value( ColsPortrait ).toInt();
hgs
parents: 7
diff changeset
   591
                d->mColsLandscape = params.value( ColsLandscape ).toInt();
hgs
parents: 7
diff changeset
   592
                d->doLayout();
hgs
parents: 7
diff changeset
   593
            }
hgs
parents: 7
diff changeset
   594
            return;
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   595
        }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   596
    }
34
hgs
parents: 7
diff changeset
   597
    HbDialog::polish(params);
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   598
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   599
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   600
QVariant HbToolBarExtension::itemChange(GraphicsItemChange change, 
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   601
                                        const QVariant &value)
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   602
{
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   603
    Q_D(HbToolBarExtension);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   604
    if (change == QGraphicsItem::ItemVisibleHasChanged) {
1
f7ac710697a9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   605
        if (value.toBool()) {
f7ac710697a9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   606
            HbMainWindow* w(mainWindow());
f7ac710697a9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   607
            if(w && !d->orientationConnectDone) {
34
hgs
parents: 7
diff changeset
   608
                QObject::disconnect( w , SIGNAL(aboutToChangeOrientation()), this, SLOT(_q_orientationChanged()));
hgs
parents: 7
diff changeset
   609
                QObject::connect( w , SIGNAL(aboutToChangeOrientation()), this, SLOT(_q_orientationChanged()));
1
f7ac710697a9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   610
                d->orientationConnectDone = true;
f7ac710697a9 Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents: 0
diff changeset
   611
            }
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   612
            d->placeToolBarExtension();
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   613
        }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   614
    }
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   615
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   616
    return HbDialog::itemChange(change, value);
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   617
}
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   618
34
hgs
parents: 7
diff changeset
   619
void HbToolBarExtension::initPrimitiveData(HbStylePrimitiveData *primitiveData,
hgs
parents: 7
diff changeset
   620
                                           const QGraphicsObject *primitive)
hgs
parents: 7
diff changeset
   621
{
hgs
parents: 7
diff changeset
   622
    Q_D(HbToolBarExtension);
hgs
parents: 7
diff changeset
   623
    HbDialog::initPrimitiveData(primitiveData, primitive);
hgs
parents: 7
diff changeset
   624
    QString itemName = HbStyle::itemName(primitive);
hgs
parents: 7
diff changeset
   625
    if (itemName == QLatin1String("background")) {
hgs
parents: 7
diff changeset
   626
        HbStyleFramePrimitiveData *data = hbstyleprimitivedata_cast<HbStyleFramePrimitiveData*>(primitiveData);
hgs
parents: 7
diff changeset
   627
        data->frameGraphicsName = d->frameType == HbPopup::Strong ?
hgs
parents: 7
diff changeset
   628
            QLatin1String("qtg_fr_popup") :
hgs
parents: 7
diff changeset
   629
            QLatin1String("qtg_fr_popup_trans");
hgs
parents: 7
diff changeset
   630
        data->frameType = HbFrameDrawer::NinePieces;
hgs
parents: 7
diff changeset
   631
    }
hgs
parents: 7
diff changeset
   632
}
hgs
parents: 7
diff changeset
   633
hgs
parents: 7
diff changeset
   634
void HbToolBarExtensionPrivate::doSetFrameType(HbPopup::FrameType newFrameType)
hgs
parents: 7
diff changeset
   635
{
hgs
parents: 7
diff changeset
   636
    Q_Q(HbToolBarExtension);
hgs
parents: 7
diff changeset
   637
    switch( newFrameType ) {
hgs
parents: 7
diff changeset
   638
    case HbPopup::Weak:
hgs
parents: 7
diff changeset
   639
        q->setBackgroundItem(new HbFrameItem(QLatin1String("qtg_fr_popup_trans"), HbFrameDrawer::NinePieces), -1);
hgs
parents: 7
diff changeset
   640
        break;
hgs
parents: 7
diff changeset
   641
    case HbPopup::Strong:
hgs
parents: 7
diff changeset
   642
    default:
hgs
parents: 7
diff changeset
   643
        q->setBackgroundItem(new HbFrameItem(QLatin1String("qtg_fr_popup"), HbFrameDrawer::NinePieces), -1);
hgs
parents: 7
diff changeset
   644
        break;
hgs
parents: 7
diff changeset
   645
    }
hgs
parents: 7
diff changeset
   646
hgs
parents: 7
diff changeset
   647
}
0
16d8024aca5e Revision: 201011
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   648
#include "moc_hbtoolbarextension.cpp"