void QuteWidget::popUpMenu(QPoint pos) { // qDebug() << "QuteWidget::popUpMenu"; if (m_locked) { return; } QMenu menu(this); menu.addAction(propertiesAct); menu.addSeparator(); QList<QAction *> actionList = getParentActionList(); for (int i = 0; i < actionList.size(); i++) { menu.addAction(actionList[i]); } WidgetLayout *layout = static_cast<WidgetLayout *>(this->parentWidget()); layout->setCurrentPosition(layout->mapFromGlobal(pos)); menu.addSeparator(); QMenu createMenu(tr("Create New", "Menu name in widget right-click menu"),&menu); createMenu.addAction(layout->createSliderAct); createMenu.addAction(layout->createLabelAct); createMenu.addAction(layout->createDisplayAct); createMenu.addAction(layout->createScrollNumberAct); createMenu.addAction(layout->createLineEditAct); createMenu.addAction(layout->createSpinBoxAct); createMenu.addAction(layout->createButtonAct); createMenu.addAction(layout->createKnobAct); createMenu.addAction(layout->createCheckBoxAct); createMenu.addAction(layout->createMenuAct); createMenu.addAction(layout->createMeterAct); createMenu.addAction(layout->createConsoleAct); createMenu.addAction(layout->createGraphAct); createMenu.addAction(layout->createScopeAct); menu.addMenu(&createMenu); menu.addSeparator(); menu.addAction(layout->storePresetAct); menu.addAction(layout->newPresetAct); menu.addAction(layout->recallPresetAct); menu.addSeparator(); QMenu presetMenu(tr("Presets"),&menu); QList<int> list = layout->getPresetNums(); for (int i = 0; i < list.size(); i++) { QAction *act = new QAction(layout->getPresetName(list[i]), &menu); act->setData(i); connect(act, SIGNAL(triggered()), layout, SLOT(loadPresetFromAction())); presetMenu.addAction(act); } menu.exec(pos); }
void handleConfig() { while (1) { presetMenu(); loadPreset(); mainMenu(); if (selectedMenu == 0) { firingModeMenu(); } else if (selectedMenu == 1) { rateOfFireMenu(); } else if (selectedMenu == 2) { burstSizeMenu(); } else if (selectedMenu == 3) { ammoLimitMenu(); } else if (selectedMenu == 4) { safetyShotMenu(); } } }
bool x264Configure(void) { diaMenuEntry threads[]={ {1,QT_TR_NOOP("One thread")}, {2,QT_TR_NOOP("Two threads)")}, {3,QT_TR_NOOP("Three threads")}, {99,QT_TR_NOOP("Auto (#cpu)")} }; #define PX(x) &(x264Settings.x) // Main int nbPreset=sizeof(x264_preset_names)/sizeof(const char *); int nbTunes=sizeof(x264_tune_names)/sizeof(const char *); #define MKMENUENTRY(N,out,array) diaMenuEntry out[N]; \ for(int i=0;i<N;i++) {out[i].val=i;out[i].text=array[i];out[i].desc=NULL;} MKMENUENTRY(nbPreset,presetEntries,x264_preset_names); MKMENUENTRY(nbTunes,tuneEntries,x264_tune_names); diaElemMenu presetMenu(PX(preset),QT_TR_NOOP("Preset"),nbPreset,presetEntries); diaElemMenu tuneMenu(PX(tune),QT_TR_NOOP("Tune"),nbTunes,tuneEntries); uint32_t presetToggle=(uint32_t)x264Settings.usePreset; uint32_t tuneToggle=(uint32_t)x264Settings.useTune; diaElemToggle usePreset(&presetToggle,QT_TR_NOOP("Use preset")); diaElemToggle useTune(&tuneToggle, QT_TR_NOOP("Use tune")); uint32_t trelBol=*PX(Trellis); uint32_t cabacBol=*PX(CABAC); diaElemToggle trellis(&trelBol,QT_TR_NOOP("_Trellis quantization")); diaElemToggle cabac(&cabacBol,QT_TR_NOOP("Cabac encoding")); diaElemUInteger GopSize(PX(MaxIdr),QT_TR_NOOP("_Gop Size:"),1,500); diaElemUInteger max_b_frames(PX(MaxBFrame),QT_TR_NOOP("Max B Frames:"),0,5); diaElemBitrate bitrate(&(x264Settings.params),NULL); diaElemMenu threadM(PX(threads),QT_TR_NOOP("Threading"),4,threads); diaElemUInteger profile(PX(profile),QT_TR_NOOP("Profile:"),10,50); //------------------- /* First Tab : encoding mode */ diaElem *diaMain[]={&usePreset,&presetMenu,&useTune,&tuneMenu,&profile}; diaElemTabs tabMain(QT_TR_NOOP("Main"),5,diaMain); diaElemFrame frameMe(QT_TR_NOOP("Main")); frameMe.swallow(&max_b_frames); frameMe.swallow(&GopSize); frameMe.swallow(&bitrate); diaElem *diaME[]={&frameMe}; diaElemTabs tabME(QT_TR_NOOP("Encoding mode"),1,diaME); /* 2nd Tab : Qz */ diaElem *diaQze[]={&trellis,&cabac}; diaElemTabs tabQz(QT_TR_NOOP("Quantization"),2,diaQze); /* 3th Tab : thread */ diaElem *diaThread[]={&threadM}; diaElemTabs tabThread(QT_TR_NOOP("Threads"),1,diaThread); diaElemTabs *tabs[]={&tabMain,&tabME,&tabQz,&tabThread}; // usePreset.link(0,&trellis); //usePreset.link(0,&cabac); usePreset.link(1,&presetMenu); useTune.link(1,&tuneMenu); if( diaFactoryRunTabs(QT_TR_NOOP("X264 MPEG-4 AVC configuration"),4,tabs)) { *PX(Trellis)= trelBol; *PX(CABAC)= cabacBol; *PX(usePreset)= presetToggle; *PX(useTune)= tuneToggle; return true; } return false; }