~ubuntu-branches/ubuntu/precise/transmission/precise

« back to all changes in this revision

Viewing changes to beos/TRTransfer.h

  • Committer: Bazaar Package Importer
  • Author(s): Leo Costela
  • Date: 2009-05-17 19:39:51 UTC
  • mto: (1.3.4 upstream) (2.2.1 squeeze)
  • mto: This revision was merged to the branch mainline in revision 36.
  • Revision ID: james.westby@ubuntu.com-20090517193951-k8x15sqoxzf7cuyx
ImportĀ upstreamĀ versionĀ 1.61

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/**
2
 
 * Copyright (C) 2007 Bryan Varner
3
 
 *
4
 
 * Permission is hereby granted, free of charge, to any person obtaining
5
 
 * a copy of this software and associated documentation files (the
6
 
 * "Software"), to deal in the Software without restriction, including
7
 
 * without limitation the rights to use, copy, modify, merge, publish,
8
 
 * distribute, sublicense, and/or sell copies of the Software, and to
9
 
 * permit persons to whom the Software is furnished to do so, subject to
10
 
 * the following conditions:
11
 
 * 
12
 
 * The above copyright notice and this permission notice shall be included
13
 
 * in all copies or substantial portions of the Software.
14
 
 * 
15
 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
16
 
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
17
 
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
18
 
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
19
 
 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
20
 
 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
21
 
 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
22
 
 *
23
 
 * $Id: TRTransfer.h 4182 2007-12-17 06:30:42Z charles $
24
 
 */
25
 
 
26
 
#ifndef TR_TRANSFER
27
 
#define TR_TRANSFER
28
 
 
29
 
#include <Entry.h>
30
 
#include <ListItem.h>
31
 
#include <Locker.h>
32
 
#include <String.h>
33
 
#include <View.h>
34
 
 
35
 
#include <libtransmission/transmission.h>
36
 
 
37
 
class TRTransfer : public BListItem {
38
 
public: // Construction and Controll methods.
39
 
        TRTransfer(const char *fullpath, node_ref node, tr_torrent_t *torrentRef);
40
 
        ~TRTransfer();
41
 
 
42
 
        inline node_ref GetCachedNodeRef() { return cachedNodeRef; };
43
 
        inline const char* GetCachedPath() { return cachedPath->String(); };
44
 
        inline tr_torrent_t* GetTorrent()  { return torrent; };
45
 
        
46
 
        bool UpdateStatus(const tr_stat_t *stat, bool shade);
47
 
        bool IsRunning();
48
 
        
49
 
public: // BListItem
50
 
        virtual void Update(BView *owner, const BFont *font);
51
 
        virtual void DrawItem(BView *owner, BRect frame, bool complete = false);
52
 
 
53
 
private: 
54
 
        node_ref cachedNodeRef;
55
 
        BString *cachedPath;
56
 
        tr_torrent_t *torrent;
57
 
 
58
 
private: // Private members used for rendering.
59
 
        float fBaselineOffset;
60
 
        float fLineSpacing;
61
 
        
62
 
        BLocker *fStatusLock;
63
 
        tr_stat_t *fStatus;
64
 
        BString *fName;
65
 
        
66
 
        rgb_color fBarColor;
67
 
        
68
 
        char* fTimeStr;
69
 
        char* fTransStr;
70
 
        
71
 
        bool fShade;
72
 
};
73
 
 
74
 
#endif /* TR_TRANSFER */