diff -r b0dd75e285d2 -r 0954f5dd2cd0 ginebra2/DualButtonToolbarSnippet.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ginebra2/DualButtonToolbarSnippet.cpp Tue Jun 29 00:46:29 2010 -0400 @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). + * All rights reserved. + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation, version 2.1 of the License. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program. If not, + * see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/". + * + * Description: + * This class extends ToolbarSnippet class to hold the + * windows view toolbar buttons + * + */ + +#include "DualButtonToolbarSnippet.h" +#include "ViewStack.h" +#include + +namespace GVA { + + DualButtonToolbarSnippet::DualButtonToolbarSnippet(const QString& elementId, ChromeWidget * chrome, + const QWebElement & element) + : ToolbarSnippet(elementId, chrome, element) + { + m_type = ""; + } + + DualButtonToolbarSnippet::~DualButtonToolbarSnippet() + { + } + + /*! + Update the item spacing based on the new size + */ + void DualButtonToolbarSnippet::updateSize(QSize size) { + setChildSpacing(size.width()); + ToolbarSnippet::updateSize(size); + } + + /*! + Update the item spacing based on the chrome width + */ + void DualButtonToolbarSnippet::updateOwnerArea() { + setChildSpacing(m_chrome->layout()->size().width()); + ToolbarSnippet::updateOwnerArea(); + } + + void DualButtonToolbarSnippet::setChildSpacing(int width) { + QGraphicsLinearLayout* l = layout(); + + // If all the buttons have been added, set the spacing for the last button + if (l->count() == DUAL_TOOLBAR_NUM_BUTTONS ) { + int spacing = width - l->itemAt(0)->geometry().width() - l->itemAt(l->count()-1)->geometry().width(); + l->setItemSpacing(l->count()-1, spacing); + } + ToolbarSnippet::updateOwnerArea(); + } + +} // end of namespace GVA + + +