Skip to content
This repository has been archived by the owner on May 30, 2019. It is now read-only.

Commit

Permalink
Moved creation of shortcuts into platform managers.
Browse files Browse the repository at this point in the history
  • Loading branch information
till213 committed Feb 8, 2011
1 parent 673e26d commit 23f89ef
Show file tree
Hide file tree
Showing 11 changed files with 64 additions and 57 deletions.
13 changes: 1 addition & 12 deletions src/Screenie/src/MainWindow.cpp
Expand Up @@ -99,7 +99,7 @@ MainWindow::MainWindow(QWidget *parent) :

initializeUi();
m_platformManager = PlatformManagerFactory::getInstance().create();
m_platformManager->initialize(*ui);
m_platformManager->initialize(*this, *ui);
updateUi();
restoreWindowGeometry();
// call unified toolbar AFTER restoring window geometry!
Expand Down Expand Up @@ -200,8 +200,6 @@ void MainWindow::frenchConnection()
// recent files
connect(&m_recentFiles, SIGNAL(openRecentFile(const QString &)),
this, SLOT(handleRecentFile(const QString &)));
connect(m_windowMapper, SIGNAL(mapped(int)),
this, SLOT(activateWindow(int)));
}

void MainWindow::newScene(ScreenieScene &screenieScene)
Expand Down Expand Up @@ -339,18 +337,9 @@ void MainWindow::updateTitle()

void MainWindow::initializeUi()
{

m_windowActionGroup = new QActionGroup(this);
m_windowActionGroup->setExclusive(true);
m_windowMapper = new QSignalMapper(this);

setWindowIcon(QIcon(":/img/application-icon.png"));
ui->distanceSlider->setMaximum(ScreenieModelInterface::MaxDistance);

QShortcut *shortcut = new QShortcut(QKeySequence(tr("Backspace", "Edit|Delete")), this);
connect(shortcut, SIGNAL(activated()),
ui->deleteAction, SIGNAL(triggered()));

DefaultScreenieModel &defaultScreenieModel = m_screenieControl->getDefaultScreenieModel();
ui->distanceSlider->setValue(defaultScreenieModel.getDistance());
ui->rotationSlider->setValue(defaultScreenieModel.getRotation());
Expand Down
5 changes: 0 additions & 5 deletions src/Screenie/src/MainWindow.h
Expand Up @@ -30,9 +30,6 @@

class QWidget;
class QCloseEvent;
class QFileDialog;
class QActionGroup;
class QSignalMapper;
class QEvent;

class ScreenieModelInterface;
Expand Down Expand Up @@ -76,8 +73,6 @@ public slots:
Clipboard *m_clipboard;
QString m_documentFilePath;
RecentFiles m_recentFiles;
QActionGroup *m_windowActionGroup;
QSignalMapper *m_windowMapper;

void frenchConnection();

Expand Down
38 changes: 23 additions & 15 deletions src/Screenie/src/PlatformManager/AbstractPlatformManager.cpp
Expand Up @@ -18,31 +18,39 @@
Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/

#include <QtCore/QObject>
#include <QtGui/QAction>
#include <QtGui/QKeySequence>
#include <QtGui/QShortcut>
#include <QtGui/QMainWindow>

#include "ui_MainWindow.h"
#include "AbstractPlatformManager.h"

// public

void AbstractPlatformManager::initialize(Ui::MainWindow &mainWindow)
void AbstractPlatformManager::initialize(QMainWindow &mainWindow, Ui::MainWindow &mainWindowUi)
{
// File
mainWindow.newAction->setShortcut(QKeySequence::New);
mainWindow.openAction->setShortcut(QKeySequence::Open);
mainWindow.saveAction->setShortcut(QKeySequence::Save);
mainWindow.saveAsAction->setShortcut(QKeySequence::SaveAs);
mainWindow.exportAction->setShortcut(QKeySequence(Qt::Key_E + Qt::CTRL));
mainWindow.closeAction->setShortcut(QKeySequence::Close);
mainWindow.quitAction->setShortcut(QKeySequence::Quit);
mainWindowUi.newAction->setShortcut(QKeySequence::New);
mainWindowUi.openAction->setShortcut(QKeySequence::Open);
mainWindowUi.saveAction->setShortcut(QKeySequence::Save);
mainWindowUi.saveAsAction->setShortcut(QKeySequence::SaveAs);
mainWindowUi.exportAction->setShortcut(QKeySequence(Qt::Key_E + Qt::CTRL));
mainWindowUi.closeAction->setShortcut(QKeySequence::Close);
mainWindowUi.quitAction->setShortcut(QKeySequence::Quit);
// Edit
mainWindow.cutAction->setShortcut(QKeySequence::Cut);
mainWindow.copyAction->setShortcut(QKeySequence::Copy);
mainWindow.pasteAction->setShortcut(QKeySequence::Paste);
mainWindow.deleteAction->setShortcut(QKeySequence::Delete);
mainWindow.selectAllAction->setShortcut(QKeySequence::SelectAll);
mainWindowUi.cutAction->setShortcut(QKeySequence::Cut);
mainWindowUi.copyAction->setShortcut(QKeySequence::Copy);
mainWindowUi.pasteAction->setShortcut(QKeySequence::Paste);
mainWindowUi.deleteAction->setShortcut(QKeySequence::Delete);
mainWindowUi.selectAllAction->setShortcut(QKeySequence::SelectAll);
// Insert
mainWindow.addImageAction->setShortcut(QKeySequence(Qt::Key_I + Qt::CTRL));
mainWindow.addTemplateAction->setShortcut(QKeySequence(Qt::Key_T + Qt::CTRL));
mainWindowUi.addImageAction->setShortcut(QKeySequence(Qt::Key_I + Qt::CTRL));
mainWindowUi.addTemplateAction->setShortcut(QKeySequence(Qt::Key_T + Qt::CTRL));
// Generic
QShortcut *shortcut = new QShortcut(QKeySequence("Backspace"), &mainWindow);
QObject::connect(shortcut, SIGNAL(activated()),
mainWindowUi.deleteAction, SIGNAL(triggered()));

}
8 changes: 7 additions & 1 deletion src/Screenie/src/PlatformManager/AbstractPlatformManager.h
Expand Up @@ -21,12 +21,18 @@
#ifndef ABSTRACTPLATFORMMANAGER_H
#define ABSTRACTPLATFORMMANAGER_H

class QMainWindow;

namespace Ui {
class MainWindow;
}

#include "PlatformManager.h"

class AbstractPlatformManager : public PlatformManager
{
public:
virtual void initialize(Ui::MainWindow &mainWindow);
virtual void initialize(QMainWindow &mainWindow, Ui::MainWindow &mainWindowUi);
};

#endif // ABSTRACTPLATFORMMANAGER_H
15 changes: 8 additions & 7 deletions src/Screenie/src/PlatformManager/LinuxPlatformManager.cpp
Expand Up @@ -20,18 +20,19 @@

#include <QtGui/QAction>
#include <QtGui/QKeySequence>
#include <QtGui/QMainWindow>

#include "ui_MainWindow.h"
#include "LinuxPlatformManager.h"

class LinuxPlatformManagerPrivate
{
public:
LinuxPlatformManagerPrivate(Ui::MainWindow &theMainWindow)
: mainWindow(theMainWindow)
LinuxPlatformManagerPrivate(Ui::MainWindow &theMainWindowUi)
: mainWindowUi(theMainWindowUi)
{}

Ui::MainWindow &mainWindow;
Ui::MainWindow &mainWindowUi;
};

// public
Expand All @@ -47,11 +48,11 @@ LinuxPlatformManager::~LinuxPlatformManager()
}
}

void LinuxPlatformManager::initialize(Ui::MainWindow &mainWindow)
void LinuxPlatformManager::initialize(QMainWindow &mainWindow, Ui::MainWindow &mainWindowUi)
{
d = new LinuxPlatformManagerPrivate(mainWindow);
AbstractPlatformManager::initialize(mainWindow);
mainWindow.toggleFullScreenAction->setShortcut(QKeySequence(Qt::Key_11));
d = new LinuxPlatformManagerPrivate(mainWindowUi);
AbstractPlatformManager::initialize(mainWindow, mainWindowUi);
mainWindowUi.toggleFullScreenAction->setShortcut(QKeySequence(Qt::Key_11));
}

void LinuxPlatformManager::handleWindowActivation(bool active)
Expand Down
4 changes: 3 additions & 1 deletion src/Screenie/src/PlatformManager/LinuxPlatformManager.h
Expand Up @@ -21,6 +21,8 @@
#ifndef LINUXPLATFORMMANAGER_H
#define LINUXPLATFORMMANAGER_H

class QMainWindow;

#include "AbstractPlatformManager.h"

class LinuxPlatformManagerPrivate;
Expand All @@ -35,7 +37,7 @@ class LinuxPlatformManager : public AbstractPlatformManager
LinuxPlatformManager();
virtual ~LinuxPlatformManager();

virtual void initialize(Ui::MainWindow &mainWindow);
virtual void initialize(QMainWindow &mainWindow, Ui::MainWindow &mainWindowUi);
virtual void handleWindowActivation(bool active);

private:
Expand Down
18 changes: 9 additions & 9 deletions src/Screenie/src/PlatformManager/MacPlatformManager.cpp
Expand Up @@ -27,11 +27,11 @@
class MacPlatformManagerPrivate
{
public:
MacPlatformManagerPrivate(Ui::MainWindow &theMainWindow)
: mainWindow(theMainWindow)
MacPlatformManagerPrivate(Ui::MainWindow &theMainWindowUi)
: mainWindowUi(theMainWindowUi)
{}

Ui::MainWindow &mainWindow;
Ui::MainWindow &mainWindowUi;
};

// public
Expand All @@ -47,18 +47,18 @@ MacPlatformManager::~MacPlatformManager()
}
}

void MacPlatformManager::initialize(Ui::MainWindow &mainWindow)
void MacPlatformManager::initialize(QMainWindow &mainWindow, Ui::MainWindow &mainWindowUi)
{
d = new MacPlatformManagerPrivate(mainWindow);
AbstractPlatformManager::initialize(mainWindow);
mainWindow.toggleFullScreenAction->setShortcut(QKeySequence(Qt::Key_F + Qt::CTRL));
d = new MacPlatformManagerPrivate(mainWindowUi);
AbstractPlatformManager::initialize(mainWindow, mainWindowUi);
mainWindowUi.toggleFullScreenAction->setShortcut(QKeySequence(Qt::Key_F + Qt::CTRL));
}

void MacPlatformManager::handleWindowActivation(bool active)
{
if (active) {
d->mainWindow.sidePanel->setStyleSheet("#sidePanel {background-color: rgb(218, 223, 230); border-right: 1px solid rgb(187, 187, 187);}");
d->mainWindowUi.sidePanel->setStyleSheet("#sidePanel {background-color: rgb(218, 223, 230); border-right: 1px solid rgb(187, 187, 187);}");
} else {
d->mainWindow.sidePanel->setStyleSheet("#sidePanel {background-color: rgb(237, 237, 237); border-right: 1px solid rgb(187, 187, 187);}");
d->mainWindowUi.sidePanel->setStyleSheet("#sidePanel {background-color: rgb(237, 237, 237); border-right: 1px solid rgb(187, 187, 187);}");
}
}
4 changes: 3 additions & 1 deletion src/Screenie/src/PlatformManager/MacPlatformManager.h
Expand Up @@ -21,6 +21,8 @@
#ifndef MACPLATFORMMANAGER_H
#define MACPLATFORMMANAGER_H

class QMainWindow;

#include "AbstractPlatformManager.h"

class MacPlatformManagerPrivate;
Expand All @@ -35,7 +37,7 @@ class MacPlatformManager : public AbstractPlatformManager
MacPlatformManager();
virtual ~MacPlatformManager();

virtual void initialize(Ui::MainWindow &mainWindow);
virtual void initialize(QMainWindow &mainWindow, Ui::MainWindow &mainWindowUi);
virtual void handleWindowActivation(bool active);

private:
Expand Down
4 changes: 3 additions & 1 deletion src/Screenie/src/PlatformManager/PlatformManager.h
Expand Up @@ -21,6 +21,8 @@
#ifndef PLATFORMMANAGER_H
#define PLATFORMMANAGER_H

class QMainWindow;

namespace Ui {
class MainWindow;
}
Expand All @@ -34,7 +36,7 @@ class PlatformManager
public:
virtual ~PlatformManager() {}

virtual void initialize(Ui::MainWindow &mainWindow) = 0;
virtual void initialize(QMainWindow &mainWindow, Ui::MainWindow &mainWindowUi) = 0;
virtual void handleWindowActivation(bool active) = 0;
};

Expand Down
8 changes: 4 additions & 4 deletions src/Screenie/src/PlatformManager/WindowsPlatformManager.cpp
Expand Up @@ -47,11 +47,11 @@ WindowsPlatformManager::~WindowsPlatformManager()
}
}

void WindowsPlatformManager::initialize(Ui::MainWindow &mainWindow)
void WindowsPlatformManager::initialize(QMainWindow &mainWindow, Ui::MainWindow &mainWindowUi)
{
d = new WindowsPlatformManagerPrivate(mainWindow);
AbstractPlatformManager::initialize(mainWindow);
mainWindow.toggleFullScreenAction->setShortcut(QKeySequence(Qt::Key_F11));
d = new WindowsPlatformManagerPrivate(mainWindowUi);
AbstractPlatformManager::initialize(mainWindow, mainWindowUi);
mainWindowUi.toggleFullScreenAction->setShortcut(QKeySequence(Qt::Key_F11));
}

void WindowsPlatformManager::handleWindowActivation(bool active)
Expand Down
4 changes: 3 additions & 1 deletion src/Screenie/src/PlatformManager/WindowsPlatformManager.h
Expand Up @@ -21,6 +21,8 @@
#ifndef WINDOWSPLATFORMMANAGER_H
#define WINDOWSPLATFORMMANAGER_H

class QMainWindow;

#include "AbstractPlatformManager.h"

class WindowsPlatformManagerPrivate;
Expand All @@ -35,7 +37,7 @@ class WindowsPlatformManager : public AbstractPlatformManager
WindowsPlatformManager();
virtual ~WindowsPlatformManager();

virtual void initialize(Ui::MainWindow &mainWindow);
virtual void initialize(QMainWindow &mainWindow, Ui::MainWindow &mainWindowUi);
virtual void handleWindowActivation(bool active);

private:
Expand Down

0 comments on commit 23f89ef

Please sign in to comment.