35#include <tdeapplication.h>
36#include <lateximportdia.h>
37#include <lateximportdia.moc>
38#include <dcopclient.h>
39#include <tdetempfile.h>
42#include "latexparser.h"
45#include "generator/kwordgenerator.h"
47LATEXImportDia::LATEXImportDia(KoStore* out, TQWidget *parent,
const char *name) :
48 KDialogBase(parent, name, true, i18n(
"Latex Import Filter Parameters"),
50 DCOPObject(
"FilterConfigDia"), _out(out)
53 kapp->restoreOverrideCursor();
55 if(!kapp->dcopClient()->isRegistered() )
57 kapp->dcopClient()->registerAs(
"FilterConfigDia");
58 kapp->dcopClient()->setDefaultObject(objId());
62void LATEXImportDia::createDialog()
65 TQWidget *page =
new TQWidget(
this );
67 TQBoxLayout *mainLayout =
new TQVBoxLayout(page, KDialog::marginHint(), KDialog::spacingHint());
68 styleBox =
new TQVButtonGroup(i18n(
"Document Style"), page);
69 mainLayout->addWidget(styleBox);
72 TQBoxLayout *styleLayout =
new TQVBoxLayout(page);
74 latexStyleRBtn =
new TQRadioButton(i18n(
"Latex style"), styleBox);
75 styleLayout->addWidget(latexStyleRBtn);
77 kwordStyleRBtn =
new TQRadioButton(i18n(
"KWord style"), styleBox);
78 styleLayout->addWidget(kwordStyleRBtn);
85 styleBox->setExclusive(
true);
86 styleBox->setButton(0);
87 styleLayout->activate();
90 langBox =
new TQVButtonGroup(i18n(
"Language"), page);
91 mainLayout->addWidget(langBox);
93 TQBoxLayout *langLayout =
new TQVBoxLayout(langBox);
95 unicodeRBtn =
new TQRadioButton(i18n(
"Unicode"), langBox);
96 langLayout->addWidget(unicodeRBtn);
98 latin1RBtn =
new TQRadioButton(i18n(
"latin1"), langBox);
99 langLayout->addWidget(latin1RBtn);
107 langBox->setExclusive(
true);
108 langBox->setButton(1);
109 langLayout->activate();
112 docBox =
new TQVButtonGroup(i18n(
"Document Type"), page);
113 mainLayout->addWidget(docBox);
115 TQBoxLayout *docLayout =
new TQVBoxLayout(docBox);
117 newDocRBtn =
new TQRadioButton(i18n(
"New document"), docBox);
118 docLayout->addWidget(newDocRBtn);
120 embededRBtn =
new TQRadioButton(i18n(
"Embedded document"), docBox);
121 docLayout->addWidget(embededRBtn);
123 docBox->setExclusive(
true);
124 docBox->setButton(0);
125 docLayout->activate();
128 mainLayout->addStretch(5);
129 mainLayout->activate();
132void LATEXImportDia::state()
136 if(newDocRBtn == docBox->selected())
137 config.setType(TYPE_DOC);
138 else if(embededRBtn == docBox->selected())
139 config.setType(TYPE_EMBEDED);
141 if(unicodeRBtn == langBox->selected())
142 config.setEncoding(ENC_UNICODE);
143 else if(latin1RBtn == langBox->selected())
144 config.setEncoding(ENC_LATIN1);
152void LATEXImportDia::slotOk()
156 kdDebug(30522) <<
"LATEX FILTER --> BEGIN" << endl;
157 LatexParser parser(_fileIn);
158 TQPtrList<Element>* root = parser.parse();
159 kdDebug(30522) <<
"---------- generate file -------------" << endl;
160 kdDebug(30522) <<
"command: " << root->count() << endl;
162 for(elt = root->first(); elt; elt = root->next())
166 KwordGenerator generator(root);
167 generator.convert(_out);
168 kdDebug(30522) <<
"LATEX FILTER --> END" << endl;