Ticket #2309: transmission-1.73-alt-close-to-tray.patch
File transmission-1.73-alt-close-to-tray.patch, 2.2 KB (added by zerg, 13 years ago) |
---|
-
transmission-1.73/qt/mainwin.h
old new class TrMainWindow: public QMainWindow 51 51 Q_OBJECT 52 52 53 53 private: 54 bool allow_close; 54 55 time_t myLastFullUpdateTime; 55 56 QDialog * mySessionDialog; 56 57 QDialog * myPrefsDialog; … … class TrMainWindow: public QMainWindow 136 137 void onSortBySizeToggled ( bool ); 137 138 void onSortByStateToggled ( bool ); 138 139 void onSortByTrackerToggled ( bool ); 140 void allowClose ( ); 139 141 140 142 private: 141 143 QWidget * createFilterBar( void ); … … class TrMainWindow: public QMainWindow 173 175 174 176 private: 175 177 void clearSelection( ); 178 virtual void closeEvent( QCloseEvent* ); 176 179 177 180 public slots: 178 181 void setToolbarVisible( bool ); -
transmission-1.73/qt/mainwin.cc
old new 23 23 #include <QSystemTrayIcon> 24 24 #include <QUrl> 25 25 #include <QSignalMapper> 26 #include <QCloseEvent> 26 27 27 28 #include <libtransmission/version.h> 28 29 … … TrMainWindow :: TrMainWindow( Session& s 98 99 myLastReadTime( 0 ), 99 100 myNetworkTimer( this ) 100 101 { 102 allow_close = false; 103 101 104 QAction * sep = new QAction( this ); 102 105 sep->setSeparator( true ); 103 106 … … TrMainWindow :: TrMainWindow( Session& s 264 267 connect( &mySession, SIGNAL(dataSendProgress()), this, SLOT(dataSendProgress()) ); 265 268 connect( &mySession, SIGNAL(httpAuthenticationRequired()), this, SLOT(wrongAuthentication()) ); 266 269 270 connect( QCoreApplication::instance(), SIGNAL(aboutToQuit()), this, SLOT(allowClose()) ); 271 267 272 if( mySession.isServer( ) ) 268 273 myNetworkLabel->hide( ); 269 274 else { … … TrMainWindow :: ~TrMainWindow( ) 286 291 ****/ 287 292 288 293 void 294 TrMainWindow :: allowClose( ) 295 { 296 allow_close = true; 297 } 298 299 void 300 TrMainWindow :: closeEvent( QCloseEvent *e ) 301 { 302 if( myTrayIcon.isVisible( ) ) 303 { 304 if( allow_close ) 305 { 306 e->accept(); 307 } 308 else 309 { 310 ui.action_ShowMainWindow->setChecked( false ); 311 e->ignore(); 312 } 313 } 314 } 315 316 void 289 317 TrMainWindow :: onSessionSourceChanged( ) 290 318 { 291 319 myModel.clear( );