Changeset 317


Ignore:
Timestamp:
10/15/07 17:02:28 (12 years ago)
Author:
Eoin
Message:

Bugfixes.

Files:
13 edited

Legend:

Unmodified
Added
Removed
  • Halite.pnproj

    r316 r317  
    1 <Project name="Halite"><MagicFolder excludeFolders="CVS;.svn" filter="*.*" name="res" path="res\"><File path="afxres.h"></File><File path="ConfigDefines.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="AtlAutosizeDlg.h"></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\"><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="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="AtlAutosizeDlg.h"></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

    r316 r317  
    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="false"></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\res\res24" x="false"></e><e p="Halite\src" x="true"></e><e p="Halite\src\global" x="false"></e></ViewState></pd> 
  • res/Halite.rc

    r316 r317  
    44 
    55#include "../src/advtabs/Tracker.hpp" 
     6#include "../src/advtabs/TrackerListView.hpp" 
    67#include "../src/HaliteDialog.hpp" 
    78#include "../src/ConfigOptions.hpp" 
     
    404405        MENUITEM "Stop",ID_LVM_STOP 
    405406        MENUITEM SEPARATOR 
    406         MENUITEM "Reannounce",ID_LVM_REANNOUNCE 
     407    //    MENUITEM "Reannounce",ID_TLVM_PRIMARY 
    407408        POPUP "Remove" 
    408409        BEGIN 
     
    419420        MENUITEM "New",ID_TLVM_NEW 
    420421        MENUITEM "Edit",ID_TLVM_EDIT 
     422        MENUITEM "Set as Primary",ID_TLVM_PRIMARY 
     423        MENUITEM SEPARATOR 
    421424        MENUITEM "Delete",ID_TLVM_DELETE 
    422425    END 
  • res/resource.h

    r315 r317  
    161161#define IDPANE_STATUS                   40000 
    162162#define ID_LVM_RESUME                   40000 
    163 #define ID_TLVM_NEW                     40000 
    164163#define IDPANE_CAPS_INDICATOR           40001 
    165 #define ID_TLVM_EDIT                    40001 
    166164#define ID__LVM_PAUSE                   40001 
    167165#define IDPANE_DHT                      40002 
    168166#define ID_LVM_STOP                     40002 
    169 #define ID_TLVM_DELETE                  40002 
    170167#define IDPANE_FILTER                   40003 
    171168#define ID_LVM_REANNOUNCE               40003 
  • src/Halite.cpp

    r314 r317  
    55//          http://www.boost.org/LICENSE_1_0.txt) 
    66 
    7 #define HALITE_GUID L"HALITE-{E3A8BF7D-962F-476E-886B-FECEDD2F0FC7}" 
    8 #define WMU_ARE_YOU_ME_STRING  L"WMU_ARE_YOU_ME_HALITE-{E3A8BF7D-962F-476E-886B-FECEDD2F0FC7}" 
     7#define HALITE_GUID L"HALITE-{E3A8BF7D-962F-476E-886B-FECEDD2F0FC7}-dev" 
     8#define WMU_ARE_YOU_ME_STRING  L"WMU_ARE_YOU_ME_HALITE-{E3A8BF7D-962F-476E-886B-FECEDD2F0FC7}-dev" 
    99#pragma comment(linker, "\"/manifestdependency:type='Win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"") 
    1010 
  • src/HaliteDialogBase.hpp

    r316 r317  
    7676                        current_torrent_name_ = torrent_name; 
    7777                         
    78                         hal::event().post(shared_ptr<hal::EventDetail>( 
    79                                 new hal::EventMsg(L"focusChanged"))); 
    80                                  
    8178                        pT->focusChanged(tD.focusedTorrent()); 
    8279                } 
  • src/HaliteListView.hpp

    r316 r317  
    142142        struct Ratio : public ColAdapter_t 
    143143        { 
    144                 virtual int compare(tD& l, tD& r)       { return hal::compare(l->ratio(), r->ratio()); }                 
    145                 virtual std::wstring print(tD& t) { return lexical_cast<wstring>(t->ratio()); }          
     144                virtual int compare(tD& l, tD& r)        
     145                {  
     146                        float left = (l->totalPayloadDownloaded())  
     147                                        ? static_cast<float>(l->totalPayloadUploaded()) 
     148                                                / static_cast<float>(l->totalPayloadDownloaded()) 
     149                                        : 0; 
     150                         
     151                        float right = (r->totalPayloadDownloaded())  
     152                                        ? static_cast<float>(r->totalPayloadUploaded()) 
     153                                                / static_cast<float>(r->totalPayloadDownloaded()) 
     154                                        : 0; 
     155                         
     156                        return hal::compare(left, right);  
     157                }                
     158                virtual std::wstring print(tD& t) 
     159                { 
     160                        float ratio = (t->totalPayloadDownloaded())  
     161                                        ? static_cast<float>(t->totalPayloadUploaded()) 
     162                                                / static_cast<float>(t->totalPayloadDownloaded()) 
     163                                        : 0; 
     164                         
     165                        return (wformat(L"%1$.2f") % ratio).str();  
     166                }                
    146167        }; 
    147168         
  • src/advtabs/Files.cpp

    r316 r317  
    272272                        i != e; ++i) 
    273273                { 
    274                          
    275                 hal::event().post(shared_ptr<hal::EventDetail>( 
    276                         new hal::EventMsg(wformat(L"-> %1% - %2%.") % (*i).filename % (*i).order())));   
    277                          
    278274                        hal::FileDetail fileD = pT->fileDetails()[(*i).order()]; 
    279275                         
  • src/advtabs/Torrent.cpp

    r316 r317  
    192192                                % (static_cast<float>(torrent->totalWanted())/(1024*1024))); 
    193193                 
    194                 wstring eta = L"„";                      
     194                wstring eta = L"∞";      
    195195                if (!torrent->estimatedTimeLeft().is_special()) 
    196196                        eta = hal::from_utf8(boost::posix_time::to_simple_string(torrent->estimatedTimeLeft())); 
  • src/advtabs/Tracker.cpp

    r316 r317  
    1111 
    1212#include "Tracker.hpp" 
     13 
     14LRESULT AdvTrackerDialog::onInitDialog(HWND, LPARAM) 
     15{ 
     16        dialogBaseClass::InitializeHalDialogBase();      
     17         
     18        m_list.Attach(GetDlgItem(IDC_TRACKERLIST));      
     19        m_list.attachEditedConnection(bind(&AdvTrackerDialog::trackerListEdited, this)); 
     20 
     21        string torrent_name;     
     22         
     23        if (hal::bittorrent().torrentDetails().focusedTorrent()) 
     24                torrent_name = hal::to_utf8(hal::bittorrent().torrentDetails().focusedTorrent()->name()); 
     25         
     26        if (hal::bittorrent().isTorrent(torrent_name)) 
     27        {                
     28                ::EnableWindow(GetDlgItem(IDC_TRACKER_LOGINCHECK), true); 
     29                ::EnableWindow(GetDlgItem(IDC_TRACKERLIST), true); 
     30                 
     31                pair<wstring, wstring> details =  
     32                        hal::bittorrent().getTorrentLogin(torrent_name); 
     33                 
     34                username_ = details.first; 
     35                password_ = details.second; 
     36        } 
     37        else 
     38        {                
     39                ::EnableWindow(GetDlgItem(IDC_TRACKER_LOGINCHECK), false); 
     40                ::EnableWindow(GetDlgItem(IDC_TRACKERLIST), false); 
     41                 
     42                username_ = L""; 
     43                password_ = L""; 
     44        } 
     45                 
     46        setLoginUiState(torrent_name); 
     47        DoDataExchange(false);   
     48        return 0; 
     49} 
     50 
     51void AdvTrackerDialog::setLoginUiState(const string& torrent_name) 
     52{ 
     53        if (username_ == L"") 
     54        { 
     55                ::SendMessage(GetDlgItem(IDC_TRACKER_LOGINCHECK), BM_SETCHECK, BST_UNCHECKED, 0); 
     56                password_ = L""; 
     57        } 
     58        else 
     59        {        
     60                ::SendMessage(GetDlgItem(IDC_TRACKER_LOGINCHECK), BM_SETCHECK, BST_CHECKED, 0); 
     61        } 
     62         
     63        onLoginCheck(0, 0, GetDlgItem(IDC_TRACKER_LOGINCHECK));  
     64} 
     65 
     66void AdvTrackerDialog::onClose() 
     67{ 
     68        if(::IsWindow(m_hWnd))  
     69        { 
     70                ::DestroyWindow(m_hWnd); 
     71        } 
     72} 
     73 
     74LRESULT AdvTrackerDialog::OnEditKillFocus(UINT uCode, int nCtrlID, HWND hwndCtrl) 
     75{ 
     76        DoDataExchange(true); 
     77         
     78        string torrent_name;     
     79        if (hal::bittorrent().torrentDetails().focusedTorrent()) 
     80                torrent_name = hal::to_utf8(hal::bittorrent().torrentDetails().focusedTorrent()->name()); 
     81         
     82        setLoginUiState(torrent_name); 
     83        hal::bittorrent().setTorrentLogin(torrent_name, username_, password_); 
     84         
     85        return 0; 
     86} 
    1387 
    1488void AdvTrackerDialog::focusChanged(const hal::TorrentDetail_ptr pT) 
     
    94168} 
    95169 
    96 LRESULT AdvTrackerDialog::onInitDialog(HWND, LPARAM) 
    97 { 
    98         dialogBaseClass::InitializeHalDialogBase();      
    99          
    100         m_list.Attach(GetDlgItem(IDC_TRACKERLIST));      
    101         m_list.attachEditedConnection(bind(&AdvTrackerDialog::trackerListEdited, this)); 
    102  
    103         string torrent_name;     
    104          
    105         if (hal::bittorrent().torrentDetails().focusedTorrent()) 
    106                 torrent_name = hal::to_utf8(hal::bittorrent().torrentDetails().focusedTorrent()->name()); 
    107          
    108         if (hal::bittorrent().isTorrent(torrent_name)) 
    109         {                
    110                 ::EnableWindow(GetDlgItem(IDC_TRACKER_LOGINCHECK), true); 
    111                 ::EnableWindow(GetDlgItem(IDC_TRACKERLIST), true); 
    112                  
    113                 pair<wstring, wstring> details =  
    114                         hal::bittorrent().getTorrentLogin(torrent_name); 
    115                  
    116                 username_ = details.first; 
    117                 password_ = details.second; 
    118         } 
    119         else 
    120         {                
    121                 ::EnableWindow(GetDlgItem(IDC_TRACKER_LOGINCHECK), false); 
    122                 ::EnableWindow(GetDlgItem(IDC_TRACKERLIST), false); 
    123                  
    124                 username_ = L""; 
    125                 password_ = L""; 
    126         } 
    127                  
    128         setLoginUiState(torrent_name); 
    129         DoDataExchange(false);   
    130         return 0; 
    131 } 
    132  
    133 void AdvTrackerDialog::setLoginUiState(const string& torrent_name) 
    134 { 
    135         if (username_ == L"") 
    136         { 
    137                 ::SendMessage(GetDlgItem(IDC_TRACKER_LOGINCHECK), BM_SETCHECK, BST_UNCHECKED, 0); 
    138                 password_ = L""; 
    139         } 
    140         else 
    141         {        
    142                 ::SendMessage(GetDlgItem(IDC_TRACKER_LOGINCHECK), BM_SETCHECK, BST_CHECKED, 0); 
    143         } 
    144          
    145         onLoginCheck(0, 0, GetDlgItem(IDC_TRACKER_LOGINCHECK));  
    146 } 
    147  
    148 void AdvTrackerDialog::onClose() 
    149 { 
    150         if(::IsWindow(m_hWnd))  
    151         { 
    152                 ::DestroyWindow(m_hWnd); 
    153         } 
    154 } 
    155  
    156 LRESULT AdvTrackerDialog::OnEditKillFocus(UINT uCode, int nCtrlID, HWND hwndCtrl) 
    157 { 
    158         DoDataExchange(true); 
    159          
    160         string torrent_name;     
    161         if (hal::bittorrent().torrentDetails().focusedTorrent()) 
    162                 torrent_name = hal::to_utf8(hal::bittorrent().torrentDetails().focusedTorrent()->name()); 
    163          
    164         setLoginUiState(torrent_name); 
    165         hal::bittorrent().setTorrentLogin(torrent_name, username_, password_); 
    166          
    167         return 0; 
    168 } 
    169  
    170170void AdvTrackerDialog::onReannounce(UINT, int, HWND) 
    171171{ 
     
    223223        ::EnableWindow(GetDlgItem(IDC_TRACKER_APPLY), false); 
    224224} 
    225  
  • src/advtabs/TrackerListView.cpp

    r316 r317  
    66 
    77#include "TrackerListView.hpp" 
    8  
    9 //#include "../GlobalIni.hpp" 
    10 //#include "../ini/Window.hpp" 
    118#include "../halTorrent.hpp" 
    129#include "TrackerAddDialog.hpp" 
     
    121118        return 0; 
    122119} 
     120 
     121LRESULT TrackerListViewCtrl::OnPrimary(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled) 
     122{        
     123        TryUpdateLock<listClass> lock(*this); 
     124        if (lock)  
     125        {        
     126         
     127        for (int i=0, e=GetItemCount(); i<e; ++i) 
     128        { 
     129                array<wchar_t, MAX_PATH> buffer;                 
     130                GetItemText(i, 1, buffer.elems, buffer.size()); 
     131                 
     132                if (wstring(buffer.elems) == L"0") 
     133                        SetItemText(i, 1, L"1"); 
     134        } 
     135         
     136        SetItemText(manager().selectedIndex(), 1, L"0"); 
     137         
     138        listEdited_(); 
     139         
     140        }        
     141        return 0; 
     142} 
  • src/advtabs/TrackerListView.hpp

    r316 r317  
    55//          http://www.boost.org/LICENSE_1_0.txt) 
    66 
    7 #pragma once 
     7#define ID_TLVM_BEGIN           11000 
     8#define ID_TLVM_NEW             ID_TLVM_BEGIN + 1 
     9#define ID_TLVM_EDIT            1526 
     10#define ID_TLVM_DELETE          ID_TLVM_BEGIN + 3 
     11#define ID_TLVM_PRIMARY         ID_TLVM_BEGIN + 4 
     12 
     13#ifndef RC_INVOKED 
    814 
    915#include <boost/signals.hpp> 
     
    5763                COMMAND_ID_HANDLER(ID_TLVM_EDIT, OnEdit) 
    5864                COMMAND_ID_HANDLER(ID_TLVM_DELETE, OnDelete) 
     65                COMMAND_ID_HANDLER(ID_TLVM_PRIMARY, OnPrimary) 
    5966 
    6067                REFLECTED_NOTIFY_CODE_HANDLER(NM_DBLCLK, OnDoubleClick) 
     
    7986        LRESULT OnEdit(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    8087        LRESULT OnDelete(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
     88        LRESULT OnPrimary(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    8189 
    8290        void attachEditedConnection(boost::function<void ()> fn) { listEdited_.connect(fn); } 
     
    9098 
    9199typedef TrackerListViewCtrl::SelectionManager TrackerListViewManager; 
     100 
     101#endif // RC_INVOKED 
  • src/halTorrent.cpp

    r316 r317  
    16311631{ 
    16321632        try { 
    1633          
     1633 
     1634        if (wipeFiles) 
     1635                theSession.remove_torrent(handle, lbt::session::delete_files); 
     1636        else 
     1637                theSession.remove_torrent(handle); 
     1638                 
     1639#if 0    
    16341640        if (!wipeFiles) 
    16351641                theSession.remove_torrent(handle); 
     
    16561662                } 
    16571663        }        
    1658          
     1664#endif   
    16591665        } HAL_GENERIC_TORRENT_EXCEPTION_CATCH("Torrent Unknown!", "removalThread") 
    16601666} 
Note: See TracChangeset for help on using the changeset viewer.