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

kontact

  • sources
  • kde-4.12
  • kdepim
  • kontact
  • plugins
  • knotes
knotesiconview.cpp
Go to the documentation of this file.
1 /*
2  Copyright (c) 2013 Montel Laurent <montel@kde.org>
3 
4  This program is free software; you can redistribute it and/or modify it
5  under the terms of the GNU General Public License, version 2, as
6  published by the Free Software Foundation.
7 
8  This program is distributed in the hope that it will be useful, but
9  WITHOUT ANY WARRANTY; without even the implied warranty of
10  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11  General Public License for more details.
12 
13  You should have received a copy of the GNU General Public License along
14  with this program; if not, write to the Free Software Foundation, Inc.,
15  51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16 */
17 
18 #include "knotesiconview.h"
19 #include "utils/knoteutils.h"
20 #include "knoteconfig.h"
21 
22 #include <KCal/Journal>
23 using namespace KCal;
24 
25 #include <KIconEffect>
26 #include <KIconLoader>
27 #include <QColor>
28 #include <QPixmap>
29 #include <QMouseEvent>
30 
31 KNotesIconView::KNotesIconView( KNotesPart *part )
32  : KListWidget(),
33  m_part( part )
34 {
35  setViewMode( QListView::IconMode );
36  setMovement( QListView::Static );
37  setSortingEnabled( true );
38  setSelectionMode( QAbstractItemView::ExtendedSelection );
39  setWordWrap( true );
40  setMouseTracking ( true );
41 }
42 
43 void KNotesIconView::mousePressEvent( QMouseEvent *e )
44 {
45  if ( e->button() == Qt::RightButton ) {
46  QListWidget::mousePressEvent( e );
47  m_part->popupRMB( currentItem(), e->pos (), e->globalPos() );
48  } else {
49  KListWidget::mousePressEvent( e );
50  }
51 }
52 
53 
54 KNotesIconViewItem::KNotesIconViewItem( QListWidget *parent, Journal *journal )
55  : QListWidgetItem( parent ),
56  mJournal( journal ),
57  mConfig(0)
58 {
59  QString configPath;
60 
61  mConfig = KNoteUtils::createConfig(journal, configPath);
62  KNoteUtils::setProperty(journal, mConfig);
63 
64  updateSettings();
65  setIconText( journal->summary() );
66 }
67 
68 KNotesIconViewItem::~KNotesIconViewItem()
69 {
70  delete mConfig;
71 }
72 
73 
74 void KNotesIconViewItem::updateSettings()
75 {
76  KNoteUtils::savePreferences(mJournal, mConfig);
77  KIconEffect effect;
78  QColor color( mConfig->bgColor() );
79  QPixmap icon = KIconLoader::global()->loadIcon( QLatin1String("knotes"), KIconLoader::Desktop );
80  icon = effect.apply( icon, KIconEffect::Colorize, 1, color, false );
81  setFont(mConfig->titleFont());
82  mConfig->writeConfig();
83  setIcon( icon );
84 }
85 
86 Journal *KNotesIconViewItem::journal() const
87 {
88  return mJournal;
89 }
90 
91 KNoteConfig *KNotesIconViewItem::config()
92 {
93  return mConfig;
94 }
95 
96 QString KNotesIconViewItem::realName() const
97 {
98  return mJournal->summary();
99 }
100 
101 void KNotesIconViewItem::setIconText( const QString &text )
102 {
103  QString replaceText ;
104  if ( text.count() > 50 ) {
105  replaceText = text.left(50) + QLatin1String("...");
106  } else {
107  replaceText = text ;
108  }
109 
110  setText( replaceText );
111 
112  mJournal->setSummary( text );
113 }
114 
115 bool KNotesIconViewItem::readOnly() const
116 {
117  return mConfig->readOnly();
118 }
119 
120 void KNotesIconViewItem::setReadOnly(bool b)
121 {
122  mConfig->setReadOnly(b);
123  mConfig->writeConfig();
124 }
125 
126 int KNotesIconViewItem::tabSize() const
127 {
128  return mConfig->tabSize();
129 }
130 
131 bool KNotesIconViewItem::autoIndent() const
132 {
133  return mConfig->autoIndent();
134 }
135 
136 QFont KNotesIconViewItem::textFont() const
137 {
138  return mConfig->font();
139 }
140 
141 bool KNotesIconViewItem::isRichText() const
142 {
143  const QString property = mJournal->customProperty("KNotes", "RichText");
144  return (property == QLatin1String("true") ? true : false );
145 }
KNotesIconViewItem::autoIndent
bool autoIndent() const
Definition: knotesiconview.cpp:131
KNotesIconView::mousePressEvent
void mousePressEvent(QMouseEvent *)
Definition: knotesiconview.cpp:43
KNotesIconViewItem::KNotesIconViewItem
KNotesIconViewItem(QListWidget *parent, Journal *journal)
Definition: knotesiconview.cpp:54
text
virtual QByteArray text(quint32 serialNumber) const =0
QListWidget
KNotesIconViewItem::journal
Journal * journal() const
Definition: knotesiconview.cpp:86
KNotesIconViewItem::~KNotesIconViewItem
~KNotesIconViewItem()
Definition: knotesiconview.cpp:68
KNotesIconViewItem::updateSettings
void updateSettings()
Definition: knotesiconview.cpp:74
KNotesPart
Definition: knotes_part.h:48
KNotesIconViewItem::setIconText
void setIconText(const QString &text)
Definition: knotesiconview.cpp:101
KNotesIconViewItem::isRichText
bool isRichText() const
Definition: knotesiconview.cpp:141
KNotesIconView::KNotesIconView
KNotesIconView(KNotesPart *)
Definition: knotesiconview.cpp:31
KNotesIconViewItem::realName
QString realName() const
Definition: knotesiconview.cpp:96
KNotesIconViewItem::config
KNoteConfig * config()
Definition: knotesiconview.cpp:91
QListWidgetItem
KNotesIconViewItem::readOnly
bool readOnly() const
Definition: knotesiconview.cpp:115
KNotesIconViewItem::textFont
QFont textFont() const
Definition: knotesiconview.cpp:136
knotesiconview.h
KNotesPart::popupRMB
void popupRMB(QListWidgetItem *item, const QPoint &pos, const QPoint &globalPos)
Definition: knotes_part.cpp:461
KNotesIconViewItem::setReadOnly
void setReadOnly(bool b)
Definition: knotesiconview.cpp:120
KListWidget
KNotesIconViewItem::tabSize
int tabSize() const
Definition: knotesiconview.cpp:126
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:58:30 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kontact

Skip menu "kontact"
  • Main Page
  • Namespace List
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdepim API Reference

Skip menu "kdepim API Reference"
  • akonadi_next
  • akregator
  • blogilo
  • calendarsupport
  • console
  •   kabcclient
  •   konsolekalendar
  • kaddressbook
  • kalarm
  •   lib
  • kdgantt2
  • kjots
  • kleopatra
  • kmail
  • knode
  • knotes
  • kontact
  • korgac
  • korganizer
  • ktimetracker
  • libkdepim
  • libkleo
  • libkpgp
  • mailcommon
  • messagelist
  • messageviewer

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