Merge branch 'master' of github.com:Sankore/Sankore-3.1

preferencesAboutTextFull
shibakaneki 13 years ago
commit 9e4aa8a568
  1. 117
      src/board/UBBoardPaletteManager.cpp
  2. 10
      src/board/UBBoardPaletteManager.h
  3. 9
      src/core/UBApplication.cpp
  4. 15
      src/core/UBApplicationController.cpp
  5. 75
      src/gui/UBCachePropertiesWidget.cpp
  6. 15
      src/gui/UBDockPalette.cpp
  7. 8
      src/gui/UBDockPalette.h
  8. 7
      src/gui/UBDockPaletteWidget.h

@ -19,6 +19,7 @@
#include "frameworks/UBFileSystemUtils.h"
#include "core/UBApplication.h"
#include "core/UBApplicationController.h"
#include "core/UBSettings.h"
#include "core/UBSetting.h"
#include "core/UBDisplayManager.h"
@ -162,20 +163,20 @@ void UBBoardPaletteManager::setupDockPaletteWidgets()
mpPageNavigWidget = new UBPageNavigationWidget();
mpPageNavigWidget->registerMode(eUBDockPaletteWidget_BOARD);
connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpPageNavigWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode)));
// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpPageNavigWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode)));
mpLibWidget = new UBLibWidget();
mpLibWidget ->registerMode(eUBDockPaletteWidget_BOARD);
mpLibWidget ->registerMode(eUBDockPaletteWidget_DESKTOP);
connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpLibWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode)));
// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpLibWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode)));
// mpCachePropWidget = new UBCachePropertiesWidget();
// mpCachePropWidget->registerMode(eUBDockPaletteWidget_BOARD);
// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpCachePropWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode)));
mpCachePropWidget = new UBCachePropertiesWidget();
mpCachePropWidget->registerMode(eUBDockPaletteWidget_BOARD);
// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpCachePropWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode)));
// mpTeacherBarWidget = new UBTeacherBarWidget();
// mpTeacherBarWidget->registerMode(eUBDockPaletteWidget_BOARD);
// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpTeacherBarWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode)));
mpTeacherBarWidget = new UBTeacherBarWidget();
mpTeacherBarWidget->registerMode(eUBDockPaletteWidget_BOARD);
// connect(this, SIGNAL(signal_changeMode(eUBDockPaletteWidgetMode)), mpTeacherBarWidget, SLOT(slot_changeMode(eUBDockPaletteWidgetMode)));
//------------------------------------------------//
// Add the dock palettes
@ -183,7 +184,7 @@ void UBBoardPaletteManager::setupDockPaletteWidgets()
// LEFT palette widgets
mLeftPalette->registerWidget(mpPageNavigWidget);
mLeftPalette->addTabWidget(mpPageNavigWidget);
mLeftPalette->addTab(mpPageNavigWidget);
mLeftPalette->connectSignals();
@ -193,24 +194,62 @@ void UBBoardPaletteManager::setupDockPaletteWidgets()
// RIGHT palette widgets
mRightPalette->registerWidget(mpLibWidget);
mRightPalette->addTabWidget(mpLibWidget);
mRightPalette->addTab(mpLibWidget);
// // ???
// mRightPalette->registerWidget(mpCachePropWidget);
// mRightPalette->addTabWidget(mpCachePropWidget);
// ???
mRightPalette->registerWidget(mpCachePropWidget);
// mRightPalette->addTab(mpCachePropWidget);
// // ???
// mRightPalette->registerWidget(mpTeacherBarWidget);
// mRightPalette->addTabWidget(mpTeacherBarWidget);
// ???
mRightPalette->registerWidget(mpTeacherBarWidget);
mRightPalette->addTab(mpTeacherBarWidget);
mRightPalette->connectSignals();
//------------------------------------------------//
mLeftPalette->showTabWidget(0);
mRightPalette->showTabWidget(0);
changeMode(eUBDockPaletteWidget_BOARD, true);
//------------------------------------------------//
// mLeftPalette->showTabWidget(0);
// mRightPalette->showTabWidget(0);
//
// //------------------------------------------------//
}
void UBBoardPaletteManager::slot_changeMainMode(UBApplicationController::MainMode mainMode)
{
switch( mainMode )
{
case UBApplicationController::Board:
// call changeMode only when switch NOT from desktop mode
if(!UBApplication::applicationController->isShowingDesktop())
changeMode(eUBDockPaletteWidget_BOARD);
break;
default:
break;
}
}
void UBBoardPaletteManager::slot_changeDesktopMode(bool isDesktop)
{
UBApplicationController::MainMode currMode = UBApplication::applicationController->displayMode();
if(!isDesktop)
{
switch( currMode )
{
case UBApplicationController::Board:
changeMode(eUBDockPaletteWidget_BOARD);
break;
default:
break;
}
}
else
changeMode(eUBDockPaletteWidget_DESKTOP);
}
void UBBoardPaletteManager::setupPalettes()
@ -605,8 +644,39 @@ void UBBoardPaletteManager::addItem(const QUrl& pUrl)
}
void UBBoardPaletteManager::changeMode(eUBDockPaletteWidgetMode newMode)
void UBBoardPaletteManager::processPalettersWidget(UBDockPalette *paletter, eUBDockPaletteWidgetMode mode)
{
//-------------------------------//
// get full right palette widgets list, parse it, show all widgets for BOARD mode, and hide all other
QVector<UBDockPaletteWidget*> widgetsList = paletter->GetWidgetsList();
for(int i = 0; i < widgetsList.size(); i++)
{
UBDockPaletteWidget* pNextWidget = widgetsList.at(i);
if( pNextWidget != NULL )
{
if( pNextWidget->GetRegisteredModes().contains(mode) )
{
paletter->addTab(pNextWidget);
}
else
{
paletter->removeTab(pNextWidget->name());
}
}
}
//-------------------------------//
if(widgetsList.size() > 0)
paletter->showTabWidget(0);
paletter->update();
}
void UBBoardPaletteManager::changeMode(eUBDockPaletteWidgetMode newMode, bool isInit)
{
processPalettersWidget(mRightPalette, newMode);
processPalettersWidget(mLeftPalette, newMode);
switch( newMode )
{
case eUBDockPaletteWidget_BOARD:
@ -617,7 +687,8 @@ void UBBoardPaletteManager::changeMode(eUBDockPaletteWidgetMode newMode)
mLeftPalette->setVisible(true);
mRightPalette->setVisible(true);
containerResized();
if( !isInit )
containerResized();
}
break;
@ -629,7 +700,8 @@ void UBBoardPaletteManager::changeMode(eUBDockPaletteWidgetMode newMode)
mLeftPalette->setVisible(false);
mRightPalette->setVisible(true);
UBApplication::applicationController->uninotesController()->TransparentWidgetResized();
if( !isInit )
UBApplication::applicationController->uninotesController()->TransparentWidgetResized();
}
break;
@ -643,6 +715,9 @@ void UBBoardPaletteManager::changeMode(eUBDockPaletteWidgetMode newMode)
break;
}
if( !isInit )
UBApplication::boardController->notifyPageChanged();
emit signal_changeMode(newMode);
}

@ -27,6 +27,9 @@
#include "gui/UBCachePropertiesWidget.h"
#include "gui/UBTeacherBarWidget.h"
#include "core/UBApplicationController.h"
class UBStylusPalette;
class UBClockPalette;
class UBPageNumberPalette;
@ -37,6 +40,7 @@ class UBFloatingPalette;
class UBServerXMLHttpRequest;
class UBKeyboardPalette;
class UBMainWindow;
class UBApplicationController;
class UBBoardPaletteManager : public QObject
{
@ -57,7 +61,9 @@ class UBBoardPaletteManager : public QObject
UBKeyboardPalette *mKeyboardPalette;
// UBRightPalette* createDesktopRightPalette(QWidget* parent);
void changeMode(eUBDockPaletteWidgetMode newMode);
void processPalettersWidget(UBDockPalette *paletter, eUBDockPaletteWidgetMode mode);
void changeMode(eUBDockPaletteWidgetMode newMode, bool isInit = false);
signals:
void connectToDocController();
@ -71,6 +77,8 @@ class UBBoardPaletteManager : public QObject
void addItem(const QPixmap& pPixmap, const QPointF& p = QPointF(0.0, 0.0), qreal scale = 1.0, const QUrl& sourceUrl = QUrl());
// void slot_changeMode(eUBDockPaletteWidgetMode newMode);
void slot_changeMainMode(UBApplicationController::MainMode);
void slot_changeDesktopMode(bool);
private:

@ -244,6 +244,15 @@ int UBApplication::exec(const QString& pFileToImport)
applicationController = new UBApplicationController(boardController->controlView(), boardController->displayView(), mainWindow, staticMemoryCleaner);
connect(applicationController, SIGNAL(mainModeChanged(UBApplicationController::MainMode)),
boardController->paletteManager(), SLOT(slot_changeMainMode(UBApplicationController::MainMode)));
connect(applicationController, SIGNAL(desktopMode(bool)),
boardController->paletteManager(), SLOT(slot_changeDesktopMode(bool)));
connect(mainWindow->actionDesktop, SIGNAL(triggered(bool)), applicationController, SLOT(showDesktop(bool)));
#ifndef Q_WS_MAC
connect(mainWindow->actionHideApplication, SIGNAL(triggered()), mainWindow, SLOT(showMinimized()));

@ -336,7 +336,6 @@ void UBApplicationController::showBoard()
mMainWindow->boardToolBar->show();
mMainMode = Board;
UBApplication::boardController->paletteManager()->changeMode(eUBDockPaletteWidget_BOARD);
adaptToolBar();
@ -353,8 +352,6 @@ void UBApplicationController::showBoard()
mUninoteController->hideWindow();
mMainWindow->show();
// UBApplication::boardController->paletteManager()->changeMode(eUBDockPaletteWidget_BOARD);
emit mainModeChanged(Board);
}
@ -368,8 +365,6 @@ void UBApplicationController::showInternet()
UBApplication::boardController->hide();
}
UBApplication::boardController->paletteManager()->changeMode(eUBDockPaletteWidget_WEB);
if (UBSettings::settings()->webUseExternalBrowser->get().toBool())
{
showDesktop(true);
@ -390,8 +385,6 @@ void UBApplicationController::showInternet()
emit mainModeChanged(Internet);
}
// UBApplication::boardController->paletteManager()->changeMode(eUBDockPaletteWidget_WEB);
UBApplication::webController->show(UBWebController::WebBrowser);
}
@ -404,7 +397,6 @@ void UBApplicationController::showDocument()
mMainWindow->documentToolBar->show();
mMainMode = Document;
UBApplication::boardController->paletteManager()->changeMode(eUBDockPaletteWidget_DOCUMENT);
adaptToolBar();
@ -426,8 +418,6 @@ void UBApplicationController::showDocument()
mUninoteController->hideWindow();
// UBApplication::boardController->paletteManager()->changeMode(eUBDockPaletteWidget_DOCUMENT);
emit mainModeChanged(Document);
}
@ -439,8 +429,6 @@ void UBApplicationController::showDesktop(bool dontSwitchFrontProcess)
UBApplication::boardController->hide();
mMainWindow->hide();
UBApplication::boardController->paletteManager()->changeMode(eUBDockPaletteWidget_DESKTOP);
mUninoteController->showWindow();
if (mMirror)
@ -456,8 +444,6 @@ void UBApplicationController::showDesktop(bool dontSwitchFrontProcess)
UBPlatformUtils::bringPreviousProcessToFront();
}
// UBApplication::boardController->paletteManager()->changeMode(eUBDockPaletteWidget_DESKTOP);
UBDrawingController::drawingController()->setStylusTool(UBStylusTool::Selector);
}
@ -627,7 +613,6 @@ void UBApplicationController::hideDesktop()
emit desktopMode(false);
}
void UBApplicationController::setMirrorSourceWidget(QWidget* pWidget)
{
if (mMirror)

@ -6,6 +6,7 @@
#include "UBCachePropertiesWidget.h"
#include "core/UBApplication.h"
#include "core/UBApplicationController.h"
#include "board/UBBoardController.h"
#include "domain/UBGraphicsScene.h"
@ -269,40 +270,59 @@ void UBCachePropertiesWidget::updateShapeButtons()
void UBCachePropertiesWidget::updateCurrentCache()
{
// Get the current page cache
QList<QGraphicsItem*> items = UBApplication::boardController->activeScene()->items();
foreach(QGraphicsItem* it, items)
bool isBoardMode = false;
// this widget can work only on Board mode
if( UBApplication::applicationController != NULL )
{
if("Cache" == it->data(Qt::UserRole).toString())
{
setEnabled(true);
emit showTab(name());
mpCurrentCache = dynamic_cast<UBGraphicsCache*>(it);
if((NULL != mpCurrentCache) && (!mCaches.contains(mpCurrentCache)))
{
mCaches.append(mpCurrentCache);
}
// if app controller is available, and current mode is Board, and no show desktop, than all ok, just process
if( UBApplication::applicationController->displayMode() == UBApplicationController::Board &&
!UBApplication::applicationController->isShowingDesktop())
isBoardMode = true;
}
// if app controller == null, than we do not know what mode now, so just process
else
isBoardMode = true;
// Update the values of the cache properties
mpSizeSlider->setValue(mpCurrentCache->shapeWidth());
updateCacheColor(mpCurrentCache->maskColor());
switch(mpCurrentCache->maskshape())
if(isBoardMode)
{
// Get the current page cache
QList<QGraphicsItem*> items = UBApplication::boardController->activeScene()->items();
foreach(QGraphicsItem* it, items)
{
if("Cache" == it->data(Qt::UserRole).toString())
{
case eMaskShape_Circle:
mpCircleButton->setChecked(true);
mpSquareButton->setChecked(false);
break;
case eMaskShap_Rectangle:
mpCircleButton->setChecked(false);
mpSquareButton->setChecked(true);
break;
setEnabled(true);
emit showTab(name());
mpCurrentCache = dynamic_cast<UBGraphicsCache*>(it);
if((NULL != mpCurrentCache) && (!mCaches.contains(mpCurrentCache)))
{
mCaches.append(mpCurrentCache);
}
// Update the values of the cache properties
mpSizeSlider->setValue(mpCurrentCache->shapeWidth());
updateCacheColor(mpCurrentCache->maskColor());
switch(mpCurrentCache->maskshape())
{
case eMaskShape_Circle:
mpCircleButton->setChecked(true);
mpSquareButton->setChecked(false);
break;
case eMaskShap_Rectangle:
mpCircleButton->setChecked(false);
mpSquareButton->setChecked(true);
break;
}
return;
}
return;
}
}
// If we fall here, that means that this page has no cache
// If we fall here, that means:
// 1 - that this page has no cache
// 2 - we do not on Board page
// 3 - we in board mode, but show desktop (as really - desktop mode)
emit hideTab(name());
mpCurrentCache = NULL;
setDisabled(true);
@ -320,3 +340,4 @@ void UBCachePropertiesWidget::onCacheEnabled()
{
emit showTab(name());
}

@ -57,15 +57,15 @@ UBDockPalette::UBDockPalette(QWidget *parent, const char *name)
if (parent)
{
setAttribute(Qt::WA_NoMousePropagation);
setAttribute(Qt::WA_TranslucentBackground);
setAttribute(Qt::WA_NoMousePropagation);
setAttribute(Qt::WA_TranslucentBackground);
}
else
{
// standalone window
setAttribute(Qt::WA_TranslucentBackground);
// standalone window
setAttribute(Qt::WA_TranslucentBackground);
// !!!! Should be included into Windows after QT recompilation
// !!!! Should be included into Windows after QT recompilation
#ifdef Q_WS_MAC
//setAttribute(Qt::WA_MacNoShadow);
#endif
@ -540,7 +540,7 @@ int UBDockPalette::customMargin()
* \brief Add the given tab widget
* @param widget as the given widget
*/
void UBDockPalette::addTabWidget(UBDockPaletteWidget *widget)
void UBDockPalette::addTab(UBDockPaletteWidget *widget)
{
if(!mTabWidgets.contains(widget))
{
@ -551,7 +551,6 @@ void UBDockPalette::addTabWidget(UBDockPaletteWidget *widget)
update();
}
}
/**
* \brief Remove the given tab
* @param widgetName as the tab widget name
@ -601,7 +600,7 @@ void UBDockPalette::onShowTabWidget(const QString &widgetName)
UBDockPaletteWidget* pCrntWidget = mRegisteredWidgets.at(i);
if(NULL != pCrntWidget && (pCrntWidget->name() == widgetName))
{
addTabWidget(pCrntWidget);
addTab(pCrntWidget);
break;
}
}

@ -72,10 +72,13 @@ public:
void setBackgroundBrush(const QBrush& brush);
void registerWidget(UBDockPaletteWidget* widget);
void addTabWidget(UBDockPaletteWidget* widget);
void addTab(UBDockPaletteWidget* widget);
void removeTab(const QString& widgetName);
void connectSignals();
QVector<UBDockPaletteWidget*> GetWidgetsList() { return mRegisteredWidgets; };
public slots:
void onShowTabWidget(const QString& widgetName);
void onHideTabWidget(const QString& widgetName);
@ -90,7 +93,7 @@ protected:
/** The current dock orientation */
eUBDockOrientation mOrientation;
/** The current baclground brush */
/** The current background brush */
QBrush mBackgroundBrush;
/** The preferred width */
int mPreferredWidth;
@ -123,7 +126,6 @@ protected:
/** The current widget */
QVector<UBDockPaletteWidget*> mRegisteredWidgets;
// QVector<UBDockPaletteWidget*> mVisibleWidgets; // ???
private slots:
void onToolbarPosUpdated();

@ -27,9 +27,7 @@ public:
void registerMode(eUBDockPaletteWidgetMode mode);
/* The current widget available mode list */
QVector<eUBDockPaletteWidgetMode> mRegisteredModes;
QVector<eUBDockPaletteWidgetMode> GetRegisteredModes() { return mRegisteredModes; };
signals:
@ -45,6 +43,9 @@ protected:
QPixmap mIconToLeft; // arrow like this: <
QString mName;
/* The current widget available mode list */
QVector<eUBDockPaletteWidgetMode> mRegisteredModes;
};
#endif // UBDOCKPALETTEWIDGET_H

Loading…
Cancel
Save