Diffstat (limited to 'noncore/net/opieirc/ircchanneltab.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/opieirc/ircchanneltab.cpp | 18 |
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> | ||
10 | QDict<QString> IRCChannelTab::m_queuedMessages (17); | 11 | QDict<QString> IRCChannelTab::m_queuedMessages (17); |
11 | 12 | ||
12 | IRCChannelTab::IRCChannelTab(IRCChannel *channel, IRCServerTab *parentTab, MainWindow *mainWindow, QWidget *parent, const char *name, WFlags f) : IRCTab(parent, name, f) { | 13 | IRCChannelTab::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 | ||
163 | void IRCChannelTab::popupQuery() { | 166 | void 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 | ||
168 | void IRCChannelTab::popupPing() { | 171 | void 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 | ||
172 | void IRCChannelTab::popupVersion() { | 176 | void IRCChannelTab::popupVersion() { |
177 | if(m_list->currentItem() != -1) | ||
178 | m_parentTab->session()->sendCTCPRequest(m_list->text(m_list->currentItem()), "VERSION", ""); | ||
173 | } | 179 | } |
174 | 180 | ||
175 | void IRCChannelTab::popupWhois() { | 181 | void IRCChannelTab::popupWhois() { |
182 | if(m_list->currentItem() != -1) | ||
183 | m_parentTab->session()->whois(m_list->text(m_list->currentItem())); | ||
176 | } | 184 | } |
177 | 185 | ||
178 | QString IRCChannelTab::title() { | 186 | QString IRCChannelTab::title() { |
179 | return m_channel->channelname(); | 187 | return m_channel->channelname(); |
180 | } | 188 | } |
181 | 189 | ||
182 | IRCSession *IRCChannelTab::session() { | 190 | IRCSession *IRCChannelTab::session() { |
183 | return m_parentTab->session(); | 191 | return m_parentTab->session(); |
184 | } | 192 | } |
185 | 193 | ||
186 | void IRCChannelTab::remove() { | 194 | void IRCChannelTab::remove() { |
187 | if (session()->isSessionActive()) { | 195 | if (session()->isSessionActive()) { |