diff options
Diffstat (limited to 'client/historywidget.cc')
-rw-r--r-- | client/historywidget.cc | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/client/historywidget.cc b/client/historywidget.cc new file mode 100644 index 0000000..bdeb880 --- /dev/null +++ b/client/historywidget.cc @@ -0,0 +1,77 @@ +/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ +/*************************************************************************** + * historywidget.cc + * + * Wed Jul 27 14:00:37 CEST 2005 + * Copyright 2005 Bent Bisballe + * deva@aasimon.org + ****************************************************************************/ + +/* + * This file is part of MIaV. + * + * MIaV 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. + * + * MIaV 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 MIaV; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. + */ +#include <config.h> +#ifdef USE_GUI +#include "historywidget.h" + +#include "miav_config.h" + +HistoryWidget::HistoryWidget(QWidget *p) : QLabel(p) +{ + parent = p; + image = NULL; +} + +HistoryWidget::~HistoryWidget() +{ + if(image) delete image; +} + +void HistoryWidget::set_image(QImage *i) +{ + if(image) delete image; + + image = new QImage(*i); + + QImage resized = image->smoothScale(width(), height()); + setPixmap(resized); +} + +QImage * HistoryWidget::get_image() +{ + return image; +} + +static HistoryWidget *fs = NULL; + +void HistoryWidget::mouseReleaseEvent(QMouseEvent *event) +{ + if(!parent) { // We are a fullscreen window + destroy(); + } else { // We are a nested window + // Delete old instances before going fullscreen. + if(fs) delete fs; + + fs = new HistoryWidget(NULL); + fs->showFullScreen(); + fs->setFixedWidth(config->readInt("pixel_width")); + fs->setFixedHeight(config->readInt("pixel_height")); + fs->set_image(image); + } +} + +#endif/*USE_GUI*/ |