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.
172 lines
4.1 KiB
172 lines
4.1 KiB
/****************************************************************************
|
|
** ui.h extension file, included from the uic-generated form implementation.
|
|
**
|
|
** If you wish to add, delete or rename functions or slots use
|
|
** TQt Designer which will update this file, preserving your code. Create an
|
|
** init() function in place of a constructor, and a destroy() function in
|
|
** place of a destructor.
|
|
*****************************************************************************/
|
|
|
|
void SQ_CodecSettingsSkeleton::init()
|
|
{
|
|
w = 0;
|
|
sett = 0;
|
|
}
|
|
|
|
void SQ_CodecSettingsSkeleton::addSettingsWidget(const TQString &path)
|
|
{
|
|
w = TQWidgetFactory::create(path, 0, this, "skeleton_settings");
|
|
TQWidget *fake;
|
|
|
|
if(w)
|
|
fake = w;
|
|
else
|
|
{
|
|
pushApply->setEnabled(false);
|
|
pushOK->setEnabled(false);
|
|
|
|
TQTextEdit *t = new TQTextEdit(i18n("Error loading widget from <b>%1</b>. Please check your installation or contact <a href=\"mailto:ksquirrel.iv@gmail.com\">ksquirrel.iv@gmail.com</a>").tqarg(path), TQString(), groupBox);
|
|
t->setReadOnly(true);
|
|
fake = t;
|
|
}
|
|
|
|
fake->reparent(groupBox, TQPoint(0,0), true);
|
|
|
|
TQGridLayout *grid = new TQGridLayout(groupBox, 1, 1, 11, 6);
|
|
grid->addMultiCellWidget(fake, 1, 1, 0, 3);
|
|
|
|
TQSpacerItem *spacer = new TQSpacerItem(15, 1, TQSizePolicy::Minimum, TQSizePolicy::Expanding);
|
|
grid->addItem(spacer, 2, 1);
|
|
}
|
|
|
|
void SQ_CodecSettingsSkeleton::recursivelyReadWrite(fmt_settings &settings, bool r)
|
|
{
|
|
if(!w)
|
|
return;
|
|
|
|
TQObjectList ch = w->childrenListObject();
|
|
fmt_settings::iterator t;
|
|
|
|
for(TQObjectList::iterator it = ch.begin();it != ch.end();++it)
|
|
{
|
|
t = settings.find((*it)->name());
|
|
|
|
if((*it)->inherits(TQCHECKBOX_OBJECT_NAME_STRING))
|
|
{
|
|
TQCheckBox *c = dynamic_cast<TQCheckBox *>(*it);
|
|
|
|
if(c && t != settings.end())
|
|
{
|
|
if(r)
|
|
c->setChecked((*t).second.bVal);
|
|
else
|
|
(*t).second.bVal = c->isChecked();
|
|
}
|
|
}
|
|
else if((*it)->inherits(TQBUTTONGROUP_OBJECT_NAME_STRING))
|
|
{
|
|
TQButtonGroup *c = dynamic_cast<TQButtonGroup *>(*it);
|
|
|
|
if(c && t != settings.end())
|
|
{
|
|
if(r)
|
|
c->setButton((*t).second.iVal);
|
|
else
|
|
(*t).second.iVal = c->selectedId();
|
|
}
|
|
}
|
|
else if((*it)->inherits(TQSLIDER_OBJECT_NAME_STRING))
|
|
{
|
|
TQSlider *c = dynamic_cast<TQSlider *>(*it);
|
|
|
|
if(c && t != settings.end())
|
|
{
|
|
if(r)
|
|
c->setValue((*t).second.iVal);
|
|
else
|
|
(*t).second.iVal = c->value();
|
|
}
|
|
}
|
|
else if((*it)->inherits("KURLRequester"))
|
|
{
|
|
KURLRequester *u = dynamic_cast<KURLRequester *>(*it);
|
|
|
|
if(u && t != settings.end())
|
|
{
|
|
if(r)
|
|
u->setURL((*t).second.sVal);
|
|
else
|
|
{
|
|
KURL url = u->url(); // get rid of "file://" if present
|
|
(*t).second.sVal = url.isEmpty() ? "" : url.path().ascii();
|
|
}
|
|
}
|
|
}
|
|
else if((*it)->inherits("KDoubleSpinBox"))
|
|
{
|
|
KDoubleSpinBox *d = dynamic_cast<KDoubleSpinBox *>(*it);
|
|
|
|
if(d && t != settings.end())
|
|
{
|
|
if(r)
|
|
d->setValue((*t).second.dVal);
|
|
else
|
|
(*t).second.dVal = d->value();
|
|
}
|
|
}
|
|
// TQSpinBox should be checked after KDoubleSpinBox !
|
|
else if((*it)->inherits(TQSPINBOX_OBJECT_NAME_STRING))
|
|
{
|
|
TQSpinBox *c = dynamic_cast<TQSpinBox *>(*it);
|
|
|
|
if(c && t != settings.end())
|
|
{
|
|
if(r)
|
|
c->setValue((*t).second.iVal);
|
|
else
|
|
(*t).second.iVal = c->value();
|
|
}
|
|
}
|
|
else if((*it)->inherits("KColorButton"))
|
|
{
|
|
KColorButton *c = dynamic_cast<KColorButton *>(*it);
|
|
|
|
if(c && t != settings.end())
|
|
{
|
|
if(r)
|
|
c->setColor(TQColor(TQString((*t).second.sVal)));
|
|
else
|
|
(*t).second.sVal = TQString(c->color().name()).ascii();
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
int SQ_CodecSettingsSkeleton::exec(fmt_settings &settings)
|
|
{
|
|
// read settings
|
|
recursivelyReadWrite(settings, true);
|
|
|
|
sett = &settings;
|
|
|
|
int result = TQDialog::exec();
|
|
|
|
// save settings
|
|
if(result == TQDialog::Accepted)
|
|
recursivelyReadWrite(settings, false);
|
|
|
|
return result;
|
|
}
|
|
|
|
void SQ_CodecSettingsSkeleton::setCodecInfo( const TQPixmap &pixmap, const TQString &text )
|
|
{
|
|
codecIcon->setPixmap(pixmap);
|
|
codecName->setText(text);
|
|
}
|
|
|
|
void SQ_CodecSettingsSkeleton::slotApply()
|
|
{
|
|
recursivelyReadWrite(*sett, false);
|
|
emit apply();
|
|
}
|