]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt4/GuiDialog.cpp
Use <cstdint> instead of <boost/cstdint.hpp>
[lyx.git] / src / frontends / qt4 / GuiDialog.cpp
index 1797aeee5fec27f8362f9d98919bd5c6223510b0..8778886e34138ebc75550e3f3e8f845ab69048af 100644 (file)
@@ -18,6 +18,7 @@
 #include "support/debug.h"
 
 #include <QCloseEvent>
+#include <QDialogButtonBox>
 
 using namespace std;
 
@@ -25,9 +26,15 @@ namespace lyx {
 namespace frontend {
 
 GuiDialog::GuiDialog(GuiView & lv, QString const & name, QString const & title)
-       : QDialog(&lv), Dialog(lv, name, "LyX: " + title), updating_(false), 
+       : QDialog(&lv), Dialog(lv, name, "LyX: " + title), updating_(false),
          is_closing_(false)
-{}
+{
+       connect(&lv, SIGNAL(bufferViewChanged()),
+               this, SLOT(onBufferViewChanged()));
+
+       // remove question marks from Windows dialogs
+       setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
+}
 
 
 void GuiDialog::closeEvent(QCloseEvent * ev)
@@ -84,6 +91,32 @@ void GuiDialog::slotRestore()
 }
 
 
+void GuiDialog::slotButtonBox(QAbstractButton * button)
+{
+       QDialogButtonBox * bbox = qobject_cast<QDialogButtonBox*>(sender());
+       switch (bbox->standardButton(button)) {
+       case QDialogButtonBox::Ok:
+               slotOK();
+               break;
+       case QDialogButtonBox::Apply:
+               slotApply();
+               break;
+       case QDialogButtonBox::Cancel:
+       case QDialogButtonBox::Close:
+               slotClose();
+               break;
+       case QDialogButtonBox::Reset:
+               slotRestore();
+               break;
+       case QDialogButtonBox::RestoreDefaults:
+               slotRestoreDefaults();
+               break;
+       default:
+               break;
+       }
+}
+
+
 void GuiDialog::changed()
 {
        if (updating_)