We changed enough of dhcpcd-qt in 2017 to warrant a copyright bump.
[dhcpcd-ui] / src / dhcpcd-qt / dhcpcd-qt.h
index fd4952a7e16b6dd253deeeb60d6c21d87ffebdba..366ad2577a71951abb9b3cec877a74ecfb2b69cb 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * dhcpcd-qt
- * Copyright 2014 Roy Marples <roy@marples.name>
+ * Copyright 2014-2017 Roy Marples <roy@marples.name>
  *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
@@ -43,6 +43,7 @@ class QAction;
 class QDialog;
 class QLabel;
 class QMenu;
+class QPoint;
 class QPushButton;
 class QSocketNotifier;
 class QTimer;
@@ -55,42 +56,47 @@ public:
        DhcpcdQt();
        ~DhcpcdQt();
 
-       void closeAbout();
-
+       DHCPCD_CONNECTION *getConnection();
        static void dhcpcd_status_cb(DHCPCD_CONNECTION *con,
-           const char *status, void *d);
-       void statusCallback(const char *status);
+           unsigned int status, const char *status_msg, void *d);
+       void statusCallback(unsigned int, const char *status);
        static void dhcpcd_if_cb(DHCPCD_IF *i, void *d);
        void ifCallback(DHCPCD_IF *i);
 
        static void dhcpcd_wpa_scan_cb(DHCPCD_WPA *wpa, void *d);
        void scanCallback(DHCPCD_WPA *wpa);
+       static void dhcpcd_wpa_status_cb(DHCPCD_WPA *wpa, unsigned int status,
+           const char *status_msg, void *d);
+       void wpaStatusCallback(DHCPCD_WPA *wpa,
+           unsigned int status, const char *status_msg);
 
+       static const char * signalStrengthIcon(DHCPCD_WI_SCAN *scan);
        static QIcon getIcon(QString category, QString name);
+       QList<DhcpcdWi *> *getWis();
 
+       void closeAbout();
        void dialogClosed(QDialog *dialog);
+       void menuDeleted(QMenu *menu);
 
 protected:
        void closeEvent(QCloseEvent *event);
 
 private slots:
+       void tryOpen();
        void animate();
        void dispatch();
        void showAbout();
        void showPreferences();
        void iconActivated(QSystemTrayIcon::ActivationReason reason);
 
-       void connectSsid(DHCPCD_IF *ifp, DHCPCD_WI_SCAN *scan);
-
 private:
        DHCPCD_CONNECTION *con;
-       bool tryOpen();
        QSocketNotifier *notifier;
        QTimer *retryOpenTimer;
        QList<DhcpcdWi *> *wis;
        DhcpcdWi *findWi(DHCPCD_WPA *wpa);
 
-       char *lastStatus;
+       unsigned int lastStatus;
        bool onLine;
        bool carrier;
        QTimer *aniTimer;
@@ -100,6 +106,8 @@ private:
        QDialog *about;
        QDialog *preferences;
 
+       DHCPCD_WI_SCAN *getStrongestSignal();
+       void processScans(DhcpcdWi *wi, DHCPCD_WI_SCAN *scans);
        void addSsidMenu(QMenu *&menu, DHCPCD_IF *ifp, DhcpcdWi *&wi);
        void createSsidMenu();
 
@@ -116,6 +124,7 @@ private:
        QAction *aboutAction;
        QMenu *trayIconMenu;
        QMenu *ssidMenu;
+       QPoint ssidMenuPos;
 
        void notify(QString &title, QString &msg,
            QSystemTrayIcon::MessageIcon icon = QSystemTrayIcon::Information);