Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
DISCONTINUED:openSUSE:11.1:Update
konversation
1_1_BRANCH.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 1_1_BRANCH.diff of Package konversation
--- ChangeLog +++ ChangeLog @@ -1,3 +1,23 @@ +Changes since 1.1: +* Enabled the (experimental, hackish) Amarok 2 support in the 'media' script. +* Fixed a bug that could cause channel notifications to be lost across recon- + nects. +* Removed the code to recreate hidden-to-tray state across application re- + starts. It was broken after the shutdown procedures were moved to a point + in time after after the main window is hidden to cover quit-by-DCOP, and + Konversation 1.1 features an explicit hidden startup option that fulfills + user demands more accurately anyhow. This fixes a bug that made Konversa- + tion always hide to tray on startup regardless of the aforementioned op- + tion when the system tray icon was enabled. +* Added a network settings lookup fallback to retrieving the key of a channel. + Previously, this relied solely on the channel's mode map. Closes the brief + gap between a channel join and the server's reply to MODE where possible, + so that e.g. reconnecting directly after auto-joining a channel with a key + doesn't result in a failed rejoin due to not having the key by way of the + MODE reply yet. +* Fixed opening URLs from the channel topic context menu in Channel List tabs. + + Changes from 1.0.1 to 1.1: We are extremely pleased to announce Konversation's newest major release, v1.1. Konversation 1.1 is a special release for us in multiple ways: It's our farewell --- konversation/scripts/media +++ konversation/scripts/media @@ -44,7 +44,7 @@ ## If you add a new player, you must add it here or it won't get checked when in audio-only or video-only modes. playerRankings= { 'video' :['kaffeine','kmplayer', 'kplayer', 'noatun', 'kdetv'], - 'audio' :['amarok', 'MPD' 'juk', 'noatun', 'kscd', 'kaffeine', 'kmplayer', 'Audacious', 'xmms', 'yammi'] + 'audio' :['amarok', 'juk', 'noatun', 'kscd', 'kaffeine', 'kmplayer', 'amarok2', 'yammi', 'Audacious', 'xmms', 'MPD'] } ## Title, album and artist fields to be quoted depending on contents @@ -244,36 +244,36 @@ return '' return data -#class Amarok2Player(Player): -# def __init__(self): -# Player.__init__(self, 'Amarok2', 'audio') -# self.isRunning() -# -# def getData(self): -# playing=os.popen("qdbus org.mpris.amarok /Player PositionGet").readline().strip() != "0" -# if playing and self.isRunning(): -# for line in os.popen("qdbus org.mpris.amarok /Player GetMetadata").readlines(): -# if re.match("^title", line): -# title=self.reEncodeString(line.strip().split(None,1)[1]) -# if re.match("^artist", line): -# artist=self.reEncodeString(line.strip().split(None,1)[1]) -# if re.match("^album", line): -# album=self.reEncodeString(line.strip().split(None,1)[1]) -# return (title, artist, album) -# else: -# return '' -# -# def isRunning(self): -# qdbus_items=subprocess.Popen(['qdbus'], stdout=subprocess.PIPE).communicate()[0] -# running=re.findall('^ org.mpris.amarok$', qdbus_items, re.M) -# if type(running) is list: -# try: -# running=running[0] -# except IndexError: -# running='' -# self.running=bool(running.strip()) -# return self.running +class Amarok2Player(Player): + def __init__(self): + Player.__init__(self, 'Amarok2', 'audio') + self.isRunning() + def getData(self): + playing=os.popen("qdbus org.mpris.amarok /Player PositionGet").readline().strip() != "0" + if playing and self.isRunning(): + for line in os.popen("qdbus org.mpris.amarok /Player GetMetadata").readlines(): + if re.match("^title", line): + title=self.reEncodeString(line.strip().split(None,1)[1]) + if re.match("^artist", line): + artist=self.reEncodeString(line.strip().split(None,1)[1]) + if re.match("^album", line): + album=self.reEncodeString(line.strip().split(None,1)[1]) + return (title, artist, album) + else: + return '' + + def isRunning(self): + qdbus_items=subprocess.Popen(['qdbus'], stdout=subprocess.PIPE).communicate()[0] + running=re.findall('^ org.mpris.amarok$', qdbus_items, re.M) + if type(running) is list: + try: + running=running[0] + except IndexError: + running='' + self.running=bool(running.strip()) + return self.running + import socket class MPD(Player): @@ -439,8 +439,9 @@ StupidPlayer("KPlayer","kplayer","kplayer-mainwindow#1 caption",playerType="video audio"), DCOPPlayer("KsCD","kscd","CDPlayer currentTrackTitle","CDPlayer currentArtist","CDPlayer currentAlbum"), DCOPPlayer("kdetv","kdetv","KdetvIface channelName",playerType='video'), +Amarok2Player(), +DCOPPlayer("Yammi","yammi","YammiPlayer songTitle","YammiPlayer songArtist","YammiPlayer songAlbum"), AudaciousPlayer('Audacious'), XmmsPlayer('XMMS'), -DCOPPlayer("Yammi","yammi","YammiPlayer songTitle","YammiPlayer songArtist","YammiPlayer songAlbum"), MPD('MPD') ] --- konversation/src/channellistpanel.h +++ konversation/src/channellistpanel.h @@ -73,6 +73,7 @@ void regExpClicked(); void contextMenu (KListView* l, QListViewItem* i, const QPoint& p); + void openURL(); //Used to disable functions when not connected virtual void serverOnline(bool online); --- konversation/src/version.h +++ konversation/src/version.h @@ -1,3 +1,3 @@ #ifndef KONVI_VERSION -#define KONVI_VERSION "1.1" +#define KONVI_VERSION "1.1+" #endif --- konversation/src/konversationapplication.cpp +++ konversation/src/konversationapplication.cpp @@ -139,7 +139,7 @@ // apply GUI settings emit appearanceChanged(); - if (Preferences::showTrayIcon() && (Preferences::hiddenToTray() || Preferences::hideToTrayOnStartup())) + if (Preferences::showTrayIcon() && Preferences::hideToTrayOnStartup()) mainWindow->hide(); else mainWindow->show(); @@ -212,11 +212,6 @@ void KonversationApplication::prepareShutdown() { - if (mainWindow->isHidden() && Preferences::showTrayIcon()) - Preferences::setHiddenToTray(true); - else - Preferences::setHiddenToTray(false); - mainWindow->getViewContainer()->prepareShutdown(); m_awayManager->blockSignals(true); --- konversation/src/channellistpanel.cpp +++ konversation/src/channellistpanel.cpp @@ -18,6 +18,7 @@ #include "server.h" #include "common.h" +#include <qaction.h> #include <qhbox.h> #include <qvbox.h> #include <qgrid.h> @@ -544,7 +545,10 @@ pos+=url.length(); // tell the program that we have found a new url - showURLmenu->insertItem(href); + QAction* action = new QAction(showURLmenu); + action->setText(href); + action->addTo(showURLmenu); + connect(action, SIGNAL(activated()), this, SLOT(openURL())); } else { @@ -558,16 +562,19 @@ showURLmenu->setItemEnabled(5,false); } - int selected = showURLmenu->exec(p); - if (selected!=-1) - { - QMenuItem* item = showURLmenu->findItem( selected ); - new KRun(KURL(item->text().replace("&&","&"))); - } + showURLmenu->exec(p); delete showURLmenu; } +void ChannelListPanel::openURL() +{ + const QAction* action = static_cast<const QAction*>(sender()); + + if (action) + new KRun(KURL(action->text().replace("&&","&"))); +} + void ChannelListPanel::appendInputText(const QString& text, bool fromCursor) { Q_UNUSED(fromCursor); --- konversation/src/config/konversation.kcfg +++ konversation/src/config/konversation.kcfg @@ -270,10 +270,6 @@ <label></label> <whatsthis></whatsthis> </entry> - <entry key="HiddenToTray" type="Bool"> - <default>false</default> - <label>Hidden to system tray</label> - </entry> <entry key="HideToTrayOnStartup" type="Bool"> <default>false</default> <label>Start with hidden mainwindow</label> --- konversation/src/commit.h +++ konversation/src/commit.h @@ -1,4 +1,4 @@ // This COMMIT number is added to version string to be used as "patch level" #ifndef COMMIT -#define COMMIT 3300 +#define COMMIT 3302 #endif --- konversation/src/main.cpp +++ konversation/src/main.cpp @@ -24,6 +24,9 @@ #include "version.h" #include "commit.h" +#define HACKSTR(x) #x +#define STRHACK(x) HACKSTR(x) + /* Don't use i18n() here, use I18N_NOOP() instead! i18n() will only work as soon as a kapplication object was made. @@ -47,7 +50,7 @@ { KAboutData aboutData("konversation", I18N_NOOP("Konversation"), - KONVI_VERSION, + KONVI_VERSION " #" STRHACK(COMMIT), shortDescription, KAboutData::License_GPL, I18N_NOOP("(C) 2002-2008 by the Konversation team"), --- konversation/src/inputfilter.cpp +++ konversation/src/inputfilter.cpp @@ -243,8 +243,10 @@ else { // Do not internationalize the below version string - reply = QString("Konversation %1 (C) 2002-2008 by the Konversation team") - .arg(QString(KONVI_VERSION)); + reply = QString("Konversation %1 Build %2 (C) 2002-2008 by the Konversation team") + .arg(QString(KONVI_VERSION)) + .arg(QString::number(COMMIT)); + } server->ctcpReply(sourceNick,"VERSION "+reply); } --- konversation/src/channel.cpp +++ konversation/src/channel.cpp @@ -974,6 +974,16 @@ if ((*it)[0] == 'k') password = (*it).mid(1); } + if (password.isEmpty() && m_server->getServerGroup()) + { + Konversation::ChannelList channelList = m_server->getServerGroup()->channelList(); + Konversation::ChannelSettings channelSettings(getName()); + QValueListIterator<Konversation::ChannelSettings> it = channelList.find(channelSettings); + + if (it != channelList.end()) + password = (*it).password(); + } + return password; } @@ -1273,7 +1283,7 @@ setActive(true); //HACK the way the notification priorities work sucks, this forces the tab text color to ungray right now. - if (m_currentTabNotify == Konversation::tnfNone || !Preferences::tabNotificationsEvents()) + if (m_currentTabNotify == Konversation::tnfNone || (!Preferences::tabNotificationsEvents() && m_currentTabNotify == Konversation::tnfControl)) KonversationApplication::instance()->getMainWindow()->getViewContainer()->unsetViewNotification(this); KonversationApplication::instance()->notificationHandler()->channelJoin(this,getName());
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor