parent
3cf0cc5e99
commit
348acb8e5a
@ -1,153 +0,0 @@ |
|||||||
/*
|
|
||||||
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA) |
|
||||||
* |
|
||||||
* This file is part of Open-Sankoré. |
|
||||||
* |
|
||||||
* Open-Sankoré 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, version 3 of the License, |
|
||||||
* with a specific linking exception for the OpenSSL project's |
|
||||||
* "OpenSSL" library (or with modified versions of it that use the |
|
||||||
* same license as the "OpenSSL" library). |
|
||||||
* |
|
||||||
* Open-Sankoré 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 Open-Sankoré. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/ |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "UBNavigatorPalette.h" |
|
||||||
#include "core/UBApplication.h" |
|
||||||
#include "board/UBBoardController.h" |
|
||||||
|
|
||||||
#include "core/memcheck.h" |
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Constructor |
|
||||||
* @param parent as the parent widget |
|
||||||
* @param name as the object name |
|
||||||
*/ |
|
||||||
UBNavigatorPalette::UBNavigatorPalette(QWidget *parent, const char *name): |
|
||||||
UBDockPalette(eUBDockPaletteType_LEFT, parent, name) |
|
||||||
, mNavigator(NULL) |
|
||||||
, mLayout(NULL) |
|
||||||
, mHLayout(NULL) |
|
||||||
, mPageNbr(NULL) |
|
||||||
, mClock(NULL) |
|
||||||
{ |
|
||||||
// Build the gui
|
|
||||||
mLayout = new QVBoxLayout(this); |
|
||||||
mLayout->setContentsMargins(customMargin(), customMargin(), 2*border() + customMargin(), customMargin()); |
|
||||||
setLayout(mLayout); |
|
||||||
|
|
||||||
mNavigator = new UBDocumentNavigator(this); |
|
||||||
mNavigator->setStyleSheet(QString("background-color : transparent;")); |
|
||||||
mLayout->addWidget(mNavigator, 1); |
|
||||||
|
|
||||||
mHLayout = new QHBoxLayout(); |
|
||||||
mLayout->addLayout(mHLayout, 0); |
|
||||||
|
|
||||||
mPageNbr = new QLabel(this); |
|
||||||
mClock = new QLabel(this); |
|
||||||
mHLayout->addWidget(mPageNbr); |
|
||||||
mHLayout->addWidget(mClock); |
|
||||||
|
|
||||||
// Configure the page number indicator
|
|
||||||
mPageNbr->setStyleSheet(QString("QLabel { color: white; background-color: transparent; border: none; font-family: Arial; font-weight: bold; font-size: 20px }")); |
|
||||||
setPageNumber(0, 0); |
|
||||||
mPageNbr->setAlignment(Qt::AlignHCenter); |
|
||||||
|
|
||||||
// Configure the clock
|
|
||||||
mClock->setStyleSheet(QString("QLabel {color: white; background-color: transparent; text-align: center; font-family: Arial; font-weight: bold; font-size: 20px}")); |
|
||||||
mTimeFormat = QLocale::system().timeFormat(QLocale::ShortFormat); |
|
||||||
mClock->setAlignment(Qt::AlignHCenter); |
|
||||||
|
|
||||||
//strip seconds
|
|
||||||
mTimeFormat = mTimeFormat.remove(":ss"); |
|
||||||
mTimeFormat = mTimeFormat.remove(":s"); |
|
||||||
mTimerID = startTimer(1000); |
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Destructor |
|
||||||
*/ |
|
||||||
UBNavigatorPalette::~UBNavigatorPalette() |
|
||||||
{ |
|
||||||
killTimer(mTimerID); |
|
||||||
|
|
||||||
if(NULL != mClock) |
|
||||||
{ |
|
||||||
delete mClock; |
|
||||||
mClock = NULL; |
|
||||||
} |
|
||||||
if(NULL != mPageNbr) |
|
||||||
{ |
|
||||||
delete mPageNbr; |
|
||||||
mPageNbr = NULL; |
|
||||||
} |
|
||||||
if(NULL != mHLayout) |
|
||||||
{ |
|
||||||
delete mHLayout; |
|
||||||
mHLayout = NULL; |
|
||||||
} |
|
||||||
if(NULL != mLayout) |
|
||||||
{ |
|
||||||
delete mLayout; |
|
||||||
mLayout = NULL; |
|
||||||
} |
|
||||||
if(NULL != mNavigator) |
|
||||||
{ |
|
||||||
delete mNavigator; |
|
||||||
mNavigator = NULL; |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Set the current document in the navigator |
|
||||||
* @param document as the given document |
|
||||||
*/ |
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Refresh the thumbnails widget |
|
||||||
*/ |
|
||||||
void UBNavigatorPalette::refresh() |
|
||||||
{ |
|
||||||
} |
|
||||||
|
|
||||||
/**
|
|
||||||
* \brief Handle the resize event |
|
||||||
* @param event as the resize event |
|
||||||
*/ |
|
||||||
void UBNavigatorPalette::resizeEvent(QResizeEvent *event) |
|
||||||
{ |
|
||||||
UBDockPalette::resizeEvent(event); |
|
||||||
if(NULL != mNavigator) |
|
||||||
{ |
|
||||||
mNavigator->setMinimumHeight(height() - 2*border()); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
void UBNavigatorPalette::timerEvent(QTimerEvent *event) |
|
||||||
{ |
|
||||||
Q_UNUSED(event); |
|
||||||
updateTime(); |
|
||||||
} |
|
||||||
|
|
||||||
void UBNavigatorPalette::updateTime() |
|
||||||
{ |
|
||||||
if (mClock) |
|
||||||
{ |
|
||||||
mClock->setText(QLocale::system().toString (QTime::currentTime(), mTimeFormat)); |
|
||||||
} |
|
||||||
} |
|
||||||
|
|
||||||
void UBNavigatorPalette::setPageNumber(int current, int total) |
|
||||||
{ |
|
||||||
mPageNbr->setText(QString("%1 / %2").arg(current).arg(total)); |
|
||||||
} |
|
@ -1,73 +0,0 @@ |
|||||||
/*
|
|
||||||
* Copyright (C) 2010-2013 Groupement d'Intérêt Public pour l'Education Numérique en Afrique (GIP ENA) |
|
||||||
* |
|
||||||
* This file is part of Open-Sankoré. |
|
||||||
* |
|
||||||
* Open-Sankoré 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, version 3 of the License, |
|
||||||
* with a specific linking exception for the OpenSSL project's |
|
||||||
* "OpenSSL" library (or with modified versions of it that use the |
|
||||||
* same license as the "OpenSSL" library). |
|
||||||
* |
|
||||||
* Open-Sankoré 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 Open-Sankoré. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
*/ |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef UBNAVIGATORPALETTE_H |
|
||||||
#define UBNAVIGATORPALETTE_H |
|
||||||
|
|
||||||
#include <QVBoxLayout> |
|
||||||
#include <QHBoxLayout> |
|
||||||
#include <QMouseEvent> |
|
||||||
#include <QResizeEvent> |
|
||||||
#include <QTimerEvent> |
|
||||||
#include <QLabel> |
|
||||||
#include <QString> |
|
||||||
|
|
||||||
#include "UBDockPalette.h" |
|
||||||
#include "UBDocumentNavigator.h" |
|
||||||
#include "document/UBDocumentProxy.h" |
|
||||||
|
|
||||||
|
|
||||||
class UBNavigatorPalette : public UBDockPalette |
|
||||||
{ |
|
||||||
Q_OBJECT |
|
||||||
public: |
|
||||||
UBNavigatorPalette(QWidget* parent=0, const char* name="navigatorPalette"); |
|
||||||
~UBNavigatorPalette(); |
|
||||||
|
|
||||||
void setDocument(UBDocumentProxy* document); |
|
||||||
void refresh(); |
|
||||||
|
|
||||||
public slots: |
|
||||||
void setPageNumber(int current, int total); |
|
||||||
|
|
||||||
protected: |
|
||||||
virtual void resizeEvent(QResizeEvent *event); |
|
||||||
virtual void timerEvent(QTimerEvent *event); |
|
||||||
|
|
||||||
private: |
|
||||||
void updateTime(); |
|
||||||
|
|
||||||
/** The thumbnails navigator widget */ |
|
||||||
UBDocumentNavigator* mNavigator; |
|
||||||
/** The layout */ |
|
||||||
QVBoxLayout* mLayout; |
|
||||||
QHBoxLayout* mHLayout; |
|
||||||
QLabel* mPageNbr; |
|
||||||
QLabel* mClock; |
|
||||||
QString mTimeFormat; |
|
||||||
int mTimerID; |
|
||||||
|
|
||||||
}; |
|
||||||
|
|
||||||
|
|
||||||
#endif // UBNAVIGATORPALETTE_H
|
|
Loading…
Reference in new issue