summaryrefslogtreecommitdiffstats
path: root/krita/ui/kis_label_progress.cc
diff options
context:
space:
mode:
Diffstat (limited to 'krita/ui/kis_label_progress.cc')
-rw-r--r--krita/ui/kis_label_progress.cc214
1 files changed, 0 insertions, 214 deletions
diff --git a/krita/ui/kis_label_progress.cc b/krita/ui/kis_label_progress.cc
deleted file mode 100644
index c04452f4..00000000
--- a/krita/ui/kis_label_progress.cc
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (c) 2002 Patrick Julien <[email protected]>
- * 2004 Adrian Page <[email protected]>
- *
- * 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.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- */
-#include <tqlayout.h>
-#include <tqtooltip.h>
-#include <tqtoolbutton.h>
-#include <tqcursor.h>
-#include <tqeventloop.h>
-
-#include <kdebug.h>
-#include <kapplication.h>
-#include <klocale.h>
-#include <kprogress.h>
-#include <kiconloader.h>
-
-#include "kis_progress_subject.h"
-#include "kis_label_progress.h"
-#include "kis_cursor.h"
-
-class EscapeButton : public TQToolButton {
-
-public:
-
- EscapeButton(TQWidget * tqparent, const char * name) : TQToolButton(tqparent, name) {};
-
- void keyReleaseEvent(TQKeyEvent *e)
- {
- if (e->key()==TQt::Key_Escape)
- emit clicked();
- }
-};
-
-KisLabelProgress::KisLabelProgress(TQWidget *tqparent, const char *name, WFlags f) : super(tqparent, name, f)
-{
- m_subject = 0;
- m_modal = false;
-
- TQHBoxLayout *box = new TQHBoxLayout(this);
- box->setAutoAdd(true);
-
- TQIconSet cancelIconSet = SmallIconSet("stop");
-
- m_cancelButton = new EscapeButton(this, "cancel_button");
- m_cancelButton->setIconSet(cancelIconSet);
- TQToolTip::add(m_cancelButton, i18n("Cancel"));
- connect(m_cancelButton, TQT_SIGNAL(clicked()), this, TQT_SLOT(cancelPressed()));
-
- m_bar = new KProgress(100, this);
-}
-
-KisLabelProgress::~KisLabelProgress()
-{
-}
-
-void KisLabelProgress::setSubject(KisProgressSubject *subject, bool modal, bool canCancel)
-{
- reset();
-
- if (subject) {
- m_subject = subject;
- m_modal = modal;
-
- connect(subject, TQT_SIGNAL(notifyProgress(int)), this, TQT_SLOT(update(int)));
- connect(subject, TQT_SIGNAL(notifyProgressStage(const TQString&, int)), this, TQT_SLOT(updateStage(const TQString&, int)));
- connect(subject, TQT_SIGNAL(notifyProgressDone()), this, TQT_SLOT(done()));
- connect(subject, TQT_SIGNAL(notifyProgressError()), this, TQT_SLOT(error()));
- connect(subject, TQT_SIGNAL(destroyed()), this, TQT_SLOT(subjectDestroyed()));
-
- show();
-
- if (canCancel) {
- if (modal) {
- kdDebug() << "grabbing 1\n";
- m_cancelButton->grabMouse();
- m_cancelButton->grabKeyboard();
- }
- }
- else {
- m_cancelButton->hide();
-
- if (modal) {
- // Only visible widgets can grab.
- kdDebug() << "grabbing 2\n";
- grabMouse();
- grabKeyboard();
- }
- }
-
- if (modal) {
- TQApplication::setOverrideCursor(KisCursor::waitCursor());
- }
-
- m_bar->setValue(0);
- }
-}
-
-bool KisLabelProgress::event(TQEvent * e)
-{
-
- if (!e) return false;
-
- int type = e->type();
-
- switch (type) {
- case(KisProgress::ProgressEventBase + 1):
- {
- KisProgress::UpdateEvent * ue = dynamic_cast<KisProgress::UpdateEvent*>(e);
- update(ue->m_percent);
- break;
- }
- case(KisProgress::ProgressEventBase + 2):
- {
- KisProgress::UpdateStageEvent * use = dynamic_cast<KisProgress::UpdateStageEvent*>(e);
- updateStage(use->m_stage, use->m_percent);
- break;
- }
- case(KisProgress::ProgressEventBase + 3):
- done();
- break;
- case(KisProgress::ProgressEventBase + 4):
- error();
- break;
- case(KisProgress::ProgressEventBase + 5):
- subjectDestroyed();
- break;
- default:
- return TQLabel::event(e);
- };
-
- return true;
-}
-
-void KisLabelProgress::reset()
-{
- if (m_subject) {
- m_subject->disconnect(this);
- m_subject = 0;
-
- if (m_modal) {
- TQApplication::restoreOverrideCursor();
- }
-
- m_modal = false;
- }
-
- releaseMouse();
- releaseKeyboard();
- m_cancelButton->releaseMouse();
- m_cancelButton->releaseKeyboard();
- hide();
-}
-
-void KisLabelProgress::update(int percent)
-{
- m_bar->setValue(percent);
-
- KApplication *app = KApplication::kApplication();
-
- app->processEvents();
- // The following is safer, but makes cancel impossible:
- //TQApplication::eventLoop()->processEvents(TQEventLoop::ExcludeUserInput |
- // TQEventLoop::ExcludeSocketNotifiers);
-}
-
-void KisLabelProgress::updateStage(const TQString&, int percent)
-{
- m_bar->setValue(percent);
-
- KApplication *app = KApplication::kApplication();
- Q_ASSERT(app);
-
- app->processEvents();
-}
-
-void KisLabelProgress::cancelPressed()
-{
- if (m_subject) {
- m_subject->cancel();
- reset();
- }
-}
-
-void KisLabelProgress::subjectDestroyed()
-{
- reset();
-}
-
-void KisLabelProgress::done()
-{
- reset();
-}
-
-void KisLabelProgress::error()
-{
- reset();
-}
-
-#include "kis_label_progress.moc"
-