EVT_MOTION(wxVolCtrl::OnChange)
END_EVENT_TABLE()
-/* Systray integration */
-#ifdef wxHAS_TASK_BAR_ICON
-class Systray: public wxTaskBarIcon
-{
-public:
- Systray( Interface* p_main_interface );
- virtual ~Systray() {};
- wxMenu* CreatePopupMenu();
-
-private:
- void OnLeftClick( wxTaskBarIconEvent& event );
- void OnPlayStream ( wxCommandEvent& event );
- void OnStopStream ( wxCommandEvent& event );
- void OnPrevStream ( wxCommandEvent& event );
- void OnNextStream ( wxCommandEvent& event );
- void OnExit( wxCommandEvent& event );
- Interface* p_main_interface;
- DECLARE_EVENT_TABLE()
-};
-#endif
-
/*****************************************************************************
* Event Table.
*****************************************************************************/
END_EVENT_TABLE()
-#ifdef wxHAS_TASK_BAR_ICON
-BEGIN_EVENT_TABLE(Systray, wxTaskBarIcon)
- /* Mouse events */
- EVT_TASKBAR_LEFT_DOWN(Systray::OnLeftClick)
- /* Menu events */
- EVT_MENU(Iconize_Event, Systray::OnLeftClick)
- EVT_MENU(Exit_Event, Systray::OnExit)
- EVT_MENU(PlayStream_Event, Systray::OnPlayStream)
- EVT_MENU(NextStream_Event, Systray::OnNextStream)
- EVT_MENU(PrevStream_Event, Systray::OnPrevStream)
- EVT_MENU(StopStream_Event, Systray::OnStopStream)
-END_EVENT_TABLE()
-#endif
-
/*****************************************************************************
* Constructor.
*****************************************************************************/
}
/*****************************************************************************
- * Definition of Systray class.
+ * Systray class.
*****************************************************************************/
#ifdef wxHAS_TASK_BAR_ICON
+
+BEGIN_EVENT_TABLE(Systray, wxTaskBarIcon)
+ /* Mouse events */
+#ifdef WIN32
+ EVT_TASKBAR_LEFT_DCLICK(Systray::OnLeftClick)
+#else
+ EVT_TASKBAR_LEFT_DOWN(Systray::OnLeftClick)
+#endif
+ /* Menu events */
+ EVT_MENU(Iconize_Event, Systray::OnLeftClick)
+ EVT_MENU(Exit_Event, Systray::OnExit)
+ EVT_MENU(PlayStream_Event, Systray::OnPlayStream)
+ EVT_MENU(NextStream_Event, Systray::OnNextStream)
+ EVT_MENU(PrevStream_Event, Systray::OnPrevStream)
+ EVT_MENU(StopStream_Event, Systray::OnStopStream)
+END_EVENT_TABLE()
+
Systray::Systray( Interface *_p_main_interface )
{
p_main_interface = _p_main_interface;
void Systray::OnLeftClick( wxTaskBarIconEvent& event )
{
p_main_interface->Show( ! p_main_interface->IsShown() );
+ if ( p_main_interface->IsShown() ) p_main_interface->Raise();
}
void Systray::OnExit( wxCommandEvent& event )
systray_menu->Append( Iconize_Event, wxU(_("Show/Hide interface")) );
return systray_menu;
}
+
+void Systray::UpdateTooltip( const wxChar* tooltip )
+{
+ SetIcon( wxIcon( vlc16x16_xpm ), tooltip );
+}
#endif
wxU(p_intf->p_sys->p_input->input.p_item->psz_name), 2 );
p_main_interface->TogglePlayButton( PLAYING_S );
+#ifdef wxHAS_TASK_BAR_ICON
+ if( p_main_interface->p_systray )
+ {
+ p_main_interface->p_systray->UpdateTooltip( wxU(p_intf->p_sys->p_input->input.p_item->psz_name) + wxString(wxT(" - ")) + wxU(_("Playing")));
+ }
+#endif
i_old_playing_status = PLAYING_S;
}
}
p_main_interface->statusbar->SetStatusText( wxT(""), 0 );
p_main_interface->statusbar->SetStatusText( wxT(""), 2 );
+#ifdef wxHAS_TASK_BAR_ICON
+ if( p_main_interface->p_systray )
+ {
+ p_main_interface->p_systray->UpdateTooltip( wxString(wxT("VLC media player - ")) + wxU(_("Stopped")) );
+ }
+#endif
vlc_object_release( p_intf->p_sys->p_input );
p_intf->p_sys->p_input = NULL;
}
{
p_main_interface->TogglePlayButton( PLAYING_S );
}
+#ifdef wxHAS_TASK_BAR_ICON
+ if( p_main_interface->p_systray )
+ {
+ if( val.i_int == PAUSE_S )
+ {
+ p_main_interface->p_systray->UpdateTooltip( wxU(p_intf->p_sys->p_input->input.p_item->psz_name) + wxString(wxT(" - ")) + wxU(_("Paused")));
+ }
+ else
+ {
+ p_main_interface->p_systray->UpdateTooltip( wxU(p_intf->p_sys->p_input->input.p_item->psz_name) + wxString(wxT(" - ")) + wxU(_("Playing")));
+ }
+ }
+#endif
i_old_playing_status = val.i_int;
}
class PrefsTreeCtrl;
class AutoBuiltPanel;
class VideoWindow;
-#ifdef wxHAS_TASK_BAR_ICON
-class Systray;
-#endif
/*****************************************************************************
* intf_sys_t: description and status of wxwindows interface
};
#endif
+/* Systray integration */
+#ifdef wxHAS_TASK_BAR_ICON
+class Systray: public wxTaskBarIcon
+{
+public:
+ Systray( Interface* p_main_interface );
+ virtual ~Systray() {};
+ wxMenu* CreatePopupMenu();
+ void UpdateTooltip( const wxChar* tooltip );
+
+private:
+ void OnLeftClick( wxTaskBarIconEvent& event );
+ void OnPlayStream ( wxCommandEvent& event );
+ void OnStopStream ( wxCommandEvent& event );
+ void OnPrevStream ( wxCommandEvent& event );
+ void OnNextStream ( wxCommandEvent& event );
+ void OnExit( wxCommandEvent& event );
+ Interface* p_main_interface;
+ DECLARE_EVENT_TABLE()
+};
+#endif
+
/* Main Interface */
class Interface: public wxFrame
{