Changeset 235


Ignore:
Timestamp:
07/12/07 20:53:46 (13 years ago)
Author:
Eoin
Message:

Change to where ListView? Default column widths are stored.

Files:
10 edited

Legend:

Unmodified
Added
Removed
  • res/Halite.rc

    r234 r235  
    428428    HAL_PORT_OPEN                 "Port %1% open" 
    429429    HAL_VERSION_STRING            HALITE_VERSION_STRING 
    430         HAL_LISTVIEW_COLUMNS              "Name;Status;Completed;Download;Upload;Peers;Seeds;ETA;Copies" 
    431         HAL_DEBUG_LISTVIEW_COLUMNS        "Time;Message;Severity" 
    432         HAL_TRACKER_LISTVIEW_COLUMNS  "Tracker;Tier" 
    433         HAL_DIALOGPEER_LISTVIEW_COS       "Peer;Download;Upload;Type;Client" 
    434         HAL_DIALOGPEER_LISTVIEW_ADV       "Peer;Download;Upload;Type;Client;Status" 
    435430        HAL_EVENT_EXP                 "Exception caught; %1%, from %2%." 
    436431        HAL_EVENT_XML_EXP             "XML exception: %1%." 
     
    485480END 
    486481 
     482STRINGTABLE  
     483BEGIN 
     484        HAL_LISTVIEW_COLUMNS              "Name;Status;Completed;Download;Upload;Peers;Seeds;ETA;Copies" 
     485        HAL_LISTVIEW_DEFAULTS             "100;110;60;60;60;42;45;61;45" 
     486        HAL_DEBUG_LISTVIEW_COLUMNS        "Time;Message;Severity" 
     487        HAL_DEBUG_LISTVIEW_DEFAULTS       "67;419;69" 
     488        HAL_TRACKER_LISTVIEW_COLUMNS  "Tracker;Tier" 
     489        HAL_TRACKER_LISTVIEW_DEFAULTS "287;50" 
     490        HAL_DIALOGPEER_LISTVIEW_COS       "Peer;Download;Upload;Type;Client" 
     491        HAL_DIALOGPEER_LISTVIEW_COS_DEFAULTS      "100;70;70;70;100" 
     492        HAL_DIALOGPEER_LISTVIEW_ADV       "Peer;Download;Upload;Type;Client;Status" 
     493        HAL_DIALOGPEER_LISTVIEW_ADV_DEFAULTS      "95;64;64;50;100;500" 
     494END 
     495 
    487496IDR_MAINFRAME TOOLBAR 22,22 
    488497BEGIN 
  • res/resource.h

    r234 r235  
    234234#define HAL_INCORRECT_ENCODING_LEVEL    40086 
    235235#define HAL_INCORRECT_CONNECT_POLICY    40087 
     236#define HAL_LISTVIEW_DEFAULTS                   40088 
     237#define HAL_DEBUG_LISTVIEW_DEFAULTS             40089 
     238#define HAL_TRACKER_LISTVIEW_DEFAULTS   40090 
     239#define HAL_DIALOGPEER_LISTVIEW_COS_DEFAULTS 40091 
     240#define HAL_DIALOGPEER_LISTVIEW_ADV_DEFAULTS 40092 
  • src/HaliteDialog.hpp

    r231 r235  
    4646                enum {  
    4747                        LISTVIEW_ID_MENU = 0, 
    48                         LISTVIEW_ID_COLUMNNAMES = HAL_DIALOGPEER_LISTVIEW_COS    
     48                        LISTVIEW_ID_COLUMNNAMES = HAL_DIALOGPEER_LISTVIEW_COS, 
     49                        LISTVIEW_ID_COLUMNWIDTHS = HAL_DIALOGPEER_LISTVIEW_COS_DEFAULTS 
    4950                }; 
    5051         
     
    5859                DialogListView() : 
    5960                        iniClass("listviews/dialog", "DialogPeersList") 
    60                 {                
    61                         array<int, 5> a = {{100, 70, 70, 70, 100}}; 
    62                         SetDefaults(a);                  
     61                {                                        
    6362                        load(); 
    6463                } 
  • src/HaliteListView.cpp

    r231 r235  
    2424void HaliteListViewCtrl::updateListView() 
    2525{ 
     26        RedrawLock<HaliteListViewCtrl> rLock(*this); 
     27         
    2628        hal::TorrentDetails TD; 
    2729        hal::bittorrent().getAllTorrentDetails(TD); 
     
    6870} 
    6971 
    70 /* 
    71 LRESULT HaliteListViewCtrl::OnClick(int, LPNMHDR pnmh, BOOL&) 
    72 { 
    73         manager().sync_list(true); 
    74  
    75         return 0; 
    76 } 
    77  
    78 LRESULT HaliteListViewCtrl::OnRClick(int i, LPNMHDR pnmh, BOOL&) 
    79 { 
    80         LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pnmh;   
    81         manager().sync_list(true); 
    82          
    83         assert (torrentMenu_.IsMenu()); 
    84         CMenuHandle sMenu = torrentMenu_.GetSubMenu(0); 
    85         assert (sMenu.IsMenu()); 
    86          
    87         POINT ptPoint; 
    88         GetCursorPos(&ptPoint); 
    89         sMenu.TrackPopupMenu(0, ptPoint.x, ptPoint.y, m_hWnd); 
    90          
    91         return 0; 
    92 } 
    93  
    94 LRESULT HaliteListViewCtrl::OnColClick(int i, LPNMHDR pnmh, BOOL&) 
    95 { 
    96         LPNMLISTVIEW pnlv = (LPNMLISTVIEW)pnmh; 
    97 //      MessageBox(lexical_cast<wstring>(pnlv->iSubItem).c_str(), L"ListView",0); 
    98 //      DeleteColumn(pnlv->iSubItem); 
    99  
    100         return 0; 
    101 } 
    102 */ 
    10372LRESULT HaliteListViewCtrl::OnResume(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
    10473{ 
  • src/HaliteListView.hpp

    r231 r235  
    2626        enum {  
    2727                LISTVIEW_ID_MENU = IDR_LISTVIEW_MENU, 
    28                 LISTVIEW_ID_COLUMNNAMES = HAL_LISTVIEW_COLUMNS   
     28                LISTVIEW_ID_COLUMNNAMES = HAL_LISTVIEW_COLUMNS, 
     29                LISTVIEW_ID_COLUMNWIDTHS = HAL_LISTVIEW_DEFAULTS 
    2930        }; 
    3031 
    3132        HaliteListViewCtrl() : 
    3233                iniClass("listviews/halite", "HaliteListView") 
    33         { 
    34                 array<int, 9> a = {{100, 110, 60, 60, 60, 42, 45, 61, 45}}; 
    35                 SetDefaults(a); 
    36                  
     34        {                
    3735                load(); 
    3836        } 
     
    7068    } 
    7169                                 
    72 /*      void connectForDetails(boost::function<void (const hal::TorrentDetails&)> fn)  
    73         {  
    74                 selection_details_.connect(fn);  
    75         } 
    76 */ 
    7770private: 
    7871        void OnAttach(); 
    7972        void OnDetach(); 
    80          
    81 //      boost::signal<void (const hal::TorrentDetails&)> selection_details_; 
    82          
    83 //      hal::TorrentDetails torrentDetails_; 
    8473}; 
    8574 
  • src/HaliteListViewCtrl.hpp

    r229 r235  
    220220 
    221221public: 
    222  
    223222        typedef selection_manager<thisClass> selection_manage_class; 
    224223         
     224        enum sortDirection 
     225        { 
     226                none, 
     227                ascending, 
     228                descending 
     229        }; 
     230         
    225231        CHaliteListViewCtrl<TBase>() : 
     232                sortingDirection_(CHaliteListViewCtrl<TBase>::none), 
     233                sortedColmun_(0), 
    226234                manager_(*this) 
    227235        { 
     
    232240                } 
    233241 
    234                 wstring column_names = hal::app().res_wstr(TBase::LISTVIEW_ID_COLUMNNAMES);              
     242                wstring column_names = hal::app().res_wstr(TBase::LISTVIEW_ID_COLUMNNAMES); 
    235243                boost::split(names_, column_names, boost::is_any_of(L";")); 
     244                 
     245                wstring column_widths = hal::app().res_wstr(TBase::LISTVIEW_ID_COLUMNWIDTHS); 
     246                std::vector<wstring> widths; 
     247                boost::split(widths, column_widths, boost::is_any_of(L";")); 
    236248                                 
    237                 listColumnWidth_.assign(names_.size(), 0);       
    238                 listColumnOrder_.assign(names_.size(), 0); 
     249                listColumnWidth_.reserve(names_.size());         
     250                listColumnOrder_.reserve(names_.size()); 
     251                 
     252                for (size_t i=0; i<names_.size(); ++i) 
     253                { 
     254                        listColumnWidth_.push_back(lexical_cast<int>(widths[i])); 
     255                        listColumnOrder_.push_back(i); 
     256                }        
    239257        } 
    240258 
     
    259277        void SetListViewDetails() 
    260278        { 
    261 //              assert (listColumnWidth_.size() == names_.size()); 
    262 //              assert (listColumnOrder_.size() == names_.size()); 
    263279                vectorSizePreConditions(); 
    264280                 
     
    281297        { 
    282298                assert (Size == names_.size()); 
    283 //              assert (listColumnWidth_.size() == names_.size()); 
    284 //              assert (listColumnOrder_.size() == names_.size()); 
    285299                vectorSizePreConditions(); 
    286300                 
     
    290304                        listColumnOrder_[i] = i; 
    291305                }                
    292         }        
    293          
     306        } 
     307         
     308        // Should probably make this redundant!! 
    294309        void GetListViewDetails() 
    295310        { 
    296 //              assert (listColumnWidth_.size() == names_.size()); 
    297 //              assert (listColumnOrder_.size() == names_.size()); 
    298311                vectorSizePreConditions(); 
    299312                 
     
    340353        { 
    341354                LPNMLISTVIEW pnlv = (LPNMLISTVIEW)pnmh; 
     355                 
     356                MessageBox((lexical_cast<wstring>(pnlv->iSubItem)).c_str(), L"Hi", 0); 
    342357                return 0; 
    343358        } 
     
    353368        selection_manager<CHaliteListViewCtrl>& manager() { return manager_; } 
    354369         
     370        size_t sortedColmun() { return sortedColmun_; } 
     371        sortDirection sortingDirection() { return sortingDirection_; } 
     372         
    355373        std::vector<int>& listColumnWidth() { return listColumnWidth_; } 
    356374        std::vector<int>& listColumnOrder() { return listColumnOrder_; } 
     
    376394                }                
    377395        } 
     396         
     397        sortDirection sortingDirection_; 
     398        size_t sortedColmun_; 
    378399         
    379400        WTL::CMenu menu_; 
  • src/advtabs/Debug.hpp

    r229 r235  
    7070        enum {  
    7171                LISTVIEW_ID_MENU = IDR_LISTVIEW_MENU, 
    72                 LISTVIEW_ID_COLUMNNAMES = HAL_DEBUG_LISTVIEW_COLUMNS     
     72                LISTVIEW_ID_COLUMNNAMES = HAL_DEBUG_LISTVIEW_COLUMNS, 
     73                LISTVIEW_ID_COLUMNWIDTHS = HAL_DEBUG_LISTVIEW_DEFAULTS 
    7374        }; 
    7475 
     
    8283        LogListViewCtrl() : 
    8384                iniClass("listviews/eventLog", "LogListView") 
    84         {                
    85                 array<int, 3> a = {{67, 419, 69}}; 
    86                 SetDefaults(a); 
    87  
     85        { 
    8886                load(); 
    8987        } 
  • src/advtabs/Peers.hpp

    r229 r235  
    2626        enum {  
    2727                LISTVIEW_ID_MENU = 0, 
    28                 LISTVIEW_ID_COLUMNNAMES = HAL_DIALOGPEER_LISTVIEW_ADV    
     28                LISTVIEW_ID_COLUMNNAMES = HAL_DIALOGPEER_LISTVIEW_ADV, 
     29                LISTVIEW_ID_COLUMNWIDTHS = HAL_DIALOGPEER_LISTVIEW_ADV_DEFAULTS 
    2930        }; 
    3031         
     
    3233                iniClass("listviews/advPeers", "PeerListView") 
    3334        { 
    34                 array<int, 6> a = {{95, 64, 64, 50, 100, 500}}; 
    35                 SetDefaults(a); 
    36  
    3735                load(); 
    3836        } 
  • src/advtabs/TrackerListView.hpp

    r229 r235  
    2424        enum {  
    2525                LISTVIEW_ID_MENU = IDR_TRACKERLV_MENU, 
    26                 LISTVIEW_ID_COLUMNNAMES = HAL_TRACKER_LISTVIEW_COLUMNS   
     26                LISTVIEW_ID_COLUMNNAMES = HAL_TRACKER_LISTVIEW_COLUMNS, 
     27                LISTVIEW_ID_COLUMNWIDTHS = HAL_TRACKER_LISTVIEW_DEFAULTS 
    2728        }; 
    2829         
     
    3031                iniClass("listviews/tracker", "TrackerListView") 
    3132        { 
    32                 array<int, 2> a = {{287, 50}}; 
    33                 SetDefaults(a); 
    34  
    3533                load(); 
    3634        } 
  • src/stdAfx.hpp

    r234 r235  
    4242#include "..\res\resource.h" 
    4343 
     44template<class T> 
     45class RedrawLock 
     46{ 
     47public: 
     48        RedrawLock(T& window) : 
     49                window_(window) 
     50        { 
     51                window_.SetRedraw(false); 
     52        } 
     53         
     54        ~RedrawLock() 
     55        { 
     56                unlock(); 
     57        } 
     58         
     59        void unlock() 
     60        { 
     61                window_.SetRedraw(true); 
     62                window_.InvalidateRect(NULL, false); 
     63        } 
     64         
     65private: 
     66        T& window_; 
     67}; 
     68 
    4469// Include very common C++ and Boost libraries 
    4570 
Note: See TracChangeset for help on using the changeset viewer.