return "";
}
+StarDictSettings* StarDictPlugin::parseIfoFile()
+{
+ _ifoFileSettings = new StarDictSettings();
+
+ QFile file(settings()->value("path"));
+ if (!file.open(QIODevice::ReadOnly))
+ {
+ return 0;
+ }
+ QTextStream in(&file);
+ while (!in.atEnd()) {
+ QString line = in.readLine();
+ QStringList list = line.split("=");
+ if(line.contains("version"))
+ {
+ _ifoFileSettings->setVersion(list.at(1));
+ }
+ else if(line.contains("bookname"))
+ {
+ _ifoFileSettings->setBookname(list.at(1));
+ }
+ else if(line.contains("wordcount"))
+ {
+ _ifoFileSettings->setWordcount(list.at(1).toInt());
+ }
+ else if(line.contains("idxfilesize"))
+ {
+ _ifoFileSettings->setIdxfilesize(list.at(1).toInt());
+ }
+ else if(line.contains("idxoffsetbits"))
+ {
+ _ifoFileSettings->setidxoffsetbits(list.at(1).toInt());
+ }
+ else if(line.contains("author"))
+ {
+ _ifoFileSettings->setAuthor(list.at(1));
+ }
+ else if(line.contains("email"))
+ {
+ _ifoFileSettings->setEmail(list.at(1));
+ }
+ else if(line.contains("website"))
+ {
+ _ifoFileSettings->setWebsite(list.at(1));
+ }
+ else if(line.contains("description"))
+ {
+ _ifoFileSettings->setDescription(list.at(1));
+ }
+ else if(line.contains("date"))
+ {
+ _ifoFileSettings->setDate(list.at(1));
+ }
+ else if(line.contains("sametypesequence"))
+ {
+ _ifoFileSettings->setSametypesequence(list.at(1));
+ }
+ }
+ return _ifoFileSettings;
+
+}
void StarDictPlugin::stop() {
#include "../../include/settings.h"
#include "StarDictDialog.h"
#include "TranslationStarDict.h"
+#include "StarDictSettings.h"
class TranslationXdxf;
//! Sets new settings
bool setSettings(const Settings*);
+ //! \return object containing data parsed from .ifo file
+ StarDictSettings* parseIfoFile();
+
//! \returns plugin icon
QIcon* icon();
volatile bool stopped;
Settings *_settings;
StarDictDialog* _dictDialog;
+ StarDictSettings* _ifoFileSettings;
};
#endif // XDXFPLUGIN_H