Deskflow 1.27.0.7
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
ComputerSetupModel.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2012 Synergy App Ltd
4 * SPDX-FileCopyrightText: (C) 2008 Volker Lanz <vl@fidra.de>
5 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
6 */
7
8#pragma once
9
10#include <QAbstractTableModel>
11#include <QList>
12#include <QString>
13#include <QStringList>
14
16
19
20class ComputerSetupModel : public QAbstractTableModel
21{
22 Q_OBJECT
23
24 friend class ComputerSetupView;
25 friend class ServerConfigDialog;
26
27public:
28 ComputerSetupModel(ComputerList &computers, int numColumns, int numRows);
29
30 static const QString &mimeType()
31 {
32 return m_MimeType;
33 }
34 QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override;
35 int rowCount() const
36 {
37 return m_NumRows;
38 }
39 int columnCount() const
40 {
41 return m_NumColumns;
42 }
43 int rowCount(const QModelIndex &) const override
44 {
45 return rowCount();
46 }
47 int columnCount(const QModelIndex &) const override
48 {
49 return columnCount();
50 }
51 Qt::DropActions supportedDropActions() const override;
52 Qt::ItemFlags flags(const QModelIndex &index) const override;
53 QStringList mimeTypes() const override;
54 QMimeData *mimeData(const QModelIndexList &indexes) const override;
55 bool isFull() const;
56
57Q_SIGNALS:
59
60protected:
61 bool
62 dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override;
63 const Computer &computer(const QModelIndex &index) const
64 {
65 return computer(index.column(), index.row());
66 }
67 Computer &computer(const QModelIndex &index)
68 {
69 return computer(index.column(), index.row());
70 }
71 const Computer &computer(int column, int row) const
72 {
73 return m_computers[row * m_NumColumns + column];
74 }
75 Computer &computer(int column, int row)
76 {
77 return m_computers[row * m_NumColumns + column];
78 }
79 void addComputer(const Computer &newComputer);
80
81private:
82 static constexpr int kMaxGridSize = 100;
83
84 ComputerList &m_computers;
85 int m_NumColumns;
86 int m_NumRows;
87
88 static const QString m_MimeType;
89};
static void FAR int int flags
Definition ArchNetworkWinsock.cpp:39
static int void FAR * data
Definition ArchNetworkWinsock.cpp:36
Definition ComputerList.h:12
int columnCount(const QModelIndex &) const override
Definition ComputerSetupModel.h:47
QVariant data(const QModelIndex &index, int role=Qt::DisplayRole) const override
Definition ComputerSetupModel.cpp:42
const Computer & computer(int column, int row) const
Definition ComputerSetupModel.h:71
friend class ComputerSetupView
Definition ComputerSetupModel.h:24
QMimeData * mimeData(const QModelIndexList &indexes) const override
Definition ComputerSetupModel.cpp:91
friend class ServerConfigDialog
Definition ComputerSetupModel.h:25
int rowCount() const
Definition ComputerSetupModel.h:35
const Computer & computer(const QModelIndex &index) const
Definition ComputerSetupModel.h:63
bool isFull() const
Definition ComputerSetupModel.cpp:161
QStringList mimeTypes() const override
Definition ComputerSetupModel.cpp:86
Computer & computer(const QModelIndex &index)
Definition ComputerSetupModel.h:67
int rowCount(const QModelIndex &) const override
Definition ComputerSetupModel.h:43
Qt::DropActions supportedDropActions() const override
Definition ComputerSetupModel.cpp:81
void addComputer(const Computer &newComputer)
Definition ComputerSetupModel.cpp:155
static const QString & mimeType()
Definition ComputerSetupModel.h:30
Computer & computer(int column, int row)
Definition ComputerSetupModel.h:75
bool dropMimeData(const QMimeData *data, Qt::DropAction action, int row, int column, const QModelIndex &parent) override
Definition ComputerSetupModel.cpp:108
ComputerSetupModel(ComputerList &computers, int numColumns, int numRows)
Definition ComputerSetupModel.cpp:20
int columnCount() const
Definition ComputerSetupModel.h:39
Definition ComputerSetupView.h:20
Definition Computer.h:27
Definition ServerConfigDialog.h:25