Diffstat (limited to 'noncore/net/opieirc/mainwindow.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/net/opieirc/mainwindow.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/noncore/net/opieirc/mainwindow.cpp b/noncore/net/opieirc/mainwindow.cpp index 1811a0c..3d60107 100644 --- a/noncore/net/opieirc/mainwindow.cpp +++ b/noncore/net/opieirc/mainwindow.cpp | |||
@@ -1,47 +1,52 @@ | |||
1 | #include <qmenubar.h> | 1 | #include <qmenubar.h> |
2 | #include <qpe/resource.h> | 2 | #include <qpe/resource.h> |
3 | 3 | ||
4 | #include <opie2/odebug.h> | 4 | #include <opie2/odebug.h> |
5 | 5 | ||
6 | #include <qwhatsthis.h> | 6 | #include <qwhatsthis.h> |
7 | 7 | ||
8 | #include "mainwindow.h" | 8 | #include "mainwindow.h" |
9 | #include "ircservertab.h" | 9 | #include "ircservertab.h" |
10 | #include "dcctransfertab.h" | ||
10 | #include "ircserverlist.h" | 11 | #include "ircserverlist.h" |
11 | #include "ircsettings.h" | 12 | #include "ircsettings.h" |
12 | 13 | ||
14 | #include <stdio.h> | ||
15 | |||
16 | |||
13 | QString MainWindow::appCaption() { | 17 | QString MainWindow::appCaption() { |
14 | return QObject::tr("Opie IRC"); | 18 | return QObject::tr("Opie IRC"); |
15 | } | 19 | } |
16 | 20 | ||
17 | 21 | ||
18 | MainWindow::MainWindow(QWidget *parent, const char *name, WFlags) : QMainWindow(parent, name, WStyle_ContextHelp) { | 22 | MainWindow::MainWindow(QWidget *parent, const char *name, WFlags) : QMainWindow(parent, name, WStyle_ContextHelp) { |
19 | setCaption(tr("IRC Client")); | 23 | setCaption(tr("IRC Client")); |
20 | m_tabWidget = new IRCTabWidget(this); | 24 | m_tabWidget = new IRCTabWidget(this); |
21 | QWhatsThis::add(m_tabWidget, tr("Server connections, channels, queries and other things will be placed here")); | 25 | QWhatsThis::add(m_tabWidget, tr("Server connections, channels, queries and other things will be placed here")); |
22 | connect(m_tabWidget, SIGNAL(currentChanged(QWidget*)), this, SLOT(selected(QWidget*))); | 26 | connect(m_tabWidget, SIGNAL(currentChanged(QWidget*)), this, SLOT(selected(QWidget*))); |
23 | setCentralWidget(m_tabWidget); | 27 | setCentralWidget(m_tabWidget); |
24 | setToolBarsMovable(FALSE); | 28 | setToolBarsMovable(FALSE); |
25 | QMenuBar *menuBar = new QMenuBar(this); | 29 | QMenuBar *menuBar = new QMenuBar(this); |
26 | QPopupMenu *irc = new QPopupMenu(this); | 30 | QPopupMenu *irc = new QPopupMenu(this); |
27 | menuBar->insertItem(tr("IRC"), irc); | 31 | menuBar->insertItem(tr("IRC"), irc); |
28 | QAction *a = new QAction(tr("New connection"), Resource::loadPixmap("pass"), QString::null, 0, this, 0); | 32 | QAction *a = new QAction(tr("New connection"), Resource::loadPixmap("pass"), QString::null, 0, this, 0); |
29 | connect(a, SIGNAL(activated()), this, SLOT(newConnection())); | 33 | connect(a, SIGNAL(activated()), this, SLOT(newConnection())); |
30 | a->setWhatsThis(tr("Create a new connection to an IRC server")); | 34 | a->setWhatsThis(tr("Create a new connection to an IRC server")); |
31 | a->addTo(irc); | 35 | a->addTo(irc); |
32 | a = new QAction(tr("Settings"), Resource::loadPixmap("SettingsIcon"), QString::null, 0, this, 0); | 36 | a = new QAction(tr("Settings"), Resource::loadPixmap("SettingsIcon"), QString::null, 0, this, 0); |
33 | a->setWhatsThis(tr("Configure OpieIRC's behavior and appearance")); | 37 | a->setWhatsThis(tr("Configure OpieIRC's behavior and appearance")); |
34 | connect(a, SIGNAL(activated()), this, SLOT(settings())); | 38 | connect(a, SIGNAL(activated()), this, SLOT(settings())); |
35 | a->addTo(irc); | 39 | a->addTo(irc); |
40 | m_dccTab = 0; | ||
36 | loadSettings(); | 41 | loadSettings(); |
37 | } | 42 | } |
38 | 43 | ||
39 | /*IRCTabWidget MainWindow::getTabWidget(){ | 44 | /*IRCTabWidget MainWindow::getTabWidget(){ |
40 | return m_tabWidget; | 45 | return m_tabWidget; |
41 | } */ | 46 | } */ |
42 | 47 | ||
43 | void MainWindow::loadSettings() { | 48 | void MainWindow::loadSettings() { |
44 | Config config("OpieIRC"); | 49 | Config config("OpieIRC"); |
45 | config.setGroup("OpieIRC"); | 50 | config.setGroup("OpieIRC"); |
46 | IRCTab::m_backgroundColor = config.readEntry("BackgroundColor", "#FFFFFF"); | 51 | IRCTab::m_backgroundColor = config.readEntry("BackgroundColor", "#FFFFFF"); |
47 | IRCTab::m_textColor = config.readEntry("TextColor", "#000000"); | 52 | IRCTab::m_textColor = config.readEntry("TextColor", "#000000"); |
@@ -68,24 +73,27 @@ void MainWindow::addTab(IRCTab *tab) { | |||
68 | m_tabWidget->addTab(tab, tab->title()); | 73 | m_tabWidget->addTab(tab, tab->title()); |
69 | m_tabWidget->showPage(tab); | 74 | m_tabWidget->showPage(tab); |
70 | tab->setID(m_tabWidget->currentPageIndex()); | 75 | tab->setID(m_tabWidget->currentPageIndex()); |
71 | m_tabs.append(tab); | 76 | m_tabs.append(tab); |
72 | } | 77 | } |
73 | 78 | ||
74 | void MainWindow::changeEvent(IRCTab *tab) { | 79 | void MainWindow::changeEvent(IRCTab *tab) { |
75 | if (tab->id() != m_tabWidget->currentPageIndex()) | 80 | if (tab->id() != m_tabWidget->currentPageIndex()) |
76 | m_tabWidget->setTabColor(tab->id(), blue); | 81 | m_tabWidget->setTabColor(tab->id(), blue); |
77 | } | 82 | } |
78 | 83 | ||
79 | void MainWindow::killTab(IRCTab *tab, bool imediate) { | 84 | void MainWindow::killTab(IRCTab *tab, bool imediate) { |
85 | if (tab == m_dccTab) | ||
86 | m_dccTab = 0; | ||
87 | |||
80 | m_toDelete.append( tab ); | 88 | m_toDelete.append( tab ); |
81 | 89 | ||
82 | if ( imediate ) | 90 | if ( imediate ) |
83 | slotKillTabsLater(); | 91 | slotKillTabsLater(); |
84 | else | 92 | else |
85 | QTimer::singleShot(0, this, SLOT(slotKillTabsLater()) ); | 93 | QTimer::singleShot(0, this, SLOT(slotKillTabsLater()) ); |
86 | } | 94 | } |
87 | 95 | ||
88 | void MainWindow::slotKillTabsLater() { | 96 | void MainWindow::slotKillTabsLater() { |
89 | for ( QListIterator<IRCTab> it(m_toDelete); it.current(); ++it ) { | 97 | for ( QListIterator<IRCTab> it(m_toDelete); it.current(); ++it ) { |
90 | m_tabWidget->removePage( it.current() ); | 98 | m_tabWidget->removePage( it.current() ); |
91 | odebug << it.current() << oendl; | 99 | odebug << it.current() << oendl; |
@@ -128,12 +136,24 @@ void MainWindow::slotNextTab() { | |||
128 | } | 136 | } |
129 | 137 | ||
130 | void MainWindow::slotPrevTab() { | 138 | void MainWindow::slotPrevTab() { |
131 | int i = m_tabWidget->currentPageIndex (); | 139 | int i = m_tabWidget->currentPageIndex (); |
132 | if ( i > 1 ) | 140 | if ( i > 1 ) |
133 | m_tabWidget->setCurrentPage ( i-1 ); | 141 | m_tabWidget->setCurrentPage ( i-1 ); |
134 | } | 142 | } |
135 | 143 | ||
136 | void MainWindow::slotPing( const QString& /*channel*/ ) { | 144 | void MainWindow::slotPing( const QString& /*channel*/ ) { |
137 | raise(); | 145 | raise(); |
138 | } | 146 | } |
139 | 147 | ||
148 | void MainWindow::addDCC(DCCTransfer::Type type, Q_UINT32 ip4Addr, Q_UINT16 port, | ||
149 | const QString &filename, const QString &nickname, unsigned int size) { | ||
150 | |||
151 | if (!m_dccTab) { | ||
152 | m_dccTab = new DCCTransferTab(this); | ||
153 | addTab(m_dccTab); | ||
154 | m_dccTab->show(); | ||
155 | } | ||
156 | |||
157 | m_dccTab->addTransfer(type, ip4Addr, port, filename, nickname, size); | ||
158 | } | ||
159 | |||