KVIrc 5.2.6
Developer APIs
LinksWindow.h
Go to the documentation of this file.
1#ifndef _LINKSWINDOW_H_
2#define _LINKSWINDOW_H_
3//=============================================================================
4//
5// File : LinksWindow.h
6// Creation date : Thu Dec 21 2000 12:42:55 CEST by Szymon Stefanek
7//
8// This file is part of the KVIrc IRC client distribution
9// Copyright (C) 2000-2010 Szymon Stefanek (pragma at kvirc dot net)
10//
11// This program is FREE software. You can redistribute it and/or
12// modify it under the terms of the GNU General Public License
13// as published by the Free Software Foundation; either version 2
14// of the License, or (at your option) any later version.
15//
16// This program is distributed in the HOPE that it will be USEFUL,
17// but WITHOUT ANY WARRANTY; without even the implied warranty of
18// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
19// See the GNU General Public License for more details.
20//
21// You should have received a copy of the GNU General Public License
22// along with this program. If not, write to the Free Software Foundation,
23// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
24//
25//=============================================================================
26
27#include "KviWindow.h"
28#include "KviCString.h"
29#include "KviIrcSocket.h"
30#include "KviIrcServerParser.h"
31#include "KviConsoleWindow.h"
32#include "KviIrcContext.h"
33#include "KviThemedTreeWidget.h"
34
35#include <QToolButton>
36#include <QMenu>
37
38#include <memory>
39#include <vector>
40
41class KviThemedLabel;
42
50
52{
53 Q_OBJECT
54public:
55 LinksListView(QWidget * par, KviWindow * wnd, const char * txt);
57
58protected:
59 void mousePressEvent(QMouseEvent * e) override;
60signals:
61 void rightButtonPressed(QTreeWidgetItem *, QPoint);
62};
63
65{
66 Q_OBJECT
67public:
68 LinksWindow(KviConsoleWindow * lpConsole);
70
71protected:
72 QSplitter * m_pVertSplitter;
73 QSplitter * m_pTopSplitter;
75 std::vector<std::unique_ptr<KviLink>> m_pLinkList;
76 QMenu * m_pHostPopup;
78 QToolButton * m_pRequestButton;
80
81public: // Methods
82 void control(int msg) override;
83 void processData(KviIrcMessage * msg) override;
84 void die() override;
85
86protected:
87 QPixmap * myIconPtr() override;
88 void fillCaptionBuffers() override;
89 void applyOptions() override;
90 void resizeEvent(QResizeEvent * e) override;
91 void getBaseLogFileName(QString & buffer) override;
92protected slots:
93 void showHostPopup(QTreeWidgetItem * i, const QPoint & p);
94 void hostPopupClicked(QAction * pAction);
95 void requestLinks();
97
98public:
99 QSize sizeHint() const override;
100
101private:
102 void reset();
103 void endOfLinks();
104 QTreeWidgetItem * insertLink(KviLink * l);
105 QTreeWidgetItem * getItemByHost(const char * host, QTreeWidgetItem * par);
106};
107
108#endif //_KVI_LINKSWINDOW_H_
Lower stack protocol for IRC connection.
Contains the KviWindow class.
Definition KviCString.h:102
Definition KviConsoleWindow.h:74
KviExternalServerDataParser()
Definition KviIrcServerParser.h:104
Definition KviIrcMessage.h:50
Definition KviThemedLabel.h:34
KviThemedTreeWidget(QWidget *par, KviWindow *pWindow, const char *name)
Definition KviThemedTreeWidget.cpp:38
Base class for all windows in KVIrc.
Definition KviWindow.h:75
KviWindow(Type eType, const QString &szName, KviConsoleWindow *pConsole=nullptr)
Constructs the window object.
Definition KviWindow.cpp:106
Definition LinksWindow.h:52
LinksListView(QWidget *par, KviWindow *wnd, const char *txt)
Definition LinksWindow.cpp:508
~LinksListView()
Definition LinksWindow.h:56
void mousePressEvent(QMouseEvent *e) override
Definition LinksWindow.cpp:520
void rightButtonPressed(QTreeWidgetItem *, QPoint)
KviThemedLabel * m_pInfoLabel
Definition LinksWindow.h:79
QPixmap * myIconPtr() override
Definition LinksWindow.cpp:142
void getBaseLogFileName(QString &buffer) override
Definition LinksWindow.cpp:108
std::vector< std::unique_ptr< KviLink > > m_pLinkList
Definition LinksWindow.h:75
QMenu * m_pHostPopup
Definition LinksWindow.h:76
QTreeWidgetItem * insertLink(KviLink *l)
Definition LinksWindow.cpp:340
void hostPopupClicked(QAction *pAction)
Definition LinksWindow.cpp:444
void requestLinks()
Definition LinksWindow.cpp:113
void control(int msg) override
Definition LinksWindow.cpp:171
void fillCaptionBuffers() override
Definition LinksWindow.cpp:161
QString m_szRootServer
Definition LinksWindow.h:77
void reset()
Definition LinksWindow.cpp:455
QSize sizeHint() const override
Definition LinksWindow.cpp:154
QTreeWidgetItem * getItemByHost(const char *host, QTreeWidgetItem *par)
Definition LinksWindow.cpp:361
void showHostPopup(QTreeWidgetItem *i, const QPoint &p)
Definition LinksWindow.cpp:391
void applyOptions() override
Definition LinksWindow.cpp:500
QToolButton * m_pRequestButton
Definition LinksWindow.h:78
QSplitter * m_pTopSplitter
Definition LinksWindow.h:73
void resizeEvent(QResizeEvent *e) override
Definition LinksWindow.cpp:147
void die() override
Definition LinksWindow.cpp:166
LinksListView * m_pListView
Definition LinksWindow.h:74
void processData(KviIrcMessage *msg) override
Definition LinksWindow.cpp:461
void connectionStateChange()
Definition LinksWindow.cpp:127
QSplitter * m_pVertSplitter
Definition LinksWindow.h:72
void endOfLinks()
Definition LinksWindow.cpp:184
~LinksWindow()
Definition LinksWindow.cpp:101
LinksWindow(KviConsoleWindow *lpConsole)
Definition LinksWindow.cpp:50
#define i
Definition detector.cpp:74
#define e
Definition detector.cpp:70
#define l
Definition detector.cpp:77
#define p
Definition detector.cpp:81