You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
qt3/tools/designer/plugins/wizards/mainwindowwizard.ui.h

322 lines
12 KiB

/**********************************************************************
**
** Copyright (C) 2000-2008 Trolltech ASA. All rights reserved.
**
** This file is part of Qt Designer.
**
** This file may be used under the terms of the GNU General
** Public License versions 2.0 or 3.0 as published by the Free
** Software Foundation and appearing in the files LICENSE.GPL2
** and LICENSE.GPL3 included in the packaging of this file.
** Alternatively you may (at your option) use any later version
** of the GNU General Public License if such license has been
** publicly approved by Trolltech ASA (or its successors, if any)
** and the KDE Free Qt Foundation.
**
** 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.
**
** Licensees holding valid Qt Commercial licenses may use this file in
** accordance with the Qt Commercial License Agreement provided with
** the Software.
**
** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
** herein.
**
**********************************************************************/
void MainWindowWizardBase::init()
{
dIface = 0;
dfw = 0;
widget = 0;
setHelpEnabled( menuToolbarPage, FALSE );
setHelpEnabled( toolbarsPage, FALSE );
setHelpEnabled( finishPage, FALSE );
setFinishEnabled( finishPage, TRUE );
}
void MainWindowWizardBase::destroy()
{
if ( dIface )
dIface->release();
}
void MainWindowWizardBase::currentSettingChanged()
{
bool appr = checkFileToolbar->isChecked() || checkEditToolbar->isChecked() || checkHelpToolbar->isChecked();
setAppropriate( toolbarsPage, appr );
}
void MainWindowWizardBase::setupToolbarPage()
{
if ( checkFileToolbar->isChecked() )
comboToolbar->insertItem( tr( "File" ) );
if ( checkEditToolbar->isChecked() )
comboToolbar->insertItem( tr( "Edit" ) );
if ( checkHelpToolbar->isChecked() )
comboToolbar->insertItem( tr( "Help" ) );
}
void MainWindowWizardBase::toolbarActionDown()
{
if ( listToolbar->currentItem() < 0 || listToolbar->currentItem() >= (int)listToolbar->count() - 1 )
return;
int next = listToolbar->currentItem() + 1;
QString tmp = listToolbar->text( next );
listToolbar->changeItem( listToolbar->text( next - 1 ), next );
listToolbar->changeItem( tmp, next - 1 );
listToolbar->setCurrentItem( next );
}
void MainWindowWizardBase::toolbarActionUp()
{
if ( listToolbar->currentItem() < 1 || listToolbar->currentItem() > (int)listToolbar->count() - 1 )
return;
int prev = listToolbar->currentItem() - 1;
QString tmp = listToolbar->text( prev );
listToolbar->changeItem( listToolbar->text( prev + 1 ), prev );
listToolbar->changeItem( tmp, prev + 1 );
listToolbar->setCurrentItem( prev );
}
void MainWindowWizardBase::toolbarAddAction()
{
if ( listToolbarActions->text( listToolbarActions->currentItem() ).isEmpty() )
return;
listToolbar->insertItem( listToolbarActions->text( listToolbarActions->currentItem() ) );
listToolbar->setCurrentItem( listToolbar->count() - 1 );
listToolbarActions->setCurrentItem( listToolbarActions->currentItem() + 1 );
}
void MainWindowWizardBase::toolbarRemoveAction()
{
listToolbar->removeItem( listToolbar->currentItem() );
}
static void devNull( QtMsgType, const char * )
{
}
void MainWindowWizardBase::accept()
{
if ( !dfw || !dIface || !widget ) {
QWizard::accept();
return;
}
setFinishEnabled( finishPage, FALSE );
QPixmap pix;
QDict<QAction> actions;
QPtrList<QAction> usedActions;
QtMsgHandler oldMsgHandler = qInstallMsgHandler( devNull );
getPixmap( "filenew", pix );
QAction *fileNewAction = dfw->createAction( tr( "New" ), pix, tr( "&New" ), CTRL + Key_N, 0, "fileNewAction" );
actions.insert( tr( "New" ), fileNewAction );
getPixmap( "fileopen", pix );
QAction *fileOpenAction = dfw->createAction( tr( "Open" ), pix, tr( "&Open..." ), CTRL + Key_O, 0, "fileOpenAction" );
actions.insert( tr( "Open" ), fileOpenAction );
getPixmap( "filesave", pix );
QAction *fileSaveAction = dfw->createAction( tr( "Save" ), pix, tr( "&Save" ), CTRL + Key_S, 0, "fileSaveAction" );
actions.insert( tr( "Save" ), fileSaveAction );
QAction *fileSaveAsAction = dfw->createAction( tr( "Save As" ), QIconSet(), tr( "Save &As..." ), 0, 0, "fileSaveAsAction" );
actions.insert( tr( "Save As" ), fileSaveAsAction );
getPixmap( "print", pix );
QAction *filePrintAction = dfw->createAction( tr( "Print" ), pix, tr( "&Print..." ), CTRL + Key_P, 0, "filePrintAction" );
actions.insert( tr( "Print" ), filePrintAction );
QAction *fileExitAction = dfw->createAction( tr( "Exit" ), QIconSet(), tr( "E&xit" ), 0, 0, "fileExitAction" );
actions.insert( tr( "Exit" ), fileExitAction );
getPixmap( "undo", pix );
QAction *editUndoAction = dfw->createAction( tr( "Undo" ), pix, tr( "&Undo" ), CTRL + Key_Z, 0, "editUndoAction" );
actions.insert( tr( "Undo" ), editUndoAction );
getPixmap( "redo", pix );
QAction *editRedoAction = dfw->createAction( tr( "Redo" ), pix, tr( "&Redo" ), CTRL + Key_Y, 0, "editRedoAction" );
actions.insert( tr( "Redo" ), editRedoAction );
getPixmap( "editcut", pix );
QAction *editCutAction = dfw->createAction( tr( "Cut" ), pix, tr( "Cu&t" ), CTRL + Key_X, 0, "editCutAction" );
actions.insert( tr( "Cut" ), editCutAction );
getPixmap( "editcopy", pix );
QAction *editCopyAction = dfw->createAction( tr( "Copy" ), pix, tr( "&Copy" ), CTRL + Key_C, 0, "editCopyAction" );
actions.insert( tr( "Copy" ), editCopyAction );
getPixmap( "editpaste", pix );
QAction *editPasteAction = dfw->createAction( tr( "Paste" ), pix, tr( "&Paste" ), CTRL + Key_V, 0, "editPasteAction" );
actions.insert( tr( "Paste" ), editPasteAction );
getPixmap( "searchfind", pix );
QAction *editFindAction = dfw->createAction( tr( "Find" ), pix, tr( "&Find..." ), CTRL + Key_F, 0, "editFindAction" );
actions.insert( tr( "Find" ), editFindAction );
QAction *helpAboutAction = dfw->createAction( tr( "About" ), QIconSet(), tr( "&About" ), 0, 0, "helpAboutAction" );
actions.insert( tr( "About" ), helpAboutAction );
QAction *helpContentsAction = dfw->createAction( tr( "Contents" ), QIconSet(), tr( "&Contents..." ), 0, 0, "helpContentsAction" );
actions.insert( tr( "Contents" ), helpContentsAction );
QAction *helpIndexAction = dfw->createAction( tr( "Index" ), QIconSet(), tr( "&Index..." ), 0, 0, "helpIndexAction" );
actions.insert( tr( "Index" ), helpIndexAction );
if ( checkFileMenu->isChecked() ) {
dfw->addMenu( "&File", "fileMenu" );
dfw->addMenuAction( "fileMenu", fileNewAction );
dfw->addMenuAction( "fileMenu", fileOpenAction );
dfw->addMenuAction( "fileMenu", fileSaveAction );
dfw->addMenuAction( "fileMenu", fileSaveAsAction );
dfw->addMenuSeparator( "fileMenu" );
dfw->addMenuAction( "fileMenu", filePrintAction );
dfw->addMenuSeparator( "fileMenu" );
dfw->addMenuAction( "fileMenu", fileExitAction );
dfw->addAction( fileNewAction );
dfw->addAction( fileOpenAction );
dfw->addAction( fileSaveAction );
dfw->addAction( fileSaveAsAction );
dfw->addAction( filePrintAction );
dfw->addAction( fileExitAction );
usedActions.append( fileNewAction );
usedActions.append( fileOpenAction );
usedActions.append( fileSaveAction );
usedActions.append( fileSaveAsAction );
usedActions.append( filePrintAction );
usedActions.append( fileExitAction );
}
if ( checkEditMenu->isChecked() ) {
dfw->addMenu( "&Edit", "editMenu" );
dfw->addMenuAction( "editMenu", editUndoAction );
dfw->addMenuAction( "editMenu", editRedoAction );
dfw->addMenuSeparator( "editMenu" );
dfw->addMenuAction( "editMenu", editCutAction );
dfw->addMenuAction( "editMenu", editCopyAction );
dfw->addMenuAction( "editMenu", editPasteAction );
dfw->addMenuSeparator( "editMenu" );
dfw->addMenuAction( "editMenu", editFindAction );
dfw->addAction( editUndoAction );
dfw->addAction( editRedoAction );
dfw->addAction( editCutAction );
dfw->addAction( editCopyAction );
dfw->addAction( editPasteAction );
dfw->addAction( editFindAction );
usedActions.append( editUndoAction );
usedActions.append( editRedoAction );
usedActions.append( editCutAction );
usedActions.append( editCopyAction );
usedActions.append( editPasteAction );
usedActions.append( editFindAction );
}
if ( checkHelpMenu->isChecked() ) {
dfw->addMenu( "&Help", "helpMenu" );
dfw->addMenuAction( "helpMenu", helpContentsAction );
dfw->addMenuAction( "helpMenu", helpIndexAction );
dfw->addMenuSeparator( "helpMenu" );
dfw->addMenuAction( "helpMenu", helpAboutAction );
dfw->addAction( helpContentsAction );
dfw->addAction( helpIndexAction );
dfw->addAction( helpAboutAction );
usedActions.append( helpIndexAction );
usedActions.append( helpContentsAction );
usedActions.append( helpAboutAction );
}
if ( listToolbar->count() > 0 && appropriate( toolbarsPage ) ) {
dfw->addToolBar( "Tools", "toolBar" );
for ( int i = 0; i < (int)listToolbar->count(); ++i ) {
if ( listToolbar->text( i ) == tr( "<Separator>" ) ) {
dfw->addToolBarSeparator( "toolBar" );
continue;
}
QAction *a = actions.find( listToolbar->text( i ) );
if ( !a )
continue;
dfw->addToolBarAction( "toolBar", a );
dfw->addAction( a );
if ( usedActions.findRef( a ) == -1 )
usedActions.append( a );
}
}
for ( QAction *ac = usedActions.first(); ac; ac = usedActions.next() ) {
if ( QString( ac->name() ).find( "file" ) != -1 && checkCreateConnectionsFile->isChecked() ||
QString( ac->name() ).find( "edit" ) != -1 && checkCreateConnectionsEdit->isChecked() ||
QString( ac->name() ).find( "help" ) != -1 && checkCreateConnectionsHelp->isChecked() ) {
QString slot = ac->name();
slot.remove( slot.length() - 6, 6 );
slot += "()";
dfw->addFunction( slot.latin1(), "virtual", "public", "slot", dIface->currentProject()->language(), "void" );
dfw->addConnection( ac, "activated()", widget, slot );
}
}
qInstallMsgHandler( oldMsgHandler );
QWizard::accept();
}
void MainWindowWizardBase::currentToolbarChanged( const QString & s )
{
if ( s == tr( "File" ) ) {
listToolbarActions->clear();
listToolbarActions->insertItem( tr( "New" ) );
listToolbarActions->insertItem( tr( "Open" ) );
listToolbarActions->insertItem( tr( "Save" ) );
listToolbarActions->insertItem( tr( "Save As" ) );
listToolbarActions->insertItem( tr( "Print" ) );
listToolbarActions->insertItem( tr( "Exit" ) );
} else if ( s == tr( "Edit" ) ) {
listToolbarActions->clear();
listToolbarActions->insertItem( tr( "Undo" ) );
listToolbarActions->insertItem( tr( "Redo" ) );
listToolbarActions->insertItem( tr( "Cut" ) );
listToolbarActions->insertItem( tr( "Copy" ) );
listToolbarActions->insertItem( tr( "Paste" ) );
listToolbarActions->insertItem( tr( "Find" ) );
} else if ( s == tr( "Help" ) ) {
listToolbarActions->clear();
listToolbarActions->insertItem( tr( "Contents" ) );
listToolbarActions->insertItem( tr( "Index" ) );
listToolbarActions->insertItem( tr( "About" ) );
}
listToolbarActions->insertItem( "<Separator>" );
listToolbarActions->setCurrentItem( 0 );
}
void MainWindowWizardBase::getPixmap( const QString & n, QPixmap & pix )
{
QString name = n + ".png";
pix = QPixmap::fromMimeSource( name );
DesignerProject *pro = dIface->currentProject();
if ( !pro || pro->projectName() == "<No Project>" )
return;
pro->pixmapCollection()->addPixmap( pix, n, FALSE );
}
void MainWindowWizardBase::pageSelected( const QString & )
{
if ( currentPage() == toolbarsPage ) {
comboToolbar->clear();
setupToolbarPage();
listToolbarActions->clear();
currentToolbarChanged( comboToolbar->text( comboToolbar->currentItem() ) );
}
}
void MainWindowWizardBase::setAppInterface( QUnknownInterface * iface, DesignerFormWindow * fw, QWidget * w )
{
DesignerInterface *d = 0;
iface->queryInterface( IID_Designer, (QUnknownInterface**)&d );
dIface = d;
dfw = fw;
widget = w;
}