It's trivial to use a stock icon with the given name in wxGTK with libnotify,
so provide a way to do it. However this is not as simple as that in other
implementations (notably Windows), so make it private to this port for now.
In the future we should try to support arbitrary wxIcons as well as extend
wxIconLocation to support FreeDesktop stock icon names.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72250
c3d73ce0-8a6f-49c7-b76d-
6d57e0e08775
virtual bool Show(int timeout = Timeout_Auto);
virtual bool Close();
+ // Set the name of the icon to use, overriding the default icon determined
+ // by the flags. Call with empty string to reset custom icon.
+ bool GTKSetIconName(const wxString& name);
+
private:
void Init() { m_notification = NULL; }
NotifyNotification* m_notification;
+ wxString m_iconName;
wxDECLARE_NO_COPY_CLASS(wxNotificationMessage);
};
// wxNotificationMessage implementation
// ============================================================================
+bool wxNotificationMessage::GTKSetIconName(const wxString& name)
+{
+ m_iconName = name;
+
+ return true;
+}
+
bool wxNotificationMessage::Show(int timeout)
{
if ( !wxLibnotifyModule::Initialize() )
return false;
}
+ // Explicitly specified icon name overrides the implicit one determined by
+ // the flags.
+ wxScopedCharBuffer buf;
+ if ( !m_iconName.empty() )
+ {
+ buf = m_iconName.utf8_str();
+ icon = buf;
+ }
+
// Create the notification or update an existing one if we had already been
// shown before.
if ( !m_notification )