refactoring for better separation of concerns

This commit is contained in:
talksik
2024-02-08 16:24:08 -08:00
parent b83f80f7ec
commit dc74c0ede7
9 changed files with 86 additions and 54 deletions
+12 -3
View File
@@ -4,20 +4,28 @@ project(wifipicker VERSION 0.1 LANGUAGES CXX)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(Qt6 6.4 REQUIRED COMPONENTS Core Gui Qml Quick)
find_package(Qt6 6.4 REQUIRED COMPONENTS
Core
Gui
Qml
Quick
Network
)
qt_standard_project_setup()
qt_add_executable(appwifipicker
main.cpp
NetworkScanner.h
NetworkScanner.cpp
networkscanner.h
networkscanner.cpp
)
qt_add_qml_module(appwifipicker
URI wifipicker
VERSION 1.0
QML_FILES Main.qml
SOURCES networksmodel.h networksmodel.cpp
SOURCES network.h network.cpp
)
# Qt for iOS sets MACOSX_BUNDLE_GUI_IDENTIFIER automatically since Qt 6.1.
@@ -36,6 +44,7 @@ target_link_libraries(appwifipicker PRIVATE
Qt6::Gui
Qt6::Qml
Qt6::Quick
Qt6::Network
)
include(GNUInstallDirs)
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 12.0.2, 2024-02-08T15:13:31. -->
<!-- Written by QtCreator 12.0.2, 2024-02-08T16:17:09. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
+1 -3
View File
@@ -3,7 +3,7 @@
#include <qqml.h>
#include <QtQuick/qquickitem.h>
#include <QtQuick/qquickview.h>
#include <NetworkScanner.h>
#include <networksmodel.h>
#include <QQmlContext>
int main(int argc, char *argv[])
@@ -11,8 +11,6 @@ int main(int argc, char *argv[])
QGuiApplication app(argc, argv);
NetworksModel model;
model.scan();
qDebug() << "now has " << model.rowCount() << Qt::endl;
QQmlApplicationEngine engine;
const QUrl url(u"qrc:/wifipicker/Main.qml"_qs);
+11
View File
@@ -0,0 +1,11 @@
#include "network.h"
Network::Network(const QString &name)
: m_name(name)
{
}
QString Network::name() const
{
return this->m_name;
}
+16
View File
@@ -0,0 +1,16 @@
#ifndef NETWORK_H
#define NETWORK_H
#include <QObject>
class Network
{
public:
Network(const QString &name);
QString name() const;
private:
QString m_name;
};
#endif // NETWORK_H
+15
View File
@@ -0,0 +1,15 @@
#include "networkscanner.h"
#include <iostream>
#include <QAbstractListModel>
QList<Network> NetworkScanner::scanForNetworks()
{
std::cout << "Called the C++ Network scanner class" << std::endl;
QList<Network> networks;
Network example1 = Network("Gita 2.4Ghz");
networks.append(example1);
return networks;
}
+24
View File
@@ -0,0 +1,24 @@
#ifndef NETWORKSCANNER_H
#define NETWORKSCANNER_H
#include <QObject>
#include <QAbstractListModel>
class Network
{
public:
Network(const QString &name);
QString name() const;
private:
QString m_name;
};
class NetworkScanner : public QObject
{
Q_OBJECT
public:
QList<Network> scanForNetworks();
};
#endif // NETWORKSCANNER_H
+1 -25
View File
@@ -1,18 +1,4 @@
#include "NetworkScanner.h"
#include <iostream>
#include <QAbstractListModel>
QList<Network> NetworkScanner::scanForNetworks()
{
std::cout << "Called the C++ Network scanner class" << std::endl;
QList<Network> networks;
Network example1 = Network("Gita 2.4Ghz");
networks.append(example1);
return networks;
}
#include "networksmodel.h"
NetworksModel::NetworksModel(QObject *parent)
:
@@ -70,13 +56,3 @@ QHash<int, QByteArray> NetworksModel::roleNames() const
roles[NetworksModel::NetworkRoles::NameRole] = "name";
return roles;
}
Network::Network(const QString &name)
: m_name(name)
{
}
QString Network::name() const
{
return this->m_name;
}
+5 -22
View File
@@ -1,27 +1,8 @@
#ifndef NETWORKSCANNER_H
#define NETWORKSCANNER_H
#ifndef NETWORKSMODEL_H
#define NETWORKSMODEL_H
#endif // NETWORKSCANNER_H
#include <QObject>
#include <QAbstractListModel>
class Network
{
public:
Network(const QString &name);
QString name() const;
private:
QString m_name;
};
class NetworkScanner : public QObject
{
Q_OBJECT
public:
QList<Network> scanForNetworks();
};
#include "networkscanner.h"
class NetworksModel : public QAbstractListModel
{
@@ -46,3 +27,5 @@ private:
QList<Network> m_networks;
NetworkScanner m_networkScanner;
};
#endif // NETWORKSMODEL_H