ginebra2/ContentToolbarChromeItem.cpp
author hgs
Fri, 15 Oct 2010 17:30:59 -0400
changeset 16 3c88a81ff781
parent 3 0954f5dd2cd0
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     1
/*
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     2
* Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies).
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     3
* All rights reserved.
3
hgs
parents: 0
diff changeset
     4
*
hgs
parents: 0
diff changeset
     5
* This program is free software: you can redistribute it and/or modify
hgs
parents: 0
diff changeset
     6
* it under the terms of the GNU Lesser General Public License as published by
hgs
parents: 0
diff changeset
     7
* the Free Software Foundation, version 2.1 of the License.
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
     8
*
3
hgs
parents: 0
diff changeset
     9
* This program is distributed in the hope that it will be useful,
hgs
parents: 0
diff changeset
    10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
hgs
parents: 0
diff changeset
    11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
hgs
parents: 0
diff changeset
    12
* GNU Lesser General Public License for more details.
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    13
*
3
hgs
parents: 0
diff changeset
    14
* You should have received a copy of the GNU Lesser General Public License
hgs
parents: 0
diff changeset
    15
* along with this program.  If not,
hgs
parents: 0
diff changeset
    16
* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/".
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    17
*
3
hgs
parents: 0
diff changeset
    18
* Description:
hgs
parents: 0
diff changeset
    19
* This class extends ToolbarChromeItem. It paints the toolbar background
hgs
parents: 0
diff changeset
    20
* and controls toolbar visibility in the content view.
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    21
*
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    22
*/
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    23
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    24
#include "ContentToolbarChromeItem.h"
3
hgs
parents: 0
diff changeset
    25
#include "ChromeItem.h"
hgs
parents: 0
diff changeset
    26
#include "WebChromeContainerSnippet.h"
hgs
parents: 0
diff changeset
    27
#include "ContentToolbarSnippet.h"
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    28
#include "GWebContentView.h"
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    29
#include "mostvisitedsnippet.h"
3
hgs
parents: 0
diff changeset
    30
#include "webpagecontroller.h"
hgs
parents: 0
diff changeset
    31
#include "ViewController.h"
hgs
parents: 0
diff changeset
    32
#include "ChromeEffect.h"
16
hgs
parents: 3
diff changeset
    33
#include "qstmgestureevent.h"
3
hgs
parents: 0
diff changeset
    34
16
hgs
parents: 3
diff changeset
    35
#if defined(Q_WS_MAEMO_5) || defined(BROWSER_LAYOUT_TENONE)
hgs
parents: 3
diff changeset
    36
#include "ScaleNinePainter.h"
hgs
parents: 3
diff changeset
    37
#endif
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    38
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    39
#include <QTimeLine>
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    40
#include <QDebug>
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    41
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    42
#define TOOLBAR_MARGIN 4
3
hgs
parents: 0
diff changeset
    43
#define TOOLBAR_ANIMATION_DURATION 200
hgs
parents: 0
diff changeset
    44
#define TOOLBAR_INACTIVITY_DURATION 5000
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    45
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    46
namespace GVA {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    47
16
hgs
parents: 3
diff changeset
    48
  ToolbarFadeAnimator::ToolbarFadeAnimator(): m_timeLine(NULL) {
hgs
parents: 3
diff changeset
    49
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    50
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    51
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    52
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    53
  ToolbarFadeAnimator::~ToolbarFadeAnimator() {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    54
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    55
    if (m_timeLine)
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    56
      delete m_timeLine;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    57
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    58
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    59
  void ToolbarFadeAnimator::start(bool visible) {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    60
    //qDebug() << __PRETTY_FUNCTION__ << visible;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    61
    if (!m_timeLine) {
3
hgs
parents: 0
diff changeset
    62
      m_timeLine = new QTimeLine(TOOLBAR_ANIMATION_DURATION);
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    63
      connect(m_timeLine, SIGNAL(valueChanged(qreal)), this, SLOT(valueChange(qreal)));
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    64
      connect(m_timeLine, SIGNAL(finished()), this, SIGNAL(finished()));
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    65
    }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    66
    else {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    67
      m_timeLine->stop();
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    68
    }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    69
    if (!visible) {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    70
      m_timeLine->setDirection(QTimeLine::Forward);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    71
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    72
    }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    73
    else {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    74
      m_timeLine->setDirection(QTimeLine::Backward);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    75
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    76
    }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    77
    m_timeLine->start();
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    78
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    79
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    80
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    81
  void ToolbarFadeAnimator::stop() {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    82
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    83
    //qDebug() << __PRETTY_FUNCTION__ ;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    84
    m_timeLine->stop();
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    85
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    86
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    87
  void ToolbarFadeAnimator::valueChange(qreal step) {
16
hgs
parents: 3
diff changeset
    88
3
hgs
parents: 0
diff changeset
    89
    emit  updateVisibility(step);
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    90
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    91
3
hgs
parents: 0
diff changeset
    92
  ContentToolbarChromeItem::ContentToolbarChromeItem(ChromeSnippet* snippet, QGraphicsItem* parent)
hgs
parents: 0
diff changeset
    93
      : ToolbarChromeItem(snippet, parent),
16
hgs
parents: 3
diff changeset
    94
#if defined(Q_WS_MAEMO_5) || defined(BROWSER_LAYOUT_TENONE)
hgs
parents: 3
diff changeset
    95
      m_backgroundPainter(0),
hgs
parents: 3
diff changeset
    96
      m_backgroundPixmap(0),
hgs
parents: 3
diff changeset
    97
      m_backgroundDirty(true),
hgs
parents: 3
diff changeset
    98
#else
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
    99
      m_background(NULL),
16
hgs
parents: 3
diff changeset
   100
#endif
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   101
      m_state(CONTENT_TOOLBAR_STATE_FULL),
3
hgs
parents: 0
diff changeset
   102
      m_autoHideToolbar(true),
hgs
parents: 0
diff changeset
   103
      m_timerState(CONTENT_TOOLBAR_TIMER_STATE_ALLOW)
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   104
  {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   105
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   106
    m_inactivityTimer = new QTimer(this);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   107
    connect(m_inactivityTimer, SIGNAL(timeout()), this, SLOT(onInactivityTimer()));
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   108
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   109
    m_animator = new ToolbarFadeAnimator();
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   110
    connect(m_animator, SIGNAL(updateVisibility(qreal)), this, SLOT(onUpdateVisibility(qreal)));
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   111
    connect(m_animator, SIGNAL(finished()), this, SLOT(onAnimFinished()));
3
hgs
parents: 0
diff changeset
   112
    
hgs
parents: 0
diff changeset
   113
    m_maxOpacity = m_bgopacity = opacity();   
hgs
parents: 0
diff changeset
   114
    if (m_autoHideToolbar ) {
hgs
parents: 0
diff changeset
   115
       connect(m_snippet->chrome(), SIGNAL(chromeComplete()), this, SLOT(onChromeComplete()));
hgs
parents: 0
diff changeset
   116
    }
hgs
parents: 0
diff changeset
   117
    
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   118
    setFlags(QGraphicsItem::ItemDoesntPropagateOpacityToChildren);
16
hgs
parents: 3
diff changeset
   119
    
hgs
parents: 3
diff changeset
   120
    #ifdef  Q_WS_MAEMO_5	
hgs
parents: 3
diff changeset
   121
     m_backgroundPainter = new ScaleNinePainter(
hgs
parents: 3
diff changeset
   122
             ":/toolbar/toolBar_bkg_topLeft.png",
hgs
parents: 3
diff changeset
   123
            ":/toolbar/toolBar_bkg_topMiddle.png",
hgs
parents: 3
diff changeset
   124
            ":/toolbar/toolBar_bkg_topRight.png",
hgs
parents: 3
diff changeset
   125
            "",
hgs
parents: 3
diff changeset
   126
            ":/toolbar/toolBar_bkg_middleMiddle.png",
hgs
parents: 3
diff changeset
   127
            "",
hgs
parents: 3
diff changeset
   128
            ":/toolbar/toolBar_bkg_bottomLeft.png",
hgs
parents: 3
diff changeset
   129
            ":/toolbar/toolBar_bkg_bottomMiddle.png",
hgs
parents: 3
diff changeset
   130
            ":/toolbar/toolBar_bkg_bottomRight.png"
hgs
parents: 3
diff changeset
   131
            );
hgs
parents: 3
diff changeset
   132
    #endif
3
hgs
parents: 0
diff changeset
   133
16
hgs
parents: 3
diff changeset
   134
#ifdef BROWSER_LAYOUT_TENONE
hgs
parents: 3
diff changeset
   135
    m_backgroundPainter = new ScaleNinePainter(
hgs
parents: 3
diff changeset
   136
            ":/toolbar/toolBar_bkg_topLeft.png",
hgs
parents: 3
diff changeset
   137
            ":/toolbar/toolBar_bkg_topMiddle.png",
hgs
parents: 3
diff changeset
   138
            ":/toolbar/toolBar_bkg_topRight.png",
hgs
parents: 3
diff changeset
   139
            "",
hgs
parents: 3
diff changeset
   140
            "",
hgs
parents: 3
diff changeset
   141
            "",
hgs
parents: 3
diff changeset
   142
            ":/toolbar/toolBar_bkg_bottomLeft.png",
hgs
parents: 3
diff changeset
   143
            ":/toolbar/toolBar_bkg_bottomMiddle.png",
hgs
parents: 3
diff changeset
   144
            ":/toolbar/toolBar_bkg_bottomRight.png"
hgs
parents: 3
diff changeset
   145
            );
hgs
parents: 3
diff changeset
   146
#endif
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   147
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   148
16
hgs
parents: 3
diff changeset
   149
  ContentToolbarChromeItem::~ContentToolbarChromeItem() {
hgs
parents: 3
diff changeset
   150
hgs
parents: 3
diff changeset
   151
#if defined(Q_WS_MAEMO_5) || defined(BROWSER_LAYOUT_TENONE)
hgs
parents: 3
diff changeset
   152
    delete m_backgroundPainter;
hgs
parents: 3
diff changeset
   153
    delete m_backgroundPixmap;
hgs
parents: 3
diff changeset
   154
#else
3
hgs
parents: 0
diff changeset
   155
    if (m_background )
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   156
        delete m_background;
16
hgs
parents: 3
diff changeset
   157
#endif
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   158
    delete m_inactivityTimer;
3
hgs
parents: 0
diff changeset
   159
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   160
    delete m_animator;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   161
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   162
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   163
16
hgs
parents: 3
diff changeset
   164
  void ContentToolbarChromeItem::resizeEvent(QGraphicsSceneResizeEvent * ev) {
hgs
parents: 3
diff changeset
   165
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   166
    //qDebug() << __PRETTY_FUNCTION__ << boundingRect();
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   167
    ToolbarChromeItem::resizeEvent(ev);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   168
    addFullBackground();
16
hgs
parents: 3
diff changeset
   169
#if defined(Q_WS_MAEMO_5) || defined(BROWSER_LAYOUT_TENONE)
hgs
parents: 3
diff changeset
   170
    m_backgroundDirty = true;
hgs
parents: 3
diff changeset
   171
#endif
3
hgs
parents: 0
diff changeset
   172
  }
hgs
parents: 0
diff changeset
   173
16
hgs
parents: 3
diff changeset
   174
  void ContentToolbarChromeItem::mousePressEvent(QGraphicsSceneMouseEvent * ev)  {
3
hgs
parents: 0
diff changeset
   175
      // If we are not in full state, ignore the event. Once igonre, none of the
hgs
parents: 0
diff changeset
   176
      // other mouse events are received until the next mouse press
hgs
parents: 0
diff changeset
   177
      if (m_state == CONTENT_TOOLBAR_STATE_PARTIAL ) {
hgs
parents: 0
diff changeset
   178
          ev->ignore();
hgs
parents: 0
diff changeset
   179
      }
hgs
parents: 0
diff changeset
   180
      else {
hgs
parents: 0
diff changeset
   181
          ChromeSnippet * mv = m_snippet->chrome()->getSnippet("MostVisitedViewId");
hgs
parents: 0
diff changeset
   182
          // Let mostvisited snippet handle the key press if it is visible
hgs
parents: 0
diff changeset
   183
          if (mv && mv->isVisible() ){
hgs
parents: 0
diff changeset
   184
              ev->ignore();
hgs
parents: 0
diff changeset
   185
          }
hgs
parents: 0
diff changeset
   186
      }
hgs
parents: 0
diff changeset
   187
  }
hgs
parents: 0
diff changeset
   188
16
hgs
parents: 3
diff changeset
   189
  void ContentToolbarChromeItem::mouseReleaseEvent(QGraphicsSceneMouseEvent * ev) {
hgs
parents: 3
diff changeset
   190
3
hgs
parents: 0
diff changeset
   191
      Q_UNUSED(ev);
hgs
parents: 0
diff changeset
   192
      // Do nothing - prevent the event from trickling down
hgs
parents: 0
diff changeset
   193
      
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   194
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   195
16
hgs
parents: 3
diff changeset
   196
  void ContentToolbarChromeItem::paint(QPainter* painter, const QStyleOptionGraphicsItem* opt, QWidget* widget) {
hgs
parents: 3
diff changeset
   197
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   198
    Q_UNUSED(opt)
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   199
    Q_UNUSED(widget)
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   200
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   201
//    qDebug() << __PRETTY_FUNCTION__ << m_state;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   202
    painter->save();
3
hgs
parents: 0
diff changeset
   203
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   204
    painter->setRenderHint(QPainter::Antialiasing);
3
hgs
parents: 0
diff changeset
   205
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   206
    painter->setPen(pen());
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   207
    painter->setOpacity(m_bgopacity);
3
hgs
parents: 0
diff changeset
   208
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   209
    switch (m_state) {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   210
        case CONTENT_TOOLBAR_STATE_PARTIAL:
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   211
          ToolbarChromeItem::paint(painter, opt, widget);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   212
          break;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   213
        case CONTENT_TOOLBAR_STATE_ANIM_TO_FULL:
16
hgs
parents: 3
diff changeset
   214
          // intentional fall through  
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   215
        case CONTENT_TOOLBAR_STATE_ANIM_TO_PARTIAL:
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   216
          ToolbarChromeItem::paint(painter, opt, widget);
16
hgs
parents: 3
diff changeset
   217
          // intentional fall through
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   218
        case CONTENT_TOOLBAR_STATE_FULL:
16
hgs
parents: 3
diff changeset
   219
#if defined(Q_WS_MAEMO_5) || defined(BROWSER_LAYOUT_TENONE)
hgs
parents: 3
diff changeset
   220
          if(m_backgroundDirty) {
hgs
parents: 3
diff changeset
   221
              updateBackgroundPixmap(geometry().size().toSize(), widget);
hgs
parents: 3
diff changeset
   222
              m_backgroundPainter->unloadPixmaps();
hgs
parents: 3
diff changeset
   223
          }
hgs
parents: 3
diff changeset
   224
          painter->drawPixmap(opt->exposedRect, *m_backgroundPixmap, opt->exposedRect);
hgs
parents: 3
diff changeset
   225
#else
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   226
          // fill path with color
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   227
          painter->fillPath(*m_background,QBrush(grad()));
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   228
          painter->drawPath(*m_background);
16
hgs
parents: 3
diff changeset
   229
#endif
3
hgs
parents: 0
diff changeset
   230
          if(m_state == CONTENT_TOOLBAR_STATE_FULL && !isEnabled()) {
hgs
parents: 0
diff changeset
   231
              // Disabled, apply whitewash.
hgs
parents: 0
diff changeset
   232
              ChromeEffect::paintDisabledRect(painter, opt->exposedRect);
hgs
parents: 0
diff changeset
   233
          }
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   234
          break;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   235
        default:
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   236
          qDebug() << "ContentToolbarChromeItem::paint invalid state" ;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   237
          break;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   238
    }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   239
    // restore painter
3
hgs
parents: 0
diff changeset
   240
    painter->restore();
hgs
parents: 0
diff changeset
   241
hgs
parents: 0
diff changeset
   242
  }
hgs
parents: 0
diff changeset
   243
hgs
parents: 0
diff changeset
   244
hgs
parents: 0
diff changeset
   245
  void ContentToolbarChromeItem::setSnippet(ChromeSnippet* snippet) {
hgs
parents: 0
diff changeset
   246
    ToolbarChromeItem::setSnippet(snippet);
hgs
parents: 0
diff changeset
   247
    m_maxOpacity = m_bgopacity = opacity();
hgs
parents: 0
diff changeset
   248
    
hgs
parents: 0
diff changeset
   249
    if (m_autoHideToolbar ) {
hgs
parents: 0
diff changeset
   250
        connect(snippet->chrome(), SIGNAL(chromeComplete()), this, SLOT(onChromeComplete()));
hgs
parents: 0
diff changeset
   251
    }
hgs
parents: 0
diff changeset
   252
hgs
parents: 0
diff changeset
   253
  }
hgs
parents: 0
diff changeset
   254
hgs
parents: 0
diff changeset
   255
  void ContentToolbarChromeItem::onChromeComplete() {
hgs
parents: 0
diff changeset
   256
16
hgs
parents: 3
diff changeset
   257
    m_webView  = static_cast<GWebContentView*> (m_snippet->chrome()->getView("WebView"));
3
hgs
parents: 0
diff changeset
   258
    //qDebug() << __PRETTY_FUNCTION__ << webView;
16
hgs
parents: 3
diff changeset
   259
    if (m_webView ) {
hgs
parents: 3
diff changeset
   260
        connect(m_webView, SIGNAL(loadFinished(bool)), this, SLOT(onLoadFinished(bool)));
hgs
parents: 3
diff changeset
   261
        connect(m_webView, SIGNAL(loadStarted()), this, SLOT(onLoadStarted()));
3
hgs
parents: 0
diff changeset
   262
#ifdef BEDROCK_TILED_BACKING_STORE
16
hgs
parents: 3
diff changeset
   263
        connect(m_webView, SIGNAL(contextEvent(::WebViewEventContext *)), this, SLOT(resetTimer()));
3
hgs
parents: 0
diff changeset
   264
#else
16
hgs
parents: 3
diff changeset
   265
        connect(m_webView->widget(), SIGNAL(contextEvent(::WebViewEventContext *)), this, SLOT(resetTimer()));
3
hgs
parents: 0
diff changeset
   266
#endif
hgs
parents: 0
diff changeset
   267
    }
hgs
parents: 0
diff changeset
   268
hgs
parents: 0
diff changeset
   269
  }
hgs
parents: 0
diff changeset
   270
hgs
parents: 0
diff changeset
   271
  void ContentToolbarChromeItem::onLoadStarted() {
hgs
parents: 0
diff changeset
   272
hgs
parents: 0
diff changeset
   273
      m_timerState = CONTENT_TOOLBAR_TIMER_STATE_ALLOW;
hgs
parents: 0
diff changeset
   274
      stopInactivityTimer();
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   275
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   276
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   277
3
hgs
parents: 0
diff changeset
   278
  void ContentToolbarChromeItem::onLoadFinished(bool ok) {
hgs
parents: 0
diff changeset
   279
hgs
parents: 0
diff changeset
   280
    Q_UNUSED(ok);
16
hgs
parents: 3
diff changeset
   281
hgs
parents: 3
diff changeset
   282
      if(!ok) {
hgs
parents: 3
diff changeset
   283
          // Don't hide the toolbar etc. on load error since the user is likely to start
hgs
parents: 3
diff changeset
   284
          // typing in the UrlSearch bar, we don't want to trigger the flashing and re-layout
hgs
parents: 3
diff changeset
   285
          // that happens when switching screen modes.
hgs
parents: 3
diff changeset
   286
          return;
hgs
parents: 3
diff changeset
   287
      }
hgs
parents: 3
diff changeset
   288
3
hgs
parents: 0
diff changeset
   289
    //qDebug() << __PRETTY_FUNCTION__ << m_state << "Timer Allowed" << m_timerState;
hgs
parents: 0
diff changeset
   290
hgs
parents: 0
diff changeset
   291
    if (m_autoHideToolbar  && m_timerState == CONTENT_TOOLBAR_TIMER_STATE_ALLOW) {
hgs
parents: 0
diff changeset
   292
        ControllableViewBase* curView = m_snippet->chrome()->viewController()->currentView();
hgs
parents: 0
diff changeset
   293
        if (curView && curView->type() == "webView") {
hgs
parents: 0
diff changeset
   294
            GWebContentView * gView = qobject_cast<GWebContentView*> (curView);
hgs
parents: 0
diff changeset
   295
            bool isSuperPage = gView ? gView->currentPageIsSuperPage() : false;
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   296
3
hgs
parents: 0
diff changeset
   297
        // Start inactivity timer if full toolbar is visible 
hgs
parents: 0
diff changeset
   298
        if (!isSuperPage && m_state ==  CONTENT_TOOLBAR_STATE_FULL ) 
hgs
parents: 0
diff changeset
   299
            m_inactivityTimer->start(TOOLBAR_INACTIVITY_DURATION);
hgs
parents: 0
diff changeset
   300
        }
hgs
parents: 0
diff changeset
   301
    }
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   302
3
hgs
parents: 0
diff changeset
   303
  }
hgs
parents: 0
diff changeset
   304
  void ContentToolbarChromeItem::resetTimer() {
hgs
parents: 0
diff changeset
   305
      
hgs
parents: 0
diff changeset
   306
      m_timerState = CONTENT_TOOLBAR_TIMER_STATE_NONE;
hgs
parents: 0
diff changeset
   307
      stopInactivityTimer();
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   308
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   309
3
hgs
parents: 0
diff changeset
   310
  void ContentToolbarChromeItem::stopInactivityTimer() {
hgs
parents: 0
diff changeset
   311
hgs
parents: 0
diff changeset
   312
    //qDebug() << __PRETTY_FUNCTION__<< m_state << " Timer Active: " << m_inactivityTimer->isActive(); 
hgs
parents: 0
diff changeset
   313
    // Stop inactivity timer 
hgs
parents: 0
diff changeset
   314
    if (m_inactivityTimer->isActive() )
hgs
parents: 0
diff changeset
   315
        m_inactivityTimer->stop();
hgs
parents: 0
diff changeset
   316
hgs
parents: 0
diff changeset
   317
  }
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   318
3
hgs
parents: 0
diff changeset
   319
  void ContentToolbarChromeItem::onInactivityTimer() {
hgs
parents: 0
diff changeset
   320
hgs
parents: 0
diff changeset
   321
    //qDebug() << __PRETTY_FUNCTION__ << m_state;
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   322
3
hgs
parents: 0
diff changeset
   323
    //We are here because inactivity timer timed out. So we have to be in full toolbar state with no
hgs
parents: 0
diff changeset
   324
    // popups. So change fade to Partial state after stopping inactivity timer
hgs
parents: 0
diff changeset
   325
    m_inactivityTimer->stop();
16
hgs
parents: 3
diff changeset
   326
#if defined(Q_WS_MAEMO_5) || defined(BROWSER_LAYOUT_TENONE)
hgs
parents: 3
diff changeset
   327
    emit inactivityTimer();
hgs
parents: 3
diff changeset
   328
#else
3
hgs
parents: 0
diff changeset
   329
    changeState(CONTENT_TOOLBAR_STATE_ANIM_TO_PARTIAL, true);
16
hgs
parents: 3
diff changeset
   330
#endif
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   331
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   332
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   333
  void ContentToolbarChromeItem::onSnippetMouseEvent( QEvent::Type type) {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   334
3
hgs
parents: 0
diff changeset
   335
    //qDebug() << __PRETTY_FUNCTION__ << type ;
hgs
parents: 0
diff changeset
   336
hgs
parents: 0
diff changeset
   337
    if (type == QEvent::MouseButtonPress || type ==  QEvent::GraphicsSceneMousePress) {
hgs
parents: 0
diff changeset
   338
        resetTimer();
hgs
parents: 0
diff changeset
   339
    } 
hgs
parents: 0
diff changeset
   340
  }
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   341
3
hgs
parents: 0
diff changeset
   342
  void ContentToolbarChromeItem::addLinkedChild(ChromeSnippet * s) {
hgs
parents: 0
diff changeset
   343
      m_linkedChildren.append(s);
hgs
parents: 0
diff changeset
   344
  }
hgs
parents: 0
diff changeset
   345
hgs
parents: 0
diff changeset
   346
  void ContentToolbarChromeItem::toggleMiddleSnippet() {
hgs
parents: 0
diff changeset
   347
      //qDebug() << "TOGGLE MIDDLE : " << m_state;
hgs
parents: 0
diff changeset
   348
      switch (m_state) {
hgs
parents: 0
diff changeset
   349
         case CONTENT_TOOLBAR_STATE_PARTIAL:
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   350
            changeState(CONTENT_TOOLBAR_STATE_ANIM_TO_FULL);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   351
            break;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   352
          case CONTENT_TOOLBAR_STATE_ANIM_TO_PARTIAL:
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   353
            // Stop animation and change to full immediately
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   354
            m_animator->stop();
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   355
            changeState(CONTENT_TOOLBAR_STATE_FULL, false);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   356
            break;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   357
          case CONTENT_TOOLBAR_STATE_ANIM_TO_FULL:
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   358
            // Do nothing here - will reset inactivity timer when
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   359
            // animation completes
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   360
            break;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   361
          case CONTENT_TOOLBAR_STATE_FULL:
16
hgs
parents: 3
diff changeset
   362
            changeState(CONTENT_TOOLBAR_STATE_ANIM_TO_PARTIAL, true);
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   363
            break;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   364
          default:
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   365
            break;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   366
        }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   367
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   368
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   369
  void ContentToolbarChromeItem::onMVCloseComplete() {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   370
3
hgs
parents: 0
diff changeset
   371
//    qDebug() << __PRETTY_FUNCTION__;
hgs
parents: 0
diff changeset
   372
    ChromeSnippet * mv = m_snippet->chrome()->getSnippet("MostVisitedViewId");
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   373
    disconnect(mv, SIGNAL(mostVisitedSnippetCloseComplete()) , this, SLOT(onMVCloseComplete()));
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   374
    // MostVisitedSnippet animation complete, so let's do toolbar animation
3
hgs
parents: 0
diff changeset
   375
    if (m_state == CONTENT_TOOLBAR_STATE_ANIM_TO_PARTIAL)
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   376
      changeState(CONTENT_TOOLBAR_STATE_ANIM_TO_PARTIAL, true);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   377
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   378
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   379
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   380
  void ContentToolbarChromeItem::onUpdateVisibility(qreal step) {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   381
3
hgs
parents: 0
diff changeset
   382
    //qDebug() << __PRETTY_FUNCTION__ << step << m_bgopacity << opacity();
hgs
parents: 0
diff changeset
   383
    // Value we get is 1.0 based, adjust it based on our max opacity
hgs
parents: 0
diff changeset
   384
    qreal value = step - (1.0 - m_maxOpacity);
hgs
parents: 0
diff changeset
   385
    value =  (value > 0)? value: 0.0;
hgs
parents: 0
diff changeset
   386
hgs
parents: 0
diff changeset
   387
    if (m_bgopacity != value ) {
hgs
parents: 0
diff changeset
   388
      m_bgopacity = value;
hgs
parents: 0
diff changeset
   389
      setOpacity(m_maxOpacity - value);
hgs
parents: 0
diff changeset
   390
      ContentToolbarSnippet * s = static_cast<ContentToolbarSnippet*>(m_snippet);
hgs
parents: 0
diff changeset
   391
      s->middleSnippet()->widget()->setOpacity(value);
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   392
      update();
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   393
    }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   394
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   395
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   396
  void ContentToolbarChromeItem::onAnimFinished() {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   397
3
hgs
parents: 0
diff changeset
   398
    ContentToolbarState state = CONTENT_TOOLBAR_STATE_INVALID;
hgs
parents: 0
diff changeset
   399
    bool animate = false;
hgs
parents: 0
diff changeset
   400
    //qDebug() << __PRETTY_FUNCTION__ << m_state;
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   401
    switch (m_state) {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   402
        case CONTENT_TOOLBAR_STATE_ANIM_TO_PARTIAL:
3
hgs
parents: 0
diff changeset
   403
          state = CONTENT_TOOLBAR_STATE_PARTIAL; 
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   404
          break;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   405
        case CONTENT_TOOLBAR_STATE_ANIM_TO_FULL:
3
hgs
parents: 0
diff changeset
   406
          state = CONTENT_TOOLBAR_STATE_FULL; 
hgs
parents: 0
diff changeset
   407
          animate = true;
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   408
          break;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   409
        default:
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   410
          break;
3
hgs
parents: 0
diff changeset
   411
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   412
    }
3
hgs
parents: 0
diff changeset
   413
  
hgs
parents: 0
diff changeset
   414
    ContentToolbarSnippet * s = static_cast<ContentToolbarSnippet*>(m_snippet);
hgs
parents: 0
diff changeset
   415
    s->handleToolbarStateChange(state);
hgs
parents: 0
diff changeset
   416
    changeState(state, animate);
hgs
parents: 0
diff changeset
   417
    //qDebug() << __PRETTY_FUNCTION__ << m_state;
hgs
parents: 0
diff changeset
   418
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   419
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   420
  void ContentToolbarChromeItem::addFullBackground() {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   421
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   422
    qreal roundness((boundingRect().height() -TOOLBAR_MARGIN)/2);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   423
    QRectF r(1, 1, boundingRect().width()-TOOLBAR_MARGIN, boundingRect().height()-TOOLBAR_MARGIN);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   424
16
hgs
parents: 3
diff changeset
   425
#if !defined(BROWSER_LAYOUT_TENONE) && !defined(Q_WS_MAEMO_5)
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   426
    if (m_background ) {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   427
        delete m_background;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   428
        m_background = NULL;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   429
    }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   430
    m_background = new QPainterPath();
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   431
    m_background->addRoundedRect(r, roundness, roundness);
16
hgs
parents: 3
diff changeset
   432
#endif
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   433
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   434
16
hgs
parents: 3
diff changeset
   435
#if defined(Q_WS_MAEMO_5) || defined(BROWSER_LAYOUT_TENONE)
hgs
parents: 3
diff changeset
   436
	  void ContentToolbarChromeItem::updateBackgroundPixmap(const QSize &size, QWidget* widget) {
hgs
parents: 3
diff changeset
   437
      delete m_backgroundPixmap;
hgs
parents: 3
diff changeset
   438
      m_backgroundPixmap = new QPixmap(size);
hgs
parents: 3
diff changeset
   439
      m_backgroundPixmap->fill(QColor(0xff, 0xff, 0xff, 0));
hgs
parents: 3
diff changeset
   440
      QPainter painter(m_backgroundPixmap);
hgs
parents: 3
diff changeset
   441
      m_backgroundPainter->paint(&painter, QRect(0, 0, size.width(), size.height()), widget);
hgs
parents: 3
diff changeset
   442
      m_backgroundDirty = false;
hgs
parents: 3
diff changeset
   443
  }
hgs
parents: 3
diff changeset
   444
#endif
hgs
parents: 3
diff changeset
   445
3
hgs
parents: 0
diff changeset
   446
  void ContentToolbarChromeItem::stateEnterFull(bool animate) {
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   447
3
hgs
parents: 0
diff changeset
   448
    //qDebug() <<__PRETTY_FUNCTION__ ;
hgs
parents: 0
diff changeset
   449
    ContentToolbarSnippet * s = static_cast<ContentToolbarSnippet*>(m_snippet);
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   450
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   451
    // Show the middle snippet and reset the opacity if we are here directly with no aniamtion
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   452
    if (!animate) {
16
hgs
parents: 3
diff changeset
   453
#if !defined(BROWSER_LAYOUT_TENONE) || !defined(Q_WS_MAEMO_5)
3
hgs
parents: 0
diff changeset
   454
      m_bgopacity = 0.75;
16
hgs
parents: 3
diff changeset
   455
#else
hgs
parents: 3
diff changeset
   456
      m_bgopacity = 1.0;
hgs
parents: 3
diff changeset
   457
#endif
3
hgs
parents: 0
diff changeset
   458
      s->middleSnippet()->show();
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   459
    }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   460
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   461
    m_state = CONTENT_TOOLBAR_STATE_FULL;
3
hgs
parents: 0
diff changeset
   462
    s->middleSnippet()->widget()->setOpacity(1.0);
16
hgs
parents: 3
diff changeset
   463
    s->handleToolbarStateChange(m_state);
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   464
    // TODO: specify the rect to be updated to avoid full repaint
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   465
    update();
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   466
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   467
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   468
  void ContentToolbarChromeItem::stateEnterPartial(bool animate) {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   469
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   470
    //qDebug() <<__PRETTY_FUNCTION__ ;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   471
    Q_UNUSED(animate);
3
hgs
parents: 0
diff changeset
   472
    ContentToolbarSnippet * s = static_cast<ContentToolbarSnippet*>(m_snippet);
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   473
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   474
    // Explicity hide the linked snippets so that toggle button javascript gets the right
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   475
    // signals that it is expecting
3
hgs
parents: 0
diff changeset
   476
    hideLinkedChildren();
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   477
3
hgs
parents: 0
diff changeset
   478
    s->middleSnippet()->hide();
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   479
    m_state = CONTENT_TOOLBAR_STATE_PARTIAL;
16
hgs
parents: 3
diff changeset
   480
#if defined(Q_WS_MAEMO_5) || defined(BROWSER_LAYOUT_TENONE)
hgs
parents: 3
diff changeset
   481
    s->handleToolbarStateChange(m_state);
hgs
parents: 3
diff changeset
   482
#endif
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   483
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   484
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   485
  void ContentToolbarChromeItem::stateEnterAnimToFull(bool animate) {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   486
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   487
    //qDebug() <<__PRETTY_FUNCTION__ ;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   488
    Q_UNUSED(animate);
3
hgs
parents: 0
diff changeset
   489
    ContentToolbarSnippet * s = static_cast<ContentToolbarSnippet*>(m_snippet);
hgs
parents: 0
diff changeset
   490
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   491
    m_state = CONTENT_TOOLBAR_STATE_ANIM_TO_FULL;
3
hgs
parents: 0
diff changeset
   492
    s->middleSnippet()->show();
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   493
    m_animator->start(false);
3
hgs
parents: 0
diff changeset
   494
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   495
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   496
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   497
  void ContentToolbarChromeItem::stateEnterAnimToPartial(bool animate) {
3
hgs
parents: 0
diff changeset
   498
    m_state = CONTENT_TOOLBAR_STATE_ANIM_TO_PARTIAL;
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   499
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   500
    if (animate ) {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   501
      m_animator->start(true);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   502
    }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   503
    else {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   504
3
hgs
parents: 0
diff changeset
   505
      MostVisitedSnippet * mv = static_cast<MostVisitedSnippet *>(m_snippet->chrome()->getSnippet("MostVisitedViewId"));
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   506
      connect(mv, SIGNAL(mostVisitedSnippetCloseComplete()) , this, SLOT(onMVCloseComplete()));
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   507
      mv->close();
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   508
    }
3
hgs
parents: 0
diff changeset
   509
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   510
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   511
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   512
  void ContentToolbarChromeItem::changeState( ContentToolbarState state, bool animate){
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   513
    onStateEntry(state, animate);
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   514
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   515
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   516
  void ContentToolbarChromeItem::onStateEntry(ContentToolbarState state, bool animate){
16
hgs
parents: 3
diff changeset
   517
      if(state != m_state)
hgs
parents: 3
diff changeset
   518
      {
hgs
parents: 3
diff changeset
   519
        //qDebug() << __PRETTY_FUNCTION__ ;
hgs
parents: 3
diff changeset
   520
        switch (state) {
hgs
parents: 3
diff changeset
   521
            case CONTENT_TOOLBAR_STATE_PARTIAL:
hgs
parents: 3
diff changeset
   522
              stateEnterPartial(animate);
hgs
parents: 3
diff changeset
   523
              break;
hgs
parents: 3
diff changeset
   524
            case CONTENT_TOOLBAR_STATE_ANIM_TO_FULL:
hgs
parents: 3
diff changeset
   525
              stateEnterAnimToFull(animate);
hgs
parents: 3
diff changeset
   526
              break;
hgs
parents: 3
diff changeset
   527
            case CONTENT_TOOLBAR_STATE_ANIM_TO_PARTIAL:
hgs
parents: 3
diff changeset
   528
              stateEnterAnimToPartial(animate);
hgs
parents: 3
diff changeset
   529
              break;
hgs
parents: 3
diff changeset
   530
            case CONTENT_TOOLBAR_STATE_FULL:
hgs
parents: 3
diff changeset
   531
              stateEnterFull(animate);
hgs
parents: 3
diff changeset
   532
              break;
hgs
parents: 3
diff changeset
   533
            default:
hgs
parents: 3
diff changeset
   534
              qDebug() << "ContentToolbarChromeItem::onStateEntry -  invalid state" ;
hgs
parents: 3
diff changeset
   535
              break;
hgs
parents: 3
diff changeset
   536
        }
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   537
    }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   538
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   539
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   540
  bool ContentToolbarChromeItem::mvSnippetVisible() {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   541
3
hgs
parents: 0
diff changeset
   542
    ChromeSnippet * mv = m_snippet->chrome()->getSnippet("MostVisitedViewId");
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   543
    bool result = false;
3
hgs
parents: 0
diff changeset
   544
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   545
    if (mv && mv->isVisible() ) {
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   546
      result = true;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   547
    }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   548
    return result;
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   549
  }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   550
3
hgs
parents: 0
diff changeset
   551
  void ContentToolbarChromeItem::hideLinkedChildren() {
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   552
3
hgs
parents: 0
diff changeset
   553
    for (int i=0; i < m_linkedChildren.count() ; i++) {
hgs
parents: 0
diff changeset
   554
hgs
parents: 0
diff changeset
   555
      m_linkedChildren.at(i)->hide();
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   556
    }
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   557
  }
16
hgs
parents: 3
diff changeset
   558
  
hgs
parents: 3
diff changeset
   559
  bool ContentToolbarChromeItem::event(QEvent* event)
hgs
parents: 3
diff changeset
   560
  {
hgs
parents: 3
diff changeset
   561
      bool ret = false;
hgs
parents: 3
diff changeset
   562
      if (event->type() == QEvent::Gesture &&
hgs
parents: 3
diff changeset
   563
          m_state != CONTENT_TOOLBAR_STATE_FULL) {
hgs
parents: 3
diff changeset
   564
          
hgs
parents: 3
diff changeset
   565
          ret = m_webView->webWidget()->event(event);
hgs
parents: 3
diff changeset
   566
      }
hgs
parents: 3
diff changeset
   567
      else {     
hgs
parents: 3
diff changeset
   568
          ret = ChromeItem::event(event);    
hgs
parents: 3
diff changeset
   569
      }
hgs
parents: 3
diff changeset
   570
      return ret;
hgs
parents: 3
diff changeset
   571
  }
hgs
parents: 3
diff changeset
   572
    
0
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   573
} // end of namespace GVA
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   574
1450b09d0cfd Revision: 201015
Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
parents:
diff changeset
   575