mirror of
https://github.com/qbittorrent/qBittorrent
synced 2025-08-19 12:59:56 -07:00
Trackerlist: add "m_" to private members and make them camelCase
This commit is contained in:
parent
14f50f1038
commit
73c37cc460
2 changed files with 74 additions and 74 deletions
|
@ -56,7 +56,7 @@
|
||||||
|
|
||||||
TrackerList::TrackerList(PropertiesWidget *properties)
|
TrackerList::TrackerList(PropertiesWidget *properties)
|
||||||
: QTreeWidget()
|
: QTreeWidget()
|
||||||
, properties(properties)
|
, m_properties(properties)
|
||||||
{
|
{
|
||||||
// Set header
|
// Set header
|
||||||
// Must be set before calling loadSettings() otherwise the header is reset on restart
|
// Must be set before calling loadSettings() otherwise the header is reset on restart
|
||||||
|
@ -85,28 +85,28 @@ TrackerList::TrackerList(PropertiesWidget *properties)
|
||||||
header()->setContextMenuPolicy(Qt::CustomContextMenu);
|
header()->setContextMenuPolicy(Qt::CustomContextMenu);
|
||||||
connect(header(), SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(displayToggleColumnsMenu(const QPoint&)));
|
connect(header(), SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(displayToggleColumnsMenu(const QPoint&)));
|
||||||
// Set DHT, PeX, LSD items
|
// Set DHT, PeX, LSD items
|
||||||
dht_item = new QTreeWidgetItem({ "", "** [DHT] **", "", "0", "", "", "0" });
|
m_DHTItem = new QTreeWidgetItem({ "", "** [DHT] **", "", "0", "", "", "0" });
|
||||||
insertTopLevelItem(0, dht_item);
|
insertTopLevelItem(0, m_DHTItem);
|
||||||
setRowColor(0, QColor("grey"));
|
setRowColor(0, QColor("grey"));
|
||||||
pex_item = new QTreeWidgetItem({ "", "** [PeX] **", "", "0", "", "", "0" });
|
m_PEXItem = new QTreeWidgetItem({ "", "** [PeX] **", "", "0", "", "", "0" });
|
||||||
insertTopLevelItem(1, pex_item);
|
insertTopLevelItem(1, m_PEXItem);
|
||||||
setRowColor(1, QColor("grey"));
|
setRowColor(1, QColor("grey"));
|
||||||
lsd_item = new QTreeWidgetItem({ "", "** [LSD] **", "", "0", "", "", "0" });
|
m_LSDItem = new QTreeWidgetItem({ "", "** [LSD] **", "", "0", "", "", "0" });
|
||||||
insertTopLevelItem(2, lsd_item);
|
insertTopLevelItem(2, m_LSDItem);
|
||||||
setRowColor(2, QColor("grey"));
|
setRowColor(2, QColor("grey"));
|
||||||
// Set static items alignment
|
// Set static items alignment
|
||||||
dht_item->setTextAlignment(COL_RECEIVED, (Qt::AlignRight | Qt::AlignVCenter));
|
m_DHTItem->setTextAlignment(COL_RECEIVED, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
pex_item->setTextAlignment(COL_RECEIVED, (Qt::AlignRight | Qt::AlignVCenter));
|
m_PEXItem->setTextAlignment(COL_RECEIVED, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
lsd_item->setTextAlignment(COL_RECEIVED, (Qt::AlignRight | Qt::AlignVCenter));
|
m_LSDItem->setTextAlignment(COL_RECEIVED, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
dht_item->setTextAlignment(COL_SEEDS, (Qt::AlignRight | Qt::AlignVCenter));
|
m_DHTItem->setTextAlignment(COL_SEEDS, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
pex_item->setTextAlignment(COL_SEEDS, (Qt::AlignRight | Qt::AlignVCenter));
|
m_PEXItem->setTextAlignment(COL_SEEDS, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
lsd_item->setTextAlignment(COL_SEEDS, (Qt::AlignRight | Qt::AlignVCenter));
|
m_LSDItem->setTextAlignment(COL_SEEDS, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
dht_item->setTextAlignment(COL_PEERS, (Qt::AlignRight | Qt::AlignVCenter));
|
m_DHTItem->setTextAlignment(COL_PEERS, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
pex_item->setTextAlignment(COL_PEERS, (Qt::AlignRight | Qt::AlignVCenter));
|
m_PEXItem->setTextAlignment(COL_PEERS, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
lsd_item->setTextAlignment(COL_PEERS, (Qt::AlignRight | Qt::AlignVCenter));
|
m_LSDItem->setTextAlignment(COL_PEERS, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
dht_item->setTextAlignment(COL_DOWNLOADED, (Qt::AlignRight | Qt::AlignVCenter));
|
m_DHTItem->setTextAlignment(COL_DOWNLOADED, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
pex_item->setTextAlignment(COL_DOWNLOADED, (Qt::AlignRight | Qt::AlignVCenter));
|
m_PEXItem->setTextAlignment(COL_DOWNLOADED, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
lsd_item->setTextAlignment(COL_DOWNLOADED, (Qt::AlignRight | Qt::AlignVCenter));
|
m_LSDItem->setTextAlignment(COL_DOWNLOADED, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
// Set header alignment
|
// Set header alignment
|
||||||
headerItem()->setTextAlignment(COL_TIER, (Qt::AlignRight | Qt::AlignVCenter));
|
headerItem()->setTextAlignment(COL_TIER, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
headerItem()->setTextAlignment(COL_RECEIVED, (Qt::AlignRight | Qt::AlignVCenter));
|
headerItem()->setTextAlignment(COL_RECEIVED, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
|
@ -114,10 +114,10 @@ TrackerList::TrackerList(PropertiesWidget *properties)
|
||||||
headerItem()->setTextAlignment(COL_PEERS, (Qt::AlignRight | Qt::AlignVCenter));
|
headerItem()->setTextAlignment(COL_PEERS, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
headerItem()->setTextAlignment(COL_DOWNLOADED, (Qt::AlignRight | Qt::AlignVCenter));
|
headerItem()->setTextAlignment(COL_DOWNLOADED, (Qt::AlignRight | Qt::AlignVCenter));
|
||||||
// Set hotkeys
|
// Set hotkeys
|
||||||
editHotkey = new QShortcut(Qt::Key_F2, this, SLOT(editSelectedTracker()), 0, Qt::WidgetShortcut);
|
m_editHotkey = new QShortcut(Qt::Key_F2, this, SLOT(editSelectedTracker()), 0, Qt::WidgetShortcut);
|
||||||
connect(this, SIGNAL(doubleClicked(QModelIndex)), SLOT(editSelectedTracker()));
|
connect(this, SIGNAL(doubleClicked(QModelIndex)), SLOT(editSelectedTracker()));
|
||||||
deleteHotkey = new QShortcut(QKeySequence::Delete, this, SLOT(deleteSelectedTrackers()), 0, Qt::WidgetShortcut);
|
m_deleteHotkey = new QShortcut(QKeySequence::Delete, this, SLOT(deleteSelectedTrackers()), 0, Qt::WidgetShortcut);
|
||||||
copyHotkey = new QShortcut(QKeySequence::Copy, this, SLOT(copyTrackerUrl()), 0, Qt::WidgetShortcut);
|
m_copyHotkey = new QShortcut(QKeySequence::Copy, this, SLOT(copyTrackerUrl()), 0, Qt::WidgetShortcut);
|
||||||
|
|
||||||
// This hack fixes reordering of first column with Qt5.
|
// This hack fixes reordering of first column with Qt5.
|
||||||
// https://github.com/qtproject/qtbase/commit/e0fc088c0c8bc61dbcaf5928b24986cd61a22777
|
// https://github.com/qtproject/qtbase/commit/e0fc088c0c8bc61dbcaf5928b24986cd61a22777
|
||||||
|
@ -152,7 +152,7 @@ void TrackerList::setRowColor(int row, QColor color) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void TrackerList::moveSelectionUp() {
|
void TrackerList::moveSelectionUp() {
|
||||||
BitTorrent::TorrentHandle *const torrent = properties->getCurrentTorrent();
|
BitTorrent::TorrentHandle *const torrent = m_properties->getCurrentTorrent();
|
||||||
if (!torrent) {
|
if (!torrent) {
|
||||||
clear();
|
clear();
|
||||||
return;
|
return;
|
||||||
|
@ -190,7 +190,7 @@ void TrackerList::moveSelectionUp() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void TrackerList::moveSelectionDown() {
|
void TrackerList::moveSelectionDown() {
|
||||||
BitTorrent::TorrentHandle *const torrent = properties->getCurrentTorrent();
|
BitTorrent::TorrentHandle *const torrent = m_properties->getCurrentTorrent();
|
||||||
if (!torrent) {
|
if (!torrent) {
|
||||||
clear();
|
clear();
|
||||||
return;
|
return;
|
||||||
|
@ -229,20 +229,20 @@ void TrackerList::moveSelectionDown() {
|
||||||
|
|
||||||
void TrackerList::clear()
|
void TrackerList::clear()
|
||||||
{
|
{
|
||||||
qDeleteAll(tracker_items.values());
|
qDeleteAll(m_trackerItems.values());
|
||||||
tracker_items.clear();
|
m_trackerItems.clear();
|
||||||
dht_item->setText(COL_STATUS, "");
|
m_DHTItem->setText(COL_STATUS, "");
|
||||||
dht_item->setText(COL_SEEDS, "");
|
m_DHTItem->setText(COL_SEEDS, "");
|
||||||
dht_item->setText(COL_PEERS, "");
|
m_DHTItem->setText(COL_PEERS, "");
|
||||||
dht_item->setText(COL_MSG, "");
|
m_DHTItem->setText(COL_MSG, "");
|
||||||
pex_item->setText(COL_STATUS, "");
|
m_PEXItem->setText(COL_STATUS, "");
|
||||||
pex_item->setText(COL_SEEDS, "");
|
m_PEXItem->setText(COL_SEEDS, "");
|
||||||
pex_item->setText(COL_PEERS, "");
|
m_PEXItem->setText(COL_PEERS, "");
|
||||||
pex_item->setText(COL_MSG, "");
|
m_PEXItem->setText(COL_MSG, "");
|
||||||
lsd_item->setText(COL_STATUS, "");
|
m_LSDItem->setText(COL_STATUS, "");
|
||||||
lsd_item->setText(COL_SEEDS, "");
|
m_LSDItem->setText(COL_SEEDS, "");
|
||||||
lsd_item->setText(COL_PEERS, "");
|
m_LSDItem->setText(COL_PEERS, "");
|
||||||
lsd_item->setText(COL_MSG, "");
|
m_LSDItem->setText(COL_MSG, "");
|
||||||
}
|
}
|
||||||
|
|
||||||
void TrackerList::loadStickyItems(BitTorrent::TorrentHandle *const torrent) {
|
void TrackerList::loadStickyItems(BitTorrent::TorrentHandle *const torrent) {
|
||||||
|
@ -251,27 +251,27 @@ void TrackerList::loadStickyItems(BitTorrent::TorrentHandle *const torrent) {
|
||||||
|
|
||||||
// load DHT information
|
// load DHT information
|
||||||
if (BitTorrent::Session::instance()->isDHTEnabled() && !torrent->isPrivate())
|
if (BitTorrent::Session::instance()->isDHTEnabled() && !torrent->isPrivate())
|
||||||
dht_item->setText(COL_STATUS, working);
|
m_DHTItem->setText(COL_STATUS, working);
|
||||||
else
|
else
|
||||||
dht_item->setText(COL_STATUS, disabled);
|
m_DHTItem->setText(COL_STATUS, disabled);
|
||||||
|
|
||||||
// Load PeX Information
|
// Load PeX Information
|
||||||
if (BitTorrent::Session::instance()->isPeXEnabled() && !torrent->isPrivate())
|
if (BitTorrent::Session::instance()->isPeXEnabled() && !torrent->isPrivate())
|
||||||
pex_item->setText(COL_STATUS, working);
|
m_PEXItem->setText(COL_STATUS, working);
|
||||||
else
|
else
|
||||||
pex_item->setText(COL_STATUS, disabled);
|
m_PEXItem->setText(COL_STATUS, disabled);
|
||||||
|
|
||||||
// Load LSD Information
|
// Load LSD Information
|
||||||
if (BitTorrent::Session::instance()->isLSDEnabled() && !torrent->isPrivate())
|
if (BitTorrent::Session::instance()->isLSDEnabled() && !torrent->isPrivate())
|
||||||
lsd_item->setText(COL_STATUS, working);
|
m_LSDItem->setText(COL_STATUS, working);
|
||||||
else
|
else
|
||||||
lsd_item->setText(COL_STATUS, disabled);
|
m_LSDItem->setText(COL_STATUS, disabled);
|
||||||
|
|
||||||
if (torrent->isPrivate()) {
|
if (torrent->isPrivate()) {
|
||||||
QString privateMsg = tr("This torrent is private");
|
QString privateMsg = tr("This torrent is private");
|
||||||
dht_item->setText(COL_MSG, privateMsg);
|
m_DHTItem->setText(COL_MSG, privateMsg);
|
||||||
pex_item->setText(COL_MSG, privateMsg);
|
m_PEXItem->setText(COL_MSG, privateMsg);
|
||||||
lsd_item->setText(COL_MSG, privateMsg);
|
m_LSDItem->setText(COL_MSG, privateMsg);
|
||||||
}
|
}
|
||||||
|
|
||||||
// XXX: libtorrent should provide this info...
|
// XXX: libtorrent should provide this info...
|
||||||
|
@ -300,31 +300,31 @@ void TrackerList::loadStickyItems(BitTorrent::TorrentHandle *const torrent) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dht_item->setText(COL_SEEDS, QString::number(seedsDHT));
|
m_DHTItem->setText(COL_SEEDS, QString::number(seedsDHT));
|
||||||
dht_item->setText(COL_PEERS, QString::number(peersDHT));
|
m_DHTItem->setText(COL_PEERS, QString::number(peersDHT));
|
||||||
pex_item->setText(COL_SEEDS, QString::number(seedsPeX));
|
m_PEXItem->setText(COL_SEEDS, QString::number(seedsPeX));
|
||||||
pex_item->setText(COL_PEERS, QString::number(peersPeX));
|
m_PEXItem->setText(COL_PEERS, QString::number(peersPeX));
|
||||||
lsd_item->setText(COL_SEEDS, QString::number(seedsLSD));
|
m_LSDItem->setText(COL_SEEDS, QString::number(seedsLSD));
|
||||||
lsd_item->setText(COL_PEERS, QString::number(peersLSD));
|
m_LSDItem->setText(COL_PEERS, QString::number(peersLSD));
|
||||||
}
|
}
|
||||||
|
|
||||||
void TrackerList::loadTrackers() {
|
void TrackerList::loadTrackers() {
|
||||||
// Load trackers from torrent handle
|
// Load trackers from torrent handle
|
||||||
BitTorrent::TorrentHandle *const torrent = properties->getCurrentTorrent();
|
BitTorrent::TorrentHandle *const torrent = m_properties->getCurrentTorrent();
|
||||||
if (!torrent) return;
|
if (!torrent) return;
|
||||||
|
|
||||||
loadStickyItems(torrent);
|
loadStickyItems(torrent);
|
||||||
// Load actual trackers information
|
// Load actual trackers information
|
||||||
QHash<QString, BitTorrent::TrackerInfo> trackers_data = torrent->trackerInfos();
|
QHash<QString, BitTorrent::TrackerInfo> trackers_data = torrent->trackerInfos();
|
||||||
QStringList old_trackers_urls = tracker_items.keys();
|
QStringList old_trackers_urls = m_trackerItems.keys();
|
||||||
foreach (const BitTorrent::TrackerEntry &entry, torrent->trackers()) {
|
foreach (const BitTorrent::TrackerEntry &entry, torrent->trackers()) {
|
||||||
QString trackerUrl = entry.url();
|
QString trackerUrl = entry.url();
|
||||||
QTreeWidgetItem *item = tracker_items.value(trackerUrl, 0);
|
QTreeWidgetItem *item = m_trackerItems.value(trackerUrl, 0);
|
||||||
if (!item) {
|
if (!item) {
|
||||||
item = new QTreeWidgetItem();
|
item = new QTreeWidgetItem();
|
||||||
item->setText(COL_URL, trackerUrl);
|
item->setText(COL_URL, trackerUrl);
|
||||||
addTopLevelItem(item);
|
addTopLevelItem(item);
|
||||||
tracker_items[trackerUrl] = item;
|
m_trackerItems[trackerUrl] = item;
|
||||||
} else {
|
} else {
|
||||||
old_trackers_urls.removeOne(trackerUrl);
|
old_trackers_urls.removeOne(trackerUrl);
|
||||||
}
|
}
|
||||||
|
@ -369,13 +369,13 @@ void TrackerList::loadTrackers() {
|
||||||
}
|
}
|
||||||
// Remove old trackers
|
// Remove old trackers
|
||||||
foreach (const QString &tracker, old_trackers_urls) {
|
foreach (const QString &tracker, old_trackers_urls) {
|
||||||
delete tracker_items.take(tracker);
|
delete m_trackerItems.take(tracker);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ask the user for new trackers and add them to the torrent
|
// Ask the user for new trackers and add them to the torrent
|
||||||
void TrackerList::askForTrackers() {
|
void TrackerList::askForTrackers() {
|
||||||
BitTorrent::TorrentHandle *const torrent = properties->getCurrentTorrent();
|
BitTorrent::TorrentHandle *const torrent = m_properties->getCurrentTorrent();
|
||||||
if (!torrent) return;
|
if (!torrent) return;
|
||||||
|
|
||||||
QList<BitTorrent::TrackerEntry> trackers;
|
QList<BitTorrent::TrackerEntry> trackers;
|
||||||
|
@ -398,7 +398,7 @@ void TrackerList::copyTrackerUrl() {
|
||||||
|
|
||||||
|
|
||||||
void TrackerList::deleteSelectedTrackers() {
|
void TrackerList::deleteSelectedTrackers() {
|
||||||
BitTorrent::TorrentHandle *const torrent = properties->getCurrentTorrent();
|
BitTorrent::TorrentHandle *const torrent = m_properties->getCurrentTorrent();
|
||||||
if (!torrent) {
|
if (!torrent) {
|
||||||
clear();
|
clear();
|
||||||
return;
|
return;
|
||||||
|
@ -411,7 +411,7 @@ void TrackerList::deleteSelectedTrackers() {
|
||||||
foreach (QTreeWidgetItem *item, selected_items) {
|
foreach (QTreeWidgetItem *item, selected_items) {
|
||||||
QString tracker_url = item->data(COL_URL, Qt::DisplayRole).toString();
|
QString tracker_url = item->data(COL_URL, Qt::DisplayRole).toString();
|
||||||
urls_to_remove << tracker_url;
|
urls_to_remove << tracker_url;
|
||||||
tracker_items.remove(tracker_url);
|
m_trackerItems.remove(tracker_url);
|
||||||
delete item;
|
delete item;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -430,7 +430,7 @@ void TrackerList::deleteSelectedTrackers() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void TrackerList::editSelectedTracker() {
|
void TrackerList::editSelectedTracker() {
|
||||||
BitTorrent::TorrentHandle *const torrent = properties->getCurrentTorrent();
|
BitTorrent::TorrentHandle *const torrent = m_properties->getCurrentTorrent();
|
||||||
if (!torrent) return;
|
if (!torrent) return;
|
||||||
|
|
||||||
QString hash = torrent->hash();
|
QString hash = torrent->hash();
|
||||||
|
@ -481,13 +481,13 @@ void TrackerList::reannounceSelected() {
|
||||||
QList<QTreeWidgetItem *> selected_items = selectedItems();
|
QList<QTreeWidgetItem *> selected_items = selectedItems();
|
||||||
if (selected_items.isEmpty()) return;
|
if (selected_items.isEmpty()) return;
|
||||||
|
|
||||||
BitTorrent::TorrentHandle *const torrent = properties->getCurrentTorrent();
|
BitTorrent::TorrentHandle *const torrent = m_properties->getCurrentTorrent();
|
||||||
if (!torrent) return;
|
if (!torrent) return;
|
||||||
QList<BitTorrent::TrackerEntry> trackers = torrent->trackers();
|
QList<BitTorrent::TrackerEntry> trackers = torrent->trackers();
|
||||||
|
|
||||||
foreach (QTreeWidgetItem* item, selected_items) {
|
foreach (QTreeWidgetItem* item, selected_items) {
|
||||||
// DHT case
|
// DHT case
|
||||||
if (item == dht_item) {
|
if (item == m_DHTItem) {
|
||||||
torrent->forceDHTAnnounce();
|
torrent->forceDHTAnnounce();
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -505,7 +505,7 @@ void TrackerList::reannounceSelected() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void TrackerList::showTrackerListMenu(QPoint) {
|
void TrackerList::showTrackerListMenu(QPoint) {
|
||||||
BitTorrent::TorrentHandle *const torrent = properties->getCurrentTorrent();
|
BitTorrent::TorrentHandle *const torrent = m_properties->getCurrentTorrent();
|
||||||
if (!torrent) return;
|
if (!torrent) return;
|
||||||
//QList<QTreeWidgetItem*> selected_items = getSelectedTrackerItems();
|
//QList<QTreeWidgetItem*> selected_items = getSelectedTrackerItems();
|
||||||
QMenu menu;
|
QMenu menu;
|
||||||
|
@ -545,7 +545,7 @@ void TrackerList::showTrackerListMenu(QPoint) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if (act == reannounceAct) {
|
if (act == reannounceAct) {
|
||||||
BitTorrent::TorrentHandle *h = properties->getCurrentTorrent();
|
BitTorrent::TorrentHandle *h = m_properties->getCurrentTorrent();
|
||||||
h->forceReannounce();
|
h->forceReannounce();
|
||||||
h->forceDHTAnnounce();
|
h->forceDHTAnnounce();
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -93,14 +93,14 @@ protected:
|
||||||
QList<QTreeWidgetItem *> getSelectedTrackerItems() const;
|
QList<QTreeWidgetItem *> getSelectedTrackerItems() const;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
PropertiesWidget *properties;
|
PropertiesWidget *m_properties;
|
||||||
QHash<QString, QTreeWidgetItem *> tracker_items;
|
QHash<QString, QTreeWidgetItem *> m_trackerItems;
|
||||||
QTreeWidgetItem *dht_item;
|
QTreeWidgetItem *m_DHTItem;
|
||||||
QTreeWidgetItem *pex_item;
|
QTreeWidgetItem *m_PEXItem;
|
||||||
QTreeWidgetItem *lsd_item;
|
QTreeWidgetItem *m_LSDItem;
|
||||||
QShortcut *editHotkey;
|
QShortcut *m_editHotkey;
|
||||||
QShortcut *deleteHotkey;
|
QShortcut *m_deleteHotkey;
|
||||||
QShortcut *copyHotkey;
|
QShortcut *m_copyHotkey;
|
||||||
|
|
||||||
static QStringList headerLabels();
|
static QStringList headerLabels();
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue