void MainWindow::loadLanguage(const QString& rLanguage) { if(m_currLang != rLanguage) { m_currLang = rLanguage; QLocale locale = QLocale(m_currLang); GlobalSettings::locale = m_currLang; QLocale::setDefault(locale); QString languageName = QLocale::languageToString(locale.language()); bool ok = switchTranslator(m_translatorQt, m_langPath + QString("/qt_%1.qm").arg(m_currLang)); ok = switchTranslator(m_translator, m_langPath + QString("/editor_%1.qm").arg(m_currLang)); WriteToLog(QtDebugMsg, QString("Translation-> try to retranslate")); if(ok) { ui->retranslateUi(this); WriteToLog(QtDebugMsg, QString("Translation-> done")); } else WriteToLog(QtDebugMsg, QString("Translation-> not changed (not okay)")); //Sync dynamic menus SyncRecentFiles(); updateWindowMenu(); langListSync(); clearFilter(); ui->statusBar->showMessage(tr("Current Language changed to %1").arg(languageName), 2000); } }
int addWindowMenu(int x,int y,int grav,bool fromleft) { const char *icon=NULL; int xpos=x; int ypos=y; int width=0; int height=0; int thisgrav=grav; int iconsize=16; if(windowMenu!=NULL) { printError("Duplicate window selector"); return(0); } setSizes(&xpos,&ypos,&width,&height,&iconsize,&thisgrav,fromleft); windowMenu=new LFSTK_menuButtonClass(mainwind,"",xpos,ypos,width,height,thisgrav); icon=mainwind->globalLib->LFSTK_findThemedIcon(desktopTheme,"computer",""); if(icon!=NULL) windowMenu->LFSTK_setIconFromPath(icon,iconsize); else windowMenu->LFSTK_setIconFromPath(DATADIR "/pixmaps/windows.png",iconsize); windowMenu->LFSTK_setCallBack(NULL,windowMenuCB,NULL); windowDeskListCnt=-1; windowListCnt=-1; updateWindowCnt=WINDOWREFRESH; updateWindowMenu(); useAlarm=true; return(width); }
void XArch::createMenus() { menuBar()->show(); QMenu* fileMenu = menuBar()->addMenu(tr("&File")); fileMenu->addAction(newAct); fileMenu->addAction(settingsAct); fileMenu->addAction(testAct); fileMenu->addAction(showDictsAct); fileMenu->addAction(showTemplatesAct); fileMenu->addAction(searchDbAct); fileMenu->addAction(printAct); fileMenu->addSeparator(); windowMenu = menuBar()->addMenu(tr("&Window")); updateWindowMenu(); connect(windowMenu, SIGNAL(aboutToShow()), this, SLOT(updateWindowMenu())); QMenu* reportsMenu = menuBar()->addMenu(tr("&Reports")); reportsMenu->addAction(dailyReportAct); }
bool windowMenuCB(void *p,void* ud) { menuItemStruct *menu=(menuItemStruct*)ud; Window winid=0; unsigned long desktop=0; if(menu==NULL) return(true); winid=(Window)(menu->userData); desktop=(unsigned long)menu->subMenuCnt; possibleError="Can't switch desktop"; sendClientMessage(mainwind->rootWindow,"_NET_CURRENT_DESKTOP",desktop,0,0,0,0); possibleError="Can't activate window"; sendClientMessage(winid,"_NET_ACTIVE_WINDOW",0,0,0,0,0); updateWindowCnt=WINDOWREFRESH+100; updateWindowMenu(); return(true); }
//Open Level Properties void MainWindow::on_actionLevelProp_triggered() { if(activeChildWindow()==1) { LevelEdit * e=activeLvlEditWin(); if(!e) return; LevelProps LevProps(e->LvlData, this); LevProps.setWindowFlags (Qt::Window | Qt::WindowTitleHint | Qt::WindowCloseButtonHint); LevProps.setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, LevProps.size(), qApp->desktop()->availableGeometry())); if(LevProps.exec()==QDialog::Accepted) { QList<QVariant> lvlsetData; lvlsetData.push_back(e->LvlData.LevelName); lvlsetData.push_back(LevProps.LevelTitle); e->scene->m_history->addChangeLevelSettings(HistorySettings::SETTING_LEVELNAME, QVariant(lvlsetData)); e->LvlData.LevelName = LevProps.LevelTitle; e->LvlData.meta.modified = true; e->setWindowTitle( QString(LevProps.LevelTitle.isEmpty() ? e->userFriendlyCurrentFile() : LevProps.LevelTitle).replace("&", "&&&") ); updateWindowMenu(); } } }
MainGui::MainGui(QWidget *p) : QMainWindow(p), currenthdr(NULL) { setupUi(this); setAcceptDrops(true); //main toolbar setup QActionGroup *toolBarOptsGroup = new QActionGroup(this); toolBarOptsGroup->addAction(actionText_Under_Icons); toolBarOptsGroup->addAction(actionIcons_Only); toolBarOptsGroup->addAction(actionText_Alongside_Icons); toolBarOptsGroup->addAction(actionText_Only); menuToolbars->addAction(toolBar->toggleViewAction()); mdiArea = new QMdiArea(this); mdiArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); mdiArea->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); mdiArea->setBackground(QBrush(QColor::fromRgb(192, 192, 192)) ); setCentralWidget(mdiArea); qtpfsgui_options=QtpfsguiOptions::getInstance(); load_options(); setWindowTitle("Qtpfsgui "QTPFSGUIVERSION); connect(mdiArea,SIGNAL(subWindowActivated(QMdiSubWindow*)),this,SLOT(updateActions(QMdiSubWindow*))); connect(fileNewAction, SIGNAL(triggered()), this, SLOT(fileNewViaWizard())); connect(fileOpenAction, SIGNAL(triggered()), this, SLOT(fileOpen())); connect(fileSaveAsAction, SIGNAL(triggered()), this, SLOT(fileSaveAs())); connect(TonemapAction, SIGNAL(triggered()), this, SLOT(tonemap_requested())); connect(rotateccw, SIGNAL(triggered()), this, SLOT(rotateccw_requested())); connect(rotatecw, SIGNAL(triggered()), this, SLOT(rotatecw_requested())); connect(actionResizeHDR, SIGNAL(triggered()), this, SLOT(resize_requested())); connect(action_Projective_Transformation, SIGNAL(triggered()), this, SLOT(projectiveTransf_requested())); connect(actionBatch_Tone_Mapping, SIGNAL(triggered()), this, SLOT(batch_requested())); connect(Low_dynamic_range,SIGNAL(triggered()),this,SLOT(current_mdi_ldr_exp())); connect(Fit_to_dynamic_range,SIGNAL(triggered()),this,SLOT(current_mdi_fit_exp())); connect(Shrink_dynamic_range,SIGNAL(triggered()),this,SLOT(current_mdi_shrink_exp())); connect(Extend_dynamic_range,SIGNAL(triggered()),this,SLOT(current_mdi_extend_exp())); connect(Decrease_exposure,SIGNAL(triggered()),this,SLOT(current_mdi_decrease_exp())); connect(Increase_exposure,SIGNAL(triggered()),this,SLOT(current_mdi_increase_exp())); connect(zoomInAct,SIGNAL(triggered()),this,SLOT(current_mdi_zoomin())); connect(zoomOutAct,SIGNAL(triggered()),this,SLOT(current_mdi_zoomout())); connect(fitToWindowAct,SIGNAL(toggled(bool)),this,SLOT(current_mdi_fit_to_win(bool))); connect(normalSizeAct,SIGNAL(triggered()),this,SLOT(current_mdi_original_size())); connect(documentationAction,SIGNAL(triggered()),this,SLOT(openDocumentation())); connect(actionWhat_s_This,SIGNAL(triggered()),this,SLOT(enterWhatsThis())); connect(actionAbout_Qt,SIGNAL(triggered()),qApp,SLOT(aboutQt())); connect(actionAbout_Qtpfsgui,SIGNAL(triggered()),this,SLOT(aboutQtpfsgui())); connect(OptionsAction,SIGNAL(triggered()),this,SLOT(preferences_called())); connect(Transplant_Exif_Data_action,SIGNAL(triggered()),this,SLOT(transplant_called())); connect(actionTile,SIGNAL(triggered()),mdiArea,SLOT(tileSubWindows())); connect(actionCascade,SIGNAL(triggered()),mdiArea,SLOT(cascadeSubWindows())); connect(fileExitAction, SIGNAL(triggered()), this, SLOT(fileExit())); connect(menuWindows, SIGNAL(aboutToShow()), this, SLOT(updateWindowMenu())); connect(actionSave_Hdr_Preview, SIGNAL(triggered()), this, SLOT(saveHdrPreview())); //QSignalMapper? connect(actionText_Under_Icons,SIGNAL(triggered()),this,SLOT(Text_Under_Icons())); connect(actionIcons_Only,SIGNAL(triggered()),this,SLOT(Icons_Only())); connect(actionText_Alongside_Icons,SIGNAL(triggered()),this,SLOT(Text_Alongside_Icons())); connect(actionText_Only,SIGNAL(triggered()),this,SLOT(Text_Only())); windowMapper = new QSignalMapper(this); connect(windowMapper,SIGNAL(mapped(QWidget*)),this,SLOT(setActiveSubWindow(QWidget*))); //recent files for (int i = 0; i < MaxRecentFiles; ++i) { recentFileActs[i] = new QAction(this); recentFileActs[i]->setVisible(false); connect(recentFileActs[i], SIGNAL(triggered()), this, SLOT(openRecentFile())); } separatorRecentFiles = menuFile->addSeparator(); for (int i = 0; i < MaxRecentFiles; ++i) menuFile->addAction(recentFileActs[i]); updateRecentFileActions(); //this->showMaximized(); testTempDir(qtpfsgui_options->tempfilespath); statusBar()->showMessage(tr("Ready.... Now open an Hdr or create one!"),17000); }
void MainWindow::setUiDefults() { #ifdef Q_OS_MAC this->setWindowIcon(QIcon(":/cat_builder.icns")); #endif //Apply objects into tools setLevelSectionData(); setLvlItemBoxes(); setWldItemBoxes(); setSoundList(); applyTheme(Themes::currentTheme().isEmpty() ? ConfStatus::defaultTheme : Themes::currentTheme()); WldLvlExitTypeListReset(); //MainWindow Geometry; QRect mwg = this->geometry(); int GOffset=240; //Define the default geometry for toolboxes ui->DoorsToolbox->setGeometry( mwg.x()+mwg.width()-ui->DoorsToolbox->width()-GOffset, mwg.y()+120, ui->DoorsToolbox->width(), ui->DoorsToolbox->height() ); ui->LevelSectionSettings->setGeometry( mwg.x()+mwg.width()-ui->LevelSectionSettings->width()-GOffset, mwg.y()+120, ui->LevelSectionSettings->width(), ui->LevelSectionSettings->height() ); ui->LevelLayers->setGeometry( mwg.x()+mwg.width()-ui->LevelLayers->width()-GOffset, mwg.y()+120, ui->LevelLayers->width(), ui->LevelLayers->height() ); ui->LevelEventsToolBox->setGeometry( mwg.x()+mwg.width()-ui->LevelEventsToolBox->width()-GOffset, mwg.y()+120, ui->LevelEventsToolBox->width(), ui->LevelEventsToolBox->height() ); ui->ItemProperties->setGeometry( mwg.x()+mwg.width()-ui->ItemProperties->width()-GOffset, mwg.y()+120, ui->ItemProperties->width(), ui->ItemProperties->height() ); ui->FindDock->setGeometry( mwg.x()+mwg.width()-ui->FindDock->width()-GOffset, mwg.y()+120, ui->FindDock->width(), ui->FindDock->height() ); ui->WLD_ItemProps->setGeometry( mwg.x()+mwg.width()-ui->WLD_ItemProps->width()-GOffset, mwg.y()+120, ui->WLD_ItemProps->width(), ui->WLD_ItemProps->height() ); ui->WorldSettings->setGeometry( mwg.x()+mwg.width()-ui->WorldSettings->width()-GOffset-200, mwg.y()+120, ui->WorldSettings->width(), ui->WorldSettings->height() ); ui->WorldFindDock->setGeometry( mwg.x()+mwg.width()-ui->WorldFindDock->width()-GOffset, mwg.y()+120, ui->WorldFindDock->width(), ui->WorldFindDock->height() ); ui->Tileset_Item_Box->setGeometry( mwg.x()+GOffset, mwg.y()+mwg.height()-600, 800, 300 ); ui->debuggerBox->setGeometry( mwg.x()+mwg.width()-ui->debuggerBox->width()-GOffset, mwg.y()+120, ui->debuggerBox->width(), ui->debuggerBox->height() ); ui->bookmarkBox->setGeometry( mwg.x()+mwg.width()-ui->bookmarkBox->width()-GOffset, mwg.y()+120, ui->bookmarkBox->width(), ui->bookmarkBox->height() ); QFont font("Monospace"); font.setStyleHint(QFont::TypeWriter); font.setWeight(8); ui->DEBUG_Items->setFont(font); loadSettings(); connect(ui->centralWidget, SIGNAL(subWindowActivated(QMdiSubWindow*)), this, SLOT(updateMenus())); windowMapper = new QSignalMapper(this); connect(windowMapper, SIGNAL(mapped(QWidget*)), this, SLOT(setActiveSubWindow(QWidget*))); ui->actionPlayMusic->setChecked(GlobalSettings::autoPlayMusic); ui->actionExport_to_image_section->setVisible(false); ui->actionVBAlphaEmulate->setChecked(GraphicsHelps::EnableVBEmulate); ui->centralWidget->cascadeSubWindows(); ui->applyResize->setVisible(false); ui->cancelResize->setVisible(false); ui->ResizingToolbar->setVisible(false); ui->PlacingToolbar->setVisible(false); ui->LevelToolBox->hide(); ui->DoorsToolbox->hide(); ui->LevelLayers->hide(); ui->LevelEventsToolBox->hide(); ui->LevelSectionSettings->hide(); ui->ItemProperties->hide(); ui->FindDock->hide(); ui->WorldToolBox->hide(); ui->WorldSettings->hide(); ui->WLD_ItemProps->hide(); ui->WorldFindDock->hide(); ui->Tileset_Item_Box->hide(); ui->debuggerBox->hide(); ui->bookmarkBox->hide(); ui->menuView->setEnabled(false); ui->menuWindow->setEnabled(true); ui->menuLevel->setEnabled(false); ui->menuWorld->setEnabled(false); ui->menuTest->setEnabled(false); ui->LevelObjectToolbar->setVisible(false); ui->WorldObjectToolbar->setVisible(false); ui->actionLVLToolBox->setVisible(false); ui->actionWarpsAndDoors->setVisible(false); ui->actionSection_Settings->setVisible(false); ui->actionWarpsAndDoors->setVisible(false); ui->actionWLDToolBox->setVisible(false); ui->actionGridEn->setChecked(true); ui->actionTilesetBox->setVisible(false); ui->actionBookmarkBox->setVisible(false); ui->actionDebugger->setVisible(false); ui->actionZoomReset->setEnabled(false); ui->actionZoomIn->setEnabled(false); ui->actionZoomOut->setEnabled(false); setAcceptDrops(true); ui->centralWidget->cascadeSubWindows(); ui->centralWidget->setViewMode(GlobalSettings::MainWindowView); ui->LevelToolBoxTabs->setTabPosition(GlobalSettings::LVLToolboxPos); ui->WorldToolBoxTabs->setTabPosition(GlobalSettings::WLDToolboxPos); ui->TileSetsCategories->setTabPosition(GlobalSettings::TSTToolboxPos); ui->centralWidget->setTabsClosable(true); muVol = new QSlider(Qt::Horizontal); muVol->setMaximumWidth(70); muVol->setMinimumWidth(70); muVol->setMinimum(0); muVol->setMaximum(MIX_MAX_VOLUME); muVol->setValue(GlobalSettings::musicVolume); MusPlayer.setVolume(muVol->value()); ui->EditionToolBar->insertWidget(ui->actionAnimation, muVol); ui->EditionToolBar->insertSeparator(ui->actionAnimation); zoom = new QLineEdit(); zoom->setValidator(new QIntValidator(0,2001)); zoom->setText("100"); zoom->setMaximumWidth(50); zoom->setEnabled(false); ui->LevelSectionsToolBar->insertWidget(ui->actionZoomReset,zoom); connect(zoom, SIGNAL(editingFinished()), this, SLOT(applyTextZoom())); connect(muVol, SIGNAL(valueChanged(int)), &MusPlayer, SLOT(setVolume(int))); curSearchBlock.id = 0; curSearchBlock.index = 0; curSearchBlock.npc_id = 0; curSearchBGO.id = 0; curSearchBGO.index = 0; curSearchNPC.id = 0; curSearchNPC.index = 0; curSearchTile.id = 0; curSearchTile.index = 0; curSearchScenery.id = 0; curSearchScenery.index = 0; curSearchPath.id = 0; curSearchPath.index = 0; curSearchLevel.id = 0; curSearchLevel.index = 0; curSearchMusic.id = 0; curSearchMusic.index = 0; connect(ui->LvlLayerList->model(), SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(DragAndDroppedLayer(QModelIndex,int,int,QModelIndex,int))); connect(ui->LVLEvents_List->model(), SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(DragAndDroppedEvent(QModelIndex,int,int,QModelIndex,int))); connect(ui->bookmarkList->model(), SIGNAL(rowsMoved(QModelIndex,int,int,QModelIndex,int)), this, SLOT(DragAndDroppedBookmark(QModelIndex,int,int,QModelIndex,int))); //enable & disable connect(ui->Find_Check_TypeBlock, SIGNAL(toggled(bool)), ui->Find_Button_TypeBlock, SLOT(setEnabled(bool))); connect(ui->Find_Check_TypeBGO, SIGNAL(toggled(bool)), ui->Find_Button_TypeBGO, SLOT(setEnabled(bool))); connect(ui->Find_Check_TypeNPC, SIGNAL(toggled(bool)), ui->Find_Button_TypeNPC, SLOT(setEnabled(bool))); connect(ui->Find_Check_PriorityBGO, SIGNAL(toggled(bool)), ui->Find_Spin_PriorityBGO, SLOT(setEnabled(bool))); connect(ui->Find_Check_LayerBlock, SIGNAL(toggled(bool)), ui->Find_Combo_LayerBlock, SLOT(setEnabled(bool))); connect(ui->Find_Check_LayerBGO, SIGNAL(toggled(bool)), ui->Find_Combo_LayerBGO, SLOT(setEnabled(bool))); connect(ui->Find_Check_LayerNPC, SIGNAL(toggled(bool)), ui->Find_Combo_LayerNPC, SLOT(setEnabled(bool))); connect(ui->Find_Check_InvisibleBlock, SIGNAL(toggled(bool)), ui->Find_Check_InvisibleActiveBlock, SLOT(setEnabled(bool))); connect(ui->Find_Check_SlipperyBlock, SIGNAL(toggled(bool)), ui->Find_Check_SlipperyActiveBlock, SLOT(setEnabled(bool))); connect(ui->Find_Check_ContainsNPCBlock, SIGNAL(toggled(bool)), ui->Find_Button_ContainsNPCBlock, SLOT(setEnabled(bool))); connect(ui->Find_Check_EventDestoryedBlock, SIGNAL(toggled(bool)), ui->Find_Combo_EventDestoryedBlock, SLOT(setEnabled(bool))); connect(ui->Find_Check_EventHitedBlock, SIGNAL(toggled(bool)), ui->Find_Combo_EventHitedBlock, SLOT(setEnabled(bool))); connect(ui->Find_Check_EventLayerEmptyBlock, SIGNAL(toggled(bool)), ui->Find_Combo_EventLayerEmptyBlock, SLOT(setEnabled(bool))); connect(ui->Find_Check_DirNPC, SIGNAL(toggled(bool)), ui->Find_Radio_DirLeftNPC, SLOT(setEnabled(bool))); connect(ui->Find_Check_DirNPC, SIGNAL(toggled(bool)), ui->Find_Radio_DirRandomNPC, SLOT(setEnabled(bool))); connect(ui->Find_Check_DirNPC, SIGNAL(toggled(bool)), ui->Find_Radio_DirRightNPC, SLOT(setEnabled(bool))); connect(ui->Find_Check_FriendlyNPC, SIGNAL(toggled(bool)), ui->Find_Check_FriendlyActiveNPC, SLOT(setEnabled(bool))); connect(ui->Find_Check_NotMoveNPC, SIGNAL(toggled(bool)), ui->Find_Check_NotMoveActiveNPC, SLOT(setEnabled(bool))); connect(ui->Find_Check_BossNPC, SIGNAL(toggled(bool)), ui->Find_Check_BossActiveNPC, SLOT(setEnabled(bool))); connect(ui->Find_Check_MsgNPC, SIGNAL(toggled(bool)), ui->Find_Edit_MsgNPC, SLOT(setEnabled(bool))); connect(ui->Find_Check_MsgNPC, SIGNAL(toggled(bool)), ui->Find_Check_MsgSensitiveNPC, SLOT(setEnabled(bool))); //for world search connect(ui->Find_Check_TypeLevel, SIGNAL(toggled(bool)), ui->Find_Button_TypeLevel, SLOT(setEnabled(bool))); connect(ui->Find_Check_TypeTile, SIGNAL(toggled(bool)), ui->Find_Button_TypeTile, SLOT(setEnabled(bool))); connect(ui->Find_Check_TypeScenery, SIGNAL(toggled(bool)), ui->Find_Button_TypeScenery, SLOT(setEnabled(bool))); connect(ui->Find_Check_TypePath, SIGNAL(toggled(bool)), ui->Find_Button_TypePath, SLOT(setEnabled(bool))); connect(ui->Find_Check_TypeMusic, SIGNAL(toggled(bool)), ui->Find_Button_TypeMusic, SLOT(setEnabled(bool))); connect(ui->Find_Check_PathBackground, SIGNAL(toggled(bool)), ui->Find_Check_PathBackgroundActive, SLOT(setEnabled(bool))); connect(ui->Find_Check_BigPathBackground, SIGNAL(toggled(bool)), ui->Find_Check_BigPathBackgroundActive, SLOT(setEnabled(bool))); connect(ui->Find_Check_AlwaysVisible, SIGNAL(toggled(bool)), ui->Find_Check_AlwaysVisibleActive, SLOT(setEnabled(bool))); connect(ui->Find_Check_GameStartPoint, SIGNAL(toggled(bool)), ui->Find_Check_GameStartPointActive, SLOT(setEnabled(bool))); connect(ui->Find_Check_LevelFile, SIGNAL(toggled(bool)), ui->Find_Edit_LevelFile, SLOT(setEnabled(bool))); connect(ui->Find_Check_LevelFile, SIGNAL(toggled(bool)), ui->Find_Button_LevelFile, SLOT(setEnabled(bool))); connect(ui->Find_Check_ContainsTitle, SIGNAL(toggled(bool)), ui->Find_Edit_ContainsTitle, SLOT(setEnabled(bool))); //reset if modify connect(ui->Find_Button_TypeBlock, SIGNAL(clicked()), this, SLOT(resetBlockSearch())); connect(ui->Find_Button_TypeBGO, SIGNAL(clicked()), this, SLOT(resetBGOSearch())); connect(ui->Find_Button_TypeNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Spin_PriorityBGO, SIGNAL(valueChanged(int)), this, SLOT(resetBGOSearch())); connect(ui->Find_Combo_LayerBlock, SIGNAL(activated(int)), this, SLOT(resetBlockSearch())); connect(ui->Find_Combo_LayerBGO, SIGNAL(activated(int)), this, SLOT(resetBGOSearch())); connect(ui->Find_Combo_LayerNPC, SIGNAL(activated(int)), this, SLOT(resetNPCSearch())); connect(ui->Find_Check_InvisibleActiveBlock, SIGNAL(clicked()), this, SLOT(resetBlockSearch())); connect(ui->Find_Check_SlipperyActiveBlock, SIGNAL(clicked()), this, SLOT(resetBlockSearch())); connect(ui->Find_Button_ContainsNPCBlock, SIGNAL(clicked()), this, SLOT(resetBlockSearch())); connect(ui->Find_Combo_EventDestoryedBlock, SIGNAL(activated(int)), this, SLOT(resetBlockSearch())); connect(ui->Find_Combo_EventHitedBlock, SIGNAL(activated(int)), this, SLOT(resetBlockSearch())); connect(ui->Find_Combo_EventLayerEmptyBlock, SIGNAL(activated(int)), this, SLOT(resetBlockSearch())); connect(ui->Find_Radio_DirLeftNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Radio_DirRandomNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Radio_DirRightNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Check_FriendlyActiveNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Check_NotMoveActiveNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Check_BossActiveNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Edit_MsgNPC, SIGNAL(textEdited(QString)), this, SLOT(resetNPCSearch())); connect(ui->Find_Check_MsgSensitiveNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); //for world connect(ui->Find_Button_TypeTile, SIGNAL(clicked()), this, SLOT(resetTileSearch())); connect(ui->Find_Button_TypeScenery, SIGNAL(clicked()), this, SLOT(resetScenerySearch())); connect(ui->Find_Button_TypePath, SIGNAL(clicked()), this, SLOT(resetPathSearch())); connect(ui->Find_Button_TypeLevel, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Button_TypeMusic, SIGNAL(clicked()), this, SLOT(resetMusicSearch())); connect(ui->Find_Check_PathBackgroundActive, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Check_BigPathBackgroundActive, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Check_AlwaysVisibleActive, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Check_GameStartPointActive, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Edit_LevelFile, SIGNAL(textEdited(QString)), this, SLOT(resetLevelSearch())); connect(ui->Find_Button_LevelFile, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Edit_ContainsTitle, SIGNAL(textEdited(QString)), this, SLOT(resetLevelSearch())); //also checkboxes connect(ui->Find_Check_TypeBlock, SIGNAL(clicked()), this, SLOT(resetBlockSearch())); connect(ui->Find_Check_LayerBlock, SIGNAL(clicked()), this, SLOT(resetBlockSearch())); connect(ui->Find_Check_InvisibleBlock, SIGNAL(clicked()), this, SLOT(resetBlockSearch())); connect(ui->Find_Check_SlipperyBlock, SIGNAL(clicked()), this, SLOT(resetBlockSearch())); connect(ui->Find_Check_ContainsNPCBlock, SIGNAL(clicked()), this, SLOT(resetBlockSearch())); connect(ui->Find_Check_EventDestoryedBlock, SIGNAL(clicked()), this, SLOT(resetBlockSearch())); connect(ui->Find_Check_EventLayerEmptyBlock, SIGNAL(clicked()), this, SLOT(resetBlockSearch())); connect(ui->Find_Check_TypeBGO, SIGNAL(clicked()), this, SLOT(resetBGOSearch())); connect(ui->Find_Check_LayerBGO, SIGNAL(clicked()), this, SLOT(resetBGOSearch())); connect(ui->Find_Check_PriorityBGO, SIGNAL(clicked()), this, SLOT(resetBGOSearch())); connect(ui->Find_Check_TypeNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Check_LayerNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Check_DirNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Check_FriendlyNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Check_NotMoveNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Check_BossNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); connect(ui->Find_Check_MsgNPC, SIGNAL(clicked()), this, SLOT(resetNPCSearch())); //for world connect(ui->Find_Check_TypeTile, SIGNAL(clicked()), this, SLOT(resetTileSearch())); connect(ui->Find_Check_TypeScenery, SIGNAL(clicked()), this, SLOT(resetScenerySearch())); connect(ui->Find_Check_TypePath, SIGNAL(clicked()), this, SLOT(resetPathSearch())); connect(ui->Find_Check_TypeLevel, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Check_TypeMusic, SIGNAL(clicked()), this, SLOT(resetMusicSearch())); connect(ui->Find_Check_PathBackground, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Check_BigPathBackground, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Check_AlwaysVisible, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Check_GameStartPoint, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Check_LevelFile, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Check_ContainsTitle, SIGNAL(clicked()), this, SLOT(resetLevelSearch())); connect(ui->Find_Button_LevelFile, SIGNAL(clicked()), this, SLOT(selectLevelForSearch())); connect(ui->centralWidget, SIGNAL(subWindowActivated(QMdiSubWindow*)), this, SLOT(toggleNewWindowLVL(QMdiSubWindow*))); connect(ui->centralWidget, SIGNAL(subWindowActivated(QMdiSubWindow*)), this, SLOT(toggleNewWindowWLD(QMdiSubWindow*))); //for tileset dock //connect(ui->TileSetsCategories, SIGNAL(currentChanged(int)), this, SLOT(makeCurrentTileset())); //for tileset connect(ui->customTilesetSearchEdit, SIGNAL(textChanged(QString)), this, SLOT(makeCurrentTileset())); updateWindowMenu(); }
//////////Load settings from INI file/////////////// void MainWindow::loadSettings() { QString inifile = AppPathManager::settingsFile(); QSettings settings(inifile, QSettings::IniFormat); #ifdef Q_OS_WIN #define FloatDocks true #define FloatDocks_inv false #else #define FloatDocks false #define FloatDocks_inv true #endif settings.beginGroup("Main"); { //GlobalSettings::LastOpenDir = settings.value("lastpath", ".").toString(); GlobalSettings::LvlOpts.animationEnabled = settings.value("animation", true).toBool(); GlobalSettings::LvlOpts.collisionsEnabled = settings.value("collisions", true).toBool(); GlobalSettings::LvlOpts.grid_show = settings.value("grid-show", false).toBool(); GlobalSettings::LvlItemDefaults.npc_direction=settings.value("defaults-npc-directuin", -1).toInt(); GlobalSettings::LvlItemDefaults.npc_generator_type=settings.value("defaults-npc-gen-type", 1).toInt(); GlobalSettings::LvlItemDefaults.npc_generator_delay=settings.value("defaults-npc-gen-delay", 20).toInt(); LvlPlacingItems::npcSet.direct=GlobalSettings::LvlItemDefaults.npc_direction; LvlPlacingItems::npcSet.generator_type=GlobalSettings::LvlItemDefaults.npc_generator_type; LvlPlacingItems::npcSet.generator_period=GlobalSettings::LvlItemDefaults.npc_generator_delay; GlobalSettings::LvlItemDefaults.warp_type=settings.value("defaults-warp-type", 2).toInt(); GlobalSettings::LvlItemDefaults.classicevents_tabs_layviz = settings.value("defaults-classicevents-tabs-layerviz", 0).toBool(); GlobalSettings::LvlItemDefaults.classicevents_tabs_laymov = settings.value("defaults-classicevents-tabs-layermov", 0).toBool(); GlobalSettings::LvlItemDefaults.classicevents_tabs_autoscroll = settings.value("defaults-classicevents-tabs-autoscroll", 0).toBool(); GlobalSettings::LvlItemDefaults.classicevents_tabs_secset = settings.value("defaults-classicevents-tabs-secset", 0).toBool(); GlobalSettings::LvlItemDefaults.classicevents_tabs_common = settings.value("defaults-classicevents-tabs-common", 0).toBool(); GlobalSettings::LvlItemDefaults.classicevents_tabs_buttons = settings.value("defaults-classicevents-tabs-buttons", 0).toBool(); GlobalSettings::LvlItemDefaults.classicevents_tabs_trigger = settings.value("defaults-classicevents-tabs-trigger", 0).toBool(); restoreGeometry(settings.value("geometry", saveGeometry() ).toByteArray()); restoreState(settings.value("windowState", saveState() ).toByteArray()); GlobalSettings::autoPlayMusic = settings.value("autoPlayMusic", false).toBool(); GlobalSettings::musicVolume = settings.value("music-volume",128).toInt(); GlobalSettings::MidMouse_allowDuplicate = settings.value("editor-midmouse-allowdupe", true).toBool(); GlobalSettings::MidMouse_allowSwitchToPlace = settings.value("editor-midmouse-allowplace", true).toBool(); GlobalSettings::MidMouse_allowSwitchToDrag = settings.value("editor-midmouse-allowdrag", true).toBool(); GlobalSettings::Placing_dontShowPropertiesBox = settings.value("editor-placing-no-propsbox", false).toBool(); GlobalSettings::historyLimit = settings.value("history-limit", 300).toInt(); GlobalSettings::MainWindowView = (settings.value("tab-view", true).toBool()) ? QMdiArea::TabbedView : QMdiArea::SubWindowView; GlobalSettings::LVLToolboxPos = static_cast<QTabWidget::TabPosition>(settings.value("level-toolbox-pos", static_cast<int>(QTabWidget::North)).toInt()); GlobalSettings::WLDToolboxPos = static_cast<QTabWidget::TabPosition>(settings.value("world-toolbox-pos", static_cast<int>(QTabWidget::West)).toInt()); GlobalSettings::TSTToolboxPos = static_cast<QTabWidget::TabPosition>(settings.value("tileset-toolbox-pos", static_cast<int>(QTabWidget::North)).toInt()); GlobalSettings::currentTheme = settings.value("current-theme", "").toString(); GlobalSettings::ShowTipOfDay = settings.value("show-tip-of-a-day", true).toBool(); PGE_MusPlayer::setSampleRate(settings.value("sdl-sample-rate", PGE_MusPlayer::sampleRate()).toInt()); GlobalSettings::openPath = settings.value("lastpath", AppPathManager::userAppDir()).toString(); GlobalSettings::savePath = settings.value("lastsavepath", AppPathManager::userAppDir()).toString(); GlobalSettings::savePath_npctxt = settings.value("lastsavepath-npctxt", AppPathManager::userAppDir()).toString(); GlobalSettings::animatorItemsLimit = settings.value("animation-item-limit", "30000").toInt(); // toolbox parameter prefix pointer to toolbox saved visibility state flag defaults: vis. flaoting loadToolboxProps(settings, QStringLiteral("level-item-box"), dock_LvlItemBox, true, false); loadToolboxProps(settings, QStringLiteral("level-itemprops-box"),dock_LvlItemProps, false, true); loadToolboxProps(settings, QStringLiteral("level-section-set"), dock_LvlSectionProps, true, true); loadToolboxProps(settings, QStringLiteral("level-warps-box"), dock_LvlWarpProps, false, true); loadToolboxProps(settings, QStringLiteral("level-layers"), dock_LvlLayers, true, true); loadToolboxProps(settings, QStringLiteral("level-events"), dock_LvlEvents, true, true); loadToolboxProps(settings, QStringLiteral("level-search"), dock_LvlSearchBox, false, true); loadToolboxProps(settings, QStringLiteral("world-item-box"), dock_WldItemBox, true, false); loadToolboxProps(settings, QStringLiteral("world-settings-box"),dock_WldSettingsBox, false, true); loadToolboxProps(settings, QStringLiteral("world-itemprops-box"),dock_WldItemProps, false, false); loadToolboxProps(settings, QStringLiteral("world-search"), dock_WldSearchBox, false, true); loadToolboxProps(settings, QStringLiteral("tileset-box"), dock_TilesetBox, false, true); loadToolboxProps(settings, QStringLiteral("debugger-box"), dock_DebuggerBox, false, true); loadToolboxProps(settings, QStringLiteral("bookmarks-box"), dock_BookmarksBox, false, true); loadToolboxProps(settings, QStringLiteral("variables-box"), dock_VariablesBox, false, true); ui->centralWidget->setViewMode(GlobalSettings::MainWindowView); dock_LvlItemBox->tabWidget()->setTabPosition(GlobalSettings::LVLToolboxPos); dock_WldItemBox->tabWidget()->setTabPosition(GlobalSettings::WLDToolboxPos); dock_TilesetBox->setTabPosition(GlobalSettings::TSTToolboxPos); if(!m_isAppInited) { //Hide all unitialized dock widgets QList<QDockWidget *> dockWidgets = findChildren<QDockWidget *>(); foreach(QDockWidget* dw, dockWidgets) dw->hide(); //Refresh state of menubars updateWindowMenu(); updateMenus(NULL, true); } } settings.endGroup(); settings.beginGroup("ext-tools"); { GlobalSettings::tools_sox_bin_path = settings.value("sox-bin-path", GlobalSettings::tools_sox_bin_path).toString(); } settings.endGroup(); settings.beginGroup("testing"); { GlobalSettings::testing.xtra_god = settings.value("ex-god", false).toBool(); GlobalSettings::testing.xtra_flyup = settings.value("ex-flyup", false).toBool(); GlobalSettings::testing.xtra_chuck = settings.value("ex-chuck", false).toBool(); GlobalSettings::testing.xtra_worldfreedom = settings.value("ex-wfree", false).toBool(); GlobalSettings::testing.xtra_debug = settings.value("ex-debug", false).toBool(); GlobalSettings::testing.xtra_showFPS = settings.value("ex-show-fps", false).toBool(); GlobalSettings::testing.xtra_physdebug = settings.value("ex-physdebug", false).toBool(); GlobalSettings::testing.numOfPlayers = settings.value("num-players", 1).toInt(); GlobalSettings::testing.p1_char= settings.value("p1-char", 1).toInt(); GlobalSettings::testing.p1_state= settings.value("p1-state", 1).toInt(); GlobalSettings::testing.p1_vehicleID = settings.value("p1-vehicle-id", 0).toInt(); GlobalSettings::testing.p1_vehicleType = settings.value("p1-vehicle-type", 0).toInt(); GlobalSettings::testing.p2_char= settings.value("p2-char", 1).toInt(); GlobalSettings::testing.p2_state= settings.value("p2-state", 1).toInt(); GlobalSettings::testing.p2_vehicleID = settings.value("p2-vehicle-id", 0).toInt(); GlobalSettings::testing.p2_vehicleType = settings.value("p2-vehicle-type", 0).toInt(); } settings.endGroup(); settings.beginGroup("screen-grab"); { GlobalSettings::screenGrab.sizeType = settings.value("grab-size", 0).toInt(); GlobalSettings::screenGrab.width = settings.value("grab-w", 800).toInt(); GlobalSettings::screenGrab.height = settings.value("grab-h", 600).toInt(); } settings.endGroup(); settings.beginGroup("Recent"); { for(int i = 1; i<=10; i++) { recentOpen.push_back(settings.value("recent"+QString::number(i),"<empty>").toString()); } SyncRecentFiles(); } settings.endGroup(); #ifdef _WIN32 settings.beginGroup("LunaTester"); { m_luna->m_noGL = settings.value("nogl", false).toBool(); } settings.endGroup(); #endif }