Skip to content
Snippets Groups Projects
Select Git revision
  • 6da5936fdd23150c7609828bf8b87d78a528d576
  • master default protected
  • release/202005
  • release/202001
  • release/201912
  • release/201911
  • release/releaseWindowsTestOne
  • release/releaseTest
  • release/releaseWindowsTest
  • release/windowsReleaseTest
  • release/201910
  • release/qt/201910
  • release/windows-test/201910
  • release/201908
  • release/201906
  • release/201905
  • release/201904
  • release/201903
  • release/201902
  • release/201901
  • release/201812
  • 1.0.0
  • 0.3.0
  • 0.2.1
  • 0.2.0
  • 0.1.0
26 results

numbercompletionmodel.h

Blame
  • Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    numbercompletionmodel.h 3.26 KiB
    /****************************************************************************
     *   Copyright (C) 2013-2015 by Savoir-Faire Linux                          *
     *   Author : Emmanuel Lepage Vallee <emmanuel.lepage@savoirfairelinux.com> *
     *                                                                          *
     *   This library is free software; you can redistribute it and/or          *
     *   modify it under the terms of the GNU Lesser General Public             *
     *   License as published by the Free Software Foundation; either           *
     *   version 2.1 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      *
     *   Lesser General Public License for more details.                        *
     *                                                                          *
     *   You should have received a copy of the GNU General Public License      *
     *   along with this program.  If not, see <http://www.gnu.org/licenses/>.  *
     ***************************************************************************/
    #ifndef NUMBERCOMPLETIONMODEL_H
    #define NUMBERCOMPLETIONMODEL_H
    
    #include <QtCore/QAbstractTableModel>
    #include "typedefs.h"
    #include "phonedirectorymodel.h"
    
    //Ring
    class ContactMethod;
    class Call;
    
    //Private
    class NumberCompletionModelPrivate;
    
    class LIB_EXPORT NumberCompletionModel : public QAbstractTableModel {
       Q_OBJECT
    
    public:
    
       //Properties
       Q_PROPERTY(QString prefix READ prefix WRITE setPrefix)
    
       enum Role {
          ALTERNATE_ACCOUNT= 100,
          FORCE_ACCOUNT    = 101,
          ACCOUNT          = 102,
       };
    
       NumberCompletionModel();
       virtual ~NumberCompletionModel();
    
       //Abstract model member
       virtual QVariant      data       ( const QModelIndex& index, int role = Qt::DisplayRole                 ) const override;
       virtual int           rowCount   ( const QModelIndex& parent = QModelIndex()                            ) const override;
       virtual Qt::ItemFlags flags      ( const QModelIndex& index                                             ) const override;
       virtual bool          setData    ( const QModelIndex& index, const QVariant &value, int role            )       override;
       virtual int           columnCount( const QModelIndex& parent = QModelIndex()                            ) const override;
       virtual QVariant      headerData ( int section, Qt::Orientation orientation, int role = Qt::DisplayRole ) const override;
    //    virtual QModelIndex   index      ( int row, int column, const QModelIndex& parent=QModelIndex()) const override;
    
       virtual QHash<int,QByteArray> roleNames() const override;
    
       //Setters
       void setCall(Call* call);
       void setUseUnregisteredAccounts(bool value);
    
       //Getters
       Call* call() const;
       ContactMethod* number(const QModelIndex& idx) const;
       bool isUsingUnregisteredAccounts();
       QString prefix() const;
    
    private:
       QScopedPointer<NumberCompletionModelPrivate> d_ptr;
       Q_DECLARE_PRIVATE(NumberCompletionModel)
    
    
    public Q_SLOTS:
       void setPrefix(const QString& str);
    
    Q_SIGNALS:
       void enabled(bool);
    
    };
    
    #endif