ginebra2/DualButtonToolbarSnippet.cpp
changeset 3 0954f5dd2cd0
equal deleted inserted replaced
1:b0dd75e285d2 3:0954f5dd2cd0
       
     1 /*
       
     2  * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
       
     3  * All rights reserved.
       
     4  *
       
     5  * This program is free software: you can redistribute it and/or modify
       
     6  * it under the terms of the GNU Lesser General Public License as published by
       
     7  * the Free Software Foundation, version 2.1 of the License.
       
     8  *
       
     9  * This program is distributed in the hope that it will be useful,
       
    10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
       
    12  * GNU Lesser General Public License for more details.
       
    13  *
       
    14  * You should have received a copy of the GNU Lesser General Public License
       
    15  * along with this program.  If not,
       
    16  * see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
       
    17  *
       
    18  * Description:
       
    19  * This class extends ToolbarSnippet class to hold the
       
    20  * windows view toolbar buttons
       
    21  *
       
    22  */
       
    23 
       
    24 #include "DualButtonToolbarSnippet.h"
       
    25 #include "ViewStack.h"
       
    26 #include <QDebug>
       
    27 
       
    28 namespace GVA {
       
    29 
       
    30     DualButtonToolbarSnippet::DualButtonToolbarSnippet(const QString& elementId, ChromeWidget * chrome,
       
    31                                                        const QWebElement & element)
       
    32         : ToolbarSnippet(elementId, chrome, element)
       
    33     {      
       
    34         m_type = "";
       
    35     }
       
    36 
       
    37     DualButtonToolbarSnippet::~DualButtonToolbarSnippet()
       
    38     {
       
    39     }
       
    40 
       
    41     /*! 
       
    42       Update the item spacing based on the new size
       
    43     */
       
    44     void DualButtonToolbarSnippet::updateSize(QSize size) {
       
    45         setChildSpacing(size.width());
       
    46         ToolbarSnippet::updateSize(size);
       
    47     }
       
    48 
       
    49     /*! 
       
    50       Update the item spacing based on the chrome width
       
    51     */
       
    52     void DualButtonToolbarSnippet::updateOwnerArea() {
       
    53       setChildSpacing(m_chrome->layout()->size().width());
       
    54         ToolbarSnippet::updateOwnerArea();
       
    55     }
       
    56 
       
    57     void DualButtonToolbarSnippet::setChildSpacing(int width) {
       
    58         QGraphicsLinearLayout* l = layout();
       
    59 
       
    60         // If all the buttons have been added, set the spacing for the last button
       
    61         if (l->count() == DUAL_TOOLBAR_NUM_BUTTONS ) {
       
    62             int spacing = width - l->itemAt(0)->geometry().width() -  l->itemAt(l->count()-1)->geometry().width();
       
    63             l->setItemSpacing(l->count()-1, spacing);
       
    64         }
       
    65         ToolbarSnippet::updateOwnerArea();
       
    66     }
       
    67 
       
    68 } // end of namespace GVA
       
    69 
       
    70 
       
    71