diff options
Diffstat (limited to 'src/modules/options/optw_servers.h')
-rw-r--r-- | src/modules/options/optw_servers.h | 210 |
1 files changed, 210 insertions, 0 deletions
diff --git a/src/modules/options/optw_servers.h b/src/modules/options/optw_servers.h new file mode 100644 index 00000000..ea71c6d3 --- /dev/null +++ b/src/modules/options/optw_servers.h @@ -0,0 +1,210 @@ +#ifndef _OPTW_SERVERS_H_ +#define _OPTW_SERVERS_H_ + +//============================================================================= +// +// File : optw_servers.h +// Creation date : Wed Jun 12 2000 03:29:01 by Szymon Stefanek +// +// This file is part of the KVirc irc client distribution +// Copyright (C) 2000 Szymon Stefanek (pragma at kvirc dot 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 opinion) 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. +// +//============================================================================= + +#include "kvi_optionswidget.h" +#include "kvi_tal_listview.h" +#include <qdialog.h> +#include <qbuttongroup.h> +#include <qtabwidget.h> + +class KviIrcServer; +class KviIrcNetwork; +class KviIrcNetworkData; +class KviMexServerImport; + + + +class KviServerOptionsListViewItem : public KviTalListViewItem +{ +public: + KviServerOptionsListViewItem(KviTalListView *parent,const QPixmap &pm,const KviIrcNetwork *n); + KviServerOptionsListViewItem(KviTalListViewItem *parent,const QPixmap &pm,const KviIrcServer *s); + ~KviServerOptionsListViewItem(); +public: + KviIrcServer * m_pServerData; + KviIrcNetwork * m_pNetworkData; +public: + void updateVisibleStrings(); +}; + +class QLabel; +class QLineEdit; +class KviIpEditor; +class KviIrcServer; +class QCheckBox; +class KviTalPopupMenu; +class KviScriptEditor; +class QComboBox; +class QPushButton; +class QToolButton; +class KviNickServRule; +class KviNickServRuleEditor; + + +class KviNetworkDetailsWidget : public QDialog +{ + Q_OBJECT +public: + KviNetworkDetailsWidget(QWidget * par,KviIrcNetwork * d); + ~KviNetworkDetailsWidget(); +protected: + KviScriptEditor * m_pOnConnectEditor; + KviScriptEditor * m_pOnLoginEditor; + + QLineEdit * m_pUserEditor; + QLineEdit * m_pPassEditor; + QLineEdit * m_pNickEditor; + QLineEdit * m_pRealEditor; + QLineEdit * m_pDescEditor; + + QComboBox * m_pEncodingEditor; + + QCheckBox * m_pAutoConnectCheck; + + KviTalListView * m_pNickServListView; + QCheckBox * m_pNickServCheck; + QPushButton * m_pAddRuleButton; + QPushButton * m_pDelRuleButton; + QPushButton * m_pEditRuleButton; + + QStringList m_lstChannels; + KviCahnnelListSelector * m_pChannelListSelector; +public: + void fillData(KviIrcNetwork * d); +protected slots: + void enableDisableNickServControls(); + void addNickServRule(); + void delNickServRule(); + void editNickServRule(); +}; + +class KviServerDetailsWidget : public QDialog +{ + Q_OBJECT +public: + KviServerDetailsWidget(QWidget * par,KviIrcServer * s); + ~KviServerDetailsWidget(); +protected: + QString m_szHostname; + QLabel * m_pHeaderLabel; + KviScriptEditor * m_pOnConnectEditor; + KviScriptEditor * m_pOnLoginEditor; + QLineEdit * m_pUserEditor; + QLineEdit * m_pPassEditor; + QLineEdit * m_pNickEditor; + QLineEdit * m_pRealEditor; + QLineEdit * m_pDescEditor; + QLineEdit * m_pIdEditor; + QComboBox * m_pLinkFilterEditor; + QComboBox * m_pEncodingEditor; + KviIpEditor * m_pIpEditor; + QCheckBox * m_pCacheIpCheck; + QCheckBox * m_pUseSSLCheck; + QCheckBox * m_pUseDefaultInitUMode; + QCheckBox * m_pIMode; + QCheckBox * m_pWMode; + QCheckBox * m_pSMode; + QCheckBox * m_pUseAutoConnect; + QCheckBox * m_pUseIPV6Check; + QLineEdit * m_pPortEditor; + QStringList m_lstChannels; + KviCahnnelListSelector * m_pChannelListSelector; + + QComboBox * m_pProxyEditor; +protected slots: + void useDefaultInitUModeToggled(bool); + void portEditorTextChanged(const QString &); + void useIPV6CheckToggled(bool); +public: + void setHeaderLabelText(); + void fillData(KviIrcServer *s); +}; + + +#define KVI_OPTIONS_WIDGET_ICON_KviServerOptionsWidget KVI_SMALLICON_SERVER +#define KVI_OPTIONS_WIDGET_NAME_KviServerOptionsWidget __tr2qs_no_lookup("Servers") +#define KVI_OPTIONS_WIDGET_KEYWORDS_KviServerOptionsWidget __tr2qs_no_lookup("connection") +//#define KVI_OPTIONS_WIDGET_NOPARENT_KviServerOptionsWidget KviConnectionOptionsWidget +#define KVI_OPTIONS_WIDGET_PRIORITY_KviServerOptionsWidget 99000 + +class KviServerOptionsWidget : public KviOptionsWidget +{ + Q_OBJECT +public: + KviServerOptionsWidget(QWidget * parent); + ~KviServerOptionsWidget(); +protected: + KviTalListView * m_pListView; + QLabel * m_pSrvNetLabel; + QLineEdit * m_pSrvNetEdit; + //QLabel * m_pPortLabel; + //QLineEdit * m_pPortEdit; + QPushButton * m_pDetailsButton; + KviTalPopupMenu * m_pRecentPopup; + KviTalPopupMenu * m_pContextPopup; + KviTalPopupMenu * m_pImportPopup; + KviIrcServer * m_pClipboard; + //QCheckBox * m_pIpV6Check; + QPushButton * m_pConnectCurrent; + QPushButton * m_pConnectNew; + KviServerOptionsListViewItem * m_pLastEditedItem; + KviServerDetailsWidget * m_pServerDetailsDialog; + KviNetworkDetailsWidget * m_pNetworkDetailsDialog; + KviMexServerImport * m_pImportFilter; + + QToolButton * m_pNewServerButton; + QToolButton * m_pNewNetworkButton; + QToolButton * m_pRemoveButton; + QToolButton * m_pCopyServerButton; + QToolButton * m_pPasteServerButton; + QToolButton * m_pImportButton; +private: + void fillServerList(); + void saveLastItem(); + KviServerOptionsListViewItem * findNetItem(const char * netname); +protected slots: + void importerDead(); + void importServer(const KviIrcServer & s,const char * network); + void importPopupAboutToShow(); + void listViewItemSelectionChanged(KviTalListViewItem *it); + void listViewRightButtonPressed(KviTalListViewItem *it,const QPoint &pnt,int col); + void newNetwork(); + void removeCurrent(); + void newServer(); + void copyServer(); + void pasteServer(); + void clearList(); + void detailsClicked(); + void connectCurrentClicked(); + void recentServersPopupAboutToShow(); + void recentServersPopupClicked(int id); + void importPopupActivated(int id); +public: + virtual void commit(); +}; + +#endif //!_OPTW_SERVERS_H_ |