diff options
Diffstat (limited to 'kvoctrain/kvoctrain/docprop-dialogs/DocPropLangDlg.cpp')
-rw-r--r-- | kvoctrain/kvoctrain/docprop-dialogs/DocPropLangDlg.cpp | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/kvoctrain/kvoctrain/docprop-dialogs/DocPropLangDlg.cpp b/kvoctrain/kvoctrain/docprop-dialogs/DocPropLangDlg.cpp new file mode 100644 index 00000000..597978c0 --- /dev/null +++ b/kvoctrain/kvoctrain/docprop-dialogs/DocPropLangDlg.cpp @@ -0,0 +1,97 @@ +/*************************************************************************** + + document language dialog class + + ----------------------------------------------------------------------- + + begin : Sat Jun 2 20:50:53 MET 1999 + + copyright : (C) 1999-2001 Ewald Arnold <kvoctrain@ewald-arnold.de> + (C) 2001 The KDE-EDU team + (C) 2005 Peter Hedlund <peter.hedlund@kdemail.net> + + ----------------------------------------------------------------------- + + *************************************************************************** + + *************************************************************************** + * * + * This program is free software; you can redistribute it and/or modify * + * it under the terms of the GNU General Public License as published by * + * the Free Software Foundation; either version 2 of the License, or * + * (at your option) any later version. * + * * + ***************************************************************************/ + + +#include "DocPropLangDlg.h" +#include "LangPropPage.h" + +#include <qstringlist.h> +#include <qlayout.h> +#include <qvaluelist.h> +#include <qtabwidget.h> + +#include <kapplication.h> +#include <klocale.h> +#include <kstandarddirs.h> + +#include <kvoctraindoc.h> +#include <langset.h> + + +class kvoctraindoc; + +DocPropsLangDlg::DocPropsLangDlg(kvoctrainDoc *doc, LangSet *langset, QWidget *parent, const char *name, bool modal) + : + KDialogBase(Tabbed, i18n("Language Properties"), Ok|Cancel, Ok, parent, name, modal) +{ + QFrame * page; + QVBoxLayout * topLayout; + LangPropPage* lpp; + + for (int i = 0; i < (int) doc->numLangs(); i++) + { + QString s; + if (i == 0) + s = doc->getOriginalIdent(); + else + s = doc->getIdent(i); + + int idx = langset->indexShortId(s); + + QString tabCaption; + + if (idx >= 0) + tabCaption = (langset->longId(idx)); + else + tabCaption = (s); + + page = addPage(s, s, QPixmap(langset->PixMapFile(idx))); ///@todo The pixmaps don't show up in tabbed dialog + topLayout = new QVBoxLayout( page, 0, KDialog::spacingHint() ); + lpp = new LangPropPage (doc, s, doc->getConjugation(i), doc->getArticle(i), page, name); + topLayout->addWidget( lpp ); + + langPages.append (lpp); + } +} + + +Conjugation DocPropsLangDlg::getConjugation(int idx) const +{ + if (idx < (int) langPages.size()) + return langPages[idx]->getConjugation(); + else + return Conjugation(); +} + + +Article DocPropsLangDlg::getArticle(int idx) const +{ + if (idx < (int) langPages.size() ) + return langPages[idx]->getArticle(); + else + return Article(); +} + +#include "DocPropLangDlg.moc" |