Changeset 364


Ignore:
Timestamp:
12/27/07 12:43:50 (12 years ago)
Author:
Eoin
Message:

Added 'Close to tray' and 'Confirm on close'.

Files:
7 edited

Legend:

Unmodified
Added
Removed
  • branch/res/Halite.rc

    r360 r364  
    55#include "../src/advtabs/Tracker.hpp" 
    66#include "../src/advtabs/TrackerListView.hpp" 
     7#include "../src/HaliteWindow.hpp" 
    78#include "../src/HaliteDialog.hpp" 
    89#include "../src/ConfigOptions.hpp" 
     
    1415STRINGTABLE  
    1516BEGIN 
    16     HALITE_LANGUAGE    "English" 
     17    HALITE_LANGUAGE "English" 
    1718END 
    1819 
     
    323324FONT 8, "MS Shell Dlg", 400, 0, 0x1 
    324325BEGIN 
    325     CONTROL         "Allow only one instance to run.",IDC_GENERAL_ONEINST, 
     326    CONTROL         "Allow only one instance to run",IDC_GENERAL_ONEINST, 
    326327                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,16,150,11 
    327328    GROUPBOX        "General Settings",IDC_GENERAL_GROUP,5,6,315,77 
    328329    CONTROL         "Advanced GUI",IDC_GENERAL_ADVGUI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,42,150,11 
    329330    CONTROL         "Minimize to tray.",IDC_GENERAL_TRAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,29,150,11 
     331    CONTROL         "Close to tray",IDC_GENERAL_CLOSETRAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,42,150,11 
     332    CONTROL         "Confirm on close",IDC_GENERAL_CONFIRMCLOSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,29,150,11 
    330333    LISTBOX         IDC_LANGLIST,165,24,149,70,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP 
    331334    CTEXT           "Language (requires restart)",IDC_GENERAL_LANG,165,13,150,8 
     
    492495        HAL_AUTOSORT                              "Auto Sort" 
    493496        HAL_TORRENT_ROOT                          "Torrent Root" 
     497        HAL_WINDOW_CLOSECONFRIM           "Are you sure you wish to close Halite? Doing so will stop any active torrents" 
    494498END 
    495499 
  • branch/src/ConfigOptions.hpp

    r348 r364  
    3838#define IDC_GENERAL_GROUP                       ID_CONFIG_BEGIN + 29 
    3939#define IDC_GENERAL_LANG                        ID_CONFIG_BEGIN + 30 
     40#define IDC_GENERAL_CLOSETRAY           ID_CONFIG_BEGIN + 31 
     41#define IDC_GENERAL_CONFIRMCLOSE        ID_CONFIG_BEGIN + 32 
    4042 
    4143#ifndef RC_INVOKED 
     
    7779        DDX_CHECK(IDC_GENERAL_TRAY, haliteWindow_->use_tray) 
    7880        DDX_CHECK(IDC_GENERAL_ADVGUI, haliteWindow_->advancedUI) 
     81        DDX_CHECK(IDC_GENERAL_CLOSETRAY, haliteWindow_->closeToTray) 
     82        DDX_CHECK(IDC_GENERAL_CONFIRMCLOSE, haliteWindow_->confirmClose) 
    7983    END_DDX_MAP() 
    8084         
     
    8589                WMB_ROW(_auto,  IDC_GENERAL_ADVGUI), \ 
    8690                WMB_ROW(_auto,  IDC_GENERAL_TRAY), \ 
     91                WMB_ROW(_auto,  IDC_GENERAL_CLOSETRAY), \ 
     92                WMB_ROW(_auto,  IDC_GENERAL_CONFIRMCLOSE), \ 
    8793        WMB_END() 
    8894 
  • branch/src/HaliteWindow.cpp

    r360 r364  
    2828        use_tray(true), 
    2929        advancedUI(false), 
     30        closeToTray(false), 
     31        confirmClose(true), 
    3032        activeTab(0) 
    3133{ 
     
    100102         
    101103        // Create the tray icon. 
    102         m_trayIcon.Create(this, IDR_TRAY_MENU, L"Halite",  
     104        trayIcon_.Create(this, IDR_TRAY_MENU, L"Halite",  
    103105                CTrayNotifyIcon::LoadIconResource(IDR_APP_ICON), WM_TRAYNOTIFY, IDR_TRAY_MENU); 
    104         m_trayIcon.Hide(); 
     106        trayIcon_.Hide(); 
    105107         
    106108        // Add ToolBar and register it along with StatusBar for UIUpdates 
     
    142144LRESULT HaliteWindow::OnTrayNotification(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam) 
    143145{ 
    144     m_trayIcon.OnTrayNotification(wParam, lParam); 
     146    trayIcon_.OnTrayNotification(wParam, lParam); 
    145147     
    146148    return 0; 
     
    182184         
    183185        UISetText(3, downloadRates.c_str());     
    184         m_trayIcon.SetTooltipText(downloadRates.c_str()); 
     186        trayIcon_.SetTooltipText(downloadRates.c_str()); 
    185187         
    186188        if (details.dht_on) 
     
    264266{ 
    265267        hal::event().post(shared_ptr<hal::EventDetail>( 
    266                 new hal::EventMsg(L"I recieved data.", hal::Event::info))); 
     268                new hal::EventMsg(L"I recieved data."))); 
    267269                 
    268270        switch (pCSD->dwData) 
     
    308310 
    309311        ui().update(); 
    310          
    311 /*      int itemPos = haliteList.GetSelectionMark(); 
    312         if (itemPos == -1) 
    313         { 
    314                 LV_FINDINFO findInfo = { sizeof(LV_FINDINFO) };  
    315                 findInfo.flags = LVFI_STRING; 
    316                  
    317                 wstring filename = file.leaf();          
    318                 findInfo.psz = filename.c_str(); 
    319                  
    320                 int itemPos = haliteList.FindItem(&findInfo, -1);        
    321                 haliteList.manager().setSelected(itemPos); 
    322         }        
    323 */       
     312 
    324313        } 
    325314        catch(const boost::filesystem::filesystem_error&) 
     
    332321void HaliteWindow::OnClose() 
    333322{ 
     323        if (closeToTray && trayIcon_.IsHidden()) 
     324        {                
     325                ShowWindow(SW_HIDE); 
     326                trayIcon_.Show(); 
     327        } 
     328        else 
     329        { 
     330                if (!confirmClose || (confirmClose &&  
     331                        MessageBox(hal::app().res_wstr(HAL_WINDOW_CLOSECONFRIM).c_str(), 0, MB_YESNO) == IDYES)) 
     332                { 
     333                        DestroyWindow(); 
     334                } 
     335        } 
     336} 
     337  
     338void HaliteWindow::OnDestroy() 
     339{ 
    334340        splitterPos = m_Split.GetSplitterPos(); 
    335341 
    336342        hal::config().save(); 
    337343        save(); 
    338          
    339         DestroyWindow(); 
    340 } 
    341   
    342 void HaliteWindow::OnDestroy() 
    343 { 
    344344        PostQuitMessage(0); 
    345345} 
     
    352352                { 
    353353                        ShowWindow(SW_HIDE); 
    354                         m_trayIcon.Show(); 
     354                        trayIcon_.Show(); 
    355355                } 
    356356        } 
     
    374374LRESULT HaliteWindow::OnTrayOpenHalite(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    375375{ 
     376        trayIcon_.Hide(); 
    376377        ShowWindow(SW_RESTORE); 
    377         m_trayIcon.Hide(); 
    378378         
    379379        return 0; 
     
    487487{ 
    488488        hal::event().post(shared_ptr<hal::EventDetail>( 
    489                 new hal::EventMsg(L"I tried to contact me.", hal::Event::info)));                
     489                new hal::EventMsg(L"I tried to contact me.")));          
    490490 
    491491        return WM_AreYouMe_;  
  • branch/src/HaliteWindow.hpp

    r347 r364  
    66 
    77#pragma once 
     8 
     9#define ID_WINDOW_BEGIN                         13000 
     10#define HAL_WINDOW_CLOSECONFRIM         ID_WINDOW_BEGIN + 1 
     11 
     12#ifndef RC_INVOKED 
    813 
    914#include "stdAfx.hpp" 
     
    183188                ar & BOOST_SERIALIZATION_NVP(advancedUI); 
    184189                ar & BOOST_SERIALIZATION_NVP(activeTab); 
     190                if (version > 0) { 
     191                        ar & BOOST_SERIALIZATION_NVP(closeToTray); 
     192                        ar & BOOST_SERIALIZATION_NVP(confirmClose); 
     193                } 
    185194        } 
    186195         
     
    195204        CHorSplitterWindow m_Split; 
    196205    CMultiPaneStatusBarCtrl m_StatusBar; 
    197         CTrayNotifyIcon m_trayIcon; 
     206        CTrayNotifyIcon trayIcon_; 
    198207 
    199208        HaliteListViewCtrl haliteList; 
     
    212221        bool use_tray; 
    213222        bool advancedUI; 
     223        bool closeToTray; 
     224        bool confirmClose; 
    214225        int activeTab; 
    215226}; 
    216227 
    217 BOOST_CLASS_VERSION(HaliteWindow, 0) 
     228BOOST_CLASS_VERSION(HaliteWindow, 1) 
     229 
     230#endif // RC_INVOKED 
  • trunk/res/Halite.rc

    r356 r364  
    55#include "../src/advtabs/Tracker.hpp" 
    66#include "../src/advtabs/TrackerListView.hpp" 
     7#include "../src/HaliteWindow.hpp" 
    78#include "../src/HaliteDialog.hpp" 
    89#include "../src/ConfigOptions.hpp" 
     
    1415STRINGTABLE  
    1516BEGIN 
    16     HALITE_LANGUAGE    "English" 
     17    HALITE_LANGUAGE "English" 
    1718END 
    1819 
     
    323324FONT 8, "MS Shell Dlg", 400, 0, 0x1 
    324325BEGIN 
    325     CONTROL         "Allow only one instance to run.",IDC_GENERAL_ONEINST, 
     326    CONTROL         "Allow only one instance to run",IDC_GENERAL_ONEINST, 
    326327                    "Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,16,150,11 
    327328    GROUPBOX        "General Settings",IDC_GENERAL_GROUP,5,6,315,77 
    328329    CONTROL         "Advanced GUI",IDC_GENERAL_ADVGUI,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,42,150,11 
    329330    CONTROL         "Minimize to tray.",IDC_GENERAL_TRAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,29,150,11 
     331    CONTROL         "Close to tray",IDC_GENERAL_CLOSETRAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,42,150,11 
     332    CONTROL         "Confirm on close",IDC_GENERAL_CONFIRMCLOSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,12,29,150,11 
    330333    LISTBOX         IDC_LANGLIST,165,24,149,70,LBS_SORT | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_TABSTOP 
    331334    CTEXT           "Language (requires restart)",IDC_GENERAL_LANG,165,13,150,8 
     
    492495        HAL_AUTOSORT                              "Auto Sort" 
    493496        HAL_TORRENT_ROOT                          "Torrent Root" 
     497        HAL_WINDOW_CLOSECONFRIM           "Are you sure you wish to close Halite? Doing so will stop any active torrents" 
    494498END 
    495499 
  • trunk/src/ConfigOptions.hpp

    r348 r364  
    3838#define IDC_GENERAL_GROUP                       ID_CONFIG_BEGIN + 29 
    3939#define IDC_GENERAL_LANG                        ID_CONFIG_BEGIN + 30 
     40#define IDC_GENERAL_CLOSETRAY           ID_CONFIG_BEGIN + 31 
     41#define IDC_GENERAL_CONFIRMCLOSE        ID_CONFIG_BEGIN + 32 
    4042 
    4143#ifndef RC_INVOKED 
     
    7779        DDX_CHECK(IDC_GENERAL_TRAY, haliteWindow_->use_tray) 
    7880        DDX_CHECK(IDC_GENERAL_ADVGUI, haliteWindow_->advancedUI) 
     81        DDX_CHECK(IDC_GENERAL_CLOSETRAY, haliteWindow_->closeToTray) 
     82        DDX_CHECK(IDC_GENERAL_CONFIRMCLOSE, haliteWindow_->confirmClose) 
    7983    END_DDX_MAP() 
    8084         
     
    8589                WMB_ROW(_auto,  IDC_GENERAL_ADVGUI), \ 
    8690                WMB_ROW(_auto,  IDC_GENERAL_TRAY), \ 
     91                WMB_ROW(_auto,  IDC_GENERAL_CLOSETRAY), \ 
     92                WMB_ROW(_auto,  IDC_GENERAL_CONFIRMCLOSE), \ 
    8793        WMB_END() 
    8894 
  • trunk/src/HaliteWindow.hpp

    r347 r364  
    66 
    77#pragma once 
     8 
     9#define ID_WINDOW_BEGIN                         13000 
     10#define HAL_WINDOW_CLOSECONFRIM         ID_WINDOW_BEGIN + 1 
     11 
     12#ifndef RC_INVOKED 
    813 
    914#include "stdAfx.hpp" 
     
    183188                ar & BOOST_SERIALIZATION_NVP(advancedUI); 
    184189                ar & BOOST_SERIALIZATION_NVP(activeTab); 
     190                if (version > 0) { 
     191                        ar & BOOST_SERIALIZATION_NVP(closeToTray); 
     192                        ar & BOOST_SERIALIZATION_NVP(confirmClose); 
     193                } 
    185194        } 
    186195         
     
    195204        CHorSplitterWindow m_Split; 
    196205    CMultiPaneStatusBarCtrl m_StatusBar; 
    197         CTrayNotifyIcon m_trayIcon; 
     206        CTrayNotifyIcon trayIcon_; 
    198207 
    199208        HaliteListViewCtrl haliteList; 
     
    212221        bool use_tray; 
    213222        bool advancedUI; 
     223        bool closeToTray; 
     224        bool confirmClose; 
    214225        int activeTab; 
    215226}; 
    216227 
    217 BOOST_CLASS_VERSION(HaliteWindow, 0) 
     228BOOST_CLASS_VERSION(HaliteWindow, 1) 
     229 
     230#endif // RC_INVOKED 
Note: See TracChangeset for help on using the changeset viewer.