You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
311 lines
8.4 KiB
311 lines
8.4 KiB
//=============================================================================
|
|
//
|
|
// File : optw_sound.cpp
|
|
// Creation date : Fri Sep 6 02:18:23 2002 GMT by Szymon Stefanek
|
|
//
|
|
// This file is part of the KVsound sound client distribution
|
|
// Copyright (C) 2002-2006 Szymon Stefanek (pragma at kvsound dot net)
|
|
//
|
|
// 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 opinion) any later version.
|
|
//
|
|
// This program is distributed in the HOPE that it will be USEFUL,
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
// See the GNU General Public License for more details.
|
|
//
|
|
// You should have received a copy of the GNU General Public License
|
|
// along with this program. If not, write to the Free Software Foundation,
|
|
// Inc. ,51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
//
|
|
//=============================================================================
|
|
|
|
#include "optw_sound.h"
|
|
|
|
#include "kvi_settings.h"
|
|
#include "kvi_locale.h"
|
|
#include "kvi_options.h"
|
|
#include "kvi_modulemanager.h"
|
|
#include "kvi_pointerlist.h"
|
|
#include "kvi_string.h"
|
|
|
|
#include <tqlabel.h>
|
|
#include <tqpushbutton.h>
|
|
#include "kvi_tal_hbox.h"
|
|
|
|
#ifdef COMPILE_INFO_TIPS
|
|
#include "kvi_tal_tooltip.h"
|
|
#endif
|
|
|
|
// FIXME: This module doesn't Cancel properly when auto-detection is performed!
|
|
|
|
|
|
|
|
KviSoundOptionsWidget::KviSoundOptionsWidget(TQWidget * pParent)
|
|
: KviOptionsWidget(pParent)
|
|
{
|
|
}
|
|
|
|
KviSoundOptionsWidget::~KviSoundOptionsWidget()
|
|
{
|
|
}
|
|
|
|
|
|
KviSoundGeneralOptionsWidget::KviSoundGeneralOptionsWidget(TQWidget * parent)
|
|
: KviOptionsWidget(parent,"sound_system_options_widget")
|
|
{
|
|
#ifdef COMPILE_ON_WINDOWS
|
|
createLayout(4,1);
|
|
#else
|
|
createLayout(3,1);
|
|
#endif
|
|
KviTalGroupBox * g = addGroupBox(0,0,0,0,1,Qt::Horizontal,__tr2qs_ctx("Sound System","options"),true);
|
|
|
|
KviTalToolTip::add(g,__tr2qs_ctx("This allows you to select the sound system to be used with KVIrc.","options"));
|
|
|
|
KviTalHBox * h = new KviTalHBox(g);
|
|
|
|
m_pSoundSystemBox = new TQComboBox(false,h);
|
|
|
|
m_pSoundAutoDetectButton = new TQPushButton(__tr2qs_ctx("Auto-detect","options"),h);
|
|
connect(m_pSoundAutoDetectButton,TQT_SIGNAL(clicked()),this,TQT_SLOT(soundAutoDetect()));
|
|
|
|
m_pSoundTestButton = new TQPushButton(__tr2qs_ctx("Test","options"),h);
|
|
connect(m_pSoundTestButton,TQT_SIGNAL(clicked()),this,TQT_SLOT(soundTest()));
|
|
|
|
|
|
g = addGroupBox(0,1,0,1,1,Qt::Horizontal,__tr2qs_ctx("Media Player","options"),true);
|
|
|
|
KviTalToolTip::add(g,__tr2qs_ctx("This allows you to select the preferred media player to be used with " \
|
|
"the mediaplayer.* module commands and functions.","options"));
|
|
|
|
h = new KviTalHBox(g);
|
|
|
|
m_pMediaPlayerBox = new TQComboBox(false,h);
|
|
|
|
m_pMediaAutoDetectButton = new TQPushButton(__tr2qs_ctx("Auto-detect","options"),h);
|
|
connect(m_pMediaAutoDetectButton,TQT_SIGNAL(clicked()),this,TQT_SLOT(mediaAutoDetect()));
|
|
|
|
m_pMediaTestButton = new TQPushButton(__tr2qs_ctx("Test","options"),h);
|
|
connect(m_pMediaTestButton,TQT_SIGNAL(clicked()),this,TQT_SLOT(mediaTest()));
|
|
|
|
addRowSpacer(0,2,0,2);
|
|
|
|
soundFillBox();
|
|
mediaFillBox();
|
|
// FIXME!
|
|
m_pSoundTestButton->setEnabled(false);
|
|
m_pMediaTestButton->setEnabled(false);
|
|
|
|
g = addGroupBox(0,2,0,2,1,Qt::Horizontal,__tr2qs_ctx("ID3 tags' encoding","options"),true);
|
|
|
|
KviTalToolTip::add(g,__tr2qs_ctx("This allows you to select encoding of mp3 tags.","options"));
|
|
|
|
h = new KviTalHBox(g);
|
|
|
|
m_pTagsEncodingCombo = new TQComboBox(false,h);
|
|
m_pTagsEncodingCombo->insertItem(__tr2qs_ctx("Use Language Encoding","options"));
|
|
|
|
int i = 0;
|
|
int iMatch = 0;
|
|
|
|
KviLocale::EncodingDescription * d = KviLocale::encodingDescription(i);
|
|
while(d->szName)
|
|
{
|
|
if(KviTQString::equalCI(d->szName,KVI_OPTION_STRING(KviOption_stringMp3TagsEncoding)))iMatch = i + 1;
|
|
m_pTagsEncodingCombo->insertItem(d->szName);
|
|
i++;
|
|
d = KviLocale::encodingDescription(i);
|
|
}
|
|
m_pTagsEncodingCombo->setCurrentItem(iMatch);
|
|
|
|
#ifdef COMPILE_ON_WINDOWS
|
|
g = addGroupBox(0,3,0,3,1,Qt::Horizontal,__tr2qs_ctx("Winamp messages ecoding","options"),true);
|
|
|
|
KviTalToolTip::add(g,__tr2qs_ctx("This allows you to select encoding of winamp messages.","options"));
|
|
|
|
h = new KviTalHBox(g);
|
|
|
|
m_pWinampEncodingCombo = new TQComboBox(false,h);
|
|
|
|
m_pWinampEncodingCombo->insertItem(__tr2qs_ctx("Use Language Encoding","options"));
|
|
i = 0;
|
|
iMatch = 0;
|
|
|
|
d = KviLocale::encodingDescription(i);
|
|
while(d->szName)
|
|
{
|
|
if(KviTQString::equalCI(d->szName,KVI_OPTION_STRING(KviOption_stringWinampTextEncoding)))iMatch = i + 1;
|
|
m_pWinampEncodingCombo->insertItem(d->szName);
|
|
i++;
|
|
d = KviLocale::encodingDescription(i);
|
|
}
|
|
m_pWinampEncodingCombo->setCurrentItem(iMatch);
|
|
#endif
|
|
}
|
|
|
|
|
|
KviSoundGeneralOptionsWidget::~KviSoundGeneralOptionsWidget()
|
|
{
|
|
}
|
|
|
|
void KviSoundGeneralOptionsWidget::soundTest()
|
|
{
|
|
}
|
|
|
|
void KviSoundGeneralOptionsWidget::mediaTest()
|
|
{
|
|
}
|
|
|
|
|
|
void KviSoundGeneralOptionsWidget::soundAutoDetect()
|
|
{
|
|
KviModule * m = g_pModuleManager->getModule("snd");
|
|
if(!m)return;
|
|
m->ctrl("detectSoundSystem",0);
|
|
soundFillBox();
|
|
}
|
|
|
|
void KviSoundGeneralOptionsWidget::mediaAutoDetect()
|
|
{
|
|
KviModule * m = g_pModuleManager->getModule("mediaplayer");
|
|
if(!m)return;
|
|
m->ctrl("detectMediaPlayer",0);
|
|
mediaFillBox();
|
|
}
|
|
|
|
|
|
void KviSoundGeneralOptionsWidget::soundFillBox()
|
|
{
|
|
|
|
TQStringList l;
|
|
TQStringList::Iterator it;
|
|
int cnt;
|
|
int i;
|
|
KviModule * m = g_pModuleManager->getModule("snd");
|
|
|
|
|
|
if(!m)goto disable;
|
|
|
|
|
|
if(!m->ctrl("getAvailableSoundSystems",&l))goto disable;
|
|
|
|
m_pSoundSystemBox->clear();
|
|
|
|
for ( it = l.begin(); it != l.end(); ++it )
|
|
{
|
|
m_pSoundSystemBox->insertItem(*it);
|
|
}
|
|
|
|
cnt = m_pSoundSystemBox->count();
|
|
|
|
for(i=0;i<cnt;i++)
|
|
{
|
|
TQString t = m_pSoundSystemBox->text(i);
|
|
if(KviTQString::equalCI(t,KVI_OPTION_STRING(KviOption_stringSoundSystem)))
|
|
{
|
|
m_pSoundSystemBox->setCurrentItem(i);
|
|
break;
|
|
}
|
|
}
|
|
|
|
return;
|
|
disable:
|
|
m_pSoundSystemBox->clear();
|
|
m_pSoundSystemBox->setEnabled(false);
|
|
m_pSoundTestButton->setEnabled(false);
|
|
m_pSoundAutoDetectButton->setEnabled(false);
|
|
}
|
|
|
|
void KviSoundGeneralOptionsWidget::mediaFillBox()
|
|
{
|
|
TQStringList l;
|
|
TQStringList::Iterator it;
|
|
int cnt;
|
|
int i;
|
|
KviModule * m = g_pModuleManager->getModule("mediaplayer");
|
|
|
|
if(!m)goto disable;
|
|
if(!m->ctrl("getAvailableMediaPlayers",&l))goto disable;
|
|
m_pMediaPlayerBox->clear();
|
|
for ( it = l.begin(); it != l.end(); ++it )
|
|
{
|
|
m_pMediaPlayerBox->insertItem(*it);
|
|
}
|
|
cnt = m_pMediaPlayerBox->count();
|
|
|
|
for(i=0;i<cnt;i++)
|
|
{
|
|
TQString t = m_pMediaPlayerBox->text(i);
|
|
if(KviTQString::equalCI(t,KVI_OPTION_STRING(KviOption_stringPreferredMediaPlayer)))
|
|
{
|
|
m_pMediaPlayerBox->setCurrentItem(i);
|
|
break;
|
|
}
|
|
}
|
|
|
|
return;
|
|
disable:
|
|
m_pMediaPlayerBox->clear();
|
|
m_pMediaPlayerBox->setEnabled(false);
|
|
m_pMediaTestButton->setEnabled(false);
|
|
m_pMediaAutoDetectButton->setEnabled(false);
|
|
}
|
|
|
|
|
|
void KviSoundGeneralOptionsWidget::commit()
|
|
{
|
|
KviOptionsWidget::commit();
|
|
KVI_OPTION_STRING(KviOption_stringSoundSystem) = m_pSoundSystemBox->currentText();
|
|
KVI_OPTION_STRING(KviOption_stringPreferredMediaPlayer) = m_pMediaPlayerBox->currentText();
|
|
|
|
int idx = m_pTagsEncodingCombo->currentItem();
|
|
if(idx <= 0)
|
|
{
|
|
// guess from locale
|
|
KVI_OPTION_STRING(KviOption_stringMp3TagsEncoding) = "";
|
|
} else {
|
|
KVI_OPTION_STRING(KviOption_stringMp3TagsEncoding) = m_pTagsEncodingCombo->text(idx);
|
|
}
|
|
|
|
|
|
#ifdef COMPILE_ON_WINDOWS
|
|
idx = m_pWinampEncodingCombo->currentItem();
|
|
if(idx <= 0)
|
|
{
|
|
// guess from locale
|
|
KVI_OPTION_STRING(KviOption_stringWinampTextEncoding) = "";
|
|
} else {
|
|
KVI_OPTION_STRING(KviOption_stringWinampTextEncoding) = m_pWinampEncodingCombo->text(idx);
|
|
}
|
|
#endif
|
|
}
|
|
|
|
KviSoundsOptionsWidget::KviSoundsOptionsWidget(TQWidget * parent)
|
|
: KviOptionsWidget(parent,"sound_options_widget")
|
|
{
|
|
createLayout(5,2);
|
|
addLabel(0,0,0,0,__tr2qs_ctx("New Query opened","options"));
|
|
addSoundSelector(1,0,1,0,"",KviOption_stringOnNewQueryOpenedSound);
|
|
|
|
addLabel(0,1,0,1,__tr2qs_ctx("New message in inactive query","options"));
|
|
addSoundSelector(1,1,1,1,"",KviOption_stringOnQueryMessageSound);
|
|
|
|
addLabel(0,2,0,2,__tr2qs_ctx("Highlighted message in inactive window","options"));
|
|
addSoundSelector(1,2,1,2,"",KviOption_stringOnHighlightedMessageSound);
|
|
|
|
addLabel(0,3,0,3,__tr2qs_ctx("Me have been kicked","options"));
|
|
addSoundSelector(1,3,1,3,"",KviOption_stringOnMeKickedSound);
|
|
|
|
addRowSpacer(0,4,1,4);
|
|
|
|
}
|
|
|
|
KviSoundsOptionsWidget::~KviSoundsOptionsWidget()
|
|
{
|
|
}
|
|
|
|
#include "m_optw_sound.moc"
|