LeechCraft
%{LEECHCRAFT_VERSION}
Modular cross-platform feature rich live environment.
Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Properties
Friends
Macros
Pages
tagslineedit.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2013 Georg Rudoy
4
*
5
* Boost Software License - Version 1.0 - August 17th, 2003
6
*
7
* Permission is hereby granted, free of charge, to any person or organization
8
* obtaining a copy of the software and accompanying documentation covered by
9
* this license (the "Software") to use, reproduce, display, distribute,
10
* execute, and transmit the Software, and to prepare derivative works of the
11
* Software, and to permit third-parties to whom the Software is furnished to
12
* do so, all subject to the following:
13
*
14
* The copyright notices in the Software and this entire statement, including
15
* the above license grant, this restriction and the following disclaimer,
16
* must be included in all copies of the Software, in whole or in part, and
17
* all derivative works of the Software, unless such copies or derivative
18
* works are solely in the form of machine-executable object code generated by
19
* a source language processor.
20
*
21
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
22
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
23
* FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
24
* SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
25
* FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
26
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
27
* DEALINGS IN THE SOFTWARE.
28
**********************************************************************/
29
30
#ifndef UTIL_TAGSLINEEDIT_H
31
#define UTIL_TAGSLINEEDIT_H
32
#include <memory>
33
#include <QLineEdit>
34
#include <
util/utilconfig.h
>
35
#include "
categoryselector.h
"
36
37
namespace
LeechCraft
38
{
39
namespace
Util
40
{
41
class
TagsCompleter;
42
50
class
TagsLineEdit
:
public
QLineEdit
51
{
52
Q_OBJECT
53
54
friend
class
TagsCompleter
;
55
56
std::unique_ptr<CategorySelector> CategorySelector_;
57
TagsCompleter
*Completer_;
58
59
QString Separator_;
60
public
:
67
UTIL_API
TagsLineEdit
(QWidget *parent);
68
76
UTIL_API
void
AddSelector
();
77
84
UTIL_API
QString
GetSeparator
()
const
;
85
92
UTIL_API
void
SetSeparator
(
const
QString&);
93
public
slots:
101
UTIL_API
void
insertTag
(
const
QString&
string
);
102
110
UTIL_API
void
handleTagsUpdated
(
const
QStringList& allTags);
111
120
UTIL_API
void
setTags
(
const
QStringList& tags);
121
private
slots:
122
void
handleSelectionChanged (
const
QStringList&);
123
protected
:
124
virtual
void
keyPressEvent
(QKeyEvent*);
125
virtual
void
focusInEvent
(QFocusEvent*);
126
virtual
void
contextMenuEvent
(QContextMenuEvent*);
127
void
SetCompleter
(
TagsCompleter
*);
128
private
:
129
QString textUnderCursor ()
const
;
130
signals:
131
UTIL_API
void
tagsChosen
();
132
};
133
};
134
};
135
136
#endif
137
LeechCraft::Util::TagsLineEdit::setTags
UTIL_API void setTags(const QStringList &tags)
Sets the currently selected tags.
Definition:
tagslineedit.cpp:116
LeechCraft::Util::TagsLineEdit::AddSelector
UTIL_API void AddSelector()
Adds the selector widget to the line edit.
Definition:
tagslineedit.cpp:49
utilconfig.h
LeechCraft::Util::TagsLineEdit::focusInEvent
virtual void focusInEvent(QFocusEvent *)
Definition:
tagslineedit.cpp:167
LeechCraft::Util::TagsLineEdit
A line edit class suitable for use with TagsCompleter.
Definition:
tagslineedit.h:50
UTIL_API
#define UTIL_API
Definition:
utilconfig.h:37
LeechCraft::Util::TagsLineEdit::insertTag
UTIL_API void insertTag(const QString &string)
Completes the string.
Definition:
tagslineedit.cpp:91
LeechCraft::Util::TagsLineEdit::handleTagsUpdated
UTIL_API void handleTagsUpdated(const QStringList &allTags)
Sets thew new list of the available tags.
Definition:
tagslineedit.cpp:111
LeechCraft::Util::TagsCompleter
Completer suitable for tag completion.
Definition:
tagscompleter.h:58
LeechCraft::Util::TagsLineEdit::TagsLineEdit
UTIL_API TagsLineEdit(QWidget *parent)
Constructs the line edit widget.
Definition:
tagslineedit.cpp:42
LeechCraft::Util::TagsLineEdit::SetSeparator
UTIL_API void SetSeparator(const QString &)
Sets the separator for the tags.
Definition:
tagslineedit.cpp:84
LeechCraft::Util::TagsLineEdit::tagsChosen
UTIL_API void tagsChosen()
LeechCraft::Util::TagsLineEdit::SetCompleter
void SetCompleter(TagsCompleter *)
Definition:
tagslineedit.cpp:186
LeechCraft::Util::TagsLineEdit::keyPressEvent
virtual void keyPressEvent(QKeyEvent *)
Definition:
tagslineedit.cpp:130
LeechCraft::Util::TagsLineEdit::contextMenuEvent
virtual void contextMenuEvent(QContextMenuEvent *)
Definition:
tagslineedit.cpp:174
LeechCraft::Util::TagsLineEdit::GetSeparator
UTIL_API QString GetSeparator() const
Returns the separator for the tags.
Definition:
tagslineedit.cpp:79
categoryselector.h
src
util
tags
tagslineedit.h
Generated by
1.8.5