<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,7 +1,7 @@
 /**
  * Copyright (c) 2008, Paul Gideon Dann
  * All rights reserved.
- * 
+ *
  * Redistribution and use in source and binary forms, with or without
  * modification, are permitted provided that the following conditions
  * are met:
@@ -29,18 +29,21 @@
 #include &lt;QtCore&gt;
 #include &quot;application.moc&quot;
 #include &quot;defines.h&quot;
+#include &quot;aboutDialog.h&quot;
+#include &quot;helpDialog.h&quot;
+#include &quot;wallpaperGetter.h&quot;
 #include &quot;applicationUpdater.h&quot;
 
 
 /**
  * Constructor
  */
-Application::Application(int&amp; argc, char** argv)
+Application::Application(int argc, char* argv[])
   : QApplication(argc, argv),
-    mAboutDialog(),
-    mHelpDialog(),
-    mTray(),
-    mTrayMenu(),
+    mAboutDialog(new AboutDialog()),
+    mHelpDialog(new HelpDialog()),
+    mTray(new QSystemTrayIcon()),
+    mTrayMenu(new QMenu()),
     mAppUpgradeActionGroup(NULL),
     mWallpaperGetter(NULL),
     mCurrentWallpaperMonth(0)
@@ -59,55 +62,55 @@ Application::Application(int&amp; argc, char** argv)
           this, SLOT(wallpaperSet()));
 
   // Dialogs
-  connect(&amp;mHelpDialog, SIGNAL(clearCache()),
+  connect(mHelpDialog.get(), SIGNAL(clearCache()),
           mWallpaperGetter, SLOT(clearCache()));
 
   // System tray menu
   QAction* action;
 
-  action = mTrayMenu.addAction(tr(&quot;Set wallpaper&quot;));
+  action = mTrayMenu-&gt;addAction(tr(&quot;Set wallpaper&quot;));
   connect(action, SIGNAL(triggered(bool)),
           mWallpaperGetter, SLOT(refreshWallpaperWithProgress()));
 
-  action = mTrayMenu.addAction(tr(&quot;Open website&quot;));
+  action = mTrayMenu-&gt;addAction(tr(&quot;Open website&quot;));
   connect(action, SIGNAL(triggered(bool)),
           this, SLOT(openWebsite()));
 
-  mAppUpgradeActionGroup = new QActionGroup(&amp;mTrayMenu);
+  mAppUpgradeActionGroup = new QActionGroup(mTrayMenu.get());
   mAppUpgradeActionGroup-&gt;setVisible(false);
   connect(appUpdater, SIGNAL(newVersionAvailable()),
           this, SLOT(unhideAppUpgradeActionGroup()));
 
-  action = mTrayMenu.addSeparator();
+  action = mTrayMenu-&gt;addSeparator();
   action-&gt;setActionGroup(mAppUpgradeActionGroup);
 
-  action = mTrayMenu.addAction(tr(&quot;Upgrade this application&quot;));
+  action = mTrayMenu-&gt;addAction(tr(&quot;Upgrade this application&quot;));
   action-&gt;setActionGroup(mAppUpgradeActionGroup);
   connect(action, SIGNAL(triggered(bool)),
           appUpdater, SLOT(startUpdate()));
 
-  action = mTrayMenu.addSeparator();
+  action = mTrayMenu-&gt;addSeparator();
 
-  action = mTrayMenu.addAction(tr(&quot;Help&quot;));
+  action = mTrayMenu-&gt;addAction(tr(&quot;Help&quot;));
   connect(action, SIGNAL(triggered(bool)),
-          &amp;mHelpDialog, SLOT(show()));
-  action = mTrayMenu.addAction(tr(&quot;About&quot;));
+          mHelpDialog.get(), SLOT(show()));
+  action = mTrayMenu-&gt;addAction(tr(&quot;About&quot;));
   connect(action, SIGNAL(triggered(bool)),
-          &amp;mAboutDialog, SLOT(show()));
-  action = mTrayMenu.addAction(tr(&quot;Quit&quot;));
+          mAboutDialog.get(), SLOT(show()));
+  action = mTrayMenu-&gt;addAction(tr(&quot;Quit&quot;));
   connect(action, SIGNAL(triggered(bool)),
           this, SLOT(quit()));
 
   // System tray
   if (WINDOWS) {
-    mTray.setIcon(QIcon(&quot;:trayicon-16.png&quot;));
+    mTray-&gt;setIcon(QIcon(&quot;:trayicon-16.png&quot;));
   } else {
-    mTray.setIcon(QIcon(&quot;:trayicon-18.png&quot;));
+    mTray-&gt;setIcon(QIcon(&quot;:trayicon-18.png&quot;));
   }
-  mTray.setToolTip(QCoreApplication::applicationName());
+  mTray-&gt;setToolTip(QCoreApplication::applicationName());
 
-  mTray.setContextMenu(&amp;mTrayMenu);
-  mTray.show();
+  mTray-&gt;setContextMenu(mTrayMenu.get());
+  mTray-&gt;show();
 
   // Set the wallpaper on startup
   mWallpaperGetter-&gt;refreshWallpaperWithProgress();
@@ -130,7 +133,7 @@ Application::~Application()
  */
 void Application::showTrayMessage(QString message)
 {
-  mTray.showMessage(tr(&quot;Logos Wallpaper Updater&quot;), message);
+  mTray-&gt;showMessage(tr(&quot;Logos Wallpaper Updater&quot;), message);
 }
 
 /**</diff>
      <filename>source/application.cpp</filename>
    </modified>
    <modified>
      <diff>@@ -31,18 +31,20 @@
 
 #include &lt;QApplication&gt;
 #include &lt;QtGui&gt;
+#include &lt;tr1/memory&gt;
 
-#include &quot;aboutDialog.h&quot;
-#include &quot;helpDialog.h&quot;
-#include &quot;wallpaperGetter.h&quot;
+using namespace std::tr1;
 
+class AboutDialog;
+class HelpDialog;
+class WallpaperGetter;
 
 class Application : public QApplication
 {
   Q_OBJECT
 
   public:
-    Application(int&amp; argc, char** argv);
+    Application(int argc, char* argv[]);
     ~Application();
     void showTrayMessage(QString message);
 
@@ -53,10 +55,10 @@ class Application : public QApplication
     void wallpaperSet();
 
   private:
-    AboutDialog mAboutDialog;
-    HelpDialog mHelpDialog;
-    QSystemTrayIcon mTray;
-    QMenu mTrayMenu;
+    shared_ptr&lt;AboutDialog&gt; mAboutDialog;
+    shared_ptr&lt;HelpDialog&gt; mHelpDialog;
+    shared_ptr&lt;QSystemTrayIcon&gt; mTray;
+    shared_ptr&lt;QMenu&gt; mTrayMenu;
     QActionGroup* mAppUpgradeActionGroup;
     WallpaperGetter* mWallpaperGetter;
     int mCurrentWallpaperMonth;</diff>
      <filename>source/application.h</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>200f9b4be871a948d8cad7e6286692403ff809e6</id>
    </parent>
  </parents>
  <author>
    <name>Paul Gideon Dann</name>
    <email>pdgiddie@gmail.com</email>
  </author>
  <url>http://github.com/giddie/logos-wallpaper-updater/commit/ffb6b292ea6cec1b0529663579532017b96821d0</url>
  <id>ffb6b292ea6cec1b0529663579532017b96821d0</id>
  <committed-date>2009-05-12T11:42:09-07:00</committed-date>
  <authored-date>2009-02-16T06:01:14-08:00</authored-date>
  <message>Using TR1's shared_ptrs to automate pointer management</message>
  <tree>d054a49f3ca5cb2f5971c1e8e48c0246f0ed02cb</tree>
  <committer>
    <name>Paul Gideon Dann</name>
    <email>pdgiddie@gmail.com</email>
  </committer>
</commit>
