From: <ma...@us...> - 2003-11-20 12:03:03
|
Update of /cvsroot/sharedaemon/ui-wx/src In directory sc8-pr-cvs1:/tmp/cvs-serv25499 Modified Files: SysTray.h SysTray.cpp MainDlg.cpp Log Message: Use wxHAS_TASK_BAR_ICON to detect its availablity instead of __WXMSW__. Also added dblclick functionality to taskbaricon. Index: SysTray.h =================================================================== RCS file: /cvsroot/sharedaemon/ui-wx/src/SysTray.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -d -r1.4 -r1.5 --- SysTray.h 20 Nov 2003 01:27:26 -0000 1.4 +++ SysTray.h 20 Nov 2003 12:02:20 -0000 1.5 @@ -29,10 +29,9 @@ #endif #include "defines.h" -#include "wxInterface.h" +#include "MainDlg.h" -/* TaskBarIcon class is only supported under wxMSW */ -#ifdef __WXMSW__ +#ifdef wxHAS_TASK_BAR_ICON class CSysTray: public wxTaskBarIcon { public: @@ -40,10 +39,11 @@ virtual ~CSysTray(); private: void ShowContextMenu(wxTaskBarIconEvent &event); - void HideShowGUI(wxCommandEvent &event); + void HideShowGUI(); void ChangeGUISettings(wxCommandEvent &event); void ShowHelp(wxCommandEvent &event); void Quit(wxCommandEvent &event); + void OnLButtonDClick(); DECLARE_EVENT_TABLE() }; Index: SysTray.cpp =================================================================== RCS file: /cvsroot/sharedaemon/ui-wx/src/SysTray.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- SysTray.cpp 20 Nov 2003 01:27:26 -0000 1.8 +++ SysTray.cpp 20 Nov 2003 12:02:20 -0000 1.9 @@ -30,11 +30,11 @@ #include "SysTray.h" -/* TaskbarIcon class is only supported under wxMSW */ -#ifdef __WXMSW__ +#ifdef wxHAS_TASK_BAR_ICON BEGIN_EVENT_TABLE(CSysTray,wxTaskBarIcon) EVT_TASKBAR_RIGHT_DOWN(CSysTray::ShowContextMenu) + EVT_TASKBAR_LEFT_DCLICK(CSysTray::OnLButtonDClick) EVT_MENU(MENU_TRAY_HIDESHOW_GUI, CSysTray::HideShowGUI) EVT_MENU(MENU_TRAY_CHANGE_GUI_SETTINGS, CSysTray::ChangeGUISettings) EVT_MENU(MENU_TRAY_HELP, CSysTray::ShowHelp) @@ -74,9 +74,8 @@ /** * This method will hide or show (iconize) the main dialog. */ -void CSysTray::HideShowGUI(wxCommandEvent &event) { - bool iconized = mainframe->IsIconized(); - mainframe->Iconize(!iconized); +void CSysTray::HideShowGUI() { + mainframe->Show(!mainframe->IsShown()); } /** @@ -109,5 +108,10 @@ */ delete mainframe; } + +void CSysTray::OnLButtonDClick() { + HideShowGUI(); +} + #endif Index: MainDlg.cpp =================================================================== RCS file: /cvsroot/sharedaemon/ui-wx/src/MainDlg.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- MainDlg.cpp 20 Nov 2003 01:27:26 -0000 1.1 +++ MainDlg.cpp 20 Nov 2003 12:02:20 -0000 1.2 @@ -37,7 +37,7 @@ class CSharedFilesWnd *sharedfileswnd; class CMessagesWnd *messageswnd; class CStatisticsWnd *statisticswnd; -#ifdef __WXMSW__ +#ifdef wxHAS_TASK_BAR_ICON class CSysTray *systray; #endif class CStatusBar *statusbar; @@ -108,7 +108,7 @@ icon.CopyFromBitmap(img->mule); SetIcon(icon); - #ifdef __WXMSW__ + #ifdef wxHAS_TASK_BAR_ICON systray = new CSysTray(); #endif @@ -173,7 +173,7 @@ m_config->Write(wxT("/General/Start page"), m_lastbtn-1001); } - #ifdef __WXMSW__ + #ifdef wxHAS_TASK_BAR_ICON systray->RemoveIcon(); delete systray; #endif |