1
/* This file is part of Clementine.
2
Copyright 2010, David Sansome <me@davidsansome.com>
4
Clementine is free software: you can redistribute it and/or modify
5
it under the terms of the GNU General Public License as published by
6
the Free Software Foundation, either version 3 of the License, or
7
(at your option) any later version.
9
Clementine is distributed in the hope that it will be useful,
10
but WITHOUT ANY WARRANTY; without even the implied warranty of
11
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
GNU General Public License for more details.
14
You should have received a copy of the GNU General Public License
15
along with Clementine. If not, see <http://www.gnu.org/licenses/>.
18
#ifndef GLOBALSEARCHTOOLTIP_H
19
#define GLOBALSEARCHTOOLTIP_H
21
#include "searchprovider.h"
25
class QAbstractButton;
28
class TooltipActionWidget;
30
class GlobalSearchTooltip : public QWidget {
34
GlobalSearchTooltip(QWidget* event_target);
36
static const qreal kBorderRadius;
37
static const qreal kTotalBorderWidth;
38
static const qreal kOuterBorderWidth;
39
static const qreal kArrowWidth;
40
static const qreal kArrowHeight;
42
void SetActions(const QList<QAction*>& actions) { common_actions_ = actions; }
43
void SetResults(const SearchProvider::ResultList& results);
44
void ShowAt(const QPoint& pointing_to);
46
int ActiveResultIndex() const { return active_result_; }
47
qreal ArrowOffset() const;
49
bool event(QEvent* e);
52
void ReloadSettings();
55
void paintEvent(QPaintEvent*);
58
void SwitchProvider();
61
void AddWidget(QWidget* widget, int* w, int* y);
64
QDesktopWidget* desktop_;
65
TooltipActionWidget* action_widget_;
66
QList<QAction*> common_actions_;
68
QAction* switch_action_;
70
SearchProvider::ResultList results_;
74
QWidget* event_target_;
77
QList<QAbstractButton*> result_buttons_;
80
bool show_tooltip_help_;
83
#endif // GLOBALSEARCHTOOLTIP_H