summaryrefslogtreecommitdiff
path: root/noncore/net/opieirc/ircchanneltab.cpp
Unidiff
Diffstat (limited to 'noncore/net/opieirc/ircchanneltab.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieirc/ircchanneltab.cpp18
1 files changed, 13 insertions, 5 deletions
diff --git a/noncore/net/opieirc/ircchanneltab.cpp b/noncore/net/opieirc/ircchanneltab.cpp
index 4a35929..3272a8a 100644
--- a/noncore/net/opieirc/ircchanneltab.cpp
+++ b/noncore/net/opieirc/ircchanneltab.cpp
@@ -1,21 +1,22 @@
1#include <qpe/resource.h> 1#include <qpe/resource.h>
2#include <qwhatsthis.h> 2#include <qwhatsthis.h>
3#include <qhbox.h> 3#include <qhbox.h>
4#include <qdict.h> 4#include <qdict.h>
5 5
6#include "ircchanneltab.h" 6#include "ircchanneltab.h"
7#include "ircservertab.h" 7#include "ircservertab.h"
8#include "ircmessageparser.h" 8#include "ircmessageparser.h"
9 9
10#include <opie2/odebug.h>
10QDict<QString> IRCChannelTab::m_queuedMessages (17); 11QDict<QString> IRCChannelTab::m_queuedMessages (17);
11 12
12IRCChannelTab::IRCChannelTab(IRCChannel *channel, IRCServerTab *parentTab, MainWindow *mainWindow, QWidget *parent, const char *name, WFlags f) : IRCTab(parent, name, f) { 13IRCChannelTab::IRCChannelTab(IRCChannel *channel, IRCServerTab *parentTab, MainWindow *mainWindow, QWidget *parent, const char *name, WFlags f) : IRCTab(parent, name, f) {
13 m_mainWindow = mainWindow; 14 m_mainWindow = mainWindow;
14 m_parentTab = parentTab; 15 m_parentTab = parentTab;
15 m_channel = channel; 16 m_channel = channel;
16 m_description->setText(tr("Talking on channel") + " <b>" + channel->channelname() + "</b>"); 17 m_description->setText(tr("Talking on channel") + " <b>" + channel->channelname() + "</b>");
17 QHBox *hbox = new QHBox(this); 18 QHBox *hbox = new QHBox(this);
18 m_textview = new QTextView(hbox); 19 m_textview = new QTextView(hbox);
19 m_textview->setHScrollBarMode(QScrollView::AlwaysOff); 20 m_textview->setHScrollBarMode(QScrollView::AlwaysOff);
20 m_textview->setVScrollBarMode(QScrollView::AlwaysOn); 21 m_textview->setVScrollBarMode(QScrollView::AlwaysOn);
21 m_listVisible = TRUE; 22 m_listVisible = TRUE;
@@ -32,29 +33,31 @@ IRCChannelTab::IRCChannelTab(IRCChannel *channel, IRCServerTab *parentTab, MainW
32 connect(m_field, SIGNAL(nextTab()), this, SIGNAL(nextTab())); 33 connect(m_field, SIGNAL(nextTab()), this, SIGNAL(nextTab()));
33 connect(m_field, SIGNAL(prevTab()), this, SIGNAL(prevTab())); 34 connect(m_field, SIGNAL(prevTab()), this, SIGNAL(prevTab()));
34 connect(m_field, SIGNAL(closeTab()), this, SLOT(remove())); 35 connect(m_field, SIGNAL(closeTab()), this, SLOT(remove()));
35 connect(this, SIGNAL(editFocus()), m_field, SLOT(setEditFocus())); 36 connect(this, SIGNAL(editFocus()), m_field, SLOT(setEditFocus()));
36 37
37 QWhatsThis::add(m_field, tr("Type your message here to participate in the channel discussion")); 38 QWhatsThis::add(m_field, tr("Type your message here to participate in the channel discussion"));
38 m_popup = new QPopupMenu(m_list); 39 m_popup = new QPopupMenu(m_list);
39 m_lines = 0; 40 m_lines = 0;
40 /* Required so that embedded-style "right" clicks work */ 41 /* Required so that embedded-style "right" clicks work */
41 QPEApplication::setStylusOperation(m_list->viewport(), QPEApplication::RightOnHold); 42 QPEApplication::setStylusOperation(m_list->viewport(), QPEApplication::RightOnHold);
42 connect(m_list, SIGNAL(mouseButtonPressed(int,QListBoxItem*,const QPoint&)), this, SLOT(mouseButtonPressed(int,QListBoxItem*,const QPoint&))); 43 connect(m_list, SIGNAL(mouseButtonPressed(int,QListBoxItem*,const QPoint&)), this, SLOT(mouseButtonPressed(int,QListBoxItem*,const QPoint&)));
43 /* Construct the popup menu */ 44 /* Construct the popup menu */
44 QPopupMenu *ctcpMenu = new QPopupMenu(m_list); 45 //QPopupMenu *ctcpMenu = new QPopupMenu(m_list);
45 m_popup->insertItem(Resource::loadPixmap("opieirc/query"), tr("Query"), this, SLOT(popupQuery())); 46 m_popup->insertItem(Resource::loadPixmap("opieirc/query"), tr("Query"), this, SLOT(popupQuery()));
46 ctcpMenu->insertItem(Resource::loadPixmap("opieirc/ping"), tr("Ping"), this, SLOT(popupPing())); 47 m_popup->insertSeparator();
47 ctcpMenu->insertItem(Resource::loadPixmap("opieirc/version"), tr("Version"), this, SLOT(popupVersion())); 48 m_popup->insertItem(Resource::loadPixmap("opieirc/ping"), tr("Ping"), this, SLOT(popupPing()));
48 ctcpMenu->insertItem(Resource::loadPixmap("opieirc/whois"), tr("Whois"), this, SLOT(popupWhois())); 49 m_popup->insertItem(Resource::loadPixmap("opieirc/version"), tr("Version"), this, SLOT(popupVersion()));
50 m_popup->insertItem(Resource::loadPixmap("opieirc/whois"), tr("Whois"), this, SLOT(popupWhois()));
51 //m_popup->insertItem(ctcpMenu, "CTCP");
49 connect(m_mainWindow, SIGNAL(updateScroll()), this, SLOT(scrolling())); 52 connect(m_mainWindow, SIGNAL(updateScroll()), this, SLOT(scrolling()));
50 m_layout->add(hbox); 53 m_layout->add(hbox);
51 hbox->show(); 54 hbox->show();
52 m_layout->add(m_field); 55 m_layout->add(m_field);
53 m_field->setFocus(); 56 m_field->setFocus();
54 m_field->setActiveWindow(); 57 m_field->setActiveWindow();
55 58
56 connect(m_field, SIGNAL(returnPressed()), this, SLOT(processCommand())); 59 connect(m_field, SIGNAL(returnPressed()), this, SLOT(processCommand()));
57 connect(m_list, SIGNAL(doubleClicked ( QListBoxItem * ) ), this, SLOT(popupQuery( QListBoxItem * ) )); 60 connect(m_list, SIGNAL(doubleClicked ( QListBoxItem * ) ), this, SLOT(popupQuery( QListBoxItem * ) ));
58 settingsChanged(); 61 settingsChanged();
59 62
60 if(m_queuedMessages[m_channel->channelname()]) { 63 if(m_queuedMessages[m_channel->channelname()]) {
@@ -157,31 +160,36 @@ void IRCChannelTab::popupQuery( QListBoxItem *item) {
157 m_mainWindow->addTab(tab); 160 m_mainWindow->addTab(tab);
158 } 161 }
159 } 162 }
160 } 163 }
161} 164}
162 165
163void IRCChannelTab::popupQuery() { 166void IRCChannelTab::popupQuery() {
164 if ( m_list->currentItem() != -1 ) 167 if ( m_list->currentItem() != -1 )
165 popupQuery( m_list->item(m_list->currentItem())); 168 popupQuery( m_list->item(m_list->currentItem()));
166} 169}
167 170
168void IRCChannelTab::popupPing() { 171void IRCChannelTab::popupPing() {
169 //HAHA, no wonder these don't work 172 if(m_list->currentItem() != -1)
173 m_parentTab->session()->sendCTCPPing(m_list->text(m_list->currentItem()));
170} 174}
171 175
172void IRCChannelTab::popupVersion() { 176void IRCChannelTab::popupVersion() {
177 if(m_list->currentItem() != -1)
178 m_parentTab->session()->sendCTCPRequest(m_list->text(m_list->currentItem()), "VERSION", "");
173} 179}
174 180
175void IRCChannelTab::popupWhois() { 181void IRCChannelTab::popupWhois() {
182 if(m_list->currentItem() != -1)
183 m_parentTab->session()->whois(m_list->text(m_list->currentItem()));
176} 184}
177 185
178QString IRCChannelTab::title() { 186QString IRCChannelTab::title() {
179 return m_channel->channelname(); 187 return m_channel->channelname();
180} 188}
181 189
182IRCSession *IRCChannelTab::session() { 190IRCSession *IRCChannelTab::session() {
183 return m_parentTab->session(); 191 return m_parentTab->session();
184} 192}
185 193
186void IRCChannelTab::remove() { 194void IRCChannelTab::remove() {
187 if (session()->isSessionActive()) { 195 if (session()->isSessionActive()) {