-rw-r--r-- | noncore/net/opieirc/ircchannellist.cpp | 8 | ||||
-rw-r--r-- | noncore/net/opieirc/ircchanneltab.cpp | 14 | ||||
-rw-r--r-- | noncore/net/opieirc/irctab.cpp | 10 | ||||
-rw-r--r-- | noncore/net/opieirc/mainwindow.cpp | 12 |
4 files changed, 25 insertions, 19 deletions
diff --git a/noncore/net/opieirc/ircchannellist.cpp b/noncore/net/opieirc/ircchannellist.cpp index 8cf144e..3982f30 100644 --- a/noncore/net/opieirc/ircchannellist.cpp +++ b/noncore/net/opieirc/ircchannellist.cpp @@ -1,67 +1,67 @@ -#include <qpe/resource.h> +#include <opie2/oresource.h> #include "ircchannellist.h" #include "ircchannelperson.h" IRCChannelList::IRCChannelList(IRCChannel *channel, QWidget *parent, const char *name, WFlags f) : QListBox(parent, name, f) { m_channel = channel; } void IRCChannelList::update() { - QPixmap op = Resource::loadPixmap("opieirc/op"); - QPixmap hop = Resource::loadPixmap("opieirc/hop"); - QPixmap voice = Resource::loadPixmap("opieirc/voice"); + QPixmap op = Opie::Core::OResource::loadPixmap( "opieirc/op" ); + QPixmap hop = Opie::Core::OResource::loadPixmap( "opieirc/hop" ); + QPixmap voice = Opie::Core::OResource::loadPixmap( "opieirc/voice" ); QListIterator<IRCChannelPerson> it = m_channel->people(); clear(); for (; it.current(); ++it) { IRCChannelPerson *person = it.current(); if (person->flags() & IRCChannelPerson::PERSON_FLAG_OP) { insertItem(op, "1" + person->nick()); } else if (person->flags() & IRCChannelPerson::PERSON_FLAG_HALFOP) { insertItem(op, "2" + person->nick()); } else if (person->flags() & IRCChannelPerson::PERSON_FLAG_VOICE) { insertItem(voice, "3" + person->nick()); } else { insertItem("4" + person->nick()); } } sort(); adjustNicks(); } bool IRCChannelList::hasPerson(QString nick) { for (unsigned int i=0; i<count(); i++) { if (text(i) == nick) return TRUE; } return FALSE; } bool IRCChannelList::removePerson(QString nick) { for (unsigned int i=0; i<count(); i++) { if (text(i) == nick){ removeItem(i); return TRUE; } } return FALSE; } void IRCChannelList::adjustNicks() { QString txt; QPixmap pm; for(unsigned int i=0; i<count(); i++) { txt = text(i).remove(0,1); if(pixmap(i)) { pm = *pixmap(i); removeItem(i); insertItem(pm, txt, i); } else { removeItem(i); insertItem(txt, i); } } } diff --git a/noncore/net/opieirc/ircchanneltab.cpp b/noncore/net/opieirc/ircchanneltab.cpp index 3272a8a..707e17f 100644 --- a/noncore/net/opieirc/ircchanneltab.cpp +++ b/noncore/net/opieirc/ircchanneltab.cpp @@ -1,114 +1,118 @@ -#include <qpe/resource.h> +#include <opie2/oresource.h> #include <qwhatsthis.h> #include <qhbox.h> #include <qdict.h> #include "ircchanneltab.h" #include "ircservertab.h" #include "ircmessageparser.h" #include <opie2/odebug.h> QDict<QString> IRCChannelTab::m_queuedMessages (17); IRCChannelTab::IRCChannelTab(IRCChannel *channel, IRCServerTab *parentTab, MainWindow *mainWindow, QWidget *parent, const char *name, WFlags f) : IRCTab(parent, name, f) { m_mainWindow = mainWindow; m_parentTab = parentTab; m_channel = channel; m_description->setText(tr("Talking on channel") + " <b>" + channel->channelname() + "</b>"); QHBox *hbox = new QHBox(this); m_textview = new QTextView(hbox); m_textview->setHScrollBarMode(QScrollView::AlwaysOff); m_textview->setVScrollBarMode(QScrollView::AlwaysOn); m_listVisible = TRUE; m_listButton = new QPushButton(">", m_textview); m_listButton->setFlat( true ); m_textview->setCornerWidget(m_listButton); m_textview->setTextFormat(RichText); QWhatsThis::add(m_textview, tr("Channel discussion")); connect(m_listButton, SIGNAL(clicked()), this, SLOT(toggleList())); m_list = new IRCChannelList(m_channel, hbox); m_list->update(); m_list->setMaximumWidth(LISTWIDTH); m_field = new IRCHistoryLineEdit(this); connect(m_field, SIGNAL(nextTab()), this, SIGNAL(nextTab())); connect(m_field, SIGNAL(prevTab()), this, SIGNAL(prevTab())); connect(m_field, SIGNAL(closeTab()), this, SLOT(remove())); connect(this, SIGNAL(editFocus()), m_field, SLOT(setEditFocus())); QWhatsThis::add(m_field, tr("Type your message here to participate in the channel discussion")); m_popup = new QPopupMenu(m_list); m_lines = 0; /* Required so that embedded-style "right" clicks work */ QPEApplication::setStylusOperation(m_list->viewport(), QPEApplication::RightOnHold); connect(m_list, SIGNAL(mouseButtonPressed(int,QListBoxItem*,const QPoint&)), this, SLOT(mouseButtonPressed(int,QListBoxItem*,const QPoint&))); /* Construct the popup menu */ //QPopupMenu *ctcpMenu = new QPopupMenu(m_list); - m_popup->insertItem(Resource::loadPixmap("opieirc/query"), tr("Query"), this, SLOT(popupQuery())); + m_popup->insertItem(Opie::Core::OResource::loadPixmap("opieirc/query",Opie::Core::OResource::SmallIcon), + tr("Query"), this, SLOT(popupQuery())); m_popup->insertSeparator(); - m_popup->insertItem(Resource::loadPixmap("opieirc/ping"), tr("Ping"), this, SLOT(popupPing())); - m_popup->insertItem(Resource::loadPixmap("opieirc/version"), tr("Version"), this, SLOT(popupVersion())); - m_popup->insertItem(Resource::loadPixmap("opieirc/whois"), tr("Whois"), this, SLOT(popupWhois())); + m_popup->insertItem(Opie::Core::OResource::loadPixmap("opieirc/ping",Opie::Core::OResource::SmallIcon), + tr("Ping"), this, SLOT(popupPing())); + m_popup->insertItem(Opie::Core::OResource::loadPixmap("opieirc/version",Opie::Core::OResource::SmallIcon), + tr("Version"), this, SLOT(popupVersion())); + m_popup->insertItem(Opie::Core::OResource::loadPixmap("opieirc/whois",Opie::Core::OResource::SmallIcon), + tr("Whois"), this, SLOT(popupWhois())); //m_popup->insertItem(ctcpMenu, "CTCP"); connect(m_mainWindow, SIGNAL(updateScroll()), this, SLOT(scrolling())); m_layout->add(hbox); hbox->show(); m_layout->add(m_field); m_field->setFocus(); m_field->setActiveWindow(); connect(m_field, SIGNAL(returnPressed()), this, SLOT(processCommand())); connect(m_list, SIGNAL(doubleClicked ( QListBoxItem * ) ), this, SLOT(popupQuery( QListBoxItem * ) )); settingsChanged(); if(m_queuedMessages[m_channel->channelname()]) { appendText(*m_queuedMessages[m_channel->channelname()]); delete m_queuedMessages[m_channel->channelname()]; m_queuedMessages.remove(m_channel->channelname()); } } void IRCChannelTab::scrolling(){ m_textview->ensureVisible(0, m_textview->contentsHeight()); } void IRCChannelTab::appendText(QString text) { /* not using append because it creates layout problems */ QString txt = m_textview->text() + IRCTab::appendTimestamp( text ); if (m_maxLines > 0 && m_lines >= m_maxLines) { int firstBreak = txt.find('\n'); if (firstBreak != -1) { txt = "<qt bgcolor=\"" + m_backgroundColor + "\"/>" + txt.right(txt.length() - (firstBreak + 1)); } } else { m_lines++; } m_textview->ensureVisible(0, m_textview->contentsHeight()); m_textview->setText(txt); m_textview->ensureVisible(0, m_textview->contentsHeight()); int p1, p2; if ( text.contains( IRCMessageParser::tr("Received a CTCP PING from ") ) ) emit ping( title() ); else if ( (p1 = text.find("ping", 0, false) )!= -1 && (p2 = text.find( m_parentTab->server()->nick(), 0,false )) != -1 ) { int col = text.findRev("color", -1, false); if ( col < p2 ) emit ping( title() ); } emit changed(this); } IRCChannelTab::~IRCChannelTab() { m_parentTab->removeChannelTab(this); } void IRCChannelTab::processCommand() { QString text = m_field->text(); if (text.length()>0) { if (session()->isSessionActive()) { if (text.startsWith("/") && !text.startsWith("//")) { /* Command mode */ m_parentTab->executeCommand(this, text);; } else { if (text.startsWith("//")) diff --git a/noncore/net/opieirc/irctab.cpp b/noncore/net/opieirc/irctab.cpp index aee33c4..2f459a9 100644 --- a/noncore/net/opieirc/irctab.cpp +++ b/noncore/net/opieirc/irctab.cpp @@ -1,70 +1,68 @@ #include "irctab.h" #include "mainwindow.h" #include <opie2/okeyconfigmanager.h> +#include <opie2/oresource.h> #include <qpe/applnk.h> -#include <qpe/resource.h> - #include <qpushbutton.h> #include <qwhatsthis.h> QString IRCTab::m_errorColor; QString IRCTab::m_serverColor; QString IRCTab::m_textColor; QString IRCTab::m_backgroundColor; QString IRCTab::m_selfColor; QString IRCTab::m_otherColor; QString IRCTab::m_notificationColor; int IRCTab::m_maxLines; static bool g_useTime = false; void IRCTab::setUseTimeStamps( bool b ) { g_useTime = b; } // ## FIXME use TimeString later for AM/PM Setting QString IRCTab::appendTimestamp( const QString& text ) { return g_useTime ? "[" +QTime::currentTime().toString()+"]" + text + "\n" : text + "\n"; } IRCTab::IRCTab(QWidget *parent, const char *name, WFlags f) : QWidget(parent, name, f) { m_layout = new QVBoxLayout(this); QHBoxLayout *descLayout = new QHBoxLayout(m_layout); descLayout->setMargin(5); m_description = new QLabel(tr("Missing description"), this); QWhatsThis::add(m_description, tr("Description of the tab's content")); descLayout->addWidget(m_description); descLayout->setStretchFactor(m_description, 5); - QPixmap pic; - pic.convertFromImage( Resource::loadImage( "close" ).smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) ); - QPushButton *close = new QPushButton(pic, QString::null, this); - close->setMaximumWidth( close->height() ); + QPushButton *close = new QPushButton( Opie::Core::OResource::loadPixmap( "close", Opie::Core::OResource::SmallIcon ), + QString::null, this); + close->setFixedSize( AppLnk::smallIconSize(), AppLnk::smallIconSize() ); QWhatsThis::add(close, tr("Close this tab")); connect(close, SIGNAL(clicked()), this, SLOT(remove())); descLayout->addWidget(close); descLayout->setStretchFactor(m_description, 1); } void IRCTab::setID(int id) { m_id = id; } int IRCTab::id() { return m_id; } void IRCTab::showEvent( QShowEvent *ev ) { topLevelWidget()->setCaption( MainWindow::appCaption() + " " + title() ); QWidget::showEvent( ev ); emit editFocus(); } diff --git a/noncore/net/opieirc/mainwindow.cpp b/noncore/net/opieirc/mainwindow.cpp index 3d60107..5edcf66 100644 --- a/noncore/net/opieirc/mainwindow.cpp +++ b/noncore/net/opieirc/mainwindow.cpp @@ -1,100 +1,104 @@ -#include <qmenubar.h> -#include <qpe/resource.h> #include <opie2/odebug.h> +#include <opie2/oresource.h> +#include <qmenubar.h> #include <qwhatsthis.h> #include "mainwindow.h" #include "ircservertab.h" #include "dcctransfertab.h" #include "ircserverlist.h" #include "ircsettings.h" #include <stdio.h> QString MainWindow::appCaption() { return QObject::tr("Opie IRC"); } MainWindow::MainWindow(QWidget *parent, const char *name, WFlags) : QMainWindow(parent, name, WStyle_ContextHelp) { setCaption(tr("IRC Client")); m_tabWidget = new IRCTabWidget(this); QWhatsThis::add(m_tabWidget, tr("Server connections, channels, queries and other things will be placed here")); connect(m_tabWidget, SIGNAL(currentChanged(QWidget*)), this, SLOT(selected(QWidget*))); setCentralWidget(m_tabWidget); setToolBarsMovable(FALSE); QMenuBar *menuBar = new QMenuBar(this); QPopupMenu *irc = new QPopupMenu(this); menuBar->insertItem(tr("IRC"), irc); - QAction *a = new QAction(tr("New connection"), Resource::loadPixmap("pass"), QString::null, 0, this, 0); + QAction *a = new QAction( tr("New connection"), + Opie::Core::OResource::loadPixmap( "pass", Opie::Core::OResource::SmallIcon ), + QString::null, 0, this, 0 ); connect(a, SIGNAL(activated()), this, SLOT(newConnection())); a->setWhatsThis(tr("Create a new connection to an IRC server")); a->addTo(irc); - a = new QAction(tr("Settings"), Resource::loadPixmap("SettingsIcon"), QString::null, 0, this, 0); + a = new QAction( tr("Settings"), + Opie::Core::OResource::loadPixmap( "SettingsIcon", Opie::Core::OResource::SmallIcon ), + QString::null, 0, this, 0 ); a->setWhatsThis(tr("Configure OpieIRC's behavior and appearance")); connect(a, SIGNAL(activated()), this, SLOT(settings())); a->addTo(irc); m_dccTab = 0; loadSettings(); } /*IRCTabWidget MainWindow::getTabWidget(){ return m_tabWidget; } */ void MainWindow::loadSettings() { Config config("OpieIRC"); config.setGroup("OpieIRC"); IRCTab::m_backgroundColor = config.readEntry("BackgroundColor", "#FFFFFF"); IRCTab::m_textColor = config.readEntry("TextColor", "#000000"); IRCTab::m_errorColor = config.readEntry("ErrorColor", "#FF0000"); IRCTab::m_selfColor = config.readEntry("SelfColor", "#CC0000"); IRCTab::m_otherColor = config.readEntry("OtherColor", "#0000BB"); IRCTab::m_serverColor = config.readEntry("ServerColor", "#0000FF"); IRCTab::m_notificationColor = config.readEntry("NotificationColor", "#AA3300"); IRCTab::m_maxLines = config.readNumEntry("Lines", 100); IRCTab::setUseTimeStamps( config.readBoolEntry("DisplayTime", false ) ); } void MainWindow::selected(QWidget *) { m_tabWidget->setTabColor(m_tabWidget->currentPageIndex(), black); emit updateScroll(); } void MainWindow::addTab(IRCTab *tab) { connect(tab, SIGNAL(changed(IRCTab*)), this, SLOT(changeEvent(IRCTab*))); connect(tab, SIGNAL(ping (const QString&)), this, SLOT(slotPing(const QString&))); connect(tab, SIGNAL(nextTab()), this, SLOT(slotNextTab())); connect(tab, SIGNAL(prevTab()), this, SLOT(slotPrevTab())); m_tabWidget->addTab(tab, tab->title()); m_tabWidget->showPage(tab); tab->setID(m_tabWidget->currentPageIndex()); m_tabs.append(tab); } void MainWindow::changeEvent(IRCTab *tab) { if (tab->id() != m_tabWidget->currentPageIndex()) m_tabWidget->setTabColor(tab->id(), blue); } void MainWindow::killTab(IRCTab *tab, bool imediate) { if (tab == m_dccTab) m_dccTab = 0; m_toDelete.append( tab ); if ( imediate ) slotKillTabsLater(); else QTimer::singleShot(0, this, SLOT(slotKillTabsLater()) ); } void MainWindow::slotKillTabsLater() { for ( QListIterator<IRCTab> it(m_toDelete); it.current(); ++it ) { m_tabWidget->removePage( it.current() ); odebug << it.current() << oendl; m_tabs.remove( it.current() ); |