Changeset 762


Ignore:
Timestamp:
05/21/09 21:24:43 (10 years ago)
Author:
Eoin
Message:

Created the time picker dialog. Have only implemented pausing and exit action so far.

Location:
trunk
Files:
1 added
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/res/Halite.rc

    r757 r762  
    2424#include "HaliteListView.hpp" 
    2525#include "HaliteDialog.hpp" 
     26#include "TimePickerDlg.hpp" 
    2627#include "AddTorrentDialog.hpp" 
    2728#include "SplashDialog.hpp" 
     
    6667#define ID_ADD_TORRENT_BEGIN            11000 
    6768#define ID_CONFIG_BEGIN                         12000 
     69#define ID_WINDOW_BEGIN                         13000 
     70#define ID_WINDOW_BEGIN                         13000 
     71#define ID_TIME_DLG_BEGIN                       13900 
    6872#define ID_NEWTORRENT_BEGIN                     14000 
    6973#define HAL_NEWT_ADD_PEERS                      14500 
     
    429433    LTEXT           "",HAL_EDITABOUT,8,15,265,125,WS_TABSTOP 
    430434    CONTROL         "",HAL_RICHEDITABOUT,"RichEdit20A",WS_CHILD|WS_BORDER|ES_MULTILINE|ES_READONLY|WS_VSCROLL|WS_TABSTOP,5,6,315,136 
     435END 
     436 
     437HAL_TIME_DLG DIALOGEX 0, 0, 260, 155 
     438STYLE DS_SETFONT | DS_FIXEDSYS | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME 
     439EXSTYLE WS_EX_TOOLWINDOW 
     440CAPTION "Select Timed Action" 
     441FONT 8, "MS Shell Dlg", 400, 0, 0x1 
     442BEGIN 
     443//    GROUPBOX        "Program Information",HAL_ABOUT_GROUP,5,6,315,136,WS_EX_TRANSPARENT 
     444        RTEXT                   "Select action to take :", HAL_TIME_EDITABOUT,8,15,265,14,SS_WORDELLIPSIS|SS_CENTERIMAGE         
     445        COMBOBOX                HAL_TIME_ACTIONS, 166,15,70,14,CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP 
     446//      CONTROL "",HAL_TIME_PICKER,"SysDateTimePick32",WS_CHILD|WS_BORDER|ES_MULTILINE|ES_READONLY|WS_VSCROLL|WS_TABSTOP|DTS_UPDOWN|DTS_TIMEFORMAT,5,6,40,12 
     447//      CONTROL "",HAL_TIME_DATE_PICKER,"SysDateTimePick32",WS_CHILD|WS_BORDER|ES_MULTILINE|ES_READONLY|WS_VSCROLL|WS_TABSTOP,5,6,40,12 
     448//      CONTROL "",,"RichEdit20A",WS_CHILD|WS_BORDER|ES_MULTILINE|ES_READONLY|WS_VSCROLL|WS_TABSTOP,5,6,315,136 
     449        RTEXT                   "Set time :", HAL_TIME_SETTEXT,8,15,265,14,SS_WORDELLIPSIS|SS_CENTERIMAGE        
     450        CONTROL         "", HAL_TIME_PICKER,"SysDateTimePick32", DTS_UPDOWN | WS_TABSTOP | DTS_TIMEFORMAT,116,77,64,14 
     451        CONTROL         "", HAL_TIME_DATE_PICKER,"SysDateTimePick32", DTS_LONGDATEFORMAT | WS_TABSTOP,116,77,64,14 
     452        LTEXT                   "", HAL_TIME_TIMEOUT_DISPLAY,8,15,265,14,SS_WORDELLIPSIS|SS_CENTERIMAGE 
     453        PUSHBUTTON              "OK",IDOK,98,50,50,14,BS_DEFPUSHBUTTON 
     454        PUSHBUTTON              "Cancel",IDCANCEL,152,50,50,14 
    431455END 
    432456 
     
    781805    HAL_REMAINING                                       "%1$.2fMB of %2$.2fMB" 
    782806    HAL_RATE                                            "%1$.2fKB/s down - %2$.2fKB/s up" 
     807    HAL_TIME_TIME_REMAINING                             "Time remaining: %1% hour(s), %2% minute(s) and %3% second(s)" 
     808    HAL_TIME_ACTION_PAUSEALL                            "Pause all torrents" 
     809    HAL_TIME_ACTION_EXIT                                "Exit Halite" 
     810    HAL_TIME_ACTION_LOGOFF                              "Log off Windows" 
     811    HAL_TIME_ACTION_SHUTDOWN                    "Shutdown Windows" 
    783812    HAL_DHT_ON                                          "%1% DHT node(s)" 
    784813    HAL_CSPLASH_ACT_MSG                         "%1% active torrent(s)" 
  • trunk/sln/Halite/Halite.vcproj

    r756 r762  
    16711671                        </File> 
    16721672                        <File 
     1673                                RelativePath="..\..\src\TimePickerDlg.hpp" 
     1674                                > 
     1675                        </File> 
     1676                        <File 
    16731677                                RelativePath="..\..\src\UxthemeWrapper.hpp" 
    16741678                                > 
  • trunk/src/HaliteDialog.hpp

    r726 r762  
    162162 
    163163        BEGIN_DDX_MAP(thisClass) 
    164     END_DDX_MAP() 
     164        END_DDX_MAP() 
    165165 
    166166        static CWindowMapStruct* GetWindowMap(); 
  • trunk/src/HaliteWindow.cpp

    r760 r762  
    1717#include "NewTorrentDialog.hpp" 
    1818#include "SplashDialog.hpp" 
     19#include "TimePickerDlg.hpp" 
    1920 
    2021#include "ConfigOptions.hpp" 
     
    591592} 
    592593 
    593  
    594  
    595594LRESULT HaliteWindow::OnUnconditionalShutdown(UINT /*uMsg*/, WPARAM wParam, LPARAM lParam) 
    596595{ 
     
    621620        menu.TrackPopupMenu(0, ptPoint.x, ptPoint.y, m_hWnd);*/ 
    622621 
    623         hal::bittorrent::Instance().schedual_callback( 
    624                 boost::posix_time::hours(5), bind(&HaliteWindow::exitCallback, this)); 
     622//      typedef ATL::CWinTraits<WS_VISIBLE | WS_POPUP | WS_CAPTION | WS_SYSMENU | DS_CENTER, WS_EX_DLGMODALFRAME> ; 
     623        typedef ATL::CWinTraits<WS_CHILD | WS_VISIBLE | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | DTS_UPDOWN | DTS_TIMEFORMAT , 0>                                    CDateTimePickerCtrlTraits; 
     624        typedef WTL::CControlDialog<1598426, WTL::CDateTimePickerCtrl, CDateTimePickerCtrlTraits> CDateDialog; 
     625 
     626        boost::posix_time::time_duration time; 
     627        unsigned action; 
     628 
     629        TimePickerDlg dd(time, action); 
     630        dd.DoModal(); 
     631 
     632        if (!time.is_not_a_date_time()) 
     633        { 
     634                 
     635                hal::event_log().post(shared_ptr<hal::EventDetail>( 
     636                        new hal::EventMsg(hal::wform(L"OnAutoShutdown %1% %2%") % hal::from_utf8(to_simple_string(time)) % action))); 
     637 
     638                switch(action) 
     639                { 
     640                case TimePickerDlg::action_pause: 
     641                        hal::bittorrent::Instance().schedual_action(time, hal::bit::action_pause); 
     642                        break; 
     643                case TimePickerDlg::action_exit: 
     644                        hal::bittorrent::Instance().schedual_callback( 
     645                                time, bind(&HaliteWindow::exitCallback, this)); 
     646                        break; 
     647                case TimePickerDlg::action_logoff: 
     648                        break; 
     649                case TimePickerDlg::action_shutdown: 
     650                        break; 
     651                default: 
     652                        break; 
     653                } 
     654        } 
     655        else 
     656        {                
     657                hal::event_log().post(shared_ptr<hal::EventDetail>( 
     658                        new hal::EventMsg(L"Not a date_time"))); 
     659        } 
     660 
     661//      hal::bittorrent::Instance().schedual_callback( 
     662//              boost::posix_time::hours(5), bind(&HaliteWindow::exitCallback, this)); 
    625663 
    626664        return 0; 
  • trunk/src/HaliteWindow.hpp

    r760 r762  
    1313#define HAL_WINDOW_CLOSECONFRIM         ID_WINDOW_BEGIN + 10 
    1414#define HAL_WINDOW_SOCKETS_FAILED       ID_WINDOW_BEGIN + 11 
    15 #define HAL_WINDOW_AUTOSHUTDOWN         ID_WINDOW_BEGIN + 3 
     15#define HAL_WINDOW_AUTOSHUTDOWN         ID_WINDOW_BEGIN + 13 
    1616#define HAL_WINDOW_EXIT                 ID_WINDOW_BEGIN + 4 
    17 #define HAL_SHUTDOWN_OPENHALITE ID_WINDOW_BEGIN + 6 
     17#define HAL_SHUTDOWN_OPENHALITE         ID_WINDOW_BEGIN + 6 
    1818#define HAL_SHUTDOWN_PAUSEALL           ID_WINDOW_BEGIN + 7 
    19 #define HAL_SHUTDOWN_RESUMEALL                  ID_WINDOW_BEGIN + 8 
     19#define HAL_SHUTDOWN_RESUMEALL          ID_WINDOW_BEGIN + 8 
    2020#define HAL_SHUTDOWN_EXIT                       ID_WINDOW_BEGIN + 9 
    21 #define HAL_DATETIME_DEFFLD_TEXT                        ID_WINDOW_BEGIN + 12 
     21#define HAL_DATETIME_DEFFLD_TEXT                ID_WINDOW_BEGIN + 12 
    2222 
    2323 
  • trunk/src/NewTorrentDialog.hpp

    r710 r762  
    115115        enum { IDD = HAL_NEWTORRENT }; 
    116116 
    117     BEGIN_MSG_MAP_EX(thisClass) 
     117        BEGIN_MSG_MAP_EX(thisClass) 
    118118                MSG_WM_INITDIALOG(onInitDialog) 
    119119                MSG_WM_DESTROY(OnDestroy) 
     
    124124                CHAIN_MSG_MAP(sheetClass) 
    125125                REFLECT_NOTIFICATIONS() 
    126     END_MSG_MAP() 
    127          
    128     BEGIN_DDX_MAP(thisClass) 
     126        END_MSG_MAP() 
     127 
     128        BEGIN_DDX_MAP(thisClass) 
    129129                DDX_EX_STDWSTRING(HAL_NEWTORRENT_CREATOR, creator_); 
    130130                DDX_EX_STDWSTRING(HAL_NEWTORRENT_COMMENT, comment_); 
    131131                DDX_EX_STDWSTRING(HAL_NEWT_FILE, outFile_); 
    132132                DDX_INT(HAL_NEWT_PIECESIZE, pieceSize_); 
    133         DDX_CHECK(HAL_NEWTORRENT_PRIVATE, private_) 
    134     END_DDX_MAP() 
     133                DDX_CHECK(HAL_NEWTORRENT_PRIVATE, private_) 
     134        END_DDX_MAP() 
    135135 
    136136        static CWindowMapStruct* GetWindowMap(); 
     
    174174        enum { IDD = HAL_NEWT_FILES }; 
    175175 
    176     BEGIN_MSG_MAP_EX(thisClass) 
     176        BEGIN_MSG_MAP_EX(thisClass) 
    177177                MSG_WM_INITDIALOG(onInitDialog) 
    178178                MSG_WM_DESTROY(OnDestroy) 
     
    184184                CHAIN_MSG_MAP(sheetClass) 
    185185                REFLECT_NOTIFICATIONS() 
    186     END_MSG_MAP() 
     186        END_MSG_MAP() 
    187187         
    188188        LRESULT onInitDialog(HWND, LPARAM) 
     
    229229        enum { IDD = HAL_NEWT_TRACKERS }; 
    230230 
    231     BEGIN_MSG_MAP_EX(thisClass) 
     231        BEGIN_MSG_MAP_EX(thisClass) 
    232232                MSG_WM_INITDIALOG(onInitDialog) 
    233233                MSG_WM_DESTROY(OnDestroy) 
     
    236236                CHAIN_MSG_MAP(sheetClass) 
    237237                REFLECT_NOTIFICATIONS() 
    238     END_MSG_MAP() 
     238        END_MSG_MAP() 
    239239 
    240240        static CWindowMapStruct* GetWindowMap(); 
     
    272272        enum { IDD = HAL_NEWT_PEERS }; 
    273273 
    274     BEGIN_MSG_MAP_EX(thisClass) 
     274        BEGIN_MSG_MAP_EX(thisClass) 
    275275                MSG_WM_INITDIALOG(onInitDialog) 
    276276                MSG_WM_DESTROY(OnDestroy) 
     
    279279                CHAIN_MSG_MAP(sheetClass) 
    280280                REFLECT_NOTIFICATIONS() 
    281     END_MSG_MAP() 
     281        END_MSG_MAP() 
    282282 
    283283        static CWindowMapStruct* GetWindowMap(); 
     
    321321                rect_(0,0,0,0), 
    322322                fileSheet_(bind(&NewTorrentDialog::EnableSave, this, _1)) 
    323     { 
     323        { 
    324324                load_from_ini(); 
    325325 
     
    330330        } 
    331331 
    332     BEGIN_MSG_MAP_EX(thisClass) 
    333         MSG_WM_SHOWWINDOW(OnShowWindow) 
     332        BEGIN_MSG_MAP_EX(thisClass) 
     333                MSG_WM_SHOWWINDOW(OnShowWindow) 
    334334                MSG_WM_SIZE(OnSize) 
    335335                MSG_WM_CLOSE(OnClose)    
    336336                MSG_WM_DESTROY(OnDestroy) 
    337                  
     337 
    338338                COMMAND_ID_HANDLER(0x1, OnSave) 
    339339 
    340340                CHAIN_MSG_MAP(resizeClass) 
    341         CHAIN_MSG_MAP(CPropertySheet) 
    342     END_MSG_MAP() 
    343  
    344     BEGIN_DLGRESIZE_MAP(thisClass) 
     341                CHAIN_MSG_MAP(CPropertySheet) 
     342        END_MSG_MAP() 
     343 
     344        BEGIN_DLGRESIZE_MAP(thisClass) 
    345345                DLGRESIZE_CONTROL(0x3020, DLSZ_SIZE_X|DLSZ_SIZE_Y) 
    346346 
     
    350350        END_DLGRESIZE_MAP() 
    351351 
    352     void OnShowWindow(BOOL bShow, UINT nStatus); 
     352        void OnShowWindow(BOOL bShow, UINT nStatus); 
    353353 
    354354        void OnSize(UINT, WTL::CSize) 
    355355        { 
    356         SetMsgHandled(false); 
     356                SetMsgHandled(false); 
    357357 
    358358                resizeActiveSheet(); 
     
    382382 
    383383        friend class boost::serialization::access; 
    384     template<class Archive> 
    385     void serialize(Archive& ar, const unsigned int version) 
     384        template<class Archive> 
     385        void serialize(Archive& ar, const unsigned int version) 
    386386        { 
    387387                ar & BOOST_SERIALIZATION_NVP(rect_); 
     
    394394        void resizeActiveSheet() 
    395395        { 
    396         HWND propTabs = GetDlgItem(0x3020); 
     396                HWND propTabs = GetDlgItem(0x3020); 
    397397 
    398398                RECT rect; 
     
    403403 
    404404                ::MoveWindow(GetActivePage(), rect.left, rect.top, 
    405             rect.right-rect.left, rect.bottom-rect.top, true); 
     405                rect.right-rect.left, rect.bottom-rect.top, true); 
    406406        } 
    407407 
  • trunk/src/NewTorrentPeers.hpp

    r710 r762  
    5656        {} 
    5757 
    58     BEGIN_MSG_MAP_EX(thisClass) 
     58        BEGIN_MSG_MAP_EX(thisClass) 
    5959                MSG_WM_INITDIALOG(onInitDialog) 
    6060                COMMAND_HANDLER_EX(HAL_NEWT_ADD_PEERS_TYP_CBOX, CBN_SELCHANGE, OnTypeChanged) 
     
    6262                CHAIN_MSG_MAP(resizeClass) 
    6363                CHAIN_MSG_MAP(genericBaseClass) 
    64     END_MSG_MAP() 
     64        END_MSG_MAP() 
    6565 
    66     BEGIN_DDX_MAP(thisClass) 
     66        BEGIN_DDX_MAP(thisClass) 
    6767                DDX_EX_STDWSTRING(HAL_NEWT_ADD_PEERS_URL_EDIT, peer_.url); 
    68         DDX_INT(HAL_NEWT_ADD_DHT_PORT, peer_.port) 
    69         DDX_EX_STDWSTRING(HAL_NEWT_ADD_PEERS_TYP_CBOX, peer_.type) 
    70     END_DDX_MAP()        
     68                DDX_INT(HAL_NEWT_ADD_DHT_PORT, peer_.port) 
     69                DDX_EX_STDWSTRING(HAL_NEWT_ADD_PEERS_TYP_CBOX, peer_.type) 
     70        END_DDX_MAP()    
    7171 
    7272        BEGIN_DLGRESIZE_MAP(thisClass) 
     
    162162        void saveSettings(); 
    163163 
    164     friend class boost::serialization::access; 
    165     template<class Archive> 
    166     void serialize(Archive& ar, const unsigned int version) 
    167     { 
     164        friend class boost::serialization::access; 
     165        template<class Archive> 
     166        void serialize(Archive& ar, const unsigned int version) 
     167        { 
    168168                ar & boost::serialization::make_nvp("listview", boost::serialization::base_object<listClass>(*this)); 
    169     } 
     169        } 
    170170 
    171171        void newItem(); 
  • trunk/src/NewTorrentTracker.hpp

    r710 r762  
    1212#define ID_NTTLVM_DELETE                        ID_NTTLVM_BEGIN + 3 
    1313#define HAL_NEWT_EDIT_TRACKER           ID_NTTLVM_BEGIN + 4 
    14 #define HAL_NEWT_ADD_NEW_TRACKER        ID_NTTLVM_BEGIN + 5 
     14#define HAL_NEWT_ADD_NEW_TRACKER                ID_NTTLVM_BEGIN + 5 
    1515 
    1616#define HAL_TRACKER_ADD_BEGIN           15500 
    17 #define IDC_TRACKER_EDIT_URL        HAL_TRACKER_ADD_BEGIN + 1 
    18 #define IDC_TRACKER_EDIT_TIER       HAL_TRACKER_ADD_BEGIN + 2 
    19 #define IDC_TRACKER_TEXT_URL        HAL_TRACKER_ADD_BEGIN + 3 
    20 #define IDC_TRACKER_TEXT_TIER       HAL_TRACKER_ADD_BEGIN + 4 
     17#define IDC_TRACKER_EDIT_URL                    HAL_TRACKER_ADD_BEGIN + 1 
     18#define IDC_TRACKER_EDIT_TIER           HAL_TRACKER_ADD_BEGIN + 2 
     19#define IDC_TRACKER_TEXT_URL                    HAL_TRACKER_ADD_BEGIN + 3 
     20#define IDC_TRACKER_TEXT_TIER           HAL_TRACKER_ADD_BEGIN + 4 
    2121 
    2222#ifndef RC_INVOKED 
     
    5050        {} 
    5151 
    52     BEGIN_MSG_MAP_EX(TrackerAddDialog) 
     52        BEGIN_MSG_MAP_EX(TrackerAddDialog) 
    5353                CHAIN_MSG_MAP(resizeClass) 
    5454                CHAIN_MSG_MAP(genericBaseClass) 
    55     END_MSG_MAP() 
     55        END_MSG_MAP() 
    5656 
    57     BEGIN_DDX_MAP(TrackerAddDialog) 
     57        BEGIN_DDX_MAP(TrackerAddDialog) 
    5858                DDX_EX_STDWSTRING(IDC_TRACKER_EDIT_URL, tracker_.url); 
    59         DDX_INT(IDC_TRACKER_EDIT_TIER, tracker_.tier) 
    60     END_DDX_MAP()        
     59                DDX_INT(IDC_TRACKER_EDIT_TIER, tracker_.tier) 
     60        END_DDX_MAP()    
    6161 
    6262        BEGIN_DLGRESIZE_MAP(thisClass) 
     
    7777        public CHaliteSortListViewCtrl<NewTorrent_TrackerListViewCtrl>, 
    7878        public hal::IniBase<NewTorrent_TrackerListViewCtrl>, 
    79         public WTLx::GenericAddListView<NewTorrent_TrackerListViewCtrl, true, ID_NTTLVM_NEW, ID_NTTLVM_EDIT, ID_NTTLVM_DELETE>, 
     79        public WTLx::GenericAddListView<NewTorrent_TrackerListViewCtrl, true>, 
    8080        private boost::noncopyable 
    8181{ 
     
    8383        typedef hal::IniBase<thisClass> iniClass; 
    8484        typedef CHaliteSortListViewCtrl<thisClass> listClass; 
    85         typedef WTLx::GenericAddListView<thisClass, true, ID_NTTLVM_NEW, ID_NTTLVM_EDIT, ID_NTTLVM_DELETE> genericAddlistClass; 
     85        typedef WTLx::GenericAddListView<thisClass, true> genericAddlistClass; 
    8686 
    8787        friend class listClass; 
     
    109109        void saveSettings(); 
    110110 
    111     friend class boost::serialization::access; 
    112     template<class Archive> 
    113     void serialize(Archive& ar, const unsigned int version) 
    114     { 
     111        friend class boost::serialization::access; 
     112        template<class Archive> 
     113        void serialize(Archive& ar, const unsigned int version) 
     114        { 
    115115                ar & boost::serialization::make_nvp("listview", boost::serialization::base_object<listClass>(*this)); 
    116     } 
     116        } 
    117117 
    118118        void newItem(); 
     
    128128 
    129129#endif 
    130  
  • trunk/src/advtabs/Torrent.cpp

    r745 r762  
    224224                                (hal::from_utf8(boost::posix_time::to_simple_string(torrent->update_tracker_in())).c_str())); 
    225225                } 
    226                 else SetDlgItemText(HAL_UPDATE, hal::app().res_wstr(HAL_NA).c_str());            
     226                else SetDlgItemText(HAL_UPDATE, hal::app().res_wstr(HAL_NA).c_str());            
    227227        } 
    228228} 
  • trunk/src/stdAfx.hpp

    r744 r762  
    121121 
    122122#include <boost/date_time/posix_time/time_serialize.hpp> 
     123#include <boost/date_time/gregorian/gregorian_types.hpp> 
     124#include <boost/date_time/posix_time/posix_time_types.hpp> 
Note: See TracChangeset for help on using the changeset viewer.