remotemgmt_plat/syncml_ds_error_reporting_api/tsrc/QtSyncStatusSpy/qtsyncstatuslogview.cpp
branchRCL_3
changeset 26 19bba8228ff0
parent 25 b183ec05bd8c
child 27 5cc2995847ea
equal deleted inserted replaced
25:b183ec05bd8c 26:19bba8228ff0
     1 /*
       
     2 * Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  Source file for the class QtSyncStatusLogView
       
    15 *
       
    16 */
       
    17 #include <QGraphicsItem>
       
    18 #include <QtGui>
       
    19 #include <QTimer>
       
    20 #include <QWidget>
       
    21 #include <QDebug>
       
    22 #include <hbdataform.h>
       
    23 #include <hblabel.h>
       
    24 #include <hbaction.h>
       
    25 #include <hbmainwindow.h>
       
    26 #include <hbmenu.h>
       
    27 #include <hbtoolbar.h>
       
    28 #include <hbscrollarea.h>
       
    29 #include <hbscrollbar.h>
       
    30 #include <hbtextitem.h>
       
    31 #include <hblistwidget.h>
       
    32 #include <qgraphicslinearlayout.h>
       
    33 #include <hbpushbutton.h>
       
    34 #include <qlistiterator>
       
    35 
       
    36 #include "qtsyncstatuslogview.h"
       
    37 #include "qtsyncstatuslog.h"
       
    38 
       
    39 
       
    40 QtSyncStatusLogView::QtSyncStatusLogView(QtSyncStatusLog& log, QGraphicsItem *parent)
       
    41     : HbView(parent),
       
    42       mSyncLog(log)
       
    43 {
       
    44     setTitle("QtSyncStatusSpy");
       
    45     createMenu();
       
    46     
       
    47     QGraphicsLinearLayout* layout = new QGraphicsLinearLayout(Qt::Vertical);
       
    48     HbScrollArea* scrollArea = new HbScrollArea(this);
       
    49     scrollArea->setScrollDirections(Qt::Vertical);
       
    50     QGraphicsLinearLayout* layout2 = new QGraphicsLinearLayout(Qt::Vertical);
       
    51     QGraphicsWidget* content = new QGraphicsWidget(this);
       
    52     
       
    53     mTextItem = new HbTextItem();
       
    54     layout2->addItem(mTextItem);
       
    55     layout2->setContentsMargins(5, 5, 5, 5);
       
    56     content->setLayout(layout2);
       
    57     scrollArea->setContentWidget(content);
       
    58 
       
    59     layout->addItem(scrollArea);
       
    60     layout->setStretchFactor(scrollArea, 1);
       
    61     setLayout(layout);
       
    62 }
       
    63 
       
    64 QtSyncStatusLogView::~QtSyncStatusLogView()
       
    65 {
       
    66     
       
    67 }
       
    68 
       
    69 void QtSyncStatusLogView::updateView()
       
    70     {
       
    71     readLog();
       
    72     }
       
    73 
       
    74 void QtSyncStatusLogView::deleteLog()
       
    75     {
       
    76     mSyncLog.clear();
       
    77     readLog();
       
    78     }
       
    79 
       
    80 void QtSyncStatusLogView::goToMainView()
       
    81     {
       
    82     emit comingBack();
       
    83     }
       
    84 
       
    85 void QtSyncStatusLogView::activateView()
       
    86 {
       
    87     mainWindow()->setCurrentView(this);
       
    88 }
       
    89 
       
    90 void QtSyncStatusLogView::createMenu()
       
    91 {
       
    92     HbMenu* myMenu = menu();
       
    93     connect( myMenu->addAction( tr("Update")), SIGNAL( triggered() ), SLOT( updateView() ) );
       
    94     connect( myMenu->addAction( tr("Delete log")), SIGNAL( triggered() ), SLOT( deleteLog() ) );
       
    95     connect( myMenu->addAction( tr("Back")), SIGNAL( triggered() ), SLOT( goToMainView() ) );
       
    96     
       
    97     HbToolBar* myToolBar = toolBar();
       
    98     connect( myToolBar->addAction( tr("Update")), SIGNAL( triggered() ), SLOT( updateView() ) );
       
    99     connect( myToolBar->addAction( tr("Delete log")), SIGNAL( triggered() ), SLOT( deleteLog() ) );
       
   100     connect( myToolBar->addAction( tr("Back")), SIGNAL( triggered() ), SLOT( goToMainView() ) );
       
   101 }
       
   102 
       
   103 void QtSyncStatusLogView::showEvent(QShowEvent* event)
       
   104     {
       
   105     readLog();
       
   106     HbView::showEvent(event);
       
   107     }
       
   108 
       
   109 void QtSyncStatusLogView::readLog()
       
   110     {
       
   111     QString logData;
       
   112     QString line;
       
   113     QStringList list;
       
   114     QStringList lines;
       
   115     QString prevDate;
       
   116     
       
   117     lines = mSyncLog.lines();
       
   118     QListIterator<QString> iter(lines);
       
   119 
       
   120     while (iter.hasNext()) {
       
   121         line = iter.next();
       
   122         line.remove(QChar('['));
       
   123         line.remove(QChar(']'));
       
   124         list = line.split(" ");
       
   125         if (list.at(0).compare(prevDate)) {
       
   126          logData.append(list.at(0) + "\n");
       
   127          prevDate = list.at(0); 
       
   128         }
       
   129         logData.append(list.at(1) + " " + list.at(2) + list.at(3) + "\n");
       
   130     }
       
   131     mTextItem->setText(logData);
       
   132 }