File transmission-qt4.patch of Package transmission

Index: trunk/qt/README.txt
===================================================================
--- trunk/qt/README.txt	(revision 14150)
+++ trunk/qt/README.txt	(revision 14149)
@@ -37,7 +37,7 @@
 BUILDING ON UNIX
 
-   1. Prerequisites: Qt >= 5 and its development packages
+   1. Prerequisites: Qt >= 4.6 and its development packages
    2. Build Transmission as normal
-   3. In the qt/ directory, type "qmake qtr.pro" or "qmake-qt5 qtr.pro"
+   3. In the qt/ directory, type "qmake qtr.pro" or "qmake-qt4 qtr.pro"
    4. In the qt/ directory, type "make"
    5. In the qt/ directory, as root, type "INSTALL_ROOT=/usr make install"
Index: trunk/qt/about.cc
===================================================================
--- trunk/qt/about.cc	(revision 14150)
+++ trunk/qt/about.cc	(revision 14149)
@@ -38,5 +38,5 @@
 
   l = new QLabel;
-  l->setPixmap (QPixmap (QString::fromUtf8 (":/icons/transmission-48.png")));
+  l->setPixmap (QPixmap (QString::fromAscii (":/icons/transmission-48.png")));
   l->setAlignment (Qt::AlignCenter);
   v->addWidget (l);
@@ -45,5 +45,5 @@
   f.setWeight (QFont::Bold);
   f.setPointSize (int (f.pointSize () * 1.2));
-  l = new QLabel (tr ("<big>Transmission %1</big>").arg (QString::fromUtf8 (LONG_VERSION_STRING)));
+  l = new QLabel (tr ("<big>Transmission %1</big>").arg (QString::fromAscii (LONG_VERSION_STRING)));
   l->setAlignment (Qt::AlignCenter);
   l->setFont (f);
@@ -52,5 +52,5 @@
 
   l = new QLabel (tr ("A fast and easy BitTorrent client"));
-  l->setStyleSheet (QString::fromUtf8 ("text-align: center"));
+  l->setStyleSheet (QString::fromAscii ("text-align: center"));
   l->setAlignment (Qt::AlignCenter);
   v->addWidget (l);
@@ -60,5 +60,5 @@
   v->addWidget (l);
 
-  l = new QLabel (QString::fromUtf8 ("<a href=\"http://www.transmissionbt.com/\">http://www.transmissionbt.com/</a>"));
+  l = new QLabel (QString::fromAscii ("<a href=\"http://www.transmissionbt.com/\">http://www.transmissionbt.com/</a>"));
   l->setOpenExternalLinks (true);
   l->setAlignment (Qt::AlignCenter);
@@ -90,5 +90,5 @@
     this,
     tr ("Credits"),
-    QString::fromUtf8 ("Jordan Lee (Backend; Daemon; GTK+; Qt)\n"
+    QString::fromAscii ("Jordan Lee (Backend; Daemon; GTK+; Qt)\n"
                         "Michell Livingston (OS X)\n"));
 }
Index: trunk/qt/add-data.cc
===================================================================
--- trunk/qt/add-data.cc	(revision 14150)
+++ trunk/qt/add-data.cc	(revision 14149)
@@ -44,5 +44,5 @@
     else if( Utils::isHexHashcode( key ) )
     {
-        magnet = QString::fromUtf8("magnet:?xt=urn:btih:") + key;
+        magnet = QString::fromAscii("magnet:?xt=urn:btih:") + key;
         type = MAGNET;
     }
Index: trunk/qt/app.cc
===================================================================
--- trunk/qt/app.cc	(revision 14150)
+++ trunk/qt/app.cc	(revision 14149)
@@ -46,7 +46,7 @@
 namespace
 {
-  const QString DBUS_SERVICE     = QString::fromUtf8 ("com.transmissionbt.Transmission" );
-  const QString DBUS_OBJECT_PATH = QString::fromUtf8 ("/com/transmissionbt/Transmission");
-  const QString DBUS_INTERFACE   = QString::fromUtf8 ("com.transmissionbt.Transmission" );
+  const QString DBUS_SERVICE     = QString::fromAscii ("com.transmissionbt.Transmission" );
+  const QString DBUS_OBJECT_PATH = QString::fromAscii ("/com/transmissionbt/Transmission");
+  const QString DBUS_INTERFACE   = QString::fromAscii ("com.transmissionbt.Transmission" );
 
   const char * MY_READABLE_NAME ("transmission-qt");
@@ -90,5 +90,5 @@
   myLastFullUpdateTime (0)
 {
-  const QString MY_CONFIG_NAME = QString::fromUtf8 ("transmission");
+  const QString MY_CONFIG_NAME = QString::fromAscii ("transmission");
 
   setApplicationName (MY_CONFIG_NAME);
@@ -109,5 +109,5 @@
   sizes << 16 << 22 << 24 << 32 << 48 << 64 << 72 << 96 << 128 << 192 << 256;
   foreach (int size, sizes)
-    icon.addPixmap (QPixmap (QString::fromUtf8 (":/icons/transmission-%1.png").arg (size)));
+    icon.addPixmap (QPixmap (QString::fromAscii (":/icons/transmission-%1.png").arg (size)));
   setWindowIcon (icon);
 
@@ -465,13 +465,13 @@
 MyApp :: notify (const QString& title, const QString& body) const
 {
-  const QString dbusServiceName   = QString::fromUtf8 ("org.freedesktop.Notifications");
-  const QString dbusInterfaceName = QString::fromUtf8 ("org.freedesktop.Notifications");
-  const QString dbusPath          = QString::fromUtf8 ("/org/freedesktop/Notifications");
-
-  QDBusMessage m = QDBusMessage::createMethodCall (dbusServiceName, dbusPath, dbusInterfaceName, QString::fromUtf8 ("Notify"));
+  const QString dbusServiceName   = QString::fromAscii ("org.freedesktop.Notifications");
+  const QString dbusInterfaceName = QString::fromAscii ("org.freedesktop.Notifications");
+  const QString dbusPath          = QString::fromAscii ("/org/freedesktop/Notifications");
+
+  QDBusMessage m = QDBusMessage::createMethodCall (dbusServiceName, dbusPath, dbusInterfaceName, QString::fromAscii ("Notify"));
   QList<QVariant> args;
-  args.append (QString::fromUtf8 ("Transmission")); // app_name
+  args.append (QString::fromAscii ("Transmission")); // app_name
   args.append (0U);                                   // replaces_id
-  args.append (QString::fromUtf8 ("transmission")); // icon
+  args.append (QString::fromAscii ("transmission")); // icon
   args.append (title);                                // summary
   args.append (body);                                 // body
@@ -511,5 +511,5 @@
                                                              DBUS_OBJECT_PATH,
                                                              DBUS_INTERFACE,
-                                                             QString::fromUtf8 ("AddMetainfo"));
+                                                             QString::fromAscii ("AddMetainfo"));
       QList<QVariant> arguments;
       AddData a (addme[i]);
Index: trunk/qt/details.cc
===================================================================
--- trunk/qt/details.cc	(revision 14150)
+++ trunk/qt/details.cc	(revision 14149)
@@ -868,5 +868,5 @@
             {
               QString txt;
-              switch (ch.unicode ())
+              switch (ch.toAscii ())
                 {
                   case 'O': txt = tr ("Optimistic unchoke"); break;
Index: trunk/qt/favicon.cc
===================================================================
--- trunk/qt/favicon.cc	(revision 14150)
+++ trunk/qt/favicon.cc	(revision 14149)
@@ -11,9 +11,9 @@
  */
 
+#include <QDesktopServices>
 #include <QDir>
 #include <QNetworkAccessManager>
 #include <QNetworkReply>
 #include <QNetworkRequest>
-#include <QStandardPaths>
 
 #include "favicon.h"
@@ -41,5 +41,5 @@
 Favicons :: getCacheDir( )
 {
-    const QString base = QStandardPaths::writableLocation (QStandardPaths::CacheLocation);
+    const QString base = QDesktopServices::storageLocation( QDesktopServices::CacheLocation );
     return QDir( base ).absoluteFilePath( "favicons" );
 }
Index: trunk/qt/file-tree.cc
===================================================================
--- trunk/qt/file-tree.cc	(revision 14150)
+++ trunk/qt/file-tree.cc	(revision 14149)
@@ -437,4 +437,5 @@
     {
       QString oldpath;
+      QModelIndex walk = index;
       FileTreeItem * item = itemFromIndex (index);
 
@@ -575,7 +576,7 @@
 FileTreeModel :: clear ()
 {
-  beginResetModel ();
   clearSubtree (QModelIndex());
-  endResetModel ();
+
+  reset ();
 }
 
@@ -613,5 +614,5 @@
   bool added = false;
   FileTreeItem * item;
-  QStringList tokens = filename.split (QChar::fromLatin1('/'));
+  QStringList tokens = filename.split (QChar::fromAscii('/'));
 
   item = findItemForFileIndex (fileIndex);
@@ -886,5 +887,5 @@
     {
       setColumnHidden (i, (i<FIRST_VISIBLE_COLUMN) || (LAST_VISIBLE_COLUMN<i));
-      header()->setSectionResizeMode(i, QHeaderView::Interactive);
+      header()->setResizeMode(i, QHeaderView::Interactive);
     }
 
Index: trunk/qt/filterbar.cc
===================================================================
--- trunk/qt/filterbar.cc	(revision 14150)
+++ trunk/qt/filterbar.cc	(revision 14149)
@@ -11,10 +11,4 @@
  */
 
-#include <QAbstractItemView>
-#include <QPushButton>
-#include <QLabel>
-#include <QHBoxLayout>
-#include <QLineEdit>
-#include <QStylePainter>
 #include <QString>
 #include <QtGui>
Index: trunk/qt/freespace-label.cc
===================================================================
--- trunk/qt/freespace-label.cc	(revision 14150)
+++ trunk/qt/freespace-label.cc	(revision 14149)
@@ -74,6 +74,4 @@
 FreespaceLabel :: onSessionExecuted (int64_t tag, const QString& result, struct tr_variant * arguments)
 {
-  Q_UNUSED (result);
-
   if (tag != myTag)
     return;
Index: trunk/qt/freespace-label.h
===================================================================
--- trunk/qt/freespace-label.h	(revision 14150)
+++ trunk/qt/freespace-label.h	(revision 14149)
@@ -17,5 +17,5 @@
 #include <QTimer>
 
-#include <QLabel>
+#include <QtGui/QLabel>
 
 class Session;
Index: trunk/qt/mainwin.cc
===================================================================
--- trunk/qt/mainwin.cc	(revision 14150)
+++ trunk/qt/mainwin.cc	(revision 14149)
@@ -15,8 +15,4 @@
 
 #include <QtGui>
-#include <QProxyStyle>
-#include <QLabel>
-#include <QFileDialog>
-#include <QMessageBox>
 
 #include <libtransmission/transmission.h>
Index: trunk/qt/make-dialog.cc
===================================================================
--- trunk/qt/make-dialog.cc	(revision 14150)
+++ trunk/qt/make-dialog.cc	(revision 14149)
@@ -22,5 +22,4 @@
 #include <QLineEdit>
 #include <QList>
-#include <QMimeData>
 #include <QPlainTextEdit>
 #include <QProgressBar>
@@ -344,5 +343,5 @@
         QPushButton * b = new QPushButton;
         b->setIcon( folderPixmap );
-        b->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) );
+        b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) );
         myDestination = QDir::homePath();
         b->setText( myDestination );
@@ -358,5 +357,5 @@
         myFolderButton->setIcon( folderPixmap );
         myFolderButton->setText( tr( "(None)" ) );
-        myFolderButton->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) );
+        myFolderButton->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) );
         connect( myFolderButton, SIGNAL(clicked(bool)),
                  this, SLOT(onFolderClicked(void)) );
@@ -373,5 +372,5 @@
         myFileButton->setText( tr( "(None)" ) );
         myFileButton->setIcon( filePixmap );
-        myFileButton->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) );
+        myFileButton->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) );
         connect( myFileButton, SIGNAL(clicked(bool)),
                  this, SLOT(onFileClicked(void)) );
@@ -386,5 +385,5 @@
 
         hig->addWideControl( myTrackerEdit = new ShortPlainTextEdit );
-        const int height = fontMetrics().size( 0, QString::fromUtf8("\n\n\n\n") ).height( );
+        const int height = fontMetrics().size( 0, QString::fromAscii("\n\n\n\n") ).height( );
         myTrackerEdit->setMinimumHeight( height );
         hig->addTallRow( tr( "&Trackers:" ), myTrackerEdit );
Index: trunk/qt/options.cc
===================================================================
--- trunk/qt/options.cc	(revision 14150)
+++ trunk/qt/options.cc	(revision 14149)
@@ -125,5 +125,5 @@
       p = mySourceButton =  new QPushButton;
       p->setIcon (filePixmap);
-      p->setStyleSheet (QString::fromUtf8 ("text-align: left; padding-left: 5; padding-right: 5"));
+      p->setStyleSheet (QString::fromAscii ("text-align: left; padding-left: 5; padding-right: 5"));
       p->installEventFilter (this);
       w = p;
@@ -140,5 +140,5 @@
     }
 
-  const int width = fontMetrics.size (0, QString::fromUtf8 ("This is a pretty long torrent filename indeed.torrent")).width ();
+  const int width = fontMetrics.size (0, QString::fromAscii ("This is a pretty long torrent filename indeed.torrent")).width ();
   w->setMinimumWidth (width);
   layout->addWidget (w, row, 1);
Index: trunk/qt/prefs-dialog.cc
===================================================================
--- trunk/qt/prefs-dialog.cc	(revision 14150)
+++ trunk/qt/prefs-dialog.cc	(revision 14149)
@@ -22,4 +22,5 @@
 #include <QFileInfo>
 #include <QHBoxLayout>
+#include <QHttp>
 #include <QIcon>
 #include <QLabel>
@@ -135,5 +136,5 @@
     const int minutes( myPrefs.getInt( key ) );
     QTimeEdit * e = new QTimeEdit( );
-    e->setDisplayFormat( QString::fromUtf8( "hh:mm" ) );
+    e->setDisplayFormat( QString::fromAscii( "hh:mm" ) );
     e->setProperty( PREF_KEY, key );
     e->setTime( QTime().addSecs( minutes * 60 ) );
@@ -233,9 +234,9 @@
     h->setSpacing( HIG :: PAD );
     QLabel * label = new QLabel;
-    label->setPixmap( QPixmap( QString::fromUtf8( ":/icons/alt-limit-off.png" ) ) );
+    label->setPixmap( QPixmap( QString::fromAscii( ":/icons/alt-limit-off.png" ) ) );
     label->setAlignment( Qt::AlignLeft|Qt::AlignVCenter );
     h->addWidget( label );
     label = new QLabel( tr( "Alternative Speed Limits" ) );
-    label->setStyleSheet( QString::fromUtf8( "font: bold" ) );
+    label->setStyleSheet( QString::fromAscii( "font: bold" ) );
     label->setAlignment( Qt::AlignLeft|Qt::AlignVCenter );
     h->addWidget( label );
@@ -572,5 +573,5 @@
         b = myWatchButton = new QPushButton;
         b->setIcon( folderPixmap );
-        b->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) );
+        b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) );
         connect( b, SIGNAL(clicked(bool)), this, SLOT(onWatchClicked(void)) );
         hig->addRow( l, b );
@@ -585,5 +586,5 @@
         b = myDestinationButton = new QPushButton;
         b->setIcon( folderPixmap );
-        b->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) );
+        b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) );
         connect( b, SIGNAL(clicked(bool)), this, SLOT(onDestinationClicked(void)) );
         hig->addRow( tr( "Save to &Location:" ), b );
@@ -610,5 +611,5 @@
         b = myIncompleteButton = new QPushButton;
         b->setIcon( folderPixmap );
-        b->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) );
+        b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) );
         connect( b, SIGNAL(clicked(bool)), this, SLOT(onIncompleteClicked(void)) );
         hig->addRow( myIncompleteCheckbox, b );
@@ -618,5 +619,5 @@
         b = myTorrentDoneScriptButton = new QPushButton;
         b->setIcon( filePixmap );
-        b->setStyleSheet( QString::fromUtf8( "text-align: left; padding-left: 5; padding-right: 5" ) );
+        b->setStyleSheet( QString::fromAscii( "text-align: left; padding-left: 5; padding-right: 5" ) );
         connect( b, SIGNAL(clicked(bool)), this, SLOT(onScriptClicked(void)) );
         hig->addRow( myTorrentDoneScriptCheckbox, b );
Index: trunk/qt/qtr.pro
===================================================================
--- trunk/qt/qtr.pro	(revision 14150)
+++ trunk/qt/qtr.pro	(revision 14149)
@@ -2,5 +2,5 @@
 NAME = "Transmission"
 DESCRIPTION = "Transmission: a fast, easy, and free BitTorrent client"
-VERSION = 2.81
+VERSION = 2.00
 LICENSE = "GPL"
 
@@ -12,6 +12,6 @@
 man.files = transmission-qt.1
 
-CONFIG += qt thread debug link_pkgconfig
-QT += network dbus widgets
+CONFIG += qt qdbus thread debug link_pkgconfig
+QT += network
 PKGCONFIG = fontconfig libcurl openssl libevent
 
Index: trunk/qt/session.cc
===================================================================
--- trunk/qt/session.cc	(revision 14150)
+++ trunk/qt/session.cc	(revision 14149)
@@ -691,9 +691,9 @@
       QNetworkRequest request;
       request.setUrl (myUrl);
-      request.setRawHeader ("User-Agent", QString (QCoreApplication::instance ()->applicationName () + "/" + LONG_VERSION_STRING).toUtf8 ());
+      request.setRawHeader ("User-Agent", QString (QCoreApplication::instance ()->applicationName () + "/" + LONG_VERSION_STRING).toAscii ());
       request.setRawHeader ("Content-Type", "application/json; charset=UTF-8");
 
       if (!mySessionId.isEmpty ())
-        request.setRawHeader (TR_RPC_SESSION_ID_HEADER, mySessionId.toUtf8 ());
+        request.setRawHeader (TR_RPC_SESSION_ID_HEADER, mySessionId.toAscii ());
 
       const QByteArray requestData (json);
Index: trunk/qt/squeezelabel.h
===================================================================
--- trunk/qt/squeezelabel.h	(revision 14150)
+++ trunk/qt/squeezelabel.h	(revision 14149)
@@ -43,5 +43,5 @@
 #define SQUEEZELABEL_H
 
-#include <QLabel>
+#include <QtGui/QLabel>
 
 class SqueezeLabel : public QLabel
Index: trunk/qt/torrent-model.cc
===================================================================
--- trunk/qt/torrent-model.cc	(revision 14150)
+++ trunk/qt/torrent-model.cc	(revision 14149)
@@ -23,12 +23,9 @@
 TorrentModel :: clear( )
 {
-    beginResetModel ();
-
     myIdToRow.clear( );
     myIdToTorrent.clear( );
     foreach( Torrent * tor, myTorrents ) delete tor;
     myTorrents.clear( );
-
-    endResetModel ();
+    reset( );
 }
 
Index: trunk/qt/utils.h
===================================================================
--- trunk/qt/utils.h	(revision 14150)
+++ trunk/qt/utils.h	(revision 14149)
@@ -43,10 +43,10 @@
         ///
 
-        static bool isMagnetLink( const QString& s ) { return s.startsWith( QString::fromUtf8( "magnet:?" ) ); }
+        static bool isMagnetLink( const QString& s ) { return s.startsWith( QString::fromAscii( "magnet:?" ) ); }
 
         static bool isHexHashcode( const QString& s )
         {
             if( s.length() != 40 ) return false;
-            foreach( QChar ch, s ) if( !isxdigit( ch.unicode() ) ) return false;
+            foreach( QChar ch, s ) if( !isxdigit( ch.toAscii() ) ) return false;
             return true;
         }
@@ -54,7 +54,7 @@
         static bool isUriWithSupportedScheme( const QString& s )
         {
-            static const QString ftp = QString::fromUtf8( "ftp://" );
-            static const QString http = QString::fromUtf8( "http://" );
-            static const QString https = QString::fromUtf8( "https://" );
+            static const QString ftp = QString::fromAscii( "ftp://" );
+            static const QString http = QString::fromAscii( "http://" );
+            static const QString https = QString::fromAscii( "https://" );
             return s.startsWith(http) || s.startsWith(https) || s.startsWith(ftp);
         }
Index: trunk/qt/watchdir.cc
===================================================================
--- trunk/qt/watchdir.cc	(revision 14150)
+++ trunk/qt/watchdir.cc	(revision 14149)
@@ -53,5 +53,5 @@
     if( err )
         ret = ERROR;
-    else if( myModel.hasTorrent( QString::fromUtf8( inf.hashString ) ) )
+    else if( myModel.hasTorrent( QString::fromAscii( inf.hashString ) ) )
         ret = DUPLICATE;
     else
@@ -107,5 +107,5 @@
     // try to add any new files which end in .torrent
     const QSet<QString> newFiles( files - myWatchDirFiles );
-    const QString torrentSuffix = QString::fromUtf8( ".torrent" );
+    const QString torrentSuffix = QString::fromAscii( ".torrent" );
     foreach( QString name, newFiles ) {
         if( name.endsWith( torrentSuffix, Qt::CaseInsensitive ) ) {