blob: 993f64c90af09bc5e324c3da40c8a7fbfcabc537 (
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
115
116
117
118
119
120
121
122
|
/***************************************************************************
smb4knetworkbrowsertooltip - Tool tip for the network browser.
-------------------
begin : Sa Jan 20 2007
copyright : (C) 2007 by Alexander Reinholdt
email : dustpuppy@users.berlios.de
***************************************************************************/
/***************************************************************************
* 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. *
* *
* This program is distributed in the hope that it will be useful, but *
* WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
* General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with this program; if not, write to the *
* Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, *
* MA 02110-1301 USA *
***************************************************************************/
#ifndef SMB4KNETWORKBROWSERTOOLTIP_H
#define SMB4KNETWORKBROWSERTOOLTIP_H
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
// Qt includes
#include <qlabel.h>
#include <qlayout.h>
// Forward declarations:
class Smb4KNetworkBrowserItem;
/**
* This class provides the tool tip for the network browser
* of Smb4K. It shows information about the associated share.
*
* @author Alexander Reinholdt <dustpuppy@users.berlios.de>
*/
class Smb4KNetworkBrowserToolTip : public QLabel
{
Q_OBJECT
public:
/**
* The constructor
*
* @param item The Smb4KNetworkBrowserItem object for which
* a tool tip should be shown.
*/
Smb4KNetworkBrowserToolTip( Smb4KNetworkBrowserItem *item );
/**
* The destructor
*/
~Smb4KNetworkBrowserToolTip();
/**
* Show the tool tip. Please note that the tool tip will not be shown
* exactly at position @p pos but with a displacement of 5 pixels in x-
* and y-direction.
*/
void showTip( const QPoint &pos );
/**
* If you need to update the tool tip while it is shown, this is the function
* you want to use. It rereads the entries from the assossiated
* Smb4KNetworkBrowserItem object and modifies the tool tip if changes happened.
*/
void update();
/**
* Returns the Smb4KNetworkBrowserItem object for which the tool tip
* should be shown.
*
* @returns a pointer to a Smb4KNetworkBrowserItem object.
*/
Smb4KNetworkBrowserItem *item() { return m_item; }
protected:
/**
* Reimplemented from QLabel.
*/
void mousePressEvent( QMouseEvent *e );
/**
* Reimplemented from QLabel.
*/
void leaveEvent( QEvent *e );
protected slots:
/**
* This slot hides the tool tip after 10 sec.
*/
void slotHideToolTip();
private:
/**
* The pointer to the Smb4KNetworkBrowserItem object
*/
Smb4KNetworkBrowserItem *m_item;
/**
* The layout for the tool tip
*/
QGridLayout *m_layout;
/**
* Set up the tool tip
*/
void setupTip();
};
#endif
|