• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • workspace API Reference
  • KDE Home
  • Contact Us
 

liblancelot

  • sources
  • kde-4.14
  • workspace
  • kdeplasma-addons
  • libs
  • lancelot
  • models
StandardActionListModel.cpp
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2007, 2008, 2009, 2010 Ivan Cukic <ivan.cukic(at)kde.org>
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU Lesser/Library General Public License version 2,
6  * or (at your option) any later version, as published by the Free
7  * Software Foundation
8  *
9  * This program 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 Lesser/Library General Public License for more details
13  *
14  * You should have received a copy of the GNU Lesser/Library General Public
15  * License along with this program; if not, write to the
16  * Free Software Foundation, Inc.,
17  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18  */
19 
20 #include "StandardActionListModel.h"
21 
22 namespace Lancelot {
23 
24 class StandardActionListModel::Private {
25 public:
26  bool sendEmits;
27  QList < Item > items;
28 };
29 
30 StandardActionListModel::StandardActionListModel()
31  : d(new Private())
32 {
33  d->sendEmits = true;
34 }
35 
36 StandardActionListModel::~StandardActionListModel()
37 {
38  delete d;
39 }
40 
41 void StandardActionListModel::setEmitInhibited(bool value)
42 {
43  d->sendEmits = !value;
44 }
45 
46 bool StandardActionListModel::emitInhibited() const
47 {
48  return !d->sendEmits;
49 }
50 
51 QString StandardActionListModel::title(int index) const
52 {
53  if (index >= d->items.size()) return "";
54 
55  QString result = d->items.at(index).title;
56 
57  result.replace('&', "&&");
58  return result;
59 }
60 
61 QString StandardActionListModel::description(int index) const
62 {
63  if (index >= d->items.size()) return "";
64  return d->items.at(index).description;
65 }
66 
67 QIcon StandardActionListModel::icon(int index) const
68 {
69  if (index >= d->items.size()) return QIcon();
70  return d->items.at(index).icon;
71 }
72 
73 bool StandardActionListModel::isCategory(int index) const
74 {
75  Q_UNUSED(index);
76  return false;
77 }
78 
79 int StandardActionListModel::size() const
80 {
81  return d->items.size();
82 }
83 
84 void StandardActionListModel::add(const Item & item)
85 {
86  d->items.append(item);
87  if (d->sendEmits) {
88  emit itemInserted(d->items.size() - 1);
89  }
90 }
91 
92 void StandardActionListModel::add(const QString & title, const QString & description, QIcon icon, const QVariant & data)
93 {
94  add(Item(title, description, icon, data));
95 }
96 
97 void StandardActionListModel::insert(int where, const Item & item)
98 {
99  d->items.insert(where, item);
100  if (d->sendEmits) {
101  emit itemInserted(where);
102  }
103 }
104 
105 void StandardActionListModel::insert(int where, const QString & title, const QString & description, QIcon icon, const QVariant & data)
106 {
107  insert(where, Item(title, description, icon, data));
108 }
109 
110 void StandardActionListModel::set(int index, const Item & item)
111 {
112  if (index < 0 || index >= d->items.size()) return;
113  d->items[index] = item;
114  if (d->sendEmits) {
115  emit itemAltered(index);
116  }
117 }
118 
119 void StandardActionListModel::set(int index, const QString & title, const QString & description, QIcon icon, const QVariant & data)
120 {
121  set(index, Item(title, description, icon, data));
122 }
123 
124 void StandardActionListModel::removeAt(int index)
125 {
126  d->items.removeAt(index);
127  if (d->sendEmits) {
128  emit itemDeleted(index);
129  }
130 }
131 
132 void StandardActionListModel::clear()
133 {
134  d->items.clear();
135  if (d->sendEmits) {
136  emit updated();
137  }
138 }
139 
140 const StandardActionListModel::Item & StandardActionListModel::itemAt(int index) const
141 {
142  return d->items[index];
143 }
144 
145 } // namespace Lancelot
146 
147 #include "StandardActionListModel.moc"
148 
Lancelot::StandardActionListModel::size
L_Override int size() const
Definition: StandardActionListModel.cpp:79
Lancelot::StandardActionListModel::setEmitInhibited
void setEmitInhibited(bool value)
Sets whether emit signals should be inhibited.
Definition: StandardActionListModel.cpp:41
Lancelot::StandardActionListModel::itemAt
const Item & itemAt(int index) const
Definition: StandardActionListModel.cpp:140
Lancelot::StandardActionListModel::insert
void insert(int where, const Item &item)
Adds a new item into the model.
Definition: StandardActionListModel.cpp:97
Lancelot::ActionListModel::updated
void updated()
This signal is emitted when the model is updated and the update is too complex to explain using itemI...
Lancelot::StandardActionListModel::clear
void clear()
Clears all items.
Definition: StandardActionListModel.cpp:132
Lancelot::StandardActionListModel::isCategory
L_Override bool isCategory(int index) const
Definition: StandardActionListModel.cpp:73
StandardActionListModel.h
Lancelot::StandardActionListModel::title
L_Override QString title(int index) const
Definition: StandardActionListModel.cpp:51
Lancelot::StandardActionListModel::Item
This class represents an item in the list model.
Definition: StandardActionListModel.h:41
Lancelot::StandardActionListModel::StandardActionListModel
StandardActionListModel()
Creates a new instance of StandardActionListModel.
Definition: StandardActionListModel.cpp:30
Lancelot::StandardActionListModel::set
void set(int index, const Item &item)
Replaces existing item at specified index with a new one.
Definition: StandardActionListModel.cpp:110
QString
QList
QString::replace
QString & replace(int position, int n, QChar after)
Lancelot::StandardActionListModel::~StandardActionListModel
virtual ~StandardActionListModel()
Destroys this StandardActionListModel.
Definition: StandardActionListModel.cpp:36
Lancelot::StandardActionListModel::emitInhibited
bool emitInhibited() const
Definition: StandardActionListModel.cpp:46
Lancelot::StandardActionListModel::removeAt
void removeAt(int index)
Removes an item.
Definition: StandardActionListModel.cpp:124
Lancelot::StandardActionListModel::add
void add(const Item &item)
Adds a new item into the model.
Definition: StandardActionListModel.cpp:84
Lancelot::StandardActionListModel::description
L_Override QString description(int index) const
Definition: StandardActionListModel.cpp:61
Lancelot::StandardActionListModel::icon
L_Override QIcon icon(int index) const
Definition: StandardActionListModel.cpp:67
Lancelot::ActionListModel::itemDeleted
void itemDeleted(int index)
This signal is emitted when an item is deleted from the model.
QIcon
Lancelot::ActionListModel::itemAltered
void itemAltered(int index)
This signal is emitted when an item is altered.
QVariant
Lancelot::ActionListModel::itemInserted
void itemInserted(int index)
This signal is emitted when an item is inserted into the model.
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:43:01 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

liblancelot

Skip menu "liblancelot"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

workspace API Reference

Skip menu "workspace API Reference"
  • kdeplasma-addons
  •       GroupingDesktop
  •     liblancelot

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal