Mercurial > hg > easaier-soundaccess
changeset 28:c7965aaaedfd
add connectionStatus toolbar
author | lbajardsilogic |
---|---|
date | Mon, 14 May 2007 15:14:23 +0000 |
parents | 56561ff50d2e |
children | d2dc3a24e24f |
files | widgets/ConnectionStatus.cpp widgets/ConnectionStatus.h widgets/svwidgets.vcproj widgets/widgets.pro |
diffstat | 4 files changed, 171 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/widgets/ConnectionStatus.cpp Mon May 14 15:14:23 2007 +0000 @@ -0,0 +1,86 @@ +/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ + +/* Sound Access + EASAIER client application. + Silogic 2007. Laure Bajard. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. See the file + COPYING included with this distribution for more information. +*/ + +#include "ConnectionStatus.h" + +#include <QAction> +#include <QHBoxLayout> + +ConnectionStatus::ConnectionStatus(HttpClient *httpClient, const QString & title, QWidget * parent) : QToolBar(title, parent), + m_httpClient(httpClient), + m_iconStatus(0), + m_actionStatus(0) +{ + m_iconConnected = new QIcon(":/icons/connected.png"); + m_iconNotConnected = new QIcon(":/icons/notconnected.png"); + + setIcon(m_httpClient->state()); + + m_actionStatus = addAction(*m_iconStatus, tr("Connection state")); + + m_downloadProgress.setMaximum(100); + m_downloadProgress.setMinimum(0); + + addWidget(&m_downloadProgress); + + connect(m_httpClient, SIGNAL(stateChanged(int)), this, SLOT(setIcon(int))); + + connect(m_httpClient, SIGNAL(dataReadProgress( int, int)), this, SLOT(updateProgressBar(int, int))); +} + + +ConnectionStatus::~ConnectionStatus() +{} + +void ConnectionStatus::setIcon(int state) +{ + switch (state) + { + case QHttp::Unconnected : + case QHttp::Closing : + { + m_iconStatus = m_iconNotConnected; + m_downloadProgress.hide(); + + break; + } + + case QHttp::HostLookup : + case QHttp::Connecting : + case QHttp::Sending : + case QHttp::Connected : + { + m_iconStatus = m_iconConnected; + m_downloadProgress.hide(); + + break; + } + + case QHttp::Reading : + { + m_iconStatus = m_iconConnected; + m_downloadProgress.setVisible(true); + } + + default: + break; + + } + if (m_actionStatus) + m_actionStatus->setIcon(*m_iconStatus); +} + +void ConnectionStatus::updateProgressBar(int done, int total) +{ + m_downloadProgress.setValue(((double)done/total)*100); +} \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/widgets/ConnectionStatus.h Mon May 14 15:14:23 2007 +0000 @@ -0,0 +1,47 @@ +/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ + +/* Sound Access + EASAIER client application. + Silogic 2007. Laure Bajard. + + This program is free software; you can redistribute it and/or + modify it under the terms of the GNU General Public License as + published by the Free Software Foundation; either version 2 of the + License, or (at your option) any later version. See the file + COPYING included with this distribution for more information. +*/ + +#ifndef _CONNECTION_STATUS_H_ +#define _CONNECTION_STATUS_H_ + +#include <QToolBar> +#include <QProgressBar> + +#include "data/fileio/HttpClient.h" + +class ConnectionStatus : public QToolBar //public QMenu //public QWidget +{ + Q_OBJECT + +public: + ConnectionStatus(HttpClient *httpClient, const QString & title, QWidget * parent = 0); + virtual ~ConnectionStatus(); + +private slots: + void setIcon(int state); + void updateProgressBar(int done, int total); + +private: + + HttpClient *m_httpClient; + + QIcon *m_iconStatus; + QAction *m_actionStatus; + + QIcon *m_iconConnected; + QIcon *m_iconNotConnected; + + QProgressBar m_downloadProgress; +}; + +#endif \ No newline at end of file
--- a/widgets/svwidgets.vcproj Mon May 14 15:13:03 2007 +0000 +++ b/widgets/svwidgets.vcproj Mon May 14 15:14:23 2007 +0000 @@ -186,6 +186,10 @@ > </File> <File + RelativePath=".\ConnectionStatus.cpp" + > + </File> + <File RelativePath=".\ExpandWidget.cpp" > </File> @@ -372,6 +376,32 @@ </FileConfiguration> </File> <File + RelativePath=".\ConnectionStatus.h" + > + <FileConfiguration + Name="Release|Win32" + > + <Tool + Name="VCCustomBuildTool" + Description="MOC $(InputFileName)" + CommandLine="$(QTDIR)\bin\moc.exe -DNDEBUG -DBUILD_RELEASE -DUSE_VC -D_WINDOWS -DUNICODE -DQT_LARGEFILE_SUPPORT -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DHAVE_BZ2 -DHAVE_PORTAUDIO -DHAVE_PORTAUDIO_V18 -DHAVE_OGGZ -DHAVE_FISHSOUND -DHAVE_FFTW3F -DHAVE_VAMP -DHAVE_VAMP_HOSTSDK -DHAVE_SNDFILE -DHAVE_SAMPLERATE -DQT_THREAD_SUPPORT -DQT_DLL -DQT_NO_DEBUG -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I "$(QTDIR)\include\QtCore" -I "$(QTDIR)\include\QtCore" -I "$(QTDIR)\include\QtGui" -I "$(QTDIR)\include\QtGui" -I "$(QTDIR)\include\QtXml" -I "$(QTDIR)\include\QtXml" -I "$(QTDIR)\include" -I "." -I ".." -I "$(QTDIR)\include\ActiveQt" -I "tmp_moc" -I "." -I"$(QTDIR)\mkspecs\win32-msvc2005" $(InputPath) -o tmp_moc\moc_$(InputName).cpp" + AdditionalDependencies="$(QTDIR)\bin\moc.exe" + Outputs="tmp_moc\moc_$(InputName).cpp" + /> + </FileConfiguration> + <FileConfiguration + Name="Debug|Win32" + > + <Tool + Name="VCCustomBuildTool" + Description="MOC $(InputFileName)" + CommandLine="$(QTDIR)\bin\moc.exe -DBUILD_DEBUG -DUSE_VC -D_WINDOWS -DUNICODE -DQT_LARGEFILE_SUPPORT -DWIN32 -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DHAVE_BZ2 -DHAVE_PORTAUDIO -DHAVE_PORTAUDIO_V18 -DHAVE_OGGZ -DHAVE_FISHSOUND -DHAVE_FFTW3F -DHAVE_VAMP -DHAVE_VAMP_HOSTSDK -DHAVE_SNDFILE -DHAVE_SAMPLERATE -DQT_THREAD_SUPPORT -DQT_DLL -DQT_XML_LIB -DQT_GUI_LIB -DQT_CORE_LIB -I "$(QTDIR)\include\QtCore" -I "$(QTDIR)\include\QtCore" -I "$(QTDIR)\include\QtGui" -I "$(QTDIR)\include\QtGui" -I "$(QTDIR)\include\QtXml" -I "$(QTDIR)\include\QtXml" -I "$(QTDIR)\include" -I "." -I ".." -I "$(QTDIR)\include\ActiveQt" -I "tmp_moc" -I "." -I"$(QTDIR)\mkspecs\win32-msvc2005" $(InputPath) -o tmp_moc\moc_$(InputName).cpp" + AdditionalDependencies="$(QTDIR)\bin\moc.exe" + Outputs="tmp_moc\moc_$(InputName).cpp" + /> + </FileConfiguration> + </File> + <File RelativePath=".\ExpandWidget.h" > <FileConfiguration @@ -1040,6 +1070,10 @@ > </File> <File + RelativePath=".\tmp_moc\moc_ConnectionStatus.cpp" + > + </File> + <File RelativePath=".\tmp_moc\moc_ExpandWidget.cpp" > </File>
--- a/widgets/widgets.pro Mon May 14 15:13:03 2007 +0000 +++ b/widgets/widgets.pro Mon May 14 15:14:23 2007 +0000 @@ -41,7 +41,8 @@ QueryResultsWidget.h \ SearchWidget.h \ WidgetGallery.h \ - ConnectionSettings.h + ConnectionSettings.h \ + ConnectionStatus.h SOURCES += AudioDial.cpp \ Fader.cpp \ ItemEditDialog.cpp \ @@ -69,4 +70,5 @@ QueryResultsWidget.cpp \ SearchWidget.cpp \ WidgetGallery.cpp \ - ConnectionSettings.cpp + ConnectionSettings.cpp \ + ConnectionStatus.cpp