summaryrefslogtreecommitdiffstats
path: root/konversation/src/dcctransferpanel.h
blob: 8628d77b88e1c6e709185becfee606f888b48aad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
/*
  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation; either version 2 of the License, or
  (at your option) any later version.
*/

/*
  begin:     Mit Aug 7 2002
  copyright: (C) 2002 by Dario Abatianni
  email:     eisfuchs@tigress.com
*/
// Copyright (C) 2004-2007 Shintaro Matsuoka <shin@shoegazed.org>

#ifndef DCCTRANSFERPANEL_H
#define DCCTRANSFERPANEL_H

#include "chatwindow.h"
#include "dcctransferpanelitem.h"


class TQContextMenuEvent;
class TQPushButton;
class KListView;
class KPopupMenu;

class DccTransferDetailedInfoPanel;

class DccTransferPanel : public ChatWindow
{
    Q_OBJECT
  TQ_OBJECT

        public:
        class Column
        {
            public:
                enum Object
                {
                    TypeIcon,
                    OfferDate,
                    tqStatus,
                    FileName,
                    PartnerNick,
                    Progress,
                    Position,
                    TimeLeft,
                    CurrentSpeed,
                    SenderAddress,
                    COUNT
                };
        };

        class Popup
        {
            public:
                enum Object
                {
                    SelectAll,
                    SelectAllCompleted,
                    Accept,
                    Abort,
                    Clear,
                    Open,
                    Info,
                    Resend
                };
        };

        DccTransferPanel(TQWidget* tqparent);
        ~DccTransferPanel();

        KListView* getListView();

    protected slots:
        void slotNewTransferAdded( DccTransfer* transfer );
        void slotTransferStatusChanged();

        void acceptDcc();
        void abortDcc();
        void resendFile();
        void clearDcc();
        void runDcc();
        void showFileInfo();
        void selectAll();
        void selectAllCompleted();

        void popupRequested(TQListViewItem* item,const TQPoint& pos,int col);
        void popupActivated(int id);

        void doubleClicked(TQListViewItem* _item,const TQPoint& _pos,int _col);

        void updateButton();

        void setDetailPanelItem(TQListViewItem* item_);

    protected:
        /** Called from ChatWindow adjustFocus */
        virtual void childAdjustFocus();

        void initGUI();

        KListView* m_listView;
        KPopupMenu* m_popup;

        DccTransferDetailedInfoPanel* m_detailPanel;

        TQPushButton* m_buttonAccept;
        TQPushButton* m_buttonAbort;
        TQPushButton* m_buttonClear;
        TQPushButton* m_buttonOpen;
        TQPushButton* m_buttonDetail;
};
#endif