Implement setValue of fpicker checkboxes, signal+slot
Change-Id: I0d75ef9f5584935d05a0526a626145e00761efd9
This commit is contained in:
@@ -91,18 +91,6 @@ QString KDE5FilePicker::getCurrentFilter() const
|
|||||||
return filter;
|
return filter;
|
||||||
}
|
}
|
||||||
|
|
||||||
void KDE5FilePicker::setValue(sal_Int16 controlId, sal_Int16 nControlAction, bool value)
|
|
||||||
{
|
|
||||||
if (_customWidgets.contains(controlId))
|
|
||||||
{
|
|
||||||
QCheckBox* cb = dynamic_cast<QCheckBox*>(_customWidgets.value(controlId));
|
|
||||||
if (cb)
|
|
||||||
cb->setChecked(value);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
qWarning() << "set value on unknown control" << controlId;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool KDE5FilePicker::getValue(sal_Int16 controlId, sal_Int16 nControlAction) const
|
bool KDE5FilePicker::getValue(sal_Int16 controlId, sal_Int16 nControlAction) const
|
||||||
{
|
{
|
||||||
bool ret = false;
|
bool ret = false;
|
||||||
|
@@ -174,10 +174,16 @@ protected:
|
|||||||
Q_SIGNALS:
|
Q_SIGNALS:
|
||||||
void setTitleSignal(const OUString& rTitle);
|
void setTitleSignal(const OUString& rTitle);
|
||||||
void setDisplayDirectorySignal(const OUString& rDir);
|
void setDisplayDirectorySignal(const OUString& rDir);
|
||||||
|
void setValueSignal(sal_Int16 nControlId, sal_Int16 nControlAction,
|
||||||
|
const css::uno::Any& rValue);
|
||||||
|
|
||||||
private Q_SLOTS:
|
private Q_SLOTS:
|
||||||
void setTitleSlot(const OUString& rTitle) { return setTitle(rTitle); }
|
void setTitleSlot(const OUString& rTitle) { return setTitle(rTitle); }
|
||||||
void setDisplayDirectorySlot(const OUString& rDir) { return setDisplayDirectory(rDir); }
|
void setDisplayDirectorySlot(const OUString& rDir) { return setDisplayDirectory(rDir); }
|
||||||
|
void setValueSlot(sal_Int16 nControlId, sal_Int16 nControlAction, const css::uno::Any& rValue)
|
||||||
|
{
|
||||||
|
return setValue(nControlAction, nControlAction, rValue);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|
||||||
|
@@ -105,6 +105,8 @@ KDE5FilePicker::KDE5FilePicker(QFileDialog::FileMode eMode)
|
|||||||
connect(this, &KDE5FilePicker::setDisplayDirectorySignal /*(const OUString&)*/, this,
|
connect(this, &KDE5FilePicker::setDisplayDirectorySignal /*(const OUString&)*/, this,
|
||||||
&KDE5FilePicker::setDisplayDirectorySlot /*(const OUString&)*/,
|
&KDE5FilePicker::setDisplayDirectorySlot /*(const OUString&)*/,
|
||||||
Qt::BlockingQueuedConnection);
|
Qt::BlockingQueuedConnection);
|
||||||
|
connect(this, &KDE5FilePicker::setValueSignal, this, &KDE5FilePicker::setValueSlot,
|
||||||
|
Qt::BlockingQueuedConnection);
|
||||||
|
|
||||||
qApp->installEventFilter(this);
|
qApp->installEventFilter(this);
|
||||||
setMultiSelectionMode(false);
|
setMultiSelectionMode(false);
|
||||||
@@ -205,6 +207,23 @@ void SAL_CALL KDE5FilePicker::appendFilterGroup(const OUString& /*rGroupTitle*/,
|
|||||||
void SAL_CALL KDE5FilePicker::setValue(sal_Int16 controlId, sal_Int16 nControlAction,
|
void SAL_CALL KDE5FilePicker::setValue(sal_Int16 controlId, sal_Int16 nControlAction,
|
||||||
const uno::Any& value)
|
const uno::Any& value)
|
||||||
{
|
{
|
||||||
|
if (qApp->thread() != QThread::currentThread())
|
||||||
|
{
|
||||||
|
SolarMutexReleaser aReleaser;
|
||||||
|
return Q_EMIT setValueSignal(controlId, nControlAction, value);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (_customWidgets.contains(controlId))
|
||||||
|
{
|
||||||
|
bool bChecked = false;
|
||||||
|
value >>= bChecked;
|
||||||
|
|
||||||
|
QCheckBox* cb = dynamic_cast<QCheckBox*>(_customWidgets.value(controlId));
|
||||||
|
if (cb)
|
||||||
|
cb->setChecked(bChecked);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
SAL_WARN("vcl.kde5", "set value on unknown control " << controlId);
|
||||||
}
|
}
|
||||||
|
|
||||||
uno::Any SAL_CALL KDE5FilePicker::getValue(sal_Int16 controlId, sal_Int16 nControlAction)
|
uno::Any SAL_CALL KDE5FilePicker::getValue(sal_Int16 controlId, sal_Int16 nControlAction)
|
||||||
@@ -433,7 +452,6 @@ void SAL_CALL KDE5FilePicker::initialize(const uno::Sequence<uno::Any>& args)
|
|||||||
OSL_TRACE("Unknown templates %d", templateId);
|
OSL_TRACE("Unknown templates %d", templateId);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
setTitle(VclResId(saveDialog ? STR_FPICKER_SAVE : STR_FPICKER_OPEN));
|
setTitle(VclResId(saveDialog ? STR_FPICKER_SAVE : STR_FPICKER_OPEN));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user