/** This file is part of Kiten, a KDE Japanese Reference Tool... Copyright (C) 2001 Jason Katz-Brown (C) 2005 Paul Temple 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. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA **/ #ifndef KITEN_H #define KITEN_H #include "asyndeta.h" #include "dict.h" #include "rad.h" #include "deinf.h" class Config; class ConfigureDialog; class EditAction; class TDEGlobalAccel; class KStatusBar; class TDEToggleAction; class TDEListAction; class Learn; class ResultView; class TDE_EXPORT TopLevel : public TDEMainWindow { TQ_OBJECT public: TopLevel(TQWidget *parent = 0, const char *name = 0); ~TopLevel(); signals: void saveLists(); void add(Dict::Entry); void quizConfChanged(); protected: virtual bool queryClose(); private slots: void search(bool inResults = false); void ressearch(const TQString&); void searchBeginning(); void searchAnywhere(); void resultSearch(); void searchAccel(); void autoSearch(); void kanjiSearchAccel(); void strokeSearch(); void gradeSearch(); void back(); void forward(); void goInHistory(int); void historySpotChanged(); void slotConfigure(); void slotLearnConfigure(); void slotConfigureHide(); void slotConfigureDestroy(); void slotConfigurationChanged(); // calls the below too void updateConfiguration(); void kanjiDictChange(); void toggleCom(); void addToList(); RadWidget *radicalSearch(); void radSearch(const TQStringList &, unsigned int, unsigned int); void print(); void createLearn(); void learnDestroyed(Learn *); void createEEdit(); void configureToolBars(); void configureGlobalKeys(); void newToolBarConfig(); void finishInit(); private: KStatusBar *StatusBar; Asyndeta _Asyndeta; Rad _Rad; Deinf::Index _DeinfIndex; ResultView *_ResultView; TDEToggleAction *kanjiCB; TDEToggleAction *autoSearchToggle; TDEToggleAction *deinfCB; TDEListAction *historyAction; TDEAction *irAction; TDEAction *addAction; TDEToggleAction *comCB; TDEAction *backAction; TDEAction *forwardAction; TDEGlobalAccel *Accel; void doSearch(const TQString &text, TQRegExp regexp); void doSearchInResults(const TQString &text, TQRegExp regexp); void handleSearchResult(Dict::SearchResult); TQString filteredClipboardText(); TQString clipBoardText(); ConfigureDialog *optionDialog; Config* config; void setResults(unsigned int, unsigned int); TQPtrList learnList; TQRegExp searchItems(); TQRegExp readingSearchItems(bool); TQRegExp kanjiSearchItems(bool = false); EditAction *Edit; bool readingSearch; // if this is true and no results, try with kanjiSearchItems bool beginningReadingSearch; Dict::Entry toAddKanji; TQValueList resultHistory; TQValueListIterator currentResult; int currentResultIndex; void addHistory(Dict::SearchResult); void enableHistoryButtons(); TQString personalDict; }; #endif