lyx_mirror/src/frontends/qt4/QDialogView.C
Abdelrazak Younes 9313c6c39a Fix bug 3225 and maybe others as well.
http://bugzilla.lyx.org/show_bug.cgi?id=3225

* QIndexDialog:
  - QIndexDialog(): setFocusProxy() to the QLineEdit
  - show(): deleted.

* QDialogView::show(): also setFocus() when raising or showing a window.
  
 

git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@17166 a592a061-630c-0410-9148-cb99ea01b6c8
2007-02-13 18:20:07 +00:00

126 lines
1.7 KiB
C

/**
* \file QDialogView.C
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
*
* \author Angus Leeming
*
* Full author contact details are available in file CREDITS.
*/
#include <config.h>
#include "QDialogView.h"
#include "Qt2BC.h"
#include "qt_helpers.h"
#include "controllers/ButtonController.h"
using lyx::docstring;
namespace lyx {
namespace frontend {
QDialogView::QDialogView(Dialog & parent, docstring const & t)
: Dialog::View(parent,t), updating_(false)
{}
Qt2BC & QDialogView::bcview()
{
return static_cast<Qt2BC &>(dialog().bc().view());
}
bool QDialogView::isVisible() const
{
return form() && form()->isVisible();
}
bool QDialogView::readOnly() const
{
return kernel().isBufferReadonly();
}
void QDialogView::show()
{
if (!form()) {
build();
}
form()->setMinimumSize(form()->sizeHint());
update(); // make sure its up-to-date
if (dialog().controller().exitEarly())
return;
form()->setWindowTitle(toqstr("LyX: " + getTitle()));
if (form()->isVisible()) {
form()->raise();
form()->activateWindow();
form()->setFocus();
} else {
form()->show();
form()->setFocus();
}
}
void QDialogView::hide()
{
if (form() && form()->isVisible())
form()->hide();
}
bool QDialogView::isValid()
{
return true;
}
void QDialogView::changed()
{
if (updating_)
return;
bc().valid(isValid());
}
void QDialogView::slotWMHide()
{
dialog().CancelButton();
}
void QDialogView::slotApply()
{
dialog().ApplyButton();
}
void QDialogView::slotOK()
{
dialog().OKButton();
}
void QDialogView::slotClose()
{
dialog().CancelButton();
}
void QDialogView::slotRestore()
{
dialog().RestoreButton();
}
} // namespace frontend
} // namespace lyx
#include "QDialogView_moc.cpp"