diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2024-10-13 11:56:14 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2024-10-29 21:58:42 +0900 |
commit | 2879ff70be9271550477982a1a6371714db38562 (patch) | |
tree | c2054149dba923ab080fe7093432c7663a990111 /src/backends/progressinterface.h | |
parent | 3eb38d2556f676d1027746f20bf12a1dd74451ef (diff) | |
download | krecipes-2879ff70.tar.gz krecipes-2879ff70.zip |
Rearrange folders structure to remove unnecessary 'krecipes' second level subfolder
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
(cherry picked from commit 0c8ed6c9a4000af8f48581a81c4b5c2f5b9fd502)
Diffstat (limited to 'src/backends/progressinterface.h')
-rw-r--r-- | src/backends/progressinterface.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/backends/progressinterface.h b/src/backends/progressinterface.h new file mode 100644 index 0000000..de9fd28 --- /dev/null +++ b/src/backends/progressinterface.h @@ -0,0 +1,70 @@ +/*************************************************************************** +* Copyright (C) 2005 by * +* Jason Kivlighn (jkivlighn@gmail.com) * +* * +* This program is free software; you can redistribute it and/or modify * +* it under the terms of the GNU General Public License as published by * +* the Free Software Foundation; either version 2 of the License, or * +* (at your option) any later version. * +***************************************************************************/ + +#ifndef PROGRESSINTERFACE_H +#define PROGRESSINTERFACE_H + +#include <tqobject.h> +#include <tqwidget.h> + +class KProgressDialog; + +class RecipeDB; +class ProgressSlotObject; + +/** This class is used to monitor events from the database that may take + * awhile. Before a potentially long operation, the database will + * call progressBegin(), progress() a number of times, and then progressDone(). + * + * This class may be subclassed to perform certain operations during long + * operations by implementing the three virtual functions. The default + * implementation displays a progress bar dialog. + */ +class ProgressInterface +{ +public: + ProgressInterface( TQWidget *parent ); + ~ProgressInterface(); + + void listenOn( RecipeDB* ); + +protected: + friend class ProgressSlotObject; + + virtual void progressBegin(int,const TQString &caption,const TQString &text,int rate); + virtual void progressDone(); + virtual void progress(); + +private: + ProgressSlotObject *slot_obj; + KProgressDialog *progress_dlg; + RecipeDB *database; + + int m_rate; + int m_rate_at; +}; + +class ProgressSlotObject : public TQObject +{ +TQ_OBJECT + +public: + ProgressSlotObject( TQWidget*parent, ProgressInterface *p ) : TQObject(parent), pInterface(p){} + +public slots: + void progressBegin(int i,const TQString &caption=TQString::null,const TQString &text=TQString::null,int rate=1){ pInterface->progressBegin(i,caption,text,rate); } + void progressDone(){ pInterface->progressDone(); } + void progress(){ pInterface->progress(); } + +private: + ProgressInterface *pInterface; +}; + +#endif |