fixes
This commit is contained in:
parent
9000ab5ad0
commit
a3b2805d7b
|
@ -92,6 +92,6 @@ bool Snore::Icon::isRemoteFile() const
|
||||||
|
|
||||||
QDebug operator<< ( QDebug debug, const Snore::Icon &icon )
|
QDebug operator<< ( QDebug debug, const Snore::Icon &icon )
|
||||||
{
|
{
|
||||||
debug << "Snore::Icon(" << icon.url() << ")" ;
|
debug << "Snore::Icon(" << (icon.url().isEmpty()?icon.localUrl():icon.url()) << ")" ;
|
||||||
return debug.maybeSpace();
|
return debug.maybeSpace();
|
||||||
}
|
}
|
||||||
|
|
|
@ -44,7 +44,8 @@ IconData::IconData(const QString &url):
|
||||||
|
|
||||||
IconData::IconData(const QImage &img):
|
IconData::IconData(const QImage &img):
|
||||||
m_img(img),
|
m_img(img),
|
||||||
m_hash(SnoreCorePrivate::computeHash(dataFromImage(img))),
|
m_data(dataFromImage(img)),
|
||||||
|
m_hash(SnoreCorePrivate::computeHash(m_data)),
|
||||||
m_localUrl(QString("%1%2.png").arg(SnoreCorePrivate::snoreTMP(), m_hash)),
|
m_localUrl(QString("%1%2.png").arg(SnoreCorePrivate::snoreTMP(), m_hash)),
|
||||||
m_isLocalFile(false),
|
m_isLocalFile(false),
|
||||||
m_isResource(false),
|
m_isResource(false),
|
||||||
|
|
|
@ -44,7 +44,7 @@ Notification::Notification(const Application &application, const Alert &alert, c
|
||||||
}
|
}
|
||||||
|
|
||||||
Notification::Notification(const Notification &old, const QString &title, const QString &text, const Icon &icon, int timeout, NotificationEnums::Prioritys::prioritys priority):
|
Notification::Notification(const Notification &old, const QString &title, const QString &text, const Icon &icon, int timeout, NotificationEnums::Prioritys::prioritys priority):
|
||||||
d(new NotificationData(old,title,text,icon,timeout,priority))
|
d(new NotificationData(old,title,text,icon,timeout,priority))
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -78,7 +78,7 @@ const int &Notification::timeout() const
|
||||||
return d->m_timeout;
|
return d->m_timeout;
|
||||||
}
|
}
|
||||||
|
|
||||||
Notification Notification::notificationToReplace() const
|
Notification Notification::old() const
|
||||||
{
|
{
|
||||||
return d->m_toReplace;
|
return d->m_toReplace;
|
||||||
}
|
}
|
||||||
|
@ -113,17 +113,20 @@ const Alert &Notification::alert() const
|
||||||
return d->m_alert;
|
return d->m_alert;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Notification::sticky() const
|
bool Notification::isSticky() const
|
||||||
{
|
{
|
||||||
return d->m_timeout == 0;
|
return d->m_timeout == 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Notification::setSticky()
|
void Notification::setIsSticky(bool b)
|
||||||
{
|
{
|
||||||
d->m_timeout = 0;
|
if(b)
|
||||||
|
{
|
||||||
|
d->m_timeout = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const NotificationEnums::Prioritys::prioritys &Notification::priority() const
|
NotificationEnums::Prioritys::prioritys Notification::priority() const
|
||||||
{
|
{
|
||||||
return d->m_priority;
|
return d->m_priority;
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,18 +52,15 @@ public:
|
||||||
//0 means sticky
|
//0 means sticky
|
||||||
const int &timeout() const;
|
const int &timeout() const;
|
||||||
|
|
||||||
Notification notificationToReplace() const;
|
|
||||||
bool isUpdate() const;
|
|
||||||
|
|
||||||
const Action &actionInvoked() const;
|
const Action &actionInvoked() const;
|
||||||
const Application &application() const;
|
const Application &application() const;
|
||||||
QString title() const;
|
QString title() const;
|
||||||
QString text() const;
|
QString text() const;
|
||||||
const Icon &icon() const;
|
const Icon &icon() const;
|
||||||
const Alert &alert() const;
|
const Alert &alert() const;
|
||||||
void setSticky();
|
void setIsSticky(bool b);
|
||||||
bool sticky() const;
|
bool isSticky() const;
|
||||||
const NotificationEnums::Prioritys::prioritys &priority() const;
|
NotificationEnums::Prioritys::prioritys priority() const;
|
||||||
const QHash<int, Action> &actions() const;
|
const QHash<int, Action> &actions() const;
|
||||||
void addAction(const Action &a);
|
void addAction(const Action &a);
|
||||||
const NotificationEnums::CloseReasons::closeReasons &closeReason();
|
const NotificationEnums::CloseReasons::closeReasons &closeReason();
|
||||||
|
@ -73,6 +70,10 @@ public:
|
||||||
|
|
||||||
bool isValid() const;
|
bool isValid() const;
|
||||||
|
|
||||||
|
|
||||||
|
Notification old() const;
|
||||||
|
bool isUpdate() const;
|
||||||
|
|
||||||
NotificationData *data();
|
NotificationData *data();
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,7 @@ const QString &SnorePlugin::name() const
|
||||||
|
|
||||||
void SnorePlugin::startTimeout(Notification ¬ification)
|
void SnorePlugin::startTimeout(Notification ¬ification)
|
||||||
{
|
{
|
||||||
if(notification.sticky())
|
if(notification.isSticky())
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -78,7 +78,7 @@ void SnorePlugin::startTimeout(Notification ¬ification)
|
||||||
timer->stop();
|
timer->stop();
|
||||||
if(notification.isUpdate())
|
if(notification.isUpdate())
|
||||||
{
|
{
|
||||||
notification.notificationToReplace().data()->timeoutTimer()->stop();
|
notification.old().data()->timeoutTimer()->stop();
|
||||||
}
|
}
|
||||||
timer->setInterval(notification.timeout() * 1000);
|
timer->setInterval(notification.timeout() * 1000);
|
||||||
connect(timer,SIGNAL(timeout()),this,SLOT(notificationTimedOut()));
|
connect(timer,SIGNAL(timeout()),this,SLOT(notificationTimedOut()));
|
||||||
|
|
|
@ -104,6 +104,7 @@ public:
|
||||||
if(notification.isValid())
|
if(notification.isValid())
|
||||||
{
|
{
|
||||||
m_snarl->closeNotification(notification,reason);
|
m_snarl->closeNotification(notification,reason);
|
||||||
|
m_snarl->m_idMap.take(msg->lParam);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -220,6 +221,7 @@ void SnarlBackend::slotNotify(Notification notification){
|
||||||
}
|
}
|
||||||
|
|
||||||
ULONG32 id = 0;
|
ULONG32 id = 0;
|
||||||
|
qDebug() << Q_FUNC_INFO << notification.icon();
|
||||||
if(!notification.isUpdate())
|
if(!notification.isUpdate())
|
||||||
{
|
{
|
||||||
id = snarlInterface->Notify(notification.alert().name().toUtf8().constData(),
|
id = snarlInterface->Notify(notification.alert().name().toUtf8().constData(),
|
||||||
|
@ -240,7 +242,7 @@ void SnarlBackend::slotNotify(Notification notification){
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//update message
|
//update message
|
||||||
id = notification.notificationToReplace().hints().privateValue(this, "id").toUInt();
|
id = notification.old().hints().privateValue(this, "id").toUInt();
|
||||||
snarlInterface->Update(id,
|
snarlInterface->Update(id,
|
||||||
notification.alert().name().toUtf8().constData(),
|
notification.alert().name().toUtf8().constData(),
|
||||||
Snore::toPlainText(notification.title()).toUtf8().constData(),
|
Snore::toPlainText(notification.title()).toUtf8().constData(),
|
||||||
|
|
|
@ -95,9 +95,10 @@ uint FreedesktopFrontend::Notify(const QString &app_name, uint replaces_id,
|
||||||
Application app;
|
Application app;
|
||||||
NotificationEnums::Prioritys::prioritys priotity = NotificationEnums::Prioritys::NORMAL;
|
NotificationEnums::Prioritys::prioritys priotity = NotificationEnums::Prioritys::NORMAL;
|
||||||
|
|
||||||
if(hints.contains("image_data")){
|
if(hints.contains("image_data"))
|
||||||
|
{
|
||||||
FreedesktopImageHint image;
|
FreedesktopImageHint image;
|
||||||
hints["image_data"].value<QDBusArgument>()>>image;
|
hints["image_data"].value<QDBusArgument>() >> image;
|
||||||
icon = Icon(image.toQImage());
|
icon = Icon(image.toQImage());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in New Issue