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

Commit

Permalink
Shift new main windows by a given offset.
Browse files Browse the repository at this point in the history
- Open new main window for recent files as well
  • Loading branch information
till213 committed Feb 8, 2011
1 parent 3c582b0 commit af4ebef
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 13 deletions.
44 changes: 31 additions & 13 deletions src/Screenie/src/MainWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -78,11 +78,6 @@ MainWindow::MainWindow(QWidget *parent) :
{
ui->setupUi(this);

// recent files menu
foreach (QAction *recentFileAction, m_recentFiles.getRecentFilesActionGroup().actions()) {
ui->recentFilesMenu->addAction(recentFileAction);
}

m_screenieGraphicsScene = new ScreenieGraphicsScene(this);
ui->graphicsView->setScene(m_screenieGraphicsScene);
ui->graphicsView->setRenderHints(QPainter::Antialiasing | QPainter::SmoothPixmapTransform);
Expand Down Expand Up @@ -342,6 +337,11 @@ void MainWindow::initializeUi()
updateTitle();
updateWindowMenu();

// recent files menu
foreach (QAction *recentFileAction, m_recentFiles.getRecentFilesActionGroup().actions()) {
ui->recentFilesMenu->addAction(recentFileAction);
}

ui->distanceSlider->setMaximum(ScreenieModelInterface::MaxDistance);

DefaultScreenieModel &defaultScreenieModel = m_screenieControl->getDefaultScreenieModel();
Expand Down Expand Up @@ -439,6 +439,17 @@ void MainWindow::updateDocumentManager(MainWindow &mainWindow)

}


MainWindow *MainWindow::createMainWindow()
{
MainWindow *result = new MainWindow();
QPoint position = pos();
position += QPoint(28, 28);
result->move(position);
result->setAttribute(Qt::WA_DeleteOnClose, true);
return result;
}

// private slots

bool MainWindow::proceed(int answer, const char *followUpAction) {
Expand Down Expand Up @@ -466,8 +477,7 @@ bool MainWindow::proceed(int answer, const char *followUpAction) {

void MainWindow::on_newAction_triggered()
{
MainWindow *mainWindow = new MainWindow();
mainWindow->setAttribute(Qt::WA_DeleteOnClose, true);
MainWindow *mainWindow = createMainWindow();
mainWindow->show();
}

Expand All @@ -491,8 +501,7 @@ void MainWindow::on_openAction_triggered()
if (m_screenieScene->isDefault()) {
ok = read(filePath);
} else {
MainWindow *mainWindow = new MainWindow();
mainWindow->setAttribute(Qt::WA_DeleteOnClose, true);
MainWindow *mainWindow = createMainWindow();
ok = mainWindow->read(filePath);
if (ok) {
mainWindow->show();
Expand Down Expand Up @@ -549,7 +558,7 @@ void MainWindow::on_saveAsTemplateAction_triggered()
QFileDialog *fileDialog = new QFileDialog(this, Qt::Sheet);
fileDialog->setNameFilter(templateFilter);
fileDialog->setDefaultSuffix(FileUtils::TemplateExtension);
fileDialog->setWindowTitle(tr("Save As"));
fileDialog->setWindowTitle(tr("Save As Template"));
fileDialog->setDirectory(lastDocumentDirectoryPath);
fileDialog->setWindowModality(Qt::WindowModal);
fileDialog->setAcceptMode(QFileDialog::AcceptSave);
Expand Down Expand Up @@ -805,9 +814,19 @@ void MainWindow::handleConfirm(int result)

void MainWindow::handleRecentFile(const QString &filePath)
{
if (proceedWithModifiedScene()) {
read(filePath);
bool ok;
if (m_screenieScene->isDefault()) {
ok = read(filePath);
} else {
MainWindow *mainWindow = createMainWindow();
ok = mainWindow->read(filePath);
if (ok) {
mainWindow->show();
} else {
delete mainWindow;
}
}
/*!\todo Error handling, show a nice error message to the user ;) */
}

void MainWindow::updateWindowMenu()
Expand All @@ -819,4 +838,3 @@ void MainWindow::updateWindowMenu()
}
}


3 changes: 3 additions & 0 deletions src/Screenie/src/MainWindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ public slots:
void restoreWindowGeometry();

void updateDocumentManager(MainWindow &mainWindow);
MainWindow *createMainWindow();

private slots:
bool proceed(int answer, const char *followUpAction);
Expand Down Expand Up @@ -148,6 +149,8 @@ private slots:
void handleFileSaveAsTemplateSelected(const QString &filePath);
void handleConfirm(int result);



};

#endif // MAINWINDOW_H

0 comments on commit af4ebef

Please sign in to comment.