Display the dialogs near the mouse for ease of use.
[dhcpcd-ui] / src / dhcpcd-qt / dhcpcd-wi.h
index bca289df9ba490d959defc2e438c1c3228ff3384..fb52985a8837cf7a835c409264ee9f554cd205b6 100644 (file)
@@ -1,3 +1,29 @@
+/*
+ * dhcpcd-qt
+ * Copyright 2014 Roy Marples <roy@marples.name>
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+
 #ifndef DHCPCD_WI_H
 #define DHCPCD_WI_H
 
 #ifndef DHCPCD_WI_H
 #define DHCPCD_WI_H
 
@@ -5,9 +31,13 @@
 
 #include "dhcpcd.h"
 
 
 #include "dhcpcd.h"
 
-class DhcpcdQt;
+class QMenu;
 class QSocketNotifier;
 class QTimer;
 class QSocketNotifier;
 class QTimer;
+class QWidgetAction;
+
+class DhcpcdQt;
+class DhcpcdSsidMenu;
 
 class DhcpcdWi : public QObject
 {
 
 class DhcpcdWi : public QObject
 {
@@ -19,11 +49,15 @@ public:
        DHCPCD_WPA *getWpa();
 
        DHCPCD_WI_SCAN *getScans();
        DHCPCD_WPA *getWpa();
 
        DHCPCD_WI_SCAN *getScans();
-       void setScans(DHCPCD_WI_SCAN *scans);
+       bool setScans(DHCPCD_WI_SCAN *scans);
+
+       void createMenu(QMenu *parent);
+       QMenu *createIfMenu(QMenu *parent);
 
 private slots:
        void dispatch();
        void wpaOpen();
 
 private slots:
        void dispatch();
        void wpaOpen();
+       void connectSsid(DHCPCD_WI_SCAN *scan);
 
 private:
        DhcpcdQt *dhcpcdQt;
 
 private:
        DhcpcdQt *dhcpcdQt;
@@ -32,6 +66,10 @@ private:
 
        QSocketNotifier *notifier;
        QTimer *retryOpenTimer;
 
        QSocketNotifier *notifier;
        QTimer *retryOpenTimer;
+
+       QMenu *menu;
+       void createMenuItem(QMenu *menu, DHCPCD_WI_SCAN *scan);
+       void createMenu1(QMenu *parent);
 };
 
 #endif
 };
 
 #endif