You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
164 lines
4.1 KiB
164 lines
4.1 KiB
/*
|
|
$Id: main.h 466447 2005-10-02 17:54:10Z zander $
|
|
This file is part of the KDE project
|
|
Copyright (C) 2001,2002 Daniel Naber <daniel.naber@t-online.de>
|
|
*/
|
|
/***************************************************************************
|
|
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 __main_h__
|
|
#define __main_h__
|
|
|
|
#include <qapplication.h>
|
|
#include <qcombobox.h>
|
|
#include <qgroupbox.h>
|
|
#include <qlabel.h>
|
|
#include <qlayout.h>
|
|
#include <qlistbox.h>
|
|
#include <qobject.h>
|
|
#include <qregexp.h>
|
|
#include <qstring.h>
|
|
#include <qstringlist.h>
|
|
#include <qtabdialog.h>
|
|
#include <qtabwidget.h>
|
|
#include <qtextbrowser.h>
|
|
#include <qtooltip.h>
|
|
#include <qwidget.h>
|
|
#include <qvbox.h>
|
|
|
|
#include <kapplication.h>
|
|
#include <kcombobox.h>
|
|
#include <kconfig.h>
|
|
#include <kcursor.h>
|
|
#include <kdatatool.h>
|
|
#include <kdebug.h>
|
|
#include <kdialogbase.h>
|
|
#include <kgenericfactory.h>
|
|
#include <klibloader.h>
|
|
#include <klineedit.h>
|
|
#include <klocale.h>
|
|
#include <kmessagebox.h>
|
|
#include <kprocess.h>
|
|
#include <kpushbutton.h>
|
|
#include <krun.h>
|
|
#include <kstandarddirs.h>
|
|
#include <kurl.h>
|
|
|
|
class QToolButton;
|
|
|
|
class Thesaurus : public KDataTool
|
|
{
|
|
Q_OBJECT
|
|
|
|
public:
|
|
Thesaurus(QObject* parent, const char* name, const QStringList &);
|
|
~Thesaurus();
|
|
virtual bool run(const QString& command, void* data,
|
|
const QString& datatype, const QString& mimetype);
|
|
|
|
protected slots:
|
|
void slotChangeLanguage();
|
|
|
|
void slotFindTerm();
|
|
void slotFindTerm(const QString &term, bool add_to_history = true);
|
|
|
|
void slotUpdateNavButtons();
|
|
void slotGotoHistory(int index);
|
|
|
|
void slotSetReplaceTerm(QListBoxItem *item);
|
|
void slotSetReplaceTerm(const QString &term);
|
|
|
|
void slotBack();
|
|
void slotForward();
|
|
|
|
void thesExited(KProcess *proc);
|
|
void receivedThesStdout(KProcess *proc, char *result, int len);
|
|
void receivedThesStderr(KProcess *proc, char *result, int len);
|
|
|
|
void wnExited(KProcess *proc);
|
|
void receivedWnStdout(KProcess *proc, char *result, int len);
|
|
void receivedWnStderr(KProcess *proc, char *result, int len);
|
|
|
|
protected:
|
|
enum Mode {grep, other};
|
|
void findTerm(const QString &term);
|
|
void findTermThesaurus(const QString &term);
|
|
void findTermWordnet(const QString &term);
|
|
QString formatLine(QString l);
|
|
|
|
/**
|
|
* Sort a list case insensitively.
|
|
* Be careful: @p list is modified
|
|
* TODO: use ksortablevaluelist?
|
|
*/
|
|
QStringList sortQStringList(QStringList list);
|
|
void setCaption();
|
|
|
|
QString m_no_match;
|
|
|
|
int m_history_pos;
|
|
|
|
bool m_replacement; // does this dialog offer a replace button etc.?
|
|
|
|
KConfig *m_config;
|
|
|
|
KProcess *m_thesproc;
|
|
QString m_thesproc_stdout;
|
|
QString m_thesproc_stderr;
|
|
|
|
KProcess *m_wnproc;
|
|
QString m_wnproc_stdout;
|
|
QString m_wnproc_stderr;
|
|
|
|
Mode m_mode;
|
|
|
|
QFrame *m_page;
|
|
QVBoxLayout *m_top_layout;
|
|
|
|
KDialogBase *m_dialog;
|
|
QTabWidget *m_tab;
|
|
QVBox *vbox;
|
|
QVBox *vbox2;
|
|
|
|
QToolButton *m_back;
|
|
QToolButton *m_forward;
|
|
KPushButton *m_lang;
|
|
|
|
KPushButton *m_search;
|
|
KHistoryCombo *m_edit;
|
|
QLabel *m_edit_label;
|
|
|
|
QLabel *m_replace_label;
|
|
KLineEdit *m_replace;
|
|
|
|
QString m_data_file;
|
|
|
|
// WordNet:
|
|
QTextBrowser *m_resultbox;
|
|
QComboBox *m_combobox;
|
|
|
|
// Thesaurus:
|
|
QGroupBox *grpbox_syn;
|
|
QListBox *m_thes_syn;
|
|
QGroupBox *grpbox_hyper;
|
|
QListBox *m_thes_hyper;
|
|
QGroupBox *grpbox_hypo;
|
|
QListBox *m_thes_hypo;
|
|
};
|
|
|
|
#endif
|