On Tue, Apr 24, 2007 at 11:14:03AM +0200, Andre Poenitz wrote:
> 
> I just renamed the .ui files. This was straightforward. However, the
> stuff in qt4/* is harder as there'll be clashes with headers in src/*.h.
> 
> So I'd keep it as it is at the moment and rather merge  QFooDialog.[Ch]
> into QFoo.[Ch] whenever it makes sense. 
> 
> The dependencies are pretty strong (#include "QBoxDialog.h" in QBox.h,
> QBoxDialog is friend of QBox etc) in general, yet the files themselves
> are tiny (i.e. poison for build times [and navigation...]).
> 
> Comments?

Would look like the attached patch for the Box dialog. Saves 30+ lines
and reduces compile times for this particular pair of files to exactly
50%.

Andre'
Index: qt4/QBox.h
===================================================================
--- qt4/QBox.h	(revision 17935)
+++ qt4/QBox.h	(working copy)
@@ -13,16 +13,38 @@
 #ifndef QBOX_H
 #define QBOX_H
 
-#include "QBoxDialog.h"
 #include "QDialogView.h"
 
+#include "ui/BoxUi.h"
+
+#include <QCloseEvent>
+#include <QDialog>
+
 #include <vector>
 
+
 namespace lyx {
 namespace frontend {
 
 class ControlBox;
+class QBox;
 
+class QBoxDialog : public QDialog, public Ui::QBoxUi {
+	Q_OBJECT
+public:
+	QBoxDialog(QBox * form);
+protected Q_SLOTS:
+	virtual void change_adaptor();
+	virtual void innerBoxChanged(const QString &);
+	virtual void typeChanged(int);
+	virtual void restoreClicked();
+protected:
+	virtual void closeEvent(QCloseEvent * e);
+private:
+	QBox * form_;
+};
+
+
 ///
 class QBox
 	: public QController<ControlBox, QView<QBoxDialog> >
Index: qt4/QBoxDialog.h
===================================================================
--- qt4/QBoxDialog.h	(revision 17935)
+++ qt4/QBoxDialog.h	(working copy)
@@ -1,43 +0,0 @@
-// -*- C++ -*-
-/**
- * \file QBoxDialog.h
- * This file is part of LyX, the document processor.
- * Licence details can be found in the file COPYING.
- *
- * \author J�rgen Spitzm�ller
- *
- * Full author contact details are available in file CREDITS.
- */
-
-#ifndef QBOXDIALOG_H
-#define QBOXDIALOG_H
-
-#include "ui/BoxUi.h"
-
-#include <QCloseEvent>
-#include <QDialog>
-
-namespace lyx {
-namespace frontend {
-
-class QBox;
-
-class QBoxDialog : public QDialog, public Ui::QBoxUi {
-	Q_OBJECT
-public:
-	QBoxDialog(QBox * form);
-protected Q_SLOTS:
-	virtual void change_adaptor();
-	virtual void innerBoxChanged(const QString &);
-	virtual void typeChanged(int);
-	virtual void restoreClicked();
-protected:
-	virtual void closeEvent(QCloseEvent * e);
-private:
-	QBox * form_;
-};
-
-} // namespace frontend
-} // namespace lyx
-
-#endif // QBOXDIALOG_H
Index: qt4/Makefile.dialogs
===================================================================
--- qt4/Makefile.dialogs	(revision 17936)
+++ qt4/Makefile.dialogs	(working copy)
@@ -89,7 +89,7 @@
 	QAboutDialog.C QAboutDialog.h \
 	QBibitemDialog.C QBibitemDialog.h \
 	QBibtexDialog.C QBibtexDialog.h \
-	QBoxDialog.C QBoxDialog.h \
+	QBox.C QBox.h \
 	QBranchDialog.C QBranchDialog.h \
 	QBranches.C QBranches.h \
 	QChangesDialog.C QChangesDialog.h \
Index: qt4/QBox.C
===================================================================
--- qt4/QBox.C	(revision 17935)
+++ qt4/QBox.C	(working copy)
@@ -16,12 +16,11 @@
 
 #include "checkedwidgets.h"
 #include "lengthcombo.h"
-#include "QBoxDialog.h"
 #include "qt_helpers.h"
 #include "Qt2BC.h"
-
 #include "lengthcommon.h"
 #include "lyxrc.h" // to set the default length values
+#include "validators.h"
 
 #include "controllers/ControlBox.h"
 #include "controllers/helper_funcs.h"
@@ -32,17 +31,117 @@
 
 #include <QPushButton>
 #include <QLineEdit>
+#include <QCloseEvent>
 
-#include <vector>
 
 using lyx::support::getStringFromVector;
 using lyx::support::isStrDbl;
 using lyx::support::subst;
 using std::string;
 
+
 namespace lyx {
 namespace frontend {
 
+//////////////////////////////////////////////////////////////////
+//
+// QBoxDialog
+//
+//////////////////////////////////////////////////////////////////
+
+QBoxDialog::QBoxDialog(QBox * form)
+	: form_(form)
+{
+	setupUi(this);
+	connect(restorePB, SIGNAL(clicked()), form, SLOT(slotRestore()));
+	connect(okPB, SIGNAL(clicked()), form, SLOT(slotOK()));
+	connect(applyPB, SIGNAL(clicked()), form, SLOT(slotApply()));
+	connect(closePB, SIGNAL(clicked()), form, SLOT(slotClose()));
+
+	connect(widthED, SIGNAL(textChanged(const QString &)),
+		this, SLOT(change_adaptor()));
+	connect(widthUnitsLC, SIGNAL(selectionChanged(lyx::LyXLength::UNIT)),
+		this, SLOT(change_adaptor()));
+	connect(valignCO, SIGNAL(highlighted(const QString &)),
+		this, SLOT(change_adaptor()));
+	connect(heightED, SIGNAL(textChanged(const QString &)),
+		this, SLOT(change_adaptor()));
+	connect(heightUnitsLC, SIGNAL(selectionChanged(lyx::LyXLength::UNIT) ),
+		this, SLOT(change_adaptor()));
+	connect(restorePB, SIGNAL(clicked()), this, SLOT(restoreClicked()));
+	connect(typeCO, SIGNAL(activated(int)), this, SLOT(change_adaptor()));
+	connect(typeCO, SIGNAL(activated(int)), this, SLOT(typeChanged(int)));
+	connect(halignCO, SIGNAL(activated(int)), this, SLOT(change_adaptor()));
+	connect(ialignCO, SIGNAL(activated(int)), this, SLOT(change_adaptor()));
+	connect(innerBoxCO, SIGNAL(activated(const QString&)),
+		this, SLOT(innerBoxChanged(const QString &)));
+	connect(innerBoxCO, SIGNAL(activated(int)), this, SLOT(change_adaptor()));
+
+	heightED->setValidator(unsignedLengthValidator(heightED));
+	widthED->setValidator(unsignedLengthValidator(widthED));
+}
+
+
+void QBoxDialog::closeEvent(QCloseEvent * e)
+{
+	form_->slotWMHide();
+	e->accept();
+}
+
+
+void QBoxDialog::change_adaptor()
+{
+	form_->changed();
+}
+
+
+void QBoxDialog::innerBoxChanged(const QString & str)
+{
+	bool const ibox = (str != qt_("None"));
+	valignCO->setEnabled(ibox);
+	ialignCO->setEnabled(ibox);
+	halignCO->setEnabled(!ibox);
+	heightED->setEnabled(ibox);
+	heightUnitsLC->setEnabled(ibox);
+	form_->setSpecial(ibox);
+}
+
+
+void QBoxDialog::typeChanged(int index)
+{
+	bool const frameless = (index == 0);
+	if (frameless) {
+		valignCO->setEnabled(true);
+		ialignCO->setEnabled(true);
+		halignCO->setEnabled(false);
+		heightED->setEnabled(true);
+		heightUnitsLC->setEnabled(true);
+		form_->setSpecial(true);
+	}
+	int itype = innerBoxCO->currentIndex();
+	form_->setInnerType(frameless, itype);
+}
+
+
+void QBoxDialog::restoreClicked()
+{
+	form_->setInnerType(true, 2);
+	widthED->setText("100");
+	widthUnitsLC->setCurrentItem(LyXLength::PCW);
+	heightED->setText("1");
+	for (int j = 0; j < heightUnitsLC->count(); j++) {
+		if (heightUnitsLC->itemText(j) == qt_("Total Height"))
+			heightUnitsLC->setCurrentItem(j);
+	}
+}
+
+
+//////////////////////////////////////////////////////////////////
+//
+// QBox
+//
+//////////////////////////////////////////////////////////////////
+
 typedef QController<ControlBox, QView<QBoxDialog> > box_base_class;
 
 QBox::QBox(Dialog & parent)
@@ -62,9 +161,8 @@
 	// add the special units to the height choice
 	// width needs different handling
 	box_gui_tokens_special_length(ids_spec_, gui_names_spec_);
-	for (unsigned int i = 1; i < gui_names_spec_.size(); ++i) {
+	for (unsigned int i = 1; i < gui_names_spec_.size(); ++i) 
 		dialog_->heightUnitsLC->addItem(toqstr(gui_names_spec_[i]));
-	}
 
 	bcview().addReadOnly(dialog_->typeCO);
 	bcview().addReadOnly(dialog_->innerBoxCO);
@@ -292,3 +390,7 @@
 
 } // namespace frontend
 } // namespace lyx
+
+
+#include "QBox_moc.cpp"
+
Index: qt4/QBoxDialog.C
===================================================================
--- qt4/QBoxDialog.C	(revision 17935)
+++ qt4/QBoxDialog.C	(working copy)
@@ -1,115 +0,0 @@
-/**
- * \file QBoxDialog.C
- * This file is part of LyX, the document processor.
- * Licence details can be found in the file COPYING.
- *
- * \author J�rgen Spitzm�ller
- *
- * Full author contact details are available in file CREDITS.
- */
-
-#include <config.h>
-
-#include "QBoxDialog.h"
-//Added by qt3to4:
-#include <QCloseEvent>
-
-#include "lengthcombo.h"
-#include "validators.h"
-#include "QBox.h"
-#include "qt_helpers.h"
-
-#include <qlineedit.h>
-#include <qpushbutton.h>
-
-namespace lyx {
-namespace frontend {
-
-QBoxDialog::QBoxDialog(QBox * form)
-	: form_(form)
-{
-	setupUi(this);
-	connect(restorePB, SIGNAL(clicked()),
-		form, SLOT(slotRestore()));
-	connect(okPB, SIGNAL(clicked()),
-		form, SLOT(slotOK()));
-	connect(applyPB, SIGNAL(clicked()),
-		form, SLOT(slotApply()));
-	connect(closePB, SIGNAL(clicked()),
-		form, SLOT(slotClose()));
-
-    connect( widthED, SIGNAL( textChanged(const QString&) ), this, SLOT( change_adaptor() ) );
-    connect( widthUnitsLC, SIGNAL( selectionChanged(lyx::LyXLength::UNIT) ), this, SLOT( change_adaptor() ) );
-    connect( valignCO, SIGNAL( highlighted(const QString&) ), this, SLOT( change_adaptor() ) );
-    connect( heightED, SIGNAL( textChanged(const QString&) ), this, SLOT( change_adaptor() ) );
-    connect( heightUnitsLC, SIGNAL( selectionChanged(lyx::LyXLength::UNIT) ), this, SLOT( change_adaptor() ) );
-    connect( restorePB, SIGNAL( clicked() ), this, SLOT( restoreClicked() ) );
-    connect( typeCO, SIGNAL( activated(int) ), this, SLOT( change_adaptor() ) );
-    connect( typeCO, SIGNAL( activated(int) ), this, SLOT( typeChanged(int) ) );
-    connect( halignCO, SIGNAL( activated(int) ), this, SLOT( change_adaptor() ) );
-    connect( ialignCO, SIGNAL( activated(int) ), this, SLOT( change_adaptor() ) );
-    connect( innerBoxCO, SIGNAL( activated(const QString&) ), this, SLOT( innerBoxChanged(const QString &) ) );
-    connect( innerBoxCO, SIGNAL( activated(int) ), this, SLOT( change_adaptor() ) );
-
-	heightED->setValidator(unsignedLengthValidator(heightED));
-	widthED->setValidator(unsignedLengthValidator(widthED));
-}
-
-
-void QBoxDialog::closeEvent(QCloseEvent * e)
-{
-	form_->slotWMHide();
-	e->accept();
-}
-
-
-void QBoxDialog::change_adaptor()
-{
-	form_->changed();
-}
-
-
-void QBoxDialog::innerBoxChanged(const QString & str)
-{
-	bool ibox = (str != qt_("None"));
-	valignCO->setEnabled(ibox);
-	ialignCO->setEnabled(ibox);
-	halignCO->setEnabled(!ibox);
-	heightED->setEnabled(ibox);
-	heightUnitsLC->setEnabled(ibox);
-	form_->setSpecial(ibox);
-}
-
-
-void QBoxDialog::typeChanged(int index)
-{
-	bool frameless = (index == 0);
-	if (frameless) {
-		valignCO->setEnabled(true);
-		ialignCO->setEnabled(true);
-		halignCO->setEnabled(false);
-		heightED->setEnabled(true);
-		heightUnitsLC->setEnabled(true);
-		form_->setSpecial(true);
-	}
-	int itype = innerBoxCO->currentIndex();
-	form_->setInnerType(frameless, itype);
-}
-
-
-void QBoxDialog::restoreClicked()
-{
-	form_->setInnerType(true, 2);
-	widthED->setText("100");
-	widthUnitsLC->setCurrentItem(LyXLength::PCW);
-	heightED->setText("1");
-	for (int j = 0; j < heightUnitsLC->count(); j++) {
-		if (heightUnitsLC->itemText(j) == qt_("Total Height"))
-			heightUnitsLC->setCurrentItem(j);
-	}
-}
-
-} // namespace frontend
-} // namespace lyx
-
-#include "QBoxDialog_moc.cpp"

Reply via email to