This file is indexed.

/usr/include/akonadi/contact/contactdefaultactions.h is in kdepimlibs5-dev 4:4.14.10-7+b2.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  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
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
/*
    This file is part of Akonadi Contact.

    Copyright (c) 2009 Tobias Koenig <tokoe@kde.org>

    This library is free software; you can redistribute it and/or modify it
    under the terms of the GNU Library General Public License as published by
    the Free Software Foundation; either version 2 of the License, or (at your
    option) any later version.

    This library 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 Library General Public
    License for more details.

    You should have received a copy of the GNU Library General Public License
    along with this library; see the file COPYING.LIB.  If not, write to the
    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
    02110-1301, USA.
*/

#ifndef AKONADI_CONTACTDEFAULTACTIONS_H
#define AKONADI_CONTACTDEFAULTACTIONS_H

#include "akonadi-contact_export.h"

#include <QtCore/QObject>

class KUrl;

namespace KABC {
class Address;
class PhoneNumber;
}

namespace Akonadi {

/**
 * @short A convenience class that handles different contact related actions.
 *
 * This class handles contact related actions like opening an email address,
 * showing the address of a contact on a map etc.
 *
 * Example:
 *
 * @code
 *
 * using namespace Akonadi;
 *
 * const Item contact = ...
 *
 * ContactViewer *viewer = new ContactViewer( this );
 * viewer->setContact( contact );
 *
 * ContactDefaultActions *actions = new ContactDefaultActions( this );
 * actions->connectToView( viewer );
 * @endcode
 *
 * If you want to use the full functionality of ContactDefaultActions
 * but customize a single action (e.g. handling sending mail differently)
 * the following can be done:
 *
 * @code
 *
 * using namespace Akonadi;
 *
 * ContactViewer *viewer = new ContactViewer( this );
 * ContactDefaultActions *actions = new ContactDefaultActions( this );
 *
 * // first connect all actions
 * actions->connectToView( viewer );
 *
 * // then remove the signle/slot connection you want to overwrite
 * disconnect( viewer, SIGNAL( emailClicked( const QString&, const QString& ) ),
 *             actions, SLOT( sendEmail( const QString&, const QString& ) ) );
 *
 * // connect to your custom implementation
 * connect( viewer, SIGNAL( emailClicked( const QString&, const QString& ) ),
 *          this, SLOT( handleSpecial( const QString&, const QString& ) ) );
 *
 * @endcode
 *
 * @author Tobias Koenig <tokoe@kde.org>
 * @since 4.4
 */
class AKONADI_CONTACT_EXPORT ContactDefaultActions : public QObject
{
  Q_OBJECT

  public:
    /**
     * Creates a new contact default actions object.
     *
     * @param parent The parent object.
     */
    ContactDefaultActions( QObject *parent = 0 );

    /**
     * Destroys the contact default actions object.
     */
    virtual ~ContactDefaultActions();

    /**
     * Tries to connect the well known signals of the @p view
     * to the well known slots of this object.
     */
    void connectToView( QObject *view );

  public Q_SLOTS:
    /**
     * Shows the given @p url in the users preferred webbrowser.
     */
    void showUrl( const KUrl &url );

    /**
     * Opens the users preferred mail composer and does the setup
     * to send a mail to the contact with the given @p name and
     * email @p address.
     */
    void sendEmail( const QString &name, const QString &address );

    /**
     * Dials the given phone @p number with the application as
     * configured by the user in the general settings dialog.
     */
    void dialPhoneNumber( const KABC::PhoneNumber &number );

    /**
     * Sends a sms to @p number with the application as
     * configured by the user in the general settings dialog.
     */
    void sendSms( const KABC::PhoneNumber &number );

    /**
     * Shows the @p address of a contact in a webbrowser or application
     * as configured by the user in the general settings dialog.
     */
    void showAddress( const KABC::Address &address );

  private:
    //@cond PRIVATE
    class Private;
    Private* const d;
    //@endcond PRIVATE
};

}

#endif