Started preliminary work on the new main options menu
This commit is contained in:
parent
4dd989f6fe
commit
f92dbf47ea
|
@ -5,6 +5,7 @@ TARGET = VisualBoyAdvance
|
||||||
|
|
||||||
TRANSLATIONS += ../../lang/german.ts
|
TRANSLATIONS += ../../lang/german.ts
|
||||||
TRANSLATIONS += ../../lang/spanish.ts
|
TRANSLATIONS += ../../lang/spanish.ts
|
||||||
|
RESOURCES += ../../src/qt/vba-m.qrc
|
||||||
|
|
||||||
PRECOMPILED_HEADER = ../../src/qt/precompile.h
|
PRECOMPILED_HEADER = ../../src/qt/precompile.h
|
||||||
|
|
||||||
|
@ -20,3 +21,8 @@ SOURCES += ../../src/qt/glwidget.cpp
|
||||||
FORMS += ../../src/qt/sidewidget_cheats.ui
|
FORMS += ../../src/qt/sidewidget_cheats.ui
|
||||||
HEADERS += ../../src/qt/sidewidget_cheats.h
|
HEADERS += ../../src/qt/sidewidget_cheats.h
|
||||||
SOURCES += ../../src/qt/sidewidget_cheats.cpp
|
SOURCES += ../../src/qt/sidewidget_cheats.cpp
|
||||||
|
|
||||||
|
HEADERS += ../../src/qt/MainOptions.h
|
||||||
|
HEADERS += ../../src/qt/configdialog.h
|
||||||
|
SOURCES += ../../src/qt/MainOptions.cpp
|
||||||
|
SOURCES += ../../src/qt/configdialog.cpp
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
// VBA-M, A Nintendo Handheld Console Emulator
|
||||||
|
// Copyright (C) 2008 VBA-M development team
|
||||||
|
//
|
||||||
|
// This program 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, or(at your option)
|
||||||
|
// any later version.
|
||||||
|
//
|
||||||
|
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||||
|
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#include <QtGui>
|
||||||
|
|
||||||
|
#include "MainOptions.h"
|
||||||
|
|
||||||
|
VideoOptionsPage::VideoOptionsPage(QWidget *parent)
|
||||||
|
: QWidget(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
InputOptionsPage::InputOptionsPage(QWidget *parent)
|
||||||
|
: QWidget(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
SoundOptionsPage::SoundOptionsPage(QWidget *parent)
|
||||||
|
: QWidget(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,44 @@
|
||||||
|
// VBA-M, A Nintendo Handheld Console Emulator
|
||||||
|
// Copyright (C) 2008 VBA-M development team
|
||||||
|
//
|
||||||
|
// This program 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, or(at your option)
|
||||||
|
// any later version.
|
||||||
|
//
|
||||||
|
// This program 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 this program; if not, write to the Free Software Foundation,
|
||||||
|
// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef MAINOPTIONS_H
|
||||||
|
#define MAINOPTIONS_H
|
||||||
|
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
class VideoOptionsPage : public QWidget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
VideoOptionsPage(QWidget *parent = 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
class InputOptionsPage : public QWidget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
InputOptionsPage(QWidget *parent = 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
class SoundOptionsPage : public QWidget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
SoundOptionsPage(QWidget *parent = 0);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -19,6 +19,7 @@
|
||||||
#include "MainWnd.h"
|
#include "MainWnd.h"
|
||||||
|
|
||||||
#include "glwidget.h"
|
#include "glwidget.h"
|
||||||
|
#include "configdialog.h"
|
||||||
#include "sidewidget_cheats.h"
|
#include "sidewidget_cheats.h"
|
||||||
|
|
||||||
|
|
||||||
|
@ -34,7 +35,6 @@ MainWnd::MainWnd( QWidget *parent, QApplication *app, QTranslator **trans )
|
||||||
dockWidget_cheats( 0 )
|
dockWidget_cheats( 0 )
|
||||||
{
|
{
|
||||||
createDisplay();
|
createDisplay();
|
||||||
|
|
||||||
setMinimumSize( 320, 240 );
|
setMinimumSize( 320, 240 );
|
||||||
setWindowTitle( tr( "VBA-M" ) );
|
setWindowTitle( tr( "VBA-M" ) );
|
||||||
|
|
||||||
|
@ -248,10 +248,8 @@ void MainWnd::showOpenROM()
|
||||||
|
|
||||||
void MainWnd::showMainOptions()
|
void MainWnd::showMainOptions()
|
||||||
{
|
{
|
||||||
QString info;
|
ConfigDialog dialog;
|
||||||
info += tr ( "Placeholder for opening options widget." );
|
dialog.exec();
|
||||||
|
|
||||||
QMessageBox::about( this, tr( "Status" ), info );
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,112 @@
|
||||||
|
/****************************************************************************
|
||||||
|
**
|
||||||
|
** Copyright (C) 2005-2007 Trolltech ASA. All rights reserved.
|
||||||
|
**
|
||||||
|
** This file is part of the example classes of the Qt Toolkit.
|
||||||
|
**
|
||||||
|
** This file may be used under the terms of the GNU General Public
|
||||||
|
** License version 2.0 as published by the Free Software Foundation
|
||||||
|
** and appearing in the file LICENSE.GPL included in the packaging of
|
||||||
|
** this file. Please review the following information to ensure GNU
|
||||||
|
** General Public Licensing requirements will be met:
|
||||||
|
** http://trolltech.com/products/qt/licenses/licensing/opensource/
|
||||||
|
**
|
||||||
|
** If you are unsure which license is appropriate for your use, please
|
||||||
|
** review the following information:
|
||||||
|
** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
|
||||||
|
** or contact the sales department at sales@trolltech.com.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Trolltech gives you certain
|
||||||
|
** additional rights. These rights are described in the Trolltech GPL
|
||||||
|
** Exception version 1.0, which can be found at
|
||||||
|
** http://www.trolltech.com/products/qt/gplexception/ and in the file
|
||||||
|
** GPL_EXCEPTION.txt in this package.
|
||||||
|
**
|
||||||
|
** In addition, as a special exception, Trolltech, as the sole copyright
|
||||||
|
** holder for Qt Designer, grants users of the Qt/Eclipse Integration
|
||||||
|
** plug-in the right for the Qt/Eclipse Integration to link to
|
||||||
|
** functionality provided by Qt Designer and its related libraries.
|
||||||
|
**
|
||||||
|
** Trolltech reserves all rights not expressly granted herein.
|
||||||
|
**
|
||||||
|
** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
|
||||||
|
** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
**
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
#include <QtGui>
|
||||||
|
|
||||||
|
#include "configdialog.h"
|
||||||
|
#include "MainOptions.h"
|
||||||
|
|
||||||
|
ConfigDialog::ConfigDialog()
|
||||||
|
{
|
||||||
|
contentsWidget = new QListWidget;
|
||||||
|
contentsWidget->setViewMode(QListView::IconMode);
|
||||||
|
contentsWidget->setIconSize(QSize(96, 84));
|
||||||
|
contentsWidget->setMovement(QListView::Static);
|
||||||
|
contentsWidget->setMaximumWidth(128);
|
||||||
|
contentsWidget->setSpacing(12);
|
||||||
|
|
||||||
|
pagesWidget = new QStackedWidget;
|
||||||
|
pagesWidget->addWidget(new VideoOptionsPage);
|
||||||
|
pagesWidget->addWidget(new SoundOptionsPage);
|
||||||
|
pagesWidget->addWidget(new InputOptionsPage);
|
||||||
|
|
||||||
|
QPushButton *closeButton = new QPushButton(tr("Close"));
|
||||||
|
|
||||||
|
createIcons();
|
||||||
|
contentsWidget->setCurrentRow(0);
|
||||||
|
|
||||||
|
connect(closeButton, SIGNAL(clicked()), this, SLOT(close()));
|
||||||
|
|
||||||
|
QHBoxLayout *horizontalLayout = new QHBoxLayout;
|
||||||
|
horizontalLayout->addWidget(contentsWidget);
|
||||||
|
horizontalLayout->addWidget(pagesWidget, 1);
|
||||||
|
|
||||||
|
QHBoxLayout *buttonsLayout = new QHBoxLayout;
|
||||||
|
buttonsLayout->addStretch(1);
|
||||||
|
buttonsLayout->addWidget(closeButton);
|
||||||
|
|
||||||
|
QVBoxLayout *mainLayout = new QVBoxLayout;
|
||||||
|
mainLayout->addLayout(horizontalLayout);
|
||||||
|
mainLayout->addStretch(1);
|
||||||
|
mainLayout->addSpacing(12);
|
||||||
|
mainLayout->addLayout(buttonsLayout);
|
||||||
|
setLayout(mainLayout);
|
||||||
|
|
||||||
|
setWindowTitle(tr("VBA-M Options"));
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConfigDialog::createIcons()
|
||||||
|
{
|
||||||
|
QListWidgetItem *VideoButton = new QListWidgetItem(contentsWidget);
|
||||||
|
VideoButton->setIcon(QIcon(":/resources/video.png"));
|
||||||
|
VideoButton->setText(tr("Video"));
|
||||||
|
VideoButton->setTextAlignment(Qt::AlignHCenter);
|
||||||
|
VideoButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||||
|
|
||||||
|
QListWidgetItem *SoundButton = new QListWidgetItem(contentsWidget);
|
||||||
|
SoundButton->setIcon(QIcon(":/resources/sound.png"));
|
||||||
|
SoundButton->setText(tr("Sound"));
|
||||||
|
SoundButton->setTextAlignment(Qt::AlignHCenter);
|
||||||
|
SoundButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||||
|
|
||||||
|
QListWidgetItem *InputButton = new QListWidgetItem(contentsWidget);
|
||||||
|
InputButton->setIcon(QIcon(":/resources/input.png"));
|
||||||
|
InputButton->setText(tr("Input"));
|
||||||
|
InputButton->setTextAlignment(Qt::AlignHCenter);
|
||||||
|
InputButton->setFlags(Qt::ItemIsSelectable | Qt::ItemIsEnabled);
|
||||||
|
|
||||||
|
connect(contentsWidget,
|
||||||
|
SIGNAL(currentItemChanged(QListWidgetItem *, QListWidgetItem *)),
|
||||||
|
this, SLOT(changePage(QListWidgetItem *, QListWidgetItem*)));
|
||||||
|
}
|
||||||
|
|
||||||
|
void ConfigDialog::changePage(QListWidgetItem *current, QListWidgetItem *previous)
|
||||||
|
{
|
||||||
|
if (!current)
|
||||||
|
current = previous;
|
||||||
|
|
||||||
|
pagesWidget->setCurrentIndex(contentsWidget->row(current));
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
|
||||||
|
#ifndef CONFIGDIALOG_H
|
||||||
|
#define CONFIGDIALOG_H
|
||||||
|
|
||||||
|
#include <QDialog>
|
||||||
|
|
||||||
|
class QListWidget;
|
||||||
|
class QListWidgetItem;
|
||||||
|
class QStackedWidget;
|
||||||
|
|
||||||
|
class ConfigDialog : public QDialog
|
||||||
|
{
|
||||||
|
Q_OBJECT
|
||||||
|
|
||||||
|
public:
|
||||||
|
ConfigDialog();
|
||||||
|
|
||||||
|
public slots:
|
||||||
|
void changePage(QListWidgetItem *current, QListWidgetItem *previous);
|
||||||
|
|
||||||
|
private:
|
||||||
|
void createIcons();
|
||||||
|
|
||||||
|
QListWidget *contentsWidget;
|
||||||
|
QStackedWidget *pagesWidget;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
Binary file not shown.
After Width: | Height: | Size: 5.7 KiB |
Binary file not shown.
After Width: | Height: | Size: 5.1 KiB |
Binary file not shown.
After Width: | Height: | Size: 2.8 KiB |
|
@ -0,0 +1,7 @@
|
||||||
|
<!DOCTYPE RCC><RCC version="1.0">
|
||||||
|
<qresource>
|
||||||
|
<file>resources/video.png</file>
|
||||||
|
<file>resources/input.png</file>
|
||||||
|
<file>resources/sound.png</file>
|
||||||
|
</qresource>
|
||||||
|
</RCC>
|
Loading…
Reference in New Issue