[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

[vidalia-svn] r2354: Remove our tray icon implementation for X11 and Win32. We ha (in vidalia/trunk: . src/vidalia src/vidalia/tray)



Author: edmanm
Date: 2008-02-23 23:02:19 -0500 (Sat, 23 Feb 2008)
New Revision: 2354

Removed:
   vidalia/trunk/src/vidalia/tray/trayicon_win.cpp
   vidalia/trunk/src/vidalia/tray/trayicon_win.h
   vidalia/trunk/src/vidalia/tray/trayicon_x11.cpp
   vidalia/trunk/src/vidalia/tray/trayicon_x11.h
Modified:
   vidalia/trunk/
   vidalia/trunk/CMakeLists.txt
   vidalia/trunk/config.h.in
   vidalia/trunk/src/vidalia/CMakeLists.txt
   vidalia/trunk/src/vidalia/mainwindow.cpp
   vidalia/trunk/src/vidalia/tray/trayicon.cpp
   vidalia/trunk/src/vidalia/tray/trayicon.h
Log:
 r129@lysithea:  edmanm | 2008-02-23 23:02:10 -0500
 Remove our tray icon implementation for X11 and Win32. We haven't used it
 since we started requiring Qt >= 4.2.0 and part of the X11 implementation
 is derived from another GPL'ed project. Removing it makes it easier to
 add our OpenSSL license exception.



Property changes on: vidalia/trunk
___________________________________________________________________
 svk:merge ticket from /local/vidalia/trunk [r129] on 90112fd6-a33b-4cea-8d39-48ff1d78625c

Modified: vidalia/trunk/CMakeLists.txt
===================================================================
--- vidalia/trunk/CMakeLists.txt	2008-02-19 00:14:53 UTC (rev 2353)
+++ vidalia/trunk/CMakeLists.txt	2008-02-24 04:02:19 UTC (rev 2354)
@@ -4,6 +4,7 @@
 #  Vidalia is distributed under the following license:
 #
 #  Copyright (C) 2006-2007,  Matt Edman, Justin Hipple
+#  Copyright (C) 2008,  Matt Edman
 #
 #  This program is free software; you can redistribute it and/or
 #  modify it under the terms of the GNU General Public License
@@ -56,16 +57,8 @@
   option(OSX_FAT_BINARY "Build Vidalia as a Universal binary." OFF)
 endif(APPLE)
 
-## Check for QSystemTrayIcon
-set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${QT_INCLUDES})
-if (NOT APPLE)
-  check_include_file_cxx("qsystemtrayicon.h" HAVE_QSYSTEMTRAYICON_H)
-  if (HAVE_QSYSTEMTRAYICON_H)
-    option(USE_QSYSTEMTRAYICON "Use Qt's tray icon implementation." ON)
-  endif(HAVE_QSYSTEMTRAYICON_H)
-endif(NOT APPLE)
-
 ## Check for QSslSocket
+set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${QT_INCLUDES})
 check_include_file_cxx("qsslsocket.h" HAVE_QSSLSOCKET_H)
 if (HAVE_QSSLSOCKET_H)
   check_symbol_exists(QT_NO_OPENSSL "QtGlobal" QT_NO_SSL_SUPPORT)

Modified: vidalia/trunk/config.h.in
===================================================================
--- vidalia/trunk/config.h.in	2008-02-19 00:14:53 UTC (rev 2353)
+++ vidalia/trunk/config.h.in	2008-02-24 04:02:19 UTC (rev 2354)
@@ -1,8 +1,4 @@
 
-#cmakedefine HAVE_QSYSTEMTRAYICON_H
-
-#cmakedefine USE_QSYSTEMTRAYICON
-
 #cmakedefine HAVE_QSSLSOCKET_H
 
 #cmakedefine USE_QSSLSOCKET

Modified: vidalia/trunk/src/vidalia/CMakeLists.txt
===================================================================
--- vidalia/trunk/src/vidalia/CMakeLists.txt	2008-02-19 00:14:53 UTC (rev 2353)
+++ vidalia/trunk/src/vidalia/CMakeLists.txt	2008-02-24 04:02:19 UTC (rev 2354)
@@ -152,25 +152,14 @@
 ## Choose the correct tray icon implementation for the current platform
 set(vidalia_SRCS ${vidalia_SRCS} tray/trayicon.cpp)
 qt4_wrap_cpp(vidalia_SRCS tray/trayicon.h)
-if(USE_QSYSTEMTRAYICON AND NOT APPLE)
+if(APPLE)
+  set(vidalia_SRCS ${vidalia_SRCS} tray/trayicon_mac.cpp)
+  qt4_wrap_cpp(vidalia_SRCS tray/trayicon_mac.h)
+else(APPLE)
   ## Use Qt's QSystemTrayIcon implementation
   set(vidalia_SRCS ${vidalia_SRCS} tray/trayicon_qt.cpp)
   qt4_wrap_cpp(vidalia_SRCS tray/trayicon_qt.h)
-else(USE_QSYSTEMTRAYICON AND NOT APPLE)
-  ## Use our custom tray icon implementation
-  if(WIN32)
-    set(vidalia_SRCS ${vidalia_SRCS} tray/trayicon_win.cpp)
-    qt4_wrap_cpp(vidalia_SRCS tray/trayicon_win.h)
-  else(WIN32)
-    if(APPLE)
-      set(vidalia_SRCS ${vidalia_SRCS} tray/trayicon_mac.cpp)
-      qt4_wrap_cpp(vidalia_SRCS tray/trayicon_mac.h)
-    else(APPLE)
-      set(vidalia_SRCS ${vidalia_SRCS} tray/trayicon_x11.cpp)
-      qt4_wrap_cpp(vidalia_SRCS tray/trayicon_x11.h)
-    endif(APPLE)
-  endif(WIN32)
-endif(USE_QSYSTEMTRAYICON AND NOT APPLE)
+endif(APPLE)
 
 ## Main Vidalia sources
 set(vidalia_SRCS ${vidalia_SRCS}

Modified: vidalia/trunk/src/vidalia/mainwindow.cpp
===================================================================
--- vidalia/trunk/src/vidalia/mainwindow.cpp	2008-02-19 00:14:53 UTC (rev 2353)
+++ vidalia/trunk/src/vidalia/mainwindow.cpp	2008-02-24 04:02:19 UTC (rev 2354)
@@ -67,20 +67,11 @@
 
 /* Decide which of our four sets of tray icons to use. */
 #if defined(Q_WS_WIN)
-#if defined(USE_QSYSTEMTRAYICON)
 /* QSystemTrayIcon on Windows wants 16x16 .png files */
 #define IMG_TOR_STOPPED  ":/images/16x16/tor-off.png"
 #define IMG_TOR_RUNNING  ":/images/16x16/tor-on.png"
 #define IMG_TOR_STARTING ":/images/16x16/tor-starting.png"
 #define IMG_TOR_STOPPING ":/images/16x16/tor-stopping.png"
-#else
-/* Use the .ico files */
-#include "res/vidalia_win.rc.h"
-#define IMG_TOR_STOPPED    QString::number(IDI_TOR_OFF)
-#define IMG_TOR_RUNNING    QString::number(IDI_TOR_ON)
-#define IMG_TOR_STARTING   QString::number(IDI_TOR_STARTING)
-#define IMG_TOR_STOPPING   QString::number(IDI_TOR_STOPPING)
-#endif
 #elif defined(Q_WS_MAC)
 /* On Mac, we always go straight to Carbon to load our dock images 
  * from .icns files */

Modified: vidalia/trunk/src/vidalia/tray/trayicon.cpp
===================================================================
--- vidalia/trunk/src/vidalia/tray/trayicon.cpp	2008-02-19 00:14:53 UTC (rev 2353)
+++ vidalia/trunk/src/vidalia/tray/trayicon.cpp	2008-02-24 04:02:19 UTC (rev 2354)
@@ -39,7 +39,6 @@
 TrayIcon::TrayIcon(QWidget *parent)
   : TrayIconImpl(parent)
 {
-  _contextMenu = 0;
 }
 
 /** Catches and handles mouse-related events. */
@@ -47,14 +46,6 @@
 TrayIcon::event(QEvent *event)
 {
   switch (event->type()) {
-    case QEvent::MouseButtonPress:
-      mouseButtonPress((QMouseEvent *)event);
-      break;
-
-    case QEvent::MouseButtonRelease:
-      mouseButtonRelease((QMouseEvent *)event);
-      break;
-
     case QEvent::MouseButtonDblClick:
       mouseButtonDblClick((QMouseEvent *)event);
       break;
@@ -66,38 +57,6 @@
   return true;
 }
 
-/** Responds to a single mouse button press. On X11, we display the menu when
- * a mouse button is pressed. */
-void
-TrayIcon::mouseButtonPress(QMouseEvent *event)
-{
-#if defined(Q_WS_X11) && !defined(USE_QSYSTEMTRAYICON)
-  if (_contextMenu) {
-    _contextMenu->popup(event->globalPos());
-  }
-#else
-  Q_UNUSED(event);
-#endif
-}
-
-/** Responds to a single mouse button release. On Windows, we display the menu
- * when a mouse button is released. */
-void
-TrayIcon::mouseButtonRelease(QMouseEvent *event)
-{
-#if defined(Q_WS_WIN)
-  if (_contextMenu) {
-    /* This little activateWindow() dance is necessary to make menu closing
-     * work properly on Windows. */
-    _contextMenu->activateWindow();
-    _contextMenu->popup(event->globalPos());
-    _contextMenu->activateWindow();
-  }
-#else
-  Q_UNUSED(event);
-#endif
-}
-
 /** Responds to a mouse button double-click. On all platforms, we just emit a
  * signal and let the owner of the tray icon decide if they want to do
  * anything. */
@@ -152,10 +111,8 @@
 {
 #if defined(Q_WS_MAC)
   qt_mac_set_dock_menu(menu);
-#elif defined(USE_QSYSTEMTRAYICON)
-  TrayIconImpl::setContextMenu(menu);
 #else
-  _contextMenu = menu;
+  TrayIconImpl::setContextMenu(menu);
 #endif
 }
 
@@ -164,7 +121,11 @@
 TrayIcon::showBalloonMessage(const QString &title, const QString &message,
                              BalloonMessageIcon balloonIcon)
 {
-#if defined(USE_QSYSTEMTRAYICON)
+#if defined(Q_WS_MAC)
+  Q_UNUSED(title)
+  Q_UNUSED(message)
+  Q_UNUSED(balloonIcon)
+#else
   QSystemTrayIcon::MessageIcon icon;
   switch (balloonIcon) {
     case NoIcon:   icon = QSystemTrayIcon::NoIcon; break;
@@ -173,10 +134,6 @@
     default:  icon = QSystemTrayIcon::Information; break;
   }
   TrayIconImpl::showMessage(title, message, icon);
-#else
-  Q_UNUSED(title)
-  Q_UNUSED(message)
-  Q_UNUSED(balloonIcon)
 #endif
 }
 
@@ -188,13 +145,9 @@
 #if defined(Q_WS_WIN) || defined(Q_WS_MAC)
   /* We always have a tray on Win32 or a dock on OS X */
   return true;
-#elif defined(USE_QSYSTEMTRAYICON)
+#else
   /* Ask Qt if there is a tray available */
   return QSystemTrayIcon::isSystemTrayAvailable();
-#else
-  /* XXX:This is too optimistic, but we need to make our own tray icon
-   * implementation smart enough to detect a system tray on X11. */
-  return true;
 #endif
 }
 
@@ -203,15 +156,13 @@
 bool
 TrayIcon::supportsBalloonMessages()
 {
-#if defined(USE_QSYSTEMTRAYICON)
 #if defined(Q_WS_WIN)
   return (QSystemTrayIcon::supportsMessages()
             && QSysInfo::WindowsVersion > QSysInfo::WV_2000);
+#elif defined(Q_WS_MAC)
+  return false;
 #else
   return QSystemTrayIcon::supportsMessages();
 #endif
-#else
-  return false;    
-#endif
 }
 

Modified: vidalia/trunk/src/vidalia/tray/trayicon.h
===================================================================
--- vidalia/trunk/src/vidalia/tray/trayicon.h	2008-02-19 00:14:53 UTC (rev 2353)
+++ vidalia/trunk/src/vidalia/tray/trayicon.h	2008-02-24 04:02:19 UTC (rev 2354)
@@ -35,14 +35,10 @@
 #include "config.h"
 
 /* Include the correct tray icon implementation */
-#if defined(USE_QSYSTEMTRAYICON)
-#include "trayicon_qt.h"
-#elif defined(Q_WS_WIN)
-#include "trayicon_win.h"
-#elif defined(Q_WS_X11)
-#include "trayicon_x11.h"
-#else
+#if defined(Q_WS_MAC)
 #include "trayicon_mac.h"
+#else
+#include "trayicon_qt.h"
 #endif
 
 
@@ -92,15 +88,8 @@
 protected:
   /** Override's QObject' event() method to catch mouse-related events. */
   bool event(QEvent *);
-  /** Respond to a mouse button being pressed. */ 
-  void mouseButtonPress(QMouseEvent *event);
-  /** Respond to a mouse button being released. */
-  void mouseButtonRelease(QMouseEvent *event);
   /** Respond to a mouse button being double-clicked. */
   void mouseButtonDblClick(QMouseEvent *event);
-
-private:
-  QMenu* _contextMenu; /**< Menu to display when the tray icon is clicked. */
 };
 
 #endif

Deleted: vidalia/trunk/src/vidalia/tray/trayicon_win.cpp

Deleted: vidalia/trunk/src/vidalia/tray/trayicon_win.h

Deleted: vidalia/trunk/src/vidalia/tray/trayicon_x11.cpp

Deleted: vidalia/trunk/src/vidalia/tray/trayicon_x11.h