radioapp/radioapplication/src/testwindow_win32.cpp
changeset 57 21be958eb3ce
parent 34 bc10a61bd7d3
--- a/radioapp/radioapplication/src/testwindow_win32.cpp	Tue Oct 12 11:25:14 2010 +0300
+++ b/radioapp/radioapplication/src/testwindow_win32.cpp	Fri Oct 15 16:26:27 2010 +0300
@@ -39,7 +39,7 @@
 
 const int WINDOW_WIDTH = 360;
 const int WINDOW_HEIGHT = 640;
-const int TOOLBAR_HEIGHT = 120;
+const int TOOLBAR_HEIGHT = 140;
 const int WINDOW_EXTRA_WIDTH = 5;
 
 const QString KBtnDisconnectHeadset = "Disconnect Headset";
@@ -48,8 +48,14 @@
 const QString KBtnGoOffline = "Go Offline";
 const QString KBtnGoOnline = "Go Online";
 
-struct Song
+const int LAYOUT_MARGIN = 5;
+const int LAYOUT_SPACING = 5;
+const int THEME_CHANGE_CONNECT_WAIT = 3000;
+const int THEME_CHANGE_REQUEST = 4;
+
+class Song
 {
+public:
     const char* mArtist;
     const char* mTitle;
 };
@@ -75,6 +81,8 @@
     mVolDownButton( new QPushButton( "Volume Down", this ) ),
     mAddSongButton( new QPushButton( "Add Song", this ) ),
     mClearSongButton( new QPushButton( "Clear Song", this ) ),
+    mAddRadiotextButton( new QPushButton( "Add Radiotext", this ) ),
+    mClearRadiotextButton( new QPushButton( "Clear Radiotext", this ) ),
     mHeadsetButton( new QPushButton( KBtnDisconnectHeadset, this ) ),
     mHeadsetConnected( true ),
     mOfflineButton( new QPushButton( KBtnGoOffline, this ) ),
@@ -94,6 +102,8 @@
     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( mAddRadiotextButton, SIGNAL(clicked()), this, SLOT(addRadiotext()) );
+    Radio::connect( mClearRadiotextButton, SIGNAL(clicked()), this, SLOT(clearRadiotext()) );
     Radio::connect( mOfflineButton, SIGNAL(clicked()), this, SLOT(toggleOffline()) );
     Radio::connect( mThemeBox, SIGNAL(activated(QString)), this, SLOT(changeTheme(QString)) );
 
@@ -117,12 +127,12 @@
     updateWindowSize();
 
     QVBoxLayout* layout = new QVBoxLayout( this );
-    layout->setMargin( 5 );
-    layout->setSpacing( 5 );
+    layout->setMargin( LAYOUT_MARGIN );
+    layout->setSpacing( LAYOUT_SPACING );
 
     mToolbarLayout = new QGridLayout( this );
-    mToolbarLayout->setHorizontalSpacing( 5 );
-    mToolbarLayout->setVerticalSpacing( 5 );
+    mToolbarLayout->setHorizontalSpacing( LAYOUT_SPACING );
+    mToolbarLayout->setVerticalSpacing( LAYOUT_SPACING );
 
     mToolbarLayout->addWidget( mOrientationButton, 0, 0 );
     mToolbarLayout->addWidget( mVolUpButton, 0, 1 );
@@ -130,14 +140,16 @@
     mToolbarLayout->addWidget( mHeadsetButton, 1, 0 );
     mToolbarLayout->addWidget( mAddSongButton, 2, 0 );
     mToolbarLayout->addWidget( mClearSongButton, 2, 1 );
-    mToolbarLayout->addWidget( mOfflineButton, 3, 0 );
+    mToolbarLayout->addWidget( mAddRadiotextButton, 3, 0 );
+    mToolbarLayout->addWidget( mClearRadiotextButton, 3, 1 );
+    mToolbarLayout->addWidget( mOfflineButton, 4, 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->addLayout( themeLayout, 4, 1 );
     mToolbarLayout->setColumnStretch( 0, 1 );
     mToolbarLayout->setColumnStretch( 1, 1 );
 
@@ -252,6 +264,22 @@
 /*!
  * Private slot
  */
+void Win32Window::addRadiotext()
+{
+    RadioEngineWrapperPrivate::instance()->addRadiotext( "This is a long bit of radio text that spans multiple lines." );
+}
+
+/*!
+ * Private slot
+ */
+void Win32Window::clearRadiotext()
+{
+    RadioEngineWrapperPrivate::instance()->clearRadiotext();
+}
+
+/*!
+ * Private slot
+ */
 void Win32Window::toggleOffline()
 {
     bool offline = !RadioEngineWrapperPrivate::instance()->isOffline();
@@ -271,10 +299,10 @@
     LOG_FORMAT( "Changing to theme %s", GETSTRING( theme ) );
     QLocalSocket socket;
     socket.connectToServer( "hbthemeserver" );
-    if ( socket.waitForConnected( 3000 ) ) {
+    if ( socket.waitForConnected( THEME_CHANGE_CONNECT_WAIT ) ) {
         QByteArray outputByteArray;
         QDataStream outputDataStream( &outputByteArray, QIODevice::WriteOnly );
-        outputDataStream << 4; // EThemeSelection from HbThemeServerRequest in hbthemecommon_p.h
+        outputDataStream << THEME_CHANGE_REQUEST; // EThemeSelection from HbThemeServerRequest in hbthemecommon_p.h
         outputDataStream << theme;
         socket.write( outputByteArray );
         socket.flush();