radioapp/radioapplication/src/testwindow_win32.cpp
branchRCL_3
changeset 20 93c594350b9a
parent 19 cce62ebc198e
--- a/radioapp/radioapplication/src/testwindow_win32.cpp	Tue Aug 31 15:15:02 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,353 +0,0 @@
-/*
-* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-* All rights reserved.
-* This component and the accompanying materials are made available
-* under the terms of "Eclipse Public License v1.0"
-* which accompanies this distribution, and is available
-* at the URL "http://www.eclipse.org/legal/epl-v10.html".
-*
-* Initial Contributors:
-* Nokia Corporation - initial contribution.
-*
-* Contributors:
-*
-* Description:
-*
-*/
-
-// System includes
-#include <QPushButton>
-#include <QGridLayout>
-#include <QVBoxLayout>
-#include <HbMainWindow>
-#include <QTimer>
-#include <QMessageBox>
-#include <QComboBox>
-#include <QLocalSocket>
-#include <QDir>
-#include <QStringListModel>
-#include <QSettings>
-#include <HbInstance>
-#include <QLabel>
-
-// User includes
-#include "testwindow_win32.h"
-#include "radioapplication.h"
-#include "radiologger.h"
-#include "radio_global.h"
-#include "radioenginewrapper_win32_p.h"
-
-const int WINDOW_WIDTH = 360;
-const int WINDOW_HEIGHT = 640;
-const int TOOLBAR_HEIGHT = 120;
-const int WINDOW_EXTRA_WIDTH = 5;
-
-const QString KBtnDisconnectHeadset = "Disconnect Headset";
-const QString KBtnConnectHeadset = "Connect Headset";
-
-const QString KBtnGoOffline = "Go Offline";
-const QString KBtnGoOnline = "Go Online";
-
-struct Song
-{
-    const char* mArtist;
-    const char* mTitle;
-};
-
-const Song KRecognizedSongs[] = {
-    { "Red Hot Chili Peppers", "Under The Bridge" },
-    { "Queens Of The Stone Age", "No One Knows" },
-    { "The Presidents of the United States of America", "Dune Buggy" },
-    { "System of a Down", "Aerials" },
-    { "The White Stripes", "Seven Nation Army" },
-    { "Alice In Chains", "When The Sun Rose Again" },
-    { "Bullet For My Valentine", "Tears Don't Fall" }
-};
-const int KSongsCount = sizeof( KRecognizedSongs ) / sizeof( KRecognizedSongs[0] );
-
-/*!
- *
- */
-Win32Window::Win32Window() :
-    QWidget( 0 ),
-    mOrientationButton( new QPushButton( "Change Orientation", this ) ),
-    mVolUpButton( new QPushButton( "Volume Up", this ) ),
-    mVolDownButton( new QPushButton( "Volume Down", this ) ),
-    mAddSongButton( new QPushButton( "Add Song", this ) ),
-    mClearSongButton( new QPushButton( "Clear Song", this ) ),
-    mHeadsetButton( new QPushButton( KBtnDisconnectHeadset, this ) ),
-    mHeadsetConnected( true ),
-    mOfflineButton( new QPushButton( KBtnGoOffline, this ) ),
-    mThemeBox( new QComboBox( this ) ),
-    mToolbarLayout( 0 ),
-    mVolume( 5 ),
-    mRadioWindow( 0 ),
-    mOrientation( Qt::Vertical ),
-    mSongIndex( 0 )
-{
-    mThemeBox->setEditable( false );
-    initThemes();    
-
-    Radio::connect( mOrientationButton, SIGNAL(clicked()), this, SLOT(changeOrientation()) );
-    Radio::connect( mVolUpButton, SIGNAL(clicked()), this, SLOT(volumeUp()) );
-    Radio::connect( mVolDownButton, SIGNAL(clicked()), this, SLOT(volumeDown()) );
-    Radio::connect( mHeadsetButton, SIGNAL(clicked()), this, SLOT(toggleHeadsetStatus()) );
-    Radio::connect( mAddSongButton, SIGNAL(clicked()), this, SLOT(addSong()) );
-    Radio::connect( mClearSongButton, SIGNAL(clicked()), this, SLOT(clearSong()) );
-    Radio::connect( mOfflineButton, SIGNAL(clicked()), this, SLOT(toggleOffline()) );
-    Radio::connect( mThemeBox, SIGNAL(activated(QString)), this, SLOT(changeTheme(QString)) );
-
-    QTimer::singleShot( 0, this, SLOT(updateWindowSize()) );
-}
-
-/*!
- *
- */
-Win32Window::~Win32Window()
-{
-}
-
-/*!
- *
- */
-void Win32Window::addHbWindow( HbMainWindow* radioWindow )
-{
-    mRadioWindow = radioWindow;
-    mOrientation = mRadioWindow->orientation();
-    updateWindowSize();
-
-    QVBoxLayout* layout = new QVBoxLayout( this );
-    layout->setMargin( 5 );
-    layout->setSpacing( 5 );
-
-    mToolbarLayout = new QGridLayout( this );
-    mToolbarLayout->setHorizontalSpacing( 5 );
-    mToolbarLayout->setVerticalSpacing( 5 );
-
-    mToolbarLayout->addWidget( mOrientationButton, 0, 0 );
-    mToolbarLayout->addWidget( mVolUpButton, 0, 1 );
-    mToolbarLayout->addWidget( mVolDownButton, 1, 1 );
-    mToolbarLayout->addWidget( mHeadsetButton, 1, 0 );
-    mToolbarLayout->addWidget( mAddSongButton, 2, 0 );
-    mToolbarLayout->addWidget( mClearSongButton, 2, 1 );
-    mToolbarLayout->addWidget( mOfflineButton, 3, 0 );
-
-    QGridLayout* themeLayout = new QGridLayout( this );
-    themeLayout->addWidget( new QLabel( "Theme:", this ), 0, 0 );
-    themeLayout->addWidget( mThemeBox, 0, 1 );
-    themeLayout->setColumnStretch( 1, 2 );
-
-    mToolbarLayout->addLayout( themeLayout, 3, 1 );
-    mToolbarLayout->setColumnStretch( 0, 1 );
-    mToolbarLayout->setColumnStretch( 1, 1 );
-
-    layout->addItem( mToolbarLayout );
-    layout->addWidget( radioWindow );
-
-    setLayout( layout );
-}
-
-/*!
- *
- */
-void Win32Window::init()
-{
-    RadioEngineWrapperPrivate* wrapper = RadioEngineWrapperPrivate::instance();
-    if ( wrapper ) {
-        QString error = wrapper->dataParsingError();
-        if ( !error.isEmpty() ) {
-            QMessageBox msg( QMessageBox::Warning, "Unable to parse radio settings", error, QMessageBox::Ok );
-            msg.exec();
-        }
-
-        if ( wrapper->isOffline() ) {
-            mOfflineButton->setText( KBtnGoOnline );
-        }
-    }
-    updateWindowSize();
-}
-
-/*!
- * Private slot
- */
-void Win32Window::changeOrientation()
-{
-    if ( mOrientation == Qt::Horizontal ) {
-        mOrientation = Qt::Vertical;
-    } else {
-        mOrientation = Qt::Horizontal;
-    }
-
-    mRadioWindow->setOrientation( mOrientation );
-    updateWindowSize();
-}
-
-/*!
- * Private slot
- */
-void Win32Window::volumeUp()
-{
-    if ( ++mVolume > MAXIMUM_VOLUME_LEVEL ) {
-        mVolume = MAXIMUM_VOLUME_LEVEL;
-    }
-    RadioEngineWrapperPrivate::instance()->setVolume( mVolume );
-}
-
-/*!
- * Private slot
- */
-void Win32Window::volumeDown()
-{
-    if ( --mVolume < 0 ) {
-        mVolume = 0;
-    }
-    RadioEngineWrapperPrivate::instance()->setVolume( mVolume );
-}
-
-/*!
- * Private slot
- */
-void Win32Window::toggleHeadsetStatus()
-{
-    mHeadsetConnected = !mHeadsetConnected;
-    if ( mHeadsetConnected ) {
-        mHeadsetButton->setText( KBtnDisconnectHeadset );
-    } else {
-        mHeadsetButton->setText( KBtnConnectHeadset );
-    }
-    RadioEngineWrapperPrivate::instance()->setHeadsetStatus( mHeadsetConnected );
-}
-
-/*!
- * Private slot
- */
-void Win32Window::updateWindowSize()
-{
-    if ( mOrientation == Qt::Horizontal ) {
-        resize( WINDOW_HEIGHT + WINDOW_EXTRA_WIDTH, WINDOW_WIDTH + TOOLBAR_HEIGHT );
-    } else {
-        resize( WINDOW_WIDTH + WINDOW_EXTRA_WIDTH, WINDOW_HEIGHT + TOOLBAR_HEIGHT );
-    }
-}
-
-/*!
- * Private slot
- */
-void Win32Window::addSong()
-{
-    Song song = KRecognizedSongs[mSongIndex++];
-    mSongIndex %= KSongsCount;
-
-    RadioEngineWrapperPrivate::instance()->addSong( song.mArtist, song.mTitle );
-}
-
-/*!
- * Private slot
- */
-void Win32Window::clearSong()
-{
-    RadioEngineWrapperPrivate::instance()->clearSong();
-}
-
-/*!
- * Private slot
- */
-void Win32Window::toggleOffline()
-{
-    bool offline = !RadioEngineWrapperPrivate::instance()->isOffline();
-    RadioEngineWrapperPrivate::instance()->setOffline( offline );
-    if ( offline ) {
-        mOfflineButton->setText( KBtnGoOnline );
-    } else {
-        mOfflineButton->setText( KBtnGoOffline );
-    }
-}
-
-/*!
- * Private slot
- */
-void Win32Window::changeTheme( const QString& theme )
-{
-    LOG_FORMAT( "Changing to theme %s", GETSTRING( theme ) );
-    QLocalSocket socket;
-    socket.connectToServer( "hbthemeserver" );
-    if ( socket.waitForConnected( 3000 ) ) {
-        QByteArray outputByteArray;
-        QDataStream outputDataStream( &outputByteArray, QIODevice::WriteOnly );
-        outputDataStream << 4; // EThemeSelection from HbThemeServerRequest in hbthemecommon_p.h
-        outputDataStream << theme;
-        socket.write( outputByteArray );
-        socket.flush();
-    }
-}
-
-/*!
- *
- */
-void Win32Window::initThemes()
-{
-    QStringList themeList;
-    foreach ( const QString& themeRootPath, themeRootPaths() ) {
-        QDir dir( themeRootPath ) ;
-        QStringList list = dir.entryList( QDir::AllDirs | QDir::NoDotAndDotDot, QDir::Name );
-
-        if ( list.contains( "themes", Qt::CaseSensitive ) ) {
-            QDir root = themeRootPath;
-            dir.setPath( root.path() + "/themes/icons/" );
-            QStringList iconthemeslist = dir.entryList( QDir::AllDirs | QDir::NoDotAndDotDot, QDir::Name );
-            foreach ( QString themefolder, iconthemeslist ) {
-                QDir iconThemePath( root.path() + "/themes/icons/" + themefolder );
-                if ( iconThemePath.exists( "index.theme" ) ) {
-                    QSettings iniSetting( iconThemePath.path() + "/index.theme", QSettings::IniFormat );
-                    iniSetting.beginGroup( "Icon Theme" );
-                    QString hidden = iniSetting.value( "Hidden" ).toString();
-                    QString name = iniSetting.value( "Name" ).toString();
-                    iniSetting.endGroup();
-                    if ( (hidden == "true") || ( hidden == "" ) || ( name != themefolder ) ) {
-                        iconthemeslist.removeOne( themefolder );
-                    }
-                }
-                else {
-                     iconthemeslist.removeOne( themefolder );
-                }
-
-            }
-
-            themeList.append( iconthemeslist );
-        }
-    }
-
-    if ( themeList.count() == 0 ) {
-        themeList.insert( 0, "hbdefault" ); //adding one default entry
-        mThemeBox->setEnabled( false );
-    }
-
-    mThemeBox->setModel( new QStringListModel( themeList, mThemeBox ) );
-
-    for ( int i = 0; i < themeList.count(); ++i ) {
-        QString theme = themeList.at( i );
-        if ( theme == HbInstance::instance()->theme()->name() ) {
-            mThemeBox->setCurrentIndex( i );
-        }
-    }
-}
-
-/*!
- *
- */
-QStringList Win32Window::themeRootPaths()
-{
-    QStringList rootDirs;
-    QString envDir = qgetenv( "HB_THEMES_DIR" );
-    if ( !envDir.isEmpty() ) {
-        rootDirs << envDir;
-    }
-
-    QString resourcesDir = HB_RESOURCES_DIR;
-    if ( resourcesDir.isEmpty() ) {
-        resourcesDir = "/hb_dev/src/hbcore/resources";
-    }
-    rootDirs << resourcesDir;
-
-    return rootDirs;
-}