summaryrefslogtreecommitdiff
path: root/noncore/net/opieirc/ircchanneltab.cpp
authorwazlaf <wazlaf>2002-09-20 23:28:14 (UTC)
committer wazlaf <wazlaf>2002-09-20 23:28:14 (UTC)
commit912092425248f7fc5155b4c7c46b7d00ec2676bc (patch) (unidiff)
tree5bbf746e83b2dffad89542c42031a573c34da751 /noncore/net/opieirc/ircchanneltab.cpp
parentcd3df897c1b0ed93c2be3ab411011a0bdfe88bf9 (diff)
downloadopie-912092425248f7fc5155b4c7c46b7d00ec2676bc.zip
opie-912092425248f7fc5155b4c7c46b7d00ec2676bc.tar.gz
opie-912092425248f7fc5155b4c7c46b7d00ec2676bc.tar.bz2
support for client commands (only /join implemented so far), crash bugfix, fixed 2 leaks, server browser now includes a channel list
Diffstat (limited to 'noncore/net/opieirc/ircchanneltab.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/net/opieirc/ircchanneltab.cpp26
1 files changed, 21 insertions, 5 deletions
diff --git a/noncore/net/opieirc/ircchanneltab.cpp b/noncore/net/opieirc/ircchanneltab.cpp
index c96a365..754442a 100644
--- a/noncore/net/opieirc/ircchanneltab.cpp
+++ b/noncore/net/opieirc/ircchanneltab.cpp
@@ -38,11 +38,23 @@ IRCChannelTab::~IRCChannelTab() {
38} 38}
39 39
40void IRCChannelTab::processCommand() { 40void IRCChannelTab::processCommand() {
41 if (m_field->text().length()>0) { 41 QString text = m_field->text();
42 session()->sendMessage(m_channel, m_field->text()); 42 if (text.length()>0) {
43 appendText("&lt;<font color=\"#dd0000\">"+m_parentTab->server()->nick()+"</font>&gt; "+m_field->text()+"<br>"); 43 if (session()->isSessionActive()) {
44 m_field->clear(); 44 if (text.startsWith("/") && !text.startsWith("//")) {
45 /* Command mode */
46 m_parentTab->executeCommand(this, text);;
47 } else {
48 if (session()->isSessionActive()) {
49 session()->sendMessage(m_channel, m_field->text());
50 appendText("&lt;<font color=\"#dd0000\">"+m_parentTab->server()->nick()+"</font>&gt; "+m_field->text()+"<br>");
51 }
52 }
53 } else {
54 appendText("<font color=\"#ff0000\">"+tr("Disconnected")+"</font><br>");
55 }
45 } 56 }
57 m_field->clear();
46} 58}
47 59
48void IRCChannelTab::toggleList() { 60void IRCChannelTab::toggleList() {
@@ -65,7 +77,11 @@ IRCSession *IRCChannelTab::session() {
65} 77}
66 78
67void IRCChannelTab::remove() { 79void IRCChannelTab::remove() {
68 session()->part(m_channel); 80 if (session()->isSessionActive()) {
81 session()->part(m_channel);
82 } else {
83 m_mainWindow->killTab(this);
84 }
69} 85}
70 86
71IRCChannel *IRCChannelTab::channel() { 87IRCChannel *IRCChannelTab::channel() {