Changeset 303


Ignore:
Timestamp:
09/22/07 12:23:14 (13 years ago)
Author:
Eoin
Message:

Stable sorting fixed.

Files:
12 edited

Legend:

Unmodified
Added
Removed
  • Halite.pnproj

    r302 r303  
    1 <Project name="Halite"><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="res" path="res\"><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="res24" path="res24\"><File path="ad.ico"></File><File path="ae.ico"></File><File path="af.ico"></File><File path="ag.ico"></File><File path="ai.ico"></File><File path="al.ico"></File><File path="am.ico"></File><File path="an.ico"></File><File path="ao.ico"></File><File path="ar.ico"></File><File path="as.ico"></File><File path="at.ico"></File><File path="au.ico"></File><File path="aw.ico"></File><File path="ax.ico"></File><File path="az.ico"></File><File path="ba.ico"></File><File path="bb.ico"></File><File path="bd.ico"></File><File path="be.ico"></File><File path="bf.ico"></File><File path="bg.ico"></File><File path="bh.ico"></File><File path="bi.ico"></File><File path="bj.ico"></File><File path="bm.ico"></File><File path="bn.ico"></File><File path="bo.ico"></File><File path="br.ico"></File><File path="bs.ico"></File><File path="bt.ico"></File><File path="bw.ico"></File><File path="by.ico"></File><File path="bz.ico"></File><File path="ca.ico"></File><File path="cc.ico"></File><File path="cd.ico"></File><File path="cf.ico"></File><File path="cg.ico"></File><File path="ch.ico"></File><File path="ci.ico"></File><File path="ck.ico"></File><File path="cl.ico"></File><File path="cm.ico"></File><File path="cn.ico"></File><File path="co.ico"></File><File path="cr.ico"></File><File path="cu.ico"></File><File path="cv.ico"></File><File path="cx.ico"></File><File path="cy.ico"></File><File path="cz.ico"></File><File path="de.ico"></File><File path="dj.ico"></File><File path="dk.ico"></File><File path="dm.ico"></File><File path="do.ico"></File><File path="dz.ico"></File><File path="ec.ico"></File><File path="ee.ico"></File><File path="eg.ico"></File><File path="eh.ico"></File><File path="er.ico"></File><File path="es.ico"></File><File path="et.ico"></File><File path="fi.ico"></File><File path="fj.ico"></File><File path="fk.ico"></File><File path="fm.ico"></File><File path="fo.ico"></File><File path="fr.ico"></File><File path="ga.ico"></File><File path="gb.ico"></File><File path="gd.ico"></File><File path="ge.ico"></File><File path="gg.ico"></File><File path="gh.ico"></File><File path="gi.ico"></File><File path="gk.ico"></File><File path="gl.ico"></File><File path="gm.ico"></File><File path="gn.ico"></File><File path="gp.ico"></File><File path="gq.ico"></File><File path="gr.ico"></File><File path="gs.ico"></File><File path="gt.ico"></File><File path="gu.ico"></File><File path="gw.ico"></File><File path="gy.ico"></File><File path="hk.ico"></File><File path="hn.ico"></File><File path="hr.ico"></File><File path="ht.ico"></File><File path="hu.ico"></File><File path="Icons.h"></File><File path="Icons.rc"></File><File path="id.ico"></File><File path="ie.ico"></File><File path="il.ico"></File><File path="im.ico"></File><File path="in.ico"></File><File path="io.ico"></File><File path="iq.ico"></File><File path="ir.ico"></File><File path="is.ico"></File><File path="it.ico"></File><File path="je.ico"></File><File path="jm.ico"></File><File path="jo.ico"></File><File path="jp.ico"></File><File path="ke.ico"></File><File path="kg.ico"></File><File path="kh.ico"></File><File path="ki.ico"></File><File path="km.ico"></File><File path="kn.ico"></File><File path="kp.ico"></File><File path="kr.ico"></File><File path="kw.ico"></File><File path="ky.ico"></File><File path="kz.ico"></File><File path="la.ico"></File><File path="lb.ico"></File><File path="lc.ico"></File><File path="li.ico"></File><File path="lk.ico"></File><File path="lr.ico"></File><File path="ls.ico"></File><File path="lt.ico"></File><File path="lu.ico"></File><File path="lv.ico"></File><File path="ly.ico"></File><File path="ma.ico"></File><File path="mc.ico"></File><File path="md.ico"></File><File path="me.ico"></File><File path="mg.ico"></File><File path="mh.ico"></File><File path="mk.ico"></File><File path="ml.ico"></File><File path="mm.ico"></File><File path="mn.ico"></File><File path="mo.ico"></File><File path="mp.ico"></File><File path="mq.ico"></File><File path="mr.ico"></File><File path="ms.ico"></File><File path="mt.ico"></File><File path="mu.ico"></File><File path="mv.ico"></File><File path="mw.ico"></File><File path="mx.ico"></File><File path="my.ico"></File><File path="mz.ico"></File><File path="na.ico"></File><File path="nc.ico"></File><File path="ne.ico"></File><File path="nf.ico"></File><File path="ng.ico"></File><File path="ni.ico"></File><File path="nl.ico"></File><File path="no.ico"></File><File path="not.ico"></File><File path="np.ico"></File><File path="nr.ico"></File><File path="nu.ico"></File><File path="nz.ico"></File><File path="om.ico"></File><File path="pa.ico"></File><File path="pe.ico"></File><File path="pf.ico"></File><File path="pg.ico"></File><File path="ph.ico"></File><File path="pk.ico"></File><File path="pl.ico"></File><File path="pm.ico"></File><File path="pn.ico"></File><File path="pr.ico"></File><File path="ps.ico"></File><File path="pt.ico"></File><File path="pw.ico"></File><File path="py.ico"></File><File path="qa.ico"></File><File path="ro.ico"></File><File path="rs.ico"></File><File path="ru.ico"></File><File path="rw.ico"></File><File path="sa.ico"></File><File path="sb.ico"></File><File path="sc.ico"></File><File path="sd.ico"></File><File path="se.ico"></File><File path="sg.ico"></File><File path="sh.ico"></File><File path="si.ico"></File><File path="sk.ico"></File><File path="sl.ico"></File><File path="sm.ico"></File><File path="sn.ico"></File><File path="so.ico"></File><File path="sr.ico"></File><File path="st.ico"></File><File path="sv.ico"></File><File path="sy.ico"></File><File path="sz.ico"></File><File path="tc.ico"></File><File path="td.ico"></File><File path="Template.rc"></File><File path="tf.ico"></File><File path="tg.ico"></File><File path="th.ico"></File><File path="tj.ico"></File><File path="tk.ico"></File><File path="tl.ico"></File><File path="tm.ico"></File><File path="tn.ico"></File><File path="to.ico"></File><File path="tr.ico"></File><File path="tt.ico"></File><File path="tv.ico"></File><File path="tw.ico"></File><File path="tz.ico"></File><File path="ua.ico"></File><File path="ug.ico"></File><File path="us.ico"></File><File path="uy.ico"></File><File path="uz.ico"></File><File path="va.ico"></File><File path="vc.ico"></File><File path="ve.ico"></File><File path="vg.ico"></File><File path="vi.ico"></File><File path="vn.ico"></File><File path="vu.ico"></File><File path="wf.ico"></File><File path="ws.ico"></File><File path="ye.ico"></File><File path="yu.ico"></File><File path="za.ico"></File><File path="zm.ico"></File><File path="zw.ico"></File></MagicFolder><File path="About.rtf"></File><File path="afxres.h"></File><File path="English.rtf"></File><File path="Halite.aps"></File><File path="Halite.ico"></File><File path="Halite.rc"></File><File path="Icons.rc"></File><File path="Manifest.xml"></File><File path="resource.h"></File><File path="toolbar.bmp"></File></MagicFolder><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="src" path="src\"><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="advtabs" path="advtabs\"><File path="Debug.cpp"></File><File path="Debug.hpp"></File><File path="Files.cpp"></File><File path="Files.hpp"></File><File path="Peers.cpp"></File><File path="Peers.hpp"></File><File path="ThemeTestDialog.hpp"></File><File path="Torrent.cpp"></File><File path="Torrent.hpp"></File><File path="Tracker.cpp"></File><File path="Tracker.hpp"></File><File path="TrackerAddDialog.hpp"></File><File path="TrackerListView.cpp"></File><File path="TrackerListView.hpp"></File></MagicFolder><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="global" path="global\"><File path="InheritEnum.hpp"></File><File path="ini.cpp"></File><File path="ini.hpp"></File><File path="ini_adapter.cpp"></File><File path="ini_adapter.hpp"></File><File path="logger.cpp"></File><File path="logger.hpp"></File><File path="string_conv.cpp"></File><File path="string_conv.hpp"></File><File path="tinyxml.cpp"></File><File path="tinyxml.hpp"></File><File path="tinyxmlerror.cpp"></File><File path="tinyxmlparser.cpp"></File><File path="unicode.hpp"></File><File path="utf8.hpp"></File><File path="wtl_app.cpp"></File><File path="wtl_app.hpp"></File></MagicFolder><File path="AddTorrentDialog.hpp"></File><File path="AdvHaliteDialog.cpp"></File><File path="AdvHaliteDialog.hpp"></File><File path="ConfigOptions.cpp"></File><File path="ConfigOptions.hpp"></File><File path="CSSFileDialog.hpp"></File><File path="DdxEx.hpp"></File><File path="DebugDialog.hpp"></File><File path="DropFileTarget.h"></File><File path="halConfig.cpp"></File><File path="halConfig.hpp"></File><File path="halEvent.cpp"></File><File path="halEvent.hpp"></File><File path="Halite.cpp"></File><File path="Halite.hpp"></File><File path="HaliteDialog.cpp"></File><File path="HaliteDialog.hpp"></File><File path="HaliteDialogBase.hpp"></File><File path="HaliteEditCtrl.hpp"></File><File path="HaliteIni.hpp"></File><File path="HaliteListManager.hpp"></File><File path="HaliteListView.cpp"></File><File path="HaliteListView.hpp"></File><File path="HaliteListViewCtrl.hpp"></File><File path="HaliteSortListViewCtrl.hpp"></File><File path="HaliteTabCtrl.hpp"></File><File path="HaliteTabPage.hpp"></File><File path="HaliteUpdateLock.hpp"></File><File path="HaliteWindow.cpp"></File><File path="HaliteWindow.hpp"></File><File path="halTorrent.cpp"></File><File path="halTorrent.hpp"></File><File path="halTorrentInternal.hpp"></File><File path="halXmlRpc.cpp"></File><File path="halXmlRpc.hpp"></File><File path="NTray.cpp"></File><File path="NTray.hpp"></File><File path="ProgressDialog.hpp"></File><File path="SimpleHtml.h"></File><File path="SplashDialog.hpp"></File><File path="SSFileDialog.hpp"></File><File path="stdAfx.cpp"></File><File path="stdAfx.hpp"></File><File path="UxthemeWrapper.cpp"></File><File path="UxthemeWrapper.hpp"></File><File path="WinAPIMutex.hpp"></File><File path="WinAPIWaitableTimer.hpp"></File></MagicFolder><File path="Jamfile.v2"></File></Project> 
     1<Project name="Halite"><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="res" path="res\"><File path="About.rtf"></File><File path="afxres.h"></File><File path="English.rtf"></File><File path="Halite.aps"></File><File path="Halite.ico"></File><File path="Halite.rc"></File><File path="Manifest.xml"></File><File path="resource.h"></File><File path="toolbar.bmp"></File></MagicFolder><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="src" path="src\"><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="advtabs" path="advtabs\"><File path="Debug.cpp"></File><File path="Debug.hpp"></File><File path="Files.cpp"></File><File path="Files.hpp"></File><File path="Peers.cpp"></File><File path="Peers.hpp"></File><File path="ThemeTestDialog.hpp"></File><File path="Torrent.cpp"></File><File path="Torrent.hpp"></File><File path="Tracker.cpp"></File><File path="Tracker.hpp"></File><File path="TrackerAddDialog.hpp"></File><File path="TrackerListView.cpp"></File><File path="TrackerListView.hpp"></File></MagicFolder><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="global" path="global\"><File path="InheritEnum.hpp"></File><File path="ini.cpp"></File><File path="ini.hpp"></File><File path="ini_adapter.cpp"></File><File path="ini_adapter.hpp"></File><File path="logger.cpp"></File><File path="logger.hpp"></File><File path="string_conv.cpp"></File><File path="string_conv.hpp"></File><File path="tinyxml.cpp"></File><File path="tinyxml.hpp"></File><File path="tinyxmlerror.cpp"></File><File path="tinyxmlparser.cpp"></File><File path="unicode.hpp"></File><File path="utf8.hpp"></File><File path="wtl_app.cpp"></File><File path="wtl_app.hpp"></File></MagicFolder><File path="AddTorrentDialog.hpp"></File><File path="AdvHaliteDialog.cpp"></File><File path="AdvHaliteDialog.hpp"></File><File path="ConfigOptions.cpp"></File><File path="ConfigOptions.hpp"></File><File path="CSSFileDialog.hpp"></File><File path="DdxEx.hpp"></File><File path="DebugDialog.hpp"></File><File path="DropFileTarget.h"></File><File path="halConfig.cpp"></File><File path="halConfig.hpp"></File><File path="halEvent.cpp"></File><File path="halEvent.hpp"></File><File path="Halite.cpp"></File><File path="Halite.hpp"></File><File path="HaliteDialog.cpp"></File><File path="HaliteDialog.hpp"></File><File path="HaliteDialogBase.hpp"></File><File path="HaliteEditCtrl.hpp"></File><File path="HaliteIni.hpp"></File><File path="HaliteListManager.hpp"></File><File path="HaliteListView.cpp"></File><File path="HaliteListView.hpp"></File><File path="HaliteListViewCtrl.hpp"></File><File path="HaliteSortListViewCtrl.hpp"></File><File path="HaliteTabCtrl.hpp"></File><File path="HaliteTabPage.hpp"></File><File path="HaliteUpdateLock.hpp"></File><File path="HaliteWindow.cpp"></File><File path="HaliteWindow.hpp"></File><File path="halTorrent.cpp"></File><File path="halTorrent.hpp"></File><File path="halTorrentInternal.hpp"></File><File path="halXmlRpc.cpp"></File><File path="halXmlRpc.hpp"></File><File path="NTray.cpp"></File><File path="NTray.hpp"></File><File path="ProgressDialog.hpp"></File><File path="SimpleHtml.h"></File><File path="SplashDialog.hpp"></File><File path="SSFileDialog.hpp"></File><File path="stdAfx.cpp"></File><File path="stdAfx.hpp"></File><File path="UxthemeWrapper.cpp"></File><File path="UxthemeWrapper.hpp"></File><File path="WinAPIMutex.hpp"></File><File path="WinAPIWaitableTimer.hpp"></File></MagicFolder><File path="Jamfile.v2"></File></Project> 
  • Halite.pnps

    r296 r303  
    1 <pd><ViewState><e p="Halite\src\advtabs" x="true"></e><e p="Halite" x="true"></e><e p="Halite\res" x="true"></e><e p="Halite\res\res24" x="false"></e><e p="Halite\src" x="true"></e><e p="Halite\src\global" x="true"></e></ViewState></pd> 
     1<pd><ViewState><e p="Halite\src\advtabs" x="true"></e><e p="Halite" x="true"></e><e p="Halite\res" x="true"></e><e p="Halite\src" x="true"></e><e p="Halite\src\global" x="true"></e></ViewState></pd> 
  • src/HaliteDialog.hpp

    r301 r303  
    2525        private boost::noncopyable 
    2626{        
    27  
    2827        typedef HaliteDialog thisClass; 
    2928        typedef CDialogImpl<HaliteDialog> baseClass; 
     
    5150                struct SpeedDown : public ColAdapter_t 
    5251                { 
    53                         virtual int less(pD& l, pD& r)  { return equalsOrLess(l.speed.first, r.speed.first); }           
     52                        virtual int compare(pD& l, pD& r)       { return hal::compare(l.speed.first, r.speed.first); }           
    5453                        virtual std::wstring print(pD& p)  
    5554                        { 
     
    6059                struct SpeedUp : public ColAdapter_t 
    6160                { 
    62                         virtual int less(pD& l, pD& r)  { return equalsOrLess(l.speed.second, r.speed.second); }                 
     61                        virtual int compare(pD& l, pD& r)       { return hal::compare(l.speed.second, r.speed.second); }                 
    6362                        virtual std::wstring print(pD& p)  
    6463                        { 
     
    141140                }                
    142141                 
    143                 int CustomItemComparision(pD left, pD right, int iSortCol) 
    144                 { 
    145                         ColumnAdapter* pCA = getColumnAdapter(iSortCol); 
    146                          
    147                         if (pCA) 
    148                                 return (pCA->less(left, right)) ? 1 : -1; 
    149                         else  
    150                                 return 0; 
    151                 } 
    152                  
    153142                void uiUpdate(const hal::TorrentDetails& tD); 
    154143                 
  • src/HaliteListView.hpp

    r301 r303  
    3939        struct Name : public ColAdapter_t 
    4040        {        
    41                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->name(), r->name()); }           
     41                virtual int compare(tD& l, tD& r) { return hal::compare(l->name(), r->name()); }                 
    4242                virtual std::wstring print(tD& t) { return t->name(); }          
    4343        }; 
     
    4545        struct Filename : public ColAdapter_t 
    4646        {        
    47                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->filename(), r->filename()); }           
     47                virtual int compare(tD& l, tD& r) { return hal::compare(l->filename(), r->filename()); }                 
    4848                virtual std::wstring print(tD& t) { return t->filename(); }              
    4949        }; 
     
    5151        struct State : public ColAdapter_t 
    5252        {        
    53                 virtual int less(tD& l, tD& r) { return equalsOrLess(l->state(), r->state()); }          
     53                virtual int compare(tD& l, tD& r) { return hal::compare(l->state(), r->state()); }               
    5454                virtual std::wstring print(tD& t) { return t->state(); }                 
    5555        }; 
     
    5757        struct Tracker : public ColAdapter_t 
    5858        { 
    59                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->currentTracker(), r->currentTracker()); }               
     59                virtual int compare(tD& l, tD& r)       { return hal::compare(l->currentTracker(), r->currentTracker()); }               
    6060                virtual std::wstring print(tD& t) { return t->currentTracker(); }                
    6161        }; 
     
    6363        struct SpeedDown : public ColAdapter_t 
    6464        { 
    65                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->speed().first, r->speed().first); }             
     65                virtual int compare(tD& l, tD& r)       { return hal::compare(l->speed().first, r->speed().first); }             
    6666                virtual std::wstring print(tD& t)  
    6767                { 
     
    7272        struct SpeedUp : public ColAdapter_t 
    7373        { 
    74                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->speed().second, r->speed().second); }           
     74                virtual int compare(tD& l, tD& r)       { return hal::compare(l->speed().second, r->speed().second); }           
    7575                virtual std::wstring print(tD& t)  
    7676                { 
     
    8181        struct Progress : public ColAdapter_t 
    8282        { 
    83                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->completion(), r->completion()); }               
     83                virtual int compare(tD& l, tD& r)       { return hal::compare(l->completion(), r->completion()); }               
    8484                virtual std::wstring print(tD& t)  
    8585                { 
     
    9090        struct Peers : public ColAdapter_t 
    9191        { 
    92                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->peers(), r->peers()); }                 
     92                virtual int compare(tD& l, tD& r)       { return hal::compare(l->peers(), r->peers()); }                 
    9393                virtual std::wstring print(tD& t)  
    9494                { 
     
    9999        struct Seeds : public ColAdapter_t 
    100100        { 
    101                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->seeds(), r->seeds()); }                                 
     101                virtual int compare(tD& l, tD& r)       { return hal::compare(l->seeds(), r->seeds()); }                                 
    102102                virtual std::wstring print(tD& t)  
    103103                { 
     
    108108        struct ETA : public ColAdapter_t 
    109109        { 
    110                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->estimatedTimeLeft(), r->estimatedTimeLeft()); }                 
     110                virtual int compare(tD& l, tD& r)       { return hal::compare(l->estimatedTimeLeft(), r->estimatedTimeLeft()); }                 
    111111                virtual std::wstring print(tD& t)  
    112112                {  
     
    125125        struct UpdateTrackerIn : public ColAdapter_t 
    126126        { 
    127                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->updateTrackerIn(), r->updateTrackerIn()); }             
     127                virtual int compare(tD& l, tD& r)       { return hal::compare(l->updateTrackerIn(), r->updateTrackerIn()); }             
    128128                virtual std::wstring print(tD& t)  
    129129                {  
     
    142142        struct Ratio : public ColAdapter_t 
    143143        { 
    144                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->ratio(), r->ratio()); }                 
     144                virtual int compare(tD& l, tD& r)       { return hal::compare(l->ratio(), r->ratio()); }                 
    145145                virtual std::wstring print(tD& t) { return lexical_cast<wstring>(t->ratio()); }          
    146146        }; 
     
    148148        struct DistributedCopies : public ColAdapter_t 
    149149        { 
    150                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->distributedCopies(), r->distributedCopies()); }                 
     150                virtual int compare(tD& l, tD& r)       { return hal::compare(l->distributedCopies(), r->distributedCopies()); }                 
    151151                virtual std::wstring print(tD& t)  
    152152                {  
     
    162162        struct Remaining : public ColAdapter_t 
    163163        { 
    164                 virtual int less(tD& l, tD& r) 
     164                virtual int compare(tD& l, tD& r) 
    165165                { 
    166166                        boost::int64_t left = l->totalWanted()-l->totalWantedDone(); 
    167167                        boost::int64_t right = r->totalWanted()-r->totalWantedDone(); 
    168168                         
    169                         return equalsOrLess(left, right);  
     169                        return hal::compare(left, right);  
    170170                } 
    171171                 
     
    178178        struct Completed : public ColAdapter_t 
    179179        { 
    180                 virtual int less(tD& l, tD& r) 
     180                virtual int compare(tD& l, tD& r) 
    181181                {                        
    182                         return equalsOrLess(l->totalWantedDone(), r->totalWantedDone());  
     182                        return hal::compare(l->totalWantedDone(), r->totalWantedDone());  
    183183                } 
    184184                 
     
    191191        struct TotalWanted : public ColAdapter_t 
    192192        { 
    193                 virtual int less(tD& l, tD& r) 
     193                virtual int compare(tD& l, tD& r) 
    194194                {                
    195                         return equalsOrLess(l->totalWanted(), r->totalWanted());  
     195                        return hal::compare(l->totalWanted(), r->totalWanted());  
    196196                } 
    197197                 
     
    204204        struct Downloaded : public ColAdapter_t 
    205205        { 
    206                 virtual int less(tD& l, tD& r) 
     206                virtual int compare(tD& l, tD& r) 
    207207                {                
    208                         return equalsOrLess(l->totalPayloadDownloaded(), r->totalPayloadDownloaded());  
     208                        return hal::compare(l->totalPayloadDownloaded(), r->totalPayloadDownloaded());  
    209209                } 
    210210                 
     
    217217        struct Uploaded : public ColAdapter_t 
    218218        { 
    219                 virtual int less(tD& l, tD& r) 
     219                virtual int compare(tD& l, tD& r) 
    220220                {                
    221                         return equalsOrLess(l->totalPayloadUploaded(), r->totalPayloadUploaded());  
     221                        return hal::compare(l->totalPayloadUploaded(), r->totalPayloadUploaded());  
    222222                } 
    223223                 
     
    230230        struct ActiveTime : public ColAdapter_t 
    231231        { 
    232                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->active(), r->active()); }               
     232                virtual int compare(tD& l, tD& r)       { return hal::compare(l->active(), r->active()); }               
    233233                virtual std::wstring print(tD& t)  
    234234                {  
     
    247247        struct SeedingTime : public ColAdapter_t 
    248248        { 
    249                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->seeding(), r->seeding()); }             
     249                virtual int compare(tD& l, tD& r)       { return hal::compare(l->seeding(), r->seeding()); }             
    250250                virtual std::wstring print(tD& t)  
    251251                {  
     
    264264        struct StartTime : public ColAdapter_t 
    265265        { 
    266                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->startTime(), r->startTime()); }                 
     266                virtual int compare(tD& l, tD& r)       { return hal::compare(l->startTime(), r->startTime()); }                 
    267267                virtual std::wstring print(tD& t)  
    268268                {  
     
    281281        struct FinishTime : public ColAdapter_t 
    282282        { 
    283                 virtual int less(tD& l, tD& r)  { return equalsOrLess(l->finishTime(), r->finishTime()); }               
     283                virtual int compare(tD& l, tD& r)       { return hal::compare(l->finishTime(), r->finishTime()); }               
    284284                virtual std::wstring print(tD& t)  
    285285                {  
  • src/HaliteSortListViewCtrl.hpp

    r301 r303  
    2727#include "HaliteUpdateLock.hpp" 
    2828 
     29namespace hal 
     30{ 
     31 
    2932template<typename T> 
    30 int equalsOrLess(const T& l, const T& r) 
     33int compare(const T& l, const T& r) 
    3134{ 
    3235        if (l == r)  
    3336                return 0; 
    34         else if (l < r)  
     37        else if (l > r)  
    3538                return 1; 
    3639        else  
    3740                return -1; 
     41} 
     42 
    3843} 
    3944 
     
    295300        struct ColumnAdapter 
    296301        { 
    297                 virtual int less(adapterType& l, adapterType& r) = 0; 
     302                virtual int compare(adapterType& l, adapterType& r) = 0; 
    298303                virtual std::wstring print(adapterType& t) = 0; 
    299304        }; 
     
    632637                 
    633638                if (pCA) 
    634                         return pCA->less(left, right); 
     639                        return pCA->compare(left, right); 
    635640                else  
    636641                        return 0; 
  • src/advtabs/Files.cpp

    r296 r303  
    222222 
    223223void AdvFilesDialog::uiUpdate(const hal::TorrentDetails& tD) 
    224 {        
     224{ 
     225        wstring torrent_name = L""; 
     226         
    225227        if (hal::TorrentDetail_ptr torrent = tD.selectedTorrent())       
     228                torrent_name = torrent->filename(); 
     229         
     230        if (current_torrent_name_ != torrent_name) 
    226231        {        
    227                 string torrent_name = hal::to_utf8(torrent->filename()); 
    228                  
    229                 if (current_torrent_name_ != torrent_name) 
    230                 {        
    231                         current_torrent_name_ = torrent_name; 
    232                         focusChanged(current_torrent_name_); 
    233                 } 
    234         } 
    235         else 
    236         {        
    237                 if (current_torrent_name_ != "") 
    238                 {        
    239                         current_torrent_name_ = ""; 
    240                         focusChanged(current_torrent_name_); 
    241                 }        
     232                current_torrent_name_ = torrent_name; 
     233                focusChanged(current_torrent_name_); 
    242234        } 
    243235         
     
    300292} 
    301293 
    302 void AdvFilesDialog::focusChanged(string& torrent_name) 
     294void AdvFilesDialog::focusChanged(wstring& torrent_name) 
    303295{ 
    304296        const hal::TorrentDetails& tD = hal::bittorrent().torrentDetails(); 
     
    326318                treeManager_.ClearInvalid(); 
    327319        } 
    328          
    329  
    330          
     320                 
    331321        splitterPos = splitter_.GetSplitterPos(); 
    332322} 
  • src/advtabs/Files.hpp

    r301 r303  
    4040        struct Size : public ColAdapter_t 
    4141        { 
    42                 virtual int less(dataClass& l, dataClass& r) { return equalsOrLess(l.size, r.size); }            
     42                virtual int compare(dataClass& l, dataClass& r) { return hal::compare(l.size, r.size); }                 
    4343                virtual std::wstring print(dataClass& dc)  
    4444                { 
     
    5050        struct Progress : public ColAdapter_t 
    5151        { 
    52                 virtual int less(dataClass& l, dataClass& r) { return equalsOrLess(l.progress, r.progress); }            
     52                virtual int compare(dataClass& l, dataClass& r) { return hal::compare(l.progress, r.progress); }                 
    5353                virtual std::wstring print(dataClass& t)  
    5454                { 
     
    5959        struct Priority : public ColAdapter_t 
    6060        { 
    61                 virtual int less(dataClass& l, dataClass& r) { return equalsOrLess(l.priority, r.priority); }            
     61                virtual int compare(dataClass& l, dataClass& r) { return hal::compare(l.priority, r.priority); }                 
    6262                virtual std::wstring print(dataClass& dc)  
    6363                { 
     
    374374        void doUiUpdate(); 
    375375        void uiUpdate(const hal::TorrentDetails& tD); 
    376         void focusChanged(string& torrent_name); 
     376        void focusChanged(wstring& torrent_name); 
    377377 
    378378protected: 
     
    384384        FileListView list_; 
    385385         
    386         //hal::FileDetails fileDetails_; 
    387386        std::map<wpath, CTreeItem> fileTreeMap_; 
    388387        TreeViewManager<FileTreeView> treeManager_; 
    389388         
    390         string current_torrent_name_;    
     389        wstring current_torrent_name_;   
    391390        hal::FileDetails fileDetails; 
    392391}; 
  • src/advtabs/Peers.hpp

    r301 r303  
    3737        struct SpeedDown : public ColAdapter_t 
    3838        { 
    39                 virtual int less(pD& l, pD& r)  { return equalsOrLess(l.speed.first, r.speed.first); }           
     39                virtual int compare(pD& l, pD& r)       { return hal::compare(l.speed.first, r.speed.first); }           
    4040                virtual std::wstring print(pD& p)  
    4141                { 
     
    4646        struct SpeedUp : public ColAdapter_t 
    4747        { 
    48                 virtual int less(pD& l, pD& r)  { return equalsOrLess(l.speed.second, r.speed.second); }                 
     48                virtual int compare(pD& l, pD& r)       { return hal::compare(l.speed.second, r.speed.second); }                 
    4949                virtual std::wstring print(pD& p)  
    5050                { 
     
    123123                return peerDetails_[param->dwItemData]; 
    124124        }                
    125          
    126         int CustomItemComparision(pD left, pD right, int iSortCol) 
    127         { 
    128                 ColumnAdapter* pCA = getColumnAdapter(iSortCol); 
    129                  
    130                 if (pCA) 
    131                         return (pCA->less(left, right)) ? 1 : -1; 
    132                 else  
    133                         return 0; 
    134         } 
    135          
     125 
    136126        void uiUpdate(const hal::TorrentDetails& tD); 
    137127         
  • src/global/ini.cpp

    r268 r303  
    3333public: 
    3434        ini_impl(std::wstring filename) : 
    35                 working_file_(app().exe_path().branch_path()/filename) 
     35                working_file_(app().working_directory()/filename) 
    3636        {} 
    3737         
     
    123123{} 
    124124 
     125ini_file::~ini_file() 
     126{} 
     127 
    125128void ini_file::load_data() 
    126129{ 
  • src/global/ini.hpp

    r268 r303  
    2424{ 
    2525public:  
     26        ini_file(std::wstring filename); 
     27        ~ini_file(); 
     28         
    2629        void load_data(); 
    2730        void save_data(); 
     
    3437        friend ini_file& ini(); 
    3538         
    36 private: 
    37         ini_file(std::wstring filename); 
    38          
    39         boost::scoped_ptr<ini_impl> pimpl; 
     39private:         
     40        std::auto_ptr<ini_impl> pimpl; 
    4041}; 
    4142 
  • src/halTorrent.cpp

    r301 r303  
    7676#include "halEvent.hpp" 
    7777#include "global/string_conv.hpp" 
     78#include "global/ini_adapter.hpp" 
    7879 
    7980#define foreach BOOST_FOREACH 
     
    569570                keepChecking_(false), 
    570571                workingDirectory(hal::app().working_directory()), 
     572                bittorrentIni(L"BitTorrent.xml"), 
     573                theTorrents(bittorrentIni), 
    571574                defTorrentMaxConn_(-1), 
    572575                defTorrentMaxUpload_(-1), 
     
    587590                theSession.set_max_half_open_connections(10); 
    588591                 
     592                /* 
    589593                bool tryOld = false; 
    590594                 
     
    592596                { 
    593597                 
    594                 fs::wifstream ifs(workingDirectory/L"Torrents.xml"); 
     598                fs::wifstream ifs(workingDirectory/L"BitTorrent.xml"); 
    595599                if (ifs) 
    596600                { 
     
    633637                } 
    634638                 
     639                */ 
    635640                if (exists(workingDirectory/L"DHTState.bin")) 
    636641                { 
     
    663668        bool keepChecking_; 
    664669         
     670        const wpath workingDirectory; 
     671        ini_file bittorrentIni; 
    665672        TorrentManager theTorrents;      
    666         const wpath workingDirectory; 
    667673         
    668674        int defTorrentMaxConn_; 
     
    685691        lbt::dht_settings dht_settings_; 
    686692        lbt::entry dht_state_; 
     693         
    687694}; 
    688695 
     
    692699 
    693700#define HAL_GENERIC_TORRENT_EXCEPTION_CATCH(TORRENT, FUNCTION) \ 
    694 catch (const lbt::invalid_handle&)\ 
     701catch (const lbt::invalid_handle&) \ 
    695702{\ 
    696         event().post(shared_ptr<EventDetail>(\ 
    697                 new EventInvalidTorrent(Event::critical, Event::invalidTorrent, TORRENT, std::string(FUNCTION))));\ 
     703        event().post(shared_ptr<EventDetail>( \ 
     704                new EventInvalidTorrent(Event::critical, Event::invalidTorrent, TORRENT, std::string(FUNCTION)))); \ 
    698705}\ 
    699 catch (const invalidTorrent& t)\ 
     706catch (const invalidTorrent& t) \ 
    700707{\ 
    701         event().post(shared_ptr<EventDetail>(\ 
    702                 new EventInvalidTorrent(Event::critical, Event::invalidTorrent, t.who(), std::string(FUNCTION))));\ 
     708        event().post(shared_ptr<EventDetail>( \ 
     709                new EventInvalidTorrent(Event::info, Event::invalidTorrent, t.who(), std::string(FUNCTION)))); \ 
    703710}\ 
    704 catch (const std::exception& e)\ 
     711catch (const std::exception& e) \ 
    705712{\ 
    706         event().post(shared_ptr<EventDetail>(\ 
    707                 new EventTorrentException(Event::critical, Event::torrentException, std::string(e.what()), TORRENT, std::string(FUNCTION))));\ 
     713        event().post(shared_ptr<EventDetail>( \ 
     714                new EventTorrentException(Event::critical, Event::torrentException, std::string(e.what()), TORRENT, std::string(FUNCTION)))); \ 
    708715} 
    709716 
  • src/halTorrentInternal.hpp

    r301 r303  
    704704typedef std::pair<std::string, TorrentInternal> TorrentPair; 
    705705 
    706 class TorrentManager 
     706class TorrentManager : public ini_adapter 
    707707{ 
    708708        struct TorrentHolder 
     
    714714                 
    715715                TorrentHolder() : 
    716                         torrent(), filename(L""), name(L"") 
     716                        torrent(), filename(torrent.filename()), name(torrent.name()) 
    717717                {} 
    718718                 
    719719                explicit TorrentHolder(const TorrentInternal& t) : 
    720                         torrent(t), filename(t.filename()), name(t.name()) 
     720                        torrent(t), filename(torrent.filename()), name(torrent.name()) 
    721721                {} 
    722                  
    723                 TorrentHolder(const wstring& f, const wstring& n, const TorrentInternal& t) : 
    724                         torrent(t), filename(f), name(n) 
    725                 {} 
    726                                  
     722                                                 
    727723                friend class boost::serialization::access; 
    728724                template<class Archive> 
     
    758754        typedef TorrentMultiIndex::index<byName>::type torrentByName; 
    759755         
    760         TorrentManager() 
     756        TorrentManager(ini_file& ini) : 
     757                ini_adapter("manager", ini) 
    761758        {} 
    762759         
    763         TorrentManager(const TorrentMap& map) 
    764         {                        
     760        TorrentManager& operator=(const TorrentMap& map) 
     761        { 
     762                torrents_.clear(); 
     763                 
    765764                for (TorrentMap::const_iterator i=map.begin(), e=map.end(); i != e; ++i) 
    766765                { 
     
    798797                { 
    799798                        return (*it).torrent; 
     799                } 
     800                 
     801                event().post(shared_ptr<EventDetail>( 
     802                        new EventMsg(wformat(L"Invalid Torrent. theTorrents size: %1%.") % torrents_.size())));  
     803 
     804                for (torrentByName::iterator i=begin(), e=end(); i != e; ++i) 
     805                { 
     806                event().post(shared_ptr<EventDetail>( 
     807                        new EventMsg(wformat(L"-> %1% - %2%.") % (*i).name % (*i).torrent.name())));     
    800808                } 
    801809                 
Note: See TracChangeset for help on using the changeset viewer.