Laurent

Can you review this please?


Thanks
Vadim


Le 23 avr. 09 à 16:24, [email protected] a écrit :

> # HG changeset patch
> # User Rene Kolarik
> # Date 1240496491 -7200
> # Node ID a44fb70f0f095225092621576dca6a1e29ae89e9
> # Parent  8bdfd092f73754480dd439c33bff799b8b3509de
> Changing default dialpad theme definition from code to XML. UTF8  
> support.
>
> diff -r 8bdfd092f737 -r a44fb70f0f09 wengophone/resources/sounds/ 
> tones/default/dialpad.xml
> --- a/wengophone/resources/sounds/tones/default/dialpad.xml   Wed Apr  
> 22 13:49:14 2009 +0200
> +++ b/wengophone/resources/sounds/tones/default/dialpad.xml   Thu Apr  
> 23 16:21:31 2009 +0200
> @@ -1,5 +1,5 @@
> <?xml version="1.0" encoding="UTF-8">
> -<dialpad mode="plain" name="default">
> +<dialpad mode="plain" name="default" default="default">
> <tones>
>     <tone key="0" local="play" remote="play" format="dtmf"/>
>     <tone key="1" local="play" remote="play" format="dtmf"/>
> diff -r 8bdfd092f737 -r a44fb70f0f09 wengophone/src/control/dtmf/ 
> CDtmfThemeManager.cpp
> --- a/wengophone/src/control/dtmf/CDtmfThemeManager.cpp       Wed Apr 22  
> 13:49:14 2009 +0200
> +++ b/wengophone/src/control/dtmf/CDtmfThemeManager.cpp       Thu Apr 23  
> 16:21:31 2009 +0200
> @@ -78,3 +78,7 @@
> bool CDtmfThemeManager::refreshDtmfThemes() {
>       return _dtmfThemeManager.refreshDtmfThemes();
> }
> +
> +std::string CDtmfThemeManager::getDefaultTheme() {
> +  return _dtmfThemeManager.getDefaultTheme();
> +}
> \ No newline at end of file
> diff -r 8bdfd092f737 -r a44fb70f0f09 wengophone/src/control/dtmf/ 
> CDtmfThemeManager.h
> --- a/wengophone/src/control/dtmf/CDtmfThemeManager.h Wed Apr 22  
> 13:49:14 2009 +0200
> +++ b/wengophone/src/control/dtmf/CDtmfThemeManager.h Thu Apr 23  
> 16:21:31 2009 +0200
> @@ -61,6 +61,8 @@
>       //refresh DTMFThemes
>       bool refreshDtmfThemes();
>
> +  std::string getDefaultTheme();
> +
> private:
>
>       void initPresentationThreadSafe();
> diff -r 8bdfd092f737 -r a44fb70f0f09 wengophone/src/model/dtmf/ 
> DtmfTheme.cpp
> --- a/wengophone/src/model/dtmf/DtmfTheme.cpp Wed Apr 22 13:49:14  
> 2009 +0200
> +++ b/wengophone/src/model/dtmf/DtmfTheme.cpp Thu Apr 23 16:21:31  
> 2009 +0200
> @@ -74,6 +74,13 @@
>               if (attr) {
>                       _imageFile = std::string(attr);
>               }
> +             
> +             attr = dialpadElt->Attribute("default");
> +             _default = false;
> +             if (attr) {
> +                     if(std::string(attr) == "default")
> +                       _default = true;
> +             }
>       }
>
>       TiXmlElement * tonesNode = dialpadElt->FirstChildElement("tones");
> diff -r 8bdfd092f737 -r a44fb70f0f09 wengophone/src/model/dtmf/ 
> DtmfTheme.h
> --- a/wengophone/src/model/dtmf/DtmfTheme.h   Wed Apr 22 13:49:14 2009  
> +0200
> +++ b/wengophone/src/model/dtmf/DtmfTheme.h   Thu Apr 23 16:21:31 2009  
> +0200
> @@ -62,6 +62,10 @@
>       std::string getRepertory() const;
>
>       DtmfTheme::DialpadMode getDialpadMode() const;
> +     
> +     bool isDefault() { return _default; };
> +     
> +     void setDefault(bool def) { _default = def; };
>
> private:
>
> @@ -80,6 +84,8 @@
>       ToneList _toneList;
>
>       WengoPhone & _wengoPhone;
> +     
> +     bool _default;
> };
>
> #endif        //OWDTMFTHEME_H
> diff -r 8bdfd092f737 -r a44fb70f0f09 wengophone/src/model/dtmf/ 
> DtmfThemeManager.cpp
> --- a/wengophone/src/model/dtmf/DtmfThemeManager.cpp  Wed Apr 22  
> 13:49:14 2009 +0200
> +++ b/wengophone/src/model/dtmf/DtmfThemeManager.cpp  Thu Apr 23  
> 16:21:31 2009 +0200
> @@ -40,7 +40,10 @@
> void DtmfThemeManager::constructDTMF() {
>       File dir(_dtmfDirPath);
>       StringList dirList = dir.getDirectoryList();
> -
> +
> +  bool haveDefaultTheme = false;
> +  DtmfTheme * lastTheme;
> +
>       //iterate over dtmf dir
>       for (unsigned int i = 0; i != dirList.size(); i++) {
>
> @@ -118,13 +121,28 @@
>                                       continue;
>                               }
> #endif
> -
> +        if(theme->isDefault()) {
> +          if(!haveDefaultTheme) {
> +            _defaultTheme = theme->getName();
> +            haveDefaultTheme = true;
> +          }
> +          else
> +            theme->setDefault(false);
> +        }
> +        lastTheme = theme;
> +
>                               //add it in the list
>                               _dtmfThemeList[theme->getName()] = theme;
>                               LOG_DEBUG("find a theme : " + fileList[j]);
>                       }
>               }
>       }
> +     
> +     if(!haveDefaultTheme)
> +     {
> +    _defaultTheme = lastTheme->getName();
> +    lastTheme->setDefault(true);
> +  }
> }
>
> void DtmfThemeManager::deleteDTMF() {
> diff -r 8bdfd092f737 -r a44fb70f0f09 wengophone/src/model/dtmf/ 
> DtmfThemeManager.h
> --- a/wengophone/src/model/dtmf/DtmfThemeManager.h    Wed Apr 22  
> 13:49:14 2009 +0200
> +++ b/wengophone/src/model/dtmf/DtmfThemeManager.h    Thu Apr 23  
> 16:21:31 2009 +0200
> @@ -47,6 +47,8 @@
>       const DtmfTheme * getDtmfTheme(const std::string & themeName) const;
>
>       bool refreshDtmfThemes();
> +     
> +     std::string getDefaultTheme() { return _defaultTheme; };
>
> private:
>
> @@ -61,6 +63,8 @@
>       std::string _dtmfDirPath;
>
>       WengoPhone & _wengoPhone;
> +     
> +     std::string _defaultTheme;
> };
>
> #endif        //OWDTMFTHEMEMANAGER_H
> diff -r 8bdfd092f737 -r a44fb70f0f09 wengophone/src/presentation/qt/ 
> QtDialpad.cpp
> --- a/wengophone/src/presentation/qt/QtDialpad.cpp    Wed Apr 22  
> 13:49:14 2009 +0200
> +++ b/wengophone/src/presentation/qt/QtDialpad.cpp    Thu Apr 23  
> 16:21:31 2009 +0200
> @@ -44,9 +44,6 @@
>
> #include <QtGui/QtGui>
>
> -const char* DEFAULT_THEME = "default";
> -const char* JUNGLE_THEME = "Jungle";
> -
> QtDialpad::QtDialpad(CDtmfThemeManager & cDtmfThemeManager,  
> QtWengoPhone * qtWengoPhone)
>       : QWidget(NULL),
>       _cDtmfThemeManager(cDtmfThemeManager)
> @@ -104,20 +101,23 @@
>       //comboBox Construction
>       std::list<std::string> themeList = _cDtmfThemeManager.getThemeList();
>
> +  //DEFAULT_THEME
> +  std::string defTheme = _cDtmfThemeManager.getDefaultTheme();
> +
>       // Move DEFAULT_THEME to the beginning of the list
> -     std::list<std::string>::iterator it = std::find(themeList.begin(),  
> themeList.end(), DEFAULT_THEME);
> +     std::list<std::string>::iterator it = std::find(themeList.begin(),  
> themeList.end(), defTheme);
>       if (it != themeList.end()) {
>               themeList.erase(it);
> -             themeList.push_front(DEFAULT_THEME);
> +             themeList.push_front(defTheme);
>       } else {
> -             LOG_WARN("Could find default theme '" +  
> std::string(DEFAULT_THEME) + "'");
> +             LOG_WARN("Could find default theme '" + std::string(defTheme) + 
>  
> "'");
>       }
>       ////
>
>       for (std::list<std::string>::const_iterator it = themeList.begin();  
> it != themeList.end(); ++it) {
>               std::string theme = *it;
>
> -             if (theme == DEFAULT_THEME && _themeMode ==  
> ThemeModeAudioSmileysOnly) {
> +             if (theme == defTheme && _themeMode == 
> ThemeModeAudioSmileysOnly) {
>                       // Skip default theme
>                       continue;
>               }
> @@ -127,10 +127,10 @@
>               std::string icon = _cDtmfThemeManager.getDtmfTheme(theme)- 
> >getRepertory() +
>                       _cDtmfThemeManager.getDtmfTheme(theme)->getImageFile();
>               
> -             _ui->audioSmileysComboBox- 
> >addItem(QIcon(QString::fromStdString(icon)),  
> QString::fromStdString(theme), QVariant());
> +             _ui->audioSmileysComboBox- 
> >addItem(QIcon(QString::fromStdString(icon)),  
> QString::fromUtf8(theme.c_str()), QVariant());
>
>               // Ugly workaround to insert a separator after the "default  
> dialpad" entry
> -             if (theme == DEFAULT_THEME) {
> +             if (theme == defTheme) {
>                       _ui->audioSmileysComboBox->addItem("");
>                       
>                       QAbstractItemView* view = 
> _ui->audioSmileysComboBox->view();
> @@ -162,7 +162,7 @@
> void QtDialpad::playTone(const std::string & tone) {
>
>       _cDtmfThemeManager.playTone(
> -             _ui->audioSmileysComboBox->currentText().toStdString(),
> +             std::string(_ui->audioSmileysComboBox->currentText().toUtf8()),
>               tone
>       );
>       _qtWengoPhone->dialpad(tone);
> @@ -219,13 +219,14 @@
> void QtDialpad::setCurrentTheme(const QString & newThemeName) {
>       // We don't want the user to select the separator
>       if (newThemeName.isEmpty()) {
> -             _ui->audioSmileysComboBox->setCurrentIndex(_ui- 
> >audioSmileysComboBox->findText(DEFAULT_THEME));
> +             _ui->audioSmileysComboBox->setCurrentIndex(_ui- 
> >audioSmileysComboBox- 
> >findText(_cDtmfThemeManager.getDefaultTheme().c_str()));
>               return;
>       }
>
>       LOG_DEBUG(newThemeName.toStdString());
>
> -     const DtmfTheme * newTheme =  
> _cDtmfThemeManager.getDtmfTheme(newThemeName.toStdString());
> +  std::string strTheme(newThemeName.toUtf8());
> +     const DtmfTheme * newTheme =  
> _cDtmfThemeManager.getDtmfTheme(strTheme);
>
>       if (newTheme->getDialpadMode() == DtmfTheme::svg) {
>
> _______________________________________________
> QuteCom-dev mailing list
> [email protected]
> http://lists.qutecom.org/mailman/listinfo/qutecom-dev
>

_______________________________________________
QuteCom-dev mailing list
[email protected]
http://lists.qutecom.org/mailman/listinfo/qutecom-dev

Reply via email to