lyx_mirror/src/frontends/qt4/Qt2BC.C

60 lines
1.2 KiB
C++
Raw Normal View History

/**
* \file Qt2BC.C
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Allan Rae
* \author Angus Leeming
*
* Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "Qt2BC.h"
#include "qt_helpers.h"
#include <QPushButton>
#include <QLineEdit>
using lyx::docstring;
namespace lyx {
namespace frontend {
Qt2BC::Qt2BC(ButtonController const & parent,
docstring const & cancel, docstring const & close)
: GuiBC<QPushButton, QWidget>(parent, cancel, close)
{}
void Qt2BC::setButtonEnabled(QPushButton * obj, bool enabled) const
{
obj->setEnabled(enabled);
}
void Qt2BC::setWidgetEnabled(QWidget * obj, bool enabled) const
{
// yuck, rtti, but the user comes first
if (obj->inherits("QLineEdit")) {
QLineEdit * le(static_cast<QLineEdit*>(obj));
le->setReadOnly(!enabled);
} else {
obj->setEnabled(enabled);
}
Qt::FocusPolicy const p =
(enabled) ? Qt::StrongFocus : Qt::NoFocus;
obj->setFocusPolicy(p);
}
void Qt2BC::setButtonLabel(QPushButton * obj, docstring const & label) const
{
obj->setText(toqstr(label));
}
} // namespace frontend
} // namespace lyx