Changeset 383


Ignore:
Timestamp:
02/16/08 14:03:15 (12 years ago)
Author:
Eoin
Message:

Mockup of New Torrent Dialog.

Location:
trunk
Files:
11 edited

Legend:

Unmodified
Added
Removed
  • trunk/res/Halite.rc

    r381 r383  
    231231END 
    232232 
     233IDD_NEWTORRENT DIALOGEX 0,0,229,132 
     234STYLE WS_THICKFRAME | DS_SETFONT | DS_FIXEDSYS | WS_BORDER | WS_CAPTION | WS_POPUP 
     235EXSTYLE WS_EX_WINDOWEDGE | WS_EX_TOPMOST 
     236CAPTION "Create new torrent" 
     237FONT 8,"MS Shell Dlg",400,0,1 
     238BEGIN 
     239    PUSHBUTTON      "Save",IDOK,130,114,45,14,BS_DEFPUSHBUTTON 
     240    PUSHBUTTON      "Cancel",IDCANCEL,180,114,45,14 
     241    LTEXT           "Select a file or directory to construct the torrent.",IDC_NEWTORRENT_SELECT_TEXT,4,4,221,11 
     242    EDITTEXT        IDC_NEWT_FILE,4,15,203,12,ES_AUTOHSCROLL 
     243    PUSHBUTTON      "...",IDC_NEWT_BROWSE,212,14,13,13 
     244    LISTBOX         IDC_NEWT_LISTTRACKERS,4,57,221,52,WS_TABSTOP|WS_VSCROLL|LBS_NOINTEGRALHEIGHT|LBS_SORT 
     245    LTEXT           "Enter the tracker URLs for the torrent.",IDC_NEWTORRENT_TRACKERS_TEXT,4,32,221,11 
     246    EDITTEXT        IDC_NEWT_TRACKER,4,42,193,12,ES_AUTOHSCROLL 
     247//    AUTOCHECKBOX    "Have Halite acts a DHT node.",IDC_NEWT_DHTNODE,4,116,118,8,WS_DISABLED 
     248    AUTOCHECKBOX    "Private",IDC_NEWTORRENT_PRIVATE,4,116,118,8 
     249    PUSHBUTTON      "Add",IDC_NEWT_ADDTRACKER,202,41,23,13 
     250    LTEXT           "Comment.",IDC_NEWTORRENT_COMMENT_TEXT,4,4,221,11 
     251    EDITTEXT        IDC_NEWTORRENT_COMMENT,4,15,203,12,ES_AUTOHSCROLL 
     252    LTEXT           "Creator",IDC_NEWTORRENT_CREATOR_TEXT,4,4,221,11 
     253    EDITTEXT        IDC_NEWTORRENT_CREATOR,4,15,203,12,ES_AUTOHSCROLL 
     254END 
     255 
    233256IDD_CLOSESPLASH DIALOGEX 0,0,191,54 
    234257STYLE DS_MODALFRAME | DS_SETFONT | DS_FIXEDSYS | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP 
     
    240263    LTEXT           "It will take the BitTorrent session a moment to shutdown cleanly after which this message will disappear and the program will close.",IDC_STATIC,35,7,149,27 
    241264    AUTOCHECKBOX    "Show this message in future",IDC_SPLASH_MSG,83,35,101,12 
    242 END 
    243  
    244 IDD_NEWTORRENT DIALOGEX 0,0,229,132 
    245 STYLE DS_MODALFRAME | DS_SETFONT | DS_FIXEDSYS | WS_BORDER | WS_CAPTION | WS_DLGFRAME | WS_POPUP | WS_SYSMENU 
    246 CAPTION "Create new torrent" 
    247 FONT 8,"MS Shell Dlg",400,0,1 
    248 BEGIN 
    249     PUSHBUTTON      "Save",IDOK,130,114,45,14,BS_DEFPUSHBUTTON 
    250     PUSHBUTTON      "Cancel",IDCANCEL,180,114,45,14 
    251     LTEXT           "Select a file or directory to construct the torrent.",IDC_STATIC,4,4,221,11 
    252     EDITTEXT        IDC_NEWT_FILE,4,15,203,12,ES_AUTOHSCROLL 
    253     PUSHBUTTON      "...",IDC_NEWT_BROWSE,212,14,13,13 
    254     LISTBOX         IDC_NEWT_LISTTRACKERS,4,57,221,52,WS_TABSTOP|WS_VSCROLL|LBS_NOINTEGRALHEIGHT|LBS_SORT 
    255     LTEXT           "Enter the tracker URLs for the torrent.",IDC_STATIC,4,32,221,11 
    256     EDITTEXT        IDC_NEWT_TRACKER,4,42,193,12,ES_AUTOHSCROLL 
    257     AUTOCHECKBOX    "Have Halite acts a DHT node.",IDC_NEWT_DHTNODE,4,116,118,8,WS_DISABLED 
    258     PUSHBUTTON      "Add",IDC_NEWT_ADDTRACKER,202,41,23,13 
    259265END 
    260266 
     
    616622        HAL_LISTEN_SUCCEEDED_ALERT              "Successfully %1%." 
    617623        HAL_LISTEN_FAILED_ALERT                 "Failed, %1%" 
     624        HAL_LISTEN_V6_FAILED_ALERT              "IP version 6 listen atempt failed. Not serious." 
    618625        HAL_IPFILTER_ALERT                              "IP Filter blocked %1%, %2%." 
    619626 
  • trunk/res/resource.h

    r379 r383  
    3232#define IDD_TRACKEDIT                   130 
    3333#define IDD_ADVPEER                     131 
     34#define IDD_NEWTORRENT                                  133 
    3435#define IDR_TRACKERLV_MENU              132 
    3536#define IDC_TRANS_SES                   1004 
  • trunk/src/AdvHaliteDialog.cpp

    r365 r383  
    7272void AdvHaliteDialog::onClose() 
    7373{ 
     74        hal::event().post(shared_ptr<hal::EventDetail>( 
     75                new hal::EventMsg(L"Closing Tabs!")));           
     76 
     77        ::CloseWindow(m_torrent); 
     78        ::CloseWindow(m_peers); 
     79        ::CloseWindow(m_files); 
     80        ::CloseWindow(m_tracker); 
     81        ::CloseWindow(m_debug); 
     82 
    7483        if(::IsWindow(m_hWnd))  
    7584        { 
  • trunk/src/HaliteWindow.hpp

    r377 r383  
    2828class HaliteDialog; 
    2929class AdvHaliteDialog; 
    30  
    31 template<class Archive> 
    32 void serialize(Archive& ar, CRect& rect, const unsigned int version) 
    33 { 
    34         ar & BOOST_SERIALIZATION_NVP(rect.top); 
    35         ar & BOOST_SERIALIZATION_NVP(rect.bottom); 
    36         ar & BOOST_SERIALIZATION_NVP(rect.left); 
    37         ar & BOOST_SERIALIZATION_NVP(rect.right); 
    38 } 
    3930 
    4031class ui_signal : noncopyable 
  • trunk/src/NewTorrentDialog.cpp

    r381 r383  
    66 
    77#include "stdAfx.hpp" 
     8#include "../res/resource.h" 
    89#include "NewTorrentDialog.hpp" 
    910 
    10 LRESULT NewTorrentDialog::OnInitDialog(...) 
     11LRESULT NewTorrentDialog::onInitDialog(HWND, LPARAM) 
    1112{ 
    12         CenterWindow(); 
     13        hal::event().post(shared_ptr<hal::EventDetail>( 
     14                        new hal::EventMsg(L"NewTorrentDialog::onInitDialog(HWND, LPARAM)")));    
     15         
     16        MoveWindow(rect_.left, rect_.top, rect_.right-rect_.left, rect_.bottom-rect_.top, true);         
     17 
    1318/*      SetWindowText(windowText_.c_str()); 
    1419        prog_.Attach(GetDlgItem(IDC_PROG_PROGRESS)); 
     
    1722        thread_ptr.reset(new thread(bind(&ProgressDialog::ProgressThread, this))); 
    1823*/               
    19         return TRUE; 
     24        return 0; 
    2025} 
    2126 
    2227void NewTorrentDialog::onCancel(UINT, int, HWND hWnd) 
    2328{ 
    24 //      stop_ = true; 
     29        EndDialog(0); 
    2530} 
     31 
     32#define NEWTORRENT_SELECT_LAYOUT \ 
     33        WMB_HEAD(WMB_COLNOMIN(_exp|150), WMB_COL(14)), \ 
     34                WMB_ROW(_auto,  IDC_NEWTORRENT_SELECT_TEXT,  _r), \ 
     35                WMB_ROW(_auto,  IDC_NEWT_FILE, IDC_NEWT_BROWSE), \ 
     36        WMB_END() 
     37 
     38#define NEWTORRENT_TRACKERS_LAYOUT \ 
     39        WMB_HEAD(WMB_COLNOMIN(_exp), WMB_COL(_auto)), \ 
     40                WMB_ROW(_auto,  IDC_NEWTORRENT_TRACKERS_TEXT,  _r), \ 
     41                WMB_ROW(_auto,  IDC_NEWT_TRACKER, IDC_NEWT_ADDTRACKER), \ 
     42                WMB_ROW(_exp,   IDC_NEWT_LISTTRACKERS,  _r), \ 
     43        WMB_END() 
     44 
     45#define NEWTORRENT_BUTTONS_LAYOUT \ 
     46        WMB_HEAD(WMB_COLNOMIN(_exp), WMB_COL(_auto), WMB_COL(_auto)), \ 
     47                WMB_ROW(_auto,  IDC_NEWTORRENT_PRIVATE,  IDOK, IDCANCEL), \ 
     48        WMB_END() 
    2649 
    2750NewTorrentDialog::CWindowMapStruct* NewTorrentDialog::GetWindowMap() 
    2851{ 
    29         BEGIN_WINDOW_MAP_INLINE(NewTorrentDialog, 6, 6, 3, 3) 
    30                 WMB_HEAD(WMB_COL(_gap), WMB_COL(_exp), WMB_COL(120), WMB_COL(_gap)),  
     52        BEGIN_WINDOW_MAP_INLINE(NewTorrentDialog, 3, 3, 3, 3) 
     53                WMB_HEAD(WMB_COL(_exp)),  
     54                WMB_ROW(_auto, NEWTORRENT_SELECT_LAYOUT), 
     55                WMB_ROW(_exp, NEWTORRENT_TRACKERS_LAYOUT), 
     56                WMB_ROW(_auto, IDC_NEWTORRENT_CREATOR_TEXT), 
     57                WMB_ROW(_auto, IDC_NEWTORRENT_CREATOR), 
     58                WMB_ROW(_auto, IDC_NEWTORRENT_COMMENT_TEXT), 
     59                WMB_ROW(_auto, IDC_NEWTORRENT_COMMENT), 
     60                WMB_ROW(_auto, NEWTORRENT_BUTTONS_LAYOUT), 
    3161                WMB_END()  
    32         END_WINDOW_MAP_INLINE() } 
     62        END_WINDOW_MAP_INLINE()  
     63} 
    3364 
    3465void NewTorrentDialog::OnClose() 
    3566{ 
    36         if(::IsWindow(m_hWnd))  
    37         { 
    38                 ::DestroyWindow(m_hWnd); 
    39         } 
     67        EndDialog(0); 
    4068} 
     69  
     70void NewTorrentDialog::OnDestroy() 
     71{ 
     72        GetWindowRect(rect_); 
     73        Save(); 
     74} 
     75 
     76void NewTorrentDialog::OnSize(UINT type, CSize) 
     77{ 
     78        GetWindowRect(rect_); 
     79         
     80        SetMsgHandled(false); 
     81}        
     82 
  • trunk/src/NewTorrentDialog.hpp

    r380 r383  
    88 
    99#define IDD_NEWTORRENT_BEGIN                    1950 
    10 #define IDD_NEWTORRENT                  IDD_NEWTORRENT_BEGIN+1 
     10#define IDC_NEWTORRENT_SELECT_TEXT              IDD_NEWTORRENT_BEGIN+1 
     11#define IDC_NEWTORRENT_TRACKERS_TEXT    IDD_NEWTORRENT_BEGIN+2 
     12#define IDC_NEWTORRENT_CREATOR_TEXT             IDD_NEWTORRENT_BEGIN+3 
     13#define IDC_NEWTORRENT_CREATOR                  IDD_NEWTORRENT_BEGIN+4 
     14#define IDC_NEWTORRENT_COMMENT_TEXT             IDD_NEWTORRENT_BEGIN+5 
     15#define IDC_NEWTORRENT_COMMENT                  IDD_NEWTORRENT_BEGIN+6 
     16#define IDC_NEWTORRENT_PRIVATE                  IDD_NEWTORRENT_BEGIN+7 
    1117//#define IDC_PROG_CANCEL                 IDD_NEWTORRENT_BEGIN + 2 
    1218//#define IDC_PROG_PROGRESS               IDD_NEWTORRENT_BEGIN + 3 
     
    1622#include <boost/function.hpp> 
    1723#include "halTorrent.hpp" 
     24#include "halIni.hpp" 
     25#include "halEvent.hpp" 
    1826 
    1927class NewTorrentDialog : 
    20         public CDialogImpl<NewTorrentDialog>, 
     28        public CDialogImpl<NewTorrentDialog>,    
     29        public hal::IniBase<NewTorrentDialog>, 
    2130        public CAutoSizeWindow<NewTorrentDialog, false> 
    2231{ 
     
    2433        typedef NewTorrentDialog thisClass; 
    2534        typedef CDialogImpl<thisClass> baseClass; 
     35        typedef hal::IniBase<NewTorrentDialog> iniClass; 
     36        typedef CAutoSizeWindow<thisClass, false> autosizeClass; 
    2637 
    2738public: 
    28         thisClass() 
     39        NewTorrentDialog() : 
     40                iniClass("NewTorrents", "Dialog"), 
     41                rect_(50,50,400,500) 
     42        {                
     43                Load(); 
     44        } 
     45 
     46        ~NewTorrentDialog() 
    2947        {} 
    3048         
     
    3250 
    3351    BEGIN_MSG_MAP_EX(thisClass) 
    34         MESSAGE_HANDLER(WM_INITDIALOG, OnInitDialog) 
     52                MSG_WM_INITDIALOG(onInitDialog) 
    3553                MSG_WM_CLOSE(OnClose) 
    36 //              COMMAND_ID_HANDLER_EX(IDC_PROG_CANCEL, onCancel) 
     54                MSG_WM_SIZE(OnSize) 
     55                MSG_WM_DESTROY(OnDestroy) 
     56 
     57                COMMAND_ID_HANDLER_EX(IDCANCEL, onCancel) 
     58                COMMAND_ID_HANDLER_EX(IDOK, onCancel) 
     59 
     60                CHAIN_MSG_MAP(autosizeClass) 
     61                REFLECT_NOTIFICATIONS() 
    3762    END_MSG_MAP() 
    38          
    39         LRESULT OnInitDialog(...); 
     63 
     64        friend class boost::serialization::access; 
     65    template<class Archive> 
     66    void serialize(Archive& ar, const unsigned int version) 
     67        { 
     68                ar & BOOST_SERIALIZATION_NVP(rect_); 
     69        } 
     70 
     71        LRESULT onInitDialog(HWND, LPARAM); 
    4072        static CWindowMapStruct* GetWindowMap(); 
    4173 
     
    6193        void onCancel(UINT, int, HWND hWnd); 
    6294        void OnClose(); 
     95        void OnSize(UINT, CSize); 
     96        void OnDestroy(); 
    6397         
    6498private: 
    65  
     99        CRect rect_; 
    66100}; 
    67101 
  • trunk/src/advtabs/Files.cpp

    r372 r383  
    334334void AdvFilesDialog::onClose() 
    335335{         
     336        if(::IsWindow(m_hWnd))  
     337        { 
     338                ::DestroyWindow(m_hWnd); 
     339        } 
     340} 
     341 
     342void AdvFilesDialog::OnDestroy() 
     343{                
    336344        Save();  
    337  
    338         if(::IsWindow(m_hWnd))  
    339         { 
    340                 ::DestroyWindow(m_hWnd); 
    341         } 
    342 } 
     345} 
  • trunk/src/advtabs/Files.hpp

    r357 r383  
    395395                dialogBaseClass(halWindow), 
    396396                treeManager_(tree_), 
    397                 iniClass("AdvFiles", "AdvFiles"), 
     397                iniClass("AdvFilesDlg", "settings"), 
    398398                splitterPos(150) 
    399399        { 
     
    401401        } 
    402402         
    403         ~AdvFilesDialog() {} 
     403        ~AdvFilesDialog()  
     404        {} 
    404405         
    405406        BOOL PreTranslateMessage(MSG* pMsg) 
     
    411412                MSG_WM_INITDIALOG(onInitDialog) 
    412413                MSG_WM_CLOSE(onClose) 
     414                MSG_WM_DESTROY(OnDestroy) 
    413415                 
    414416                if (uMsg == WM_FORWARDMSG) 
     
    439441        void uiUpdate(const hal::TorrentDetails& tD); 
    440442        void focusChanged(const hal::TorrentDetail_ptr pT); 
     443        void OnDestroy(); 
    441444 
    442445protected: 
  • trunk/src/global/ini.cpp

    r381 r383  
    4747                } 
    4848 
    49                 boost::filesystem::copy_file(main_file_, working_file_); 
     49                if (boost::filesystem::exists(main_file_)) 
     50                        boost::filesystem::copy_file(main_file_, working_file_); 
    5051        } 
    5152 
     
    6465        void load_data() 
    6566        { 
    66  
    6767                if (!xml_.load_file(working_file_.string())) 
    6868                { 
  • trunk/src/halTorrent.cpp

    r381 r383  
    3434#define HAL_INCORRECT_CONNECT_POLICY            HAL_TORRENT_EXT_BEGIN + 18 
    3535#define HAL_PEER_ALERT                                          HAL_TORRENT_EXT_BEGIN + 19 
     36#define HAL_LISTEN_V6_FAILED_ALERT                      HAL_TORRENT_EXT_BEGIN + 20 
    3637 
    3738#ifndef RC_INVOKED 
     
    561562                void operator()(lbt::listen_failed_alert const& a) const 
    562563                { 
    563                         event().post(shared_ptr<EventDetail>( 
    564                                 new EventGeneral(Event::info, a.timestamp(), 
    565                                         wformat_t(hal::app().res_wstr(HAL_LISTEN_FAILED_ALERT)) 
    566                                                 % hal::from_utf8_safe(a.msg())) 
    567                         )       );                               
     564                        if (a.endpoint.address().is_v6()) 
     565                        {        
     566                                event().post(shared_ptr<EventDetail>( 
     567                                        new EventGeneral(Event::info, a.timestamp(), 
     568                                                hal::app().res_wstr(HAL_LISTEN_V6_FAILED_ALERT)) 
     569                                )       );               
     570                        } 
     571                        else 
     572                        { 
     573                                event().post(shared_ptr<EventDetail>( 
     574                                        new EventGeneral(Event::info, a.timestamp(), 
     575                                                wformat_t(hal::app().res_wstr(HAL_LISTEN_FAILED_ALERT)) 
     576                                                        % hal::from_utf8_safe(a.msg())) 
     577                                )       ); 
     578                        } 
    568579                } 
    569580                 
     
    639650                        catch(std::exception& e) 
    640651                        { 
     652                                // These are logged as debug because they are rarely important to act on! 
    641653                                event().post(shared_ptr<EventDetail>(\ 
    642                                         new EventStdException(Event::critical, e, L"alertHandler"))); 
     654                                        new EventStdException(Event::debug, e, L"alertHandler"))); 
    643655                        } 
    644656                         
  • trunk/src/stdAfx.hpp

    r345 r383  
    8787#include <boost/tuple/tuple.hpp> 
    8888 
     89#include <boost/archive/xml_woarchive.hpp> 
     90#include <boost/archive/xml_wiarchive.hpp> 
     91 
    8992using std::string; 
    9093using std::wstring; 
     
    102105using boost::noncopyable; 
    103106 
     107template<class Archive> 
     108void serialize(Archive& ar, CRect& rect, const unsigned int version) 
     109{ 
     110        ar & BOOST_SERIALIZATION_NVP(rect.top); 
     111        ar & BOOST_SERIALIZATION_NVP(rect.bottom); 
     112        ar & BOOST_SERIALIZATION_NVP(rect.left); 
     113        ar & BOOST_SERIALIZATION_NVP(rect.right); 
     114} 
     115 
    104116namespace hal 
    105117{ 
Note: See TracChangeset for help on using the changeset viewer.