Commit 29c58361 authored by Enrico Ros's avatar Enrico Ros
Browse files

KNewStuff client nearly complete - multiple simultaneous downloads

supported - no more windows popping up, all is displayed on the dialog

  All transfers are handled internally, giving user the feedback right
inside the window. There are pair of bugs, but installing (aka plain
downloading) and uninstalling (aka deltion) of files are already
handled.

What to do next:
- remove bugs (reparent AvailableItem(s) to the main class, not the
  view and deference pointers after deletion will fix the crash; it
  can even be fixed by limiting user's freedom and force him/her to
  act only on currently displayed items; btw this way is deprecated)
- handle install/removal notifications on the app
- check the whole flow of the operation. check for unstable states
  (seems not the case) and unreachable ones
- clean it up and ship that client with kpdf, since:
*knewstuff in kde4 will be cleaner and better*


svn path=/branches/kpdf/annotations/kdegraphics/kpdf/; revision=413951
parent f0a0a803
This diff is collapsed.
...@@ -26,8 +26,20 @@ class NewStuffDialog : public QDialog ...@@ -26,8 +26,20 @@ class NewStuffDialog : public QDialog
// show a message in the bottom bar // show a message in the bottom bar
enum MessageType { Normal, Info, Error }; enum MessageType { Normal, Info, Error };
void displayMessage( const QString & msg, MessageType type = Normal, void displayMessage( const QString & msg,
int timeOutMs = 3000 ); MessageType type = Normal, int timeOutMs = 3000 );
// begin installing that item
void installItem( AvailableItem * item );
// remove an already installed item
void removeItem( AvailableItem * item );
signals:
// tells that a file has been installed
void installedFile( QString fileName, QString type );
// tells that a file has been removed
void removedFile( QString oldFileName );
private: private:
// private storage class // private storage class
...@@ -37,16 +49,19 @@ class NewStuffDialog : public QDialog ...@@ -37,16 +49,19 @@ class NewStuffDialog : public QDialog
void slotResetMessageColors(); void slotResetMessageColors();
void slotNetworkTimeout(); void slotNetworkTimeout();
void slotSortingSelected( int sortType ); void slotSortingSelected( int sortType );
// providers loading related // providersList loading
void slotLoadProviders(); void slotLoadProvidersList();
void slotProvidersLoaded( Provider::List * list ); void slotProvidersListInfoData( KIO::Job *, const QByteArray & );
// items loading related void slotProvidersListResult( KIO::Job * );
// provider loading
void slotLoadProvider( int provider = 0 ); void slotLoadProvider( int provider = 0 );
void slotProviderInfoData( KIO::Job *, const QByteArray & ); void slotProviderInfoData( KIO::Job *, const QByteArray & );
void slotProviderInfoResult( KIO::Job * ); void slotProviderInfoResult( KIO::Job * );
// files downloading related // file downloading
//void slotDownloadItem( AvailableItem * ); void slotDownloadItem( AvailableItem * );
//void slotItemDownloaded( KIO::Job * ); void slotItemMessage( KIO::Job *, const QString & );
void slotItemPercentage( KIO::Job *, unsigned long );
void slotItemResult( KIO::Job * );
}; };
#endif #endif
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment