We changed enough of dhcpcd-qt in 2017 to warrant a copyright bump.
[dhcpcd-ui] / src / dhcpcd-qt / main.cpp
index ad618d143eb7cb69eb9f2c8090afa82c941a8a97..40253c34c4af8f5c61b28e781ffd53fbb21c9408 100644 (file)
@@ -1,18 +1,46 @@
-#include <QtGui>
+/*
+ * dhcpcd-qt
+ * 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
+ * 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.
+ */
+
+#include <QApplication>
 
 #include "dhcpcd-qt.h"
+#include "dhcpcd-singleton.h"
 
 int
 main(int argc, char **argv)
 {
+       /* Ensure we are only started the once by pesky session managers. */
+       DhcpcdSingleton singleton;
+       if (!singleton.lock())
+               return -1;
 
        QApplication app(argc, argv);
 
-       if (!QSystemTrayIcon::isSystemTrayAvailable()) {
-               QMessageBox::critical(0, QObject::tr("Systray"),
-                   QObject::tr("No system tray available"));
-               return EXIT_FAILURE;
-       }
+       if (!QSystemTrayIcon::isSystemTrayAvailable())
+               qWarning("System tray may not be available");
 
        QApplication::setQuitOnLastWindowClosed(false);