From cd7ee54cb125b45cba52ac8408b3b4597c894b1a Mon Sep 17 00:00:00 2001 From: Edwin Leuven Date: Sat, 19 Jan 2002 13:48:05 +0000 Subject: [PATCH] Add texinfo dialog to qt2 frontend git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@3419 a592a061-630c-0410-9148-cb99ea01b6c8 --- src/frontends/qt2/ChangeLog | 8 + src/frontends/qt2/Dialogs.C | 3 + src/frontends/qt2/Makefile.dialogs | 11 + src/frontends/qt2/QTexinfo.C | 67 ++++++ src/frontends/qt2/QTexinfo.h | 50 ++++ src/frontends/qt2/QTexinfoDialog.C | 83 +++++++ src/frontends/qt2/QTexinfoDialog.h | 38 +++ src/frontends/qt2/ui/QTexinfoDialog.ui | 314 +++++++++++++++++++++++++ 8 files changed, 574 insertions(+) create mode 100644 src/frontends/qt2/QTexinfo.C create mode 100644 src/frontends/qt2/QTexinfo.h create mode 100644 src/frontends/qt2/QTexinfoDialog.C create mode 100644 src/frontends/qt2/QTexinfoDialog.h create mode 100644 src/frontends/qt2/ui/QTexinfoDialog.ui diff --git a/src/frontends/qt2/ChangeLog b/src/frontends/qt2/ChangeLog index 54a42d2d96..2141f6c067 100644 --- a/src/frontends/qt2/ChangeLog +++ b/src/frontends/qt2/ChangeLog @@ -1,3 +1,11 @@ +2002-01-19 Edwin Leuven + + * QTexinfo.[Ch]: added + * QTexinfoDialog.[Ch]: added + * ui/QTexinfoDialog.ui: added + * Dialogs.C: add dialog + * Makefile.dialogs: idem + 2002-01-18 Edwin Leuven * QMinipage.C: compiles fixes (lyxlength related) diff --git a/src/frontends/qt2/Dialogs.C b/src/frontends/qt2/Dialogs.C index ec6f0b3fff..50baf9a918 100644 --- a/src/frontends/qt2/Dialogs.C +++ b/src/frontends/qt2/Dialogs.C @@ -31,6 +31,7 @@ #include "QSearchDialog.h" #include "QSpellcheckerDialog.h" #include "QTabularCreateDialog.h" +#include "QTexinfoDialog.h" #include "QThesaurusDialog.h" #include "QURLDialog.h" #include "QVCLogDialog.h" @@ -55,6 +56,7 @@ #include "QSearch.h" #include "QSpellchecker.h" #include "QTabularCreate.h" +#include "QTexinfo.h" #include "QThesaurus.h" #include "QURL.h" #include "QVCLog.h" @@ -109,6 +111,7 @@ Dialogs::Dialogs(LyXView * lv) add(new GUISearch(*lv, *this)); add(new GUISpellchecker(*lv, *this)); add(new GUITabularCreate(*lv, *this)); + add(new GUITexinfo(*lv, *this)); add(new GUIThesaurus(*lv, *this)); add(new GUIUrl(*lv, *this)); add(new GUIVCLog(*lv, *this)); diff --git a/src/frontends/qt2/Makefile.dialogs b/src/frontends/qt2/Makefile.dialogs index 8054649092..2c992122ef 100644 --- a/src/frontends/qt2/Makefile.dialogs +++ b/src/frontends/qt2/Makefile.dialogs @@ -22,6 +22,7 @@ DIALOGS = \ QSearch \ QSpellchecker \ QTabularCreate \ + QTexinfo \ QThesaurus \ QToc \ QURL \ @@ -70,6 +71,8 @@ DIALOGSOURCES = \ QSpellchecker.C QSpellcheckerDialog.C \ QTabularCreate.h QTabularCreateDialog.h \ QTabularCreate.C QTabularCreateDialog.C \ + QTexinfo.h QTexinfoDialog.h \ + QTexinfo.C QTexinfoDialog.C \ QThesaurus.h QThesaurusDialog.h \ QThesaurus.C QThesaurusDialog.C \ QToc.h QTocDialog.h \ @@ -101,6 +104,7 @@ MOCDIALOGS = \ QSearchDialog_moc.C \ QSpellcheckerDialog_moc.C \ QTabularCreateDialog_moc.C \ + QTexinfoDialog_moc.C \ QThesaurusDialog_moc.C \ QTocDialog_moc.C \ QURLDialog_moc.C \ @@ -149,6 +153,8 @@ UIDIALOGS = \ QSpellcheckerDialogBase.C \ QTabularCreateDialogBase.h \ QTabularCreateDialogBase.C \ + QTexinfoDialogBase.h \ + QTexinfoDialogBase.C \ QThesaurusDialogBase.h \ QThesaurusDialogBase.C \ QTocDialogBase.h \ @@ -180,7 +186,12 @@ UIMOCDIALOGS = \ QSearchDialogBase_moc.C \ QSpellcheckerDialogBase_moc.C \ QTabularCreateDialogBase_moc.C \ + QTexinfoDialogBase_moc.C \ QThesaurusDialogBase_moc.C \ QTocDialogBase_moc.C \ QURLDialogBase_moc.C \ QVCLogDialogBase_moc.C + + + + diff --git a/src/frontends/qt2/QTexinfo.C b/src/frontends/qt2/QTexinfo.C new file mode 100644 index 0000000000..7b76eeec81 --- /dev/null +++ b/src/frontends/qt2/QTexinfo.C @@ -0,0 +1,67 @@ +/** + * \file QTexinfo.C + * Copyright 2002 the LyX Team + * Read the file COPYING + * + * \author Edwin Leuven + */ + +#include + +#include + +#ifdef __GNUG__ +#pragma implementation +#endif + +#include "ControlTexinfo.h" +#include "QTexinfoDialog.h" +#include "QTexinfo.h" +#include "Qt2BC.h" +#include "gettext.h" +#include "helper_funcs.h" + +#include +#include +#include + +typedef Qt2CB > base_class; + +QTexinfo::QTexinfo(ControlTexinfo & c) + : base_class(c, _("LaTeX Information")), warningPosted(false), activeStyle(ControlTexinfo::cls) + +{ +} + + +void QTexinfo::build_dialog() +{ + dialog_.reset(new QTexinfoDialog(this)); + + updateStyles(ControlTexinfo::cls); + + bc().setCancel(dialog_->closePB); +} + + +void QTexinfo::updateStyles(ControlTexinfo::texFileSuffix whichStyle) +{ + bool const withFullPath = dialog_->path->isChecked(); + + string const str = controller().getContents(whichStyle, withFullPath); + std::vector flist = getVectorFromString(str,"\n"); + + dialog_->fileList->clear(); + + for (vector::const_iterator fitem = flist.begin(); + fitem != flist.end(); ++fitem) { + dialog_->fileList->insertItem((*fitem).c_str()); + } + + activeStyle = whichStyle; +} + +void QTexinfo::updateStyles() +{ + updateStyles(activeStyle); +} diff --git a/src/frontends/qt2/QTexinfo.h b/src/frontends/qt2/QTexinfo.h new file mode 100644 index 0000000000..276941ce7e --- /dev/null +++ b/src/frontends/qt2/QTexinfo.h @@ -0,0 +1,50 @@ +// -*- C++ -*- +/** + * \file QTexinfo.h + * Copyright 2002 the LyX Team + * Read the file COPYING + * + * \author Edwin Leuven + */ + +#ifndef QTEXINFO_H +#define QTEXINFO_H + +#ifdef __GNUG__ +#pragma interface +#endif + +#include "Qt2Base.h" + +#include "ControlTexinfo.h" + +class QTexinfoDialog; + +/// +class QTexinfo + : public Qt2CB > +{ +public: + /// + friend class QTexinfoDialog; + /// + QTexinfo(ControlTexinfo &); +private: + /// Apply changes + virtual void apply() { }; + /// update (do we need this?) + virtual void update_contents() {}; + /// build the dialog + virtual void build_dialog(); + /// + void updateStyles(ControlTexinfo::texFileSuffix); + /// + void updateStyles(); + /// + bool warningPosted; + /// + ControlTexinfo::texFileSuffix activeStyle; + +}; + +#endif // QTEXINFO_H diff --git a/src/frontends/qt2/QTexinfoDialog.C b/src/frontends/qt2/QTexinfoDialog.C new file mode 100644 index 0000000000..8b0096a210 --- /dev/null +++ b/src/frontends/qt2/QTexinfoDialog.C @@ -0,0 +1,83 @@ +/** + * \file QTexinfoDialog.C + * Copyright 2002 the LyX Team + * Read the file COPYING + * + * \author Edwin Leuven + */ + +#include +#include + +#include "LString.h" + +#include "ControlTexinfo.h" +#include "QTexinfoDialog.h" +#include "Dialogs.h" +#include "QTexinfo.h" + +#include +#include +#include + +QTexinfoDialog::QTexinfoDialog(QTexinfo * form) + : QTexinfoDialogBase(0, 0, false, 0), + form_(form) +{ + connect(closePB, SIGNAL(clicked()), + form, SLOT(slotClose())); +} + + +void QTexinfoDialog::change_adaptor() +{ + form_->changed(); +} + + +void QTexinfoDialog::closeEvent(QCloseEvent * e) +{ + form_->slotWMHide(); + e->accept(); +} + +void QTexinfoDialog::helpClicked() +{ + form_->controller().help(); +} + +void QTexinfoDialog::rescanClicked() +{ + // build new *Files.lst + form_->controller().rescanStyles(); + form_->updateStyles(); +} + +void QTexinfoDialog::viewClicked() +{ + string const sel(fileList->currentText()); + // a valid entry? + if (!sel.empty()) { + form_->controller().viewFile(sel.c_str()); + } +} + +void QTexinfoDialog::update() +{ + int item = whatStyle->currentItem(); + + switch (item) { + case 0: + form_->updateStyles(ControlTexinfo::cls); + break; + case 1: + form_->updateStyles(ControlTexinfo::sty); + break; + case 2: + form_->updateStyles(ControlTexinfo::bst); + break; + default: + break; + } + +} diff --git a/src/frontends/qt2/QTexinfoDialog.h b/src/frontends/qt2/QTexinfoDialog.h new file mode 100644 index 0000000000..e5b17d8838 --- /dev/null +++ b/src/frontends/qt2/QTexinfoDialog.h @@ -0,0 +1,38 @@ +/** + * \file QTexinfoDialog.h + * Copyright 2002 the LyX Team + * Read the file COPYING + * + * \author Edwin Leuven + */ + +#ifndef QTEXINFODIALOG_H +#define QTEXINFODIALOG_H + +#include + +#include "ui/QTexinfoDialogBase.h" + +class QTexinfo; + +class QTexinfoDialog : public QTexinfoDialogBase +{ Q_OBJECT + +public: + QTexinfoDialog(QTexinfo * form); + +protected slots: + virtual void change_adaptor(); + virtual void helpClicked(); + virtual void rescanClicked(); + virtual void viewClicked(); + virtual void update(); + +protected: + virtual void closeEvent(QCloseEvent * e); + +private: + QTexinfo * form_; +}; + +#endif // QTEXINFODIALOG_H diff --git a/src/frontends/qt2/ui/QTexinfoDialog.ui b/src/frontends/qt2/ui/QTexinfoDialog.ui new file mode 100644 index 0000000000..0f8dbe7781 --- /dev/null +++ b/src/frontends/qt2/ui/QTexinfoDialog.ui @@ -0,0 +1,314 @@ + +QTexinfoDialogBase +config.h +gettext.h + + QDialog + + name + QTexinfoDialogBase + + + geometry + + 0 + 0 + 299 + 290 + + + + caption + Form1 + + + + margin + 11 + + + spacing + 6 + + + QLayoutWidget + + name + Layout1 + + + + margin + 0 + + + spacing + 6 + + + QComboBox + + + text + LaTeX classes + + + + + text + LaTeX styles + + + + + text + BibTeX styles + + + + name + whatStyle + + + toolTip + Selected classes or styles + + + + + name + Spacer1 + + + orientation + Horizontal + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + QCheckBox + + name + path + + + text + Show &path + + + toolTip + Toggles view of the file list + + + + + + QListBox + + + text + New Item + + + + name + fileList + + + toolTip + Installed files + + + + QLayoutWidget + + name + Layout3 + + + + margin + 0 + + + spacing + 6 + + + + name + Spacer5 + + + orientation + Horizontal + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + QPushButton + + name + rescanPB + + + text + &Rescan + + + toolTip + Built new file list + + + + QPushButton + + name + viewPB + + + text + &View + + + toolTip + Show contents of marked file. Only possible when files are shown with path + + + + + + QLayoutWidget + + name + Layout2 + + + + margin + 0 + + + spacing + 6 + + + QPushButton + + name + helpPB + + + text + &Help + + + toolTip + Bring up help file + + + + + name + Spacer4 + + + orientation + Horizontal + + + sizeType + Expanding + + + sizeHint + + 20 + 20 + + + + + QPushButton + + name + closePB + + + text + &Close + + + toolTip + Close this dialog + + + + + + + + + viewPB + clicked() + QTexinfoDialogBase + viewClicked() + + + helpPB + clicked() + QTexinfoDialogBase + helpClicked() + + + rescanPB + clicked() + QTexinfoDialogBase + rescanClicked() + + + path + stateChanged(int) + QTexinfoDialogBase + update() + + + whatStyle + activated(int) + QTexinfoDialogBase + update() + + helpClicked() + rescanClicked() + update() + viewClicked() + + + whatStyle + path + viewPB + rescanPB + helpPB + closePB + + -- 2.39.2