void onComponentComplete(WGContextMenu* contextMenu) { auto context = QQmlEngine::contextForObject(contextMenu); assert(context != nullptr); auto componentContextProperty = context->contextProperty("componentContext"); assert(componentContextProperty.isValid()); auto componentContextVariant = QtHelpers::toVariant(componentContextProperty); assert(!componentContextVariant.isVoid()); auto componentContext = componentContextVariant.value<IComponentContext*>(); assert(componentContext != nullptr); pContext_ = componentContext; auto viewProperty = context->contextProperty("View"); if (viewProperty.isValid()) { view_ = qvariant_cast<QQuickWidget*>(viewProperty); } auto windowIdProperty = context->contextProperty("windowId"); if (windowIdProperty.isValid()) { windowId_ = windowIdProperty.toString().toUtf8().data(); } destroyMenu(); createMenu(); prepareMenu(); }
void UIMachineWindow::prepare() { /* Prepare session-connections: */ prepareSessionConnections(); /* Prepare main-layout: */ prepareMainLayout(); /* Prepare menu: */ prepareMenu(); /* Prepare status-bar: */ prepareStatusBar(); /* Prepare visual-state: */ prepareVisualState(); /* Prepare machine-view: */ prepareMachineView(); /* Prepare handlers: */ prepareHandlers(); /* Load settings: */ loadSettings(); /* Retranslate window: */ retranslateUi(); /* Show (must be done before updating the appearance): */ showInNecessaryMode(); /* Update all the elements: */ updateAppearanceOf(UIVisualElement_AllStuff); }
QgsColorButtonV2::QgsColorButtonV2( QWidget *parent, QString cdt, QColorDialog::ColorDialogOptions cdo, QgsColorSchemeRegistry* registry ) : QToolButton( parent ) , mBehaviour( QgsColorButtonV2::ShowDialog ) , mColorDialogTitle( cdt.isEmpty() ? tr( "Select Color" ) : cdt ) , mColor( QColor() ) , mDefaultColor( QColor() ) //default to invalid color , mColorDialogOptions( cdo ) , mAcceptLiveUpdates( true ) , mColorSet( false ) , mShowNoColorOption( false ) , mNoColorString( tr( "No color" ) ) , mPickingColor( false ) , mMenu( 0 ) { //if a color scheme registry was specified, use it, otherwise use the global instance mColorSchemeRegistry = registry ? registry : QgsColorSchemeRegistry::instance(); setAcceptDrops( true ); setMinimumSize( QSize( 24, 16 ) ); connect( this, SIGNAL( clicked() ), this, SLOT( buttonClicked() ) ); //setup dropdown menu mMenu = new QMenu( this ); connect( mMenu, SIGNAL( aboutToShow() ), this, SLOT( prepareMenu() ) ); setMenu( mMenu ); setPopupMode( QToolButton::MenuButtonPopup ); }
void setContextObject(const QVariant& object) { contextObject_ = QtHelpers::toVariant(object); emit self_.contextObjectChanged(); prepareMenu(); }
UIMachineWindowFullscreen::UIMachineWindowFullscreen(UIMachineLogic *pMachineLogic, ulong uScreenId) : QIWithRetranslateUI2<QMainWindow>(0, Qt::FramelessWindowHint) , UIMachineWindow(pMachineLogic, uScreenId) , m_pMainMenu(0) , m_pMiniToolBar(0) { /* "This" is machine window: */ m_pMachineWindow = this; /* Set the main window in VBoxGlobal: */ if (uScreenId == 0) vboxGlobal().setMainWindow(this); /* Prepare fullscreen window icon: */ prepareWindowIcon(); /* Prepare console connections: */ prepareConsoleConnections(); /* Prepare fullscreen menu: */ prepareMenu(); /* Prepare machine view container: */ prepareMachineViewContainer(); /* Prepare fullscreen machine view: */ prepareMachineView(); /* Prepare handlers: */ prepareHandlers(); /* Prepare mini tool-bar: */ prepareMiniToolBar(); /* Retranslate fullscreen window finally: */ retranslateUi(); /* Update all the elements: */ updateAppearanceOf(UIVisualElement_AllStuff); /* Make sure the window is placed on valid screen * before we are show fullscreen window: */ sltPlaceOnScreen(); /* Show fullscreen window: */ showFullScreen(); /* Make sure the window is placed on valid screen again * after window is shown & window's decorations applied. * That is required due to X11 Window Geometry Rules. */ sltPlaceOnScreen(); #ifdef Q_WS_MAC /* Make sure it is really on the right place (especially on the Mac) */ QRect r = QApplication::desktop()->screenGeometry(static_cast<UIMachineLogicFullscreen*>(machineLogic())->hostScreenForGuestScreen(m_uScreenId)); move(r.topLeft()); #endif /* Q_WS_MAC */ }
void setPath(const QString& path) { path_ = path.toUtf8().data(); emit self_.pathChanged(); destroyMenu(); createMenu(); prepareMenu(); }
//----------------------------------------------------------------- MenuOptions::MenuOptions() { m_container = NULL; m_statusBar = NULL; m_needRefresh = false; registerDrawable(this); prepareMenu(); takeHandler(new OptionsInput(this)); }
QMenu * DefaultProxyAction::menuForAction(Action *action) { Q_UNUSED(action) // no parents for menu as it is destroyed manually by Action class QMenu *menu = new QMenu(); connect(menu, SIGNAL(aboutToShow()), this, SLOT(prepareMenu())); connect(menu, SIGNAL(triggered(QAction*)), this, SLOT(selectProxyActionTriggered(QAction *))); return menu; }
UIMachineWindowSeamless::UIMachineWindowSeamless(UIMachineLogic *pMachineLogic, ulong uScreenId) : QIWithRetranslateUI2<QMainWindow>(0, Qt::FramelessWindowHint) , UIMachineWindow(pMachineLogic, uScreenId) , m_pMainMenu(0) #ifndef Q_WS_MAC , m_pMiniToolBar(0) #endif /* Q_WS_MAC */ { /* "This" is machine window: */ m_pMachineWindow = this; /* Set the main window in VBoxGlobal: */ if (uScreenId == 0) vboxGlobal().setMainWindow(this); /* Prepare seamless window icon: */ prepareWindowIcon(); /* Prepare console connections: */ prepareConsoleConnections(); /* Prepare seamless window: */ prepareSeamless(); /* Prepare seamless menu: */ prepareMenu(); /* Prepare machine view container: */ prepareMachineViewContainer(); /* Prepare seamless machine view: */ prepareMachineView(); /* Prepare handlers: */ prepareHandlers(); #ifndef Q_WS_MAC /* Prepare mini tool-bar: */ prepareMiniToolBar(); #endif /* Q_WS_MAC */ /* Retranslate fullscreen window finally: */ retranslateUi(); #ifdef Q_WS_MAC /* Load seamless window settings: */ loadWindowSettings(); #endif /* Q_WS_MAC */ /* Update all the elements: */ updateAppearanceOf(UIVisualElement_AllStuff); /* Show window: */ showSeamless(); }
/** * Update statusbar. */ void MenuOptions::own_updateState() { if (m_needRefresh) { m_needRefresh = false; prepareMenu(); own_resumeState(); } std::string tooltip = m_container->getTip(getInput()->getMouseLoc()); m_statusBar->setLabel(tooltip); }
UIMachineWindowScale::UIMachineWindowScale(UIMachineLogic *pMachineLogic, ulong uScreenId) : QIWithRetranslateUI2<QMainWindow>(0, Qt::Window) , UIMachineWindow(pMachineLogic, uScreenId) , m_pMainMenu(0) { /* "This" is machine window: */ m_pMachineWindow = this; /* Set the main window in VBoxGlobal */ if (uScreenId == 0) vboxGlobal().setMainWindow(this); /* Prepare window icon: */ prepareWindowIcon(); /* Prepare console connections: */ prepareConsoleConnections(); /* Prepare menu: */ prepareMenu(); /* Retranslate normal window finally: */ retranslateUi(); /* Prepare normal machine view container: */ prepareMachineViewContainer(); /* Prepare normal machine view: */ prepareMachineView(); /* Prepare handlers: */ prepareHandlers(); /* Load normal window settings: */ loadWindowSettings(); /* Update all the elements: */ updateAppearanceOf(UIVisualElement_AllStuff); #ifdef Q_WS_MAC /* Install the resize delegate for keeping the aspect ratio. */ ::darwinInstallResizeDelegate(this); /* Beta label? */ if (vboxGlobal().isBeta()) { QPixmap betaLabel = ::betaLabel(QSize(100, 16)); ::darwinLabelWindow(this, &betaLabel, true); } #endif /* Q_WS_MAC */ /* Show window: */ showSimple(); }
LRESULT ChatCtrl::onContextMenu(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM lParam, BOOL& /*bHandled*/) { POINT pt = { GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam) }; // location of mouse click if(pt.x == -1 && pt.y == -1) { CRect erc; GetRect(&erc); pt.x = erc.Width() / 2; pt.y = erc.Height() / 2; ClientToScreen(&pt); } POINT ptCl = pt; ScreenToClient(&ptCl); OnRButtonDown(ptCl); bool boHitURL = HitURL(); if (!boHitURL) selectedURL.clear(); OMenu menu; menu.CreatePopupMenu(); if (copyMenu.m_hMenu != NULL) { // delete copy menu if it exists copyMenu.DestroyMenu(); copyMenu.m_hMenu = NULL; } if(selectedUser.empty()) { if(!selectedIP.empty()) { menu.InsertSeparatorFirst(selectedIP); menu.AppendMenu(MF_STRING, IDC_WHOIS_IP, (TSTRING(WHO_IS) + _T(" ") + selectedIP).c_str() ); if (client && client->isOp()) { menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING, IDC_BAN_IP, (_T("!banip ") + selectedIP).c_str()); menu.SetMenuDefaultItem(IDC_BAN_IP); menu.AppendMenu(MF_STRING, IDC_UNBAN_IP, (_T("!unban ") + selectedIP).c_str()); menu.AppendMenu(MF_SEPARATOR); } } else { menu.InsertSeparatorFirst(_T("Text")); } menu.AppendMenu(MF_STRING, ID_EDIT_COPY, CTSTRING(COPY)); menu.AppendMenu(MF_STRING, IDC_COPY_ACTUAL_LINE, CTSTRING(COPY_LINE)); if(!selectedURL.empty()) menu.AppendMenu(MF_STRING, IDC_COPY_URL, CTSTRING(COPY_URL)); } else { bool isMe = (selectedUser == Text::toT(client->getMyNick())); // click on nick copyMenu.CreatePopupMenu(); copyMenu.InsertSeparatorFirst(TSTRING(COPY)); for(int j=0; j < OnlineUser::COLUMN_LAST; j++) { copyMenu.AppendMenu(MF_STRING, IDC_COPY + j, CTSTRING_I(HubFrame::columnNames[j])); } menu.InsertSeparatorFirst(selectedUser); if(!isMe) { menu.AppendMenu(MF_STRING, IDC_GETLIST, CTSTRING(GET_FILE_LIST)); menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING, IDC_PRIVATEMESSAGE, CTSTRING(SEND_PRIVATE_MESSAGE)); menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING, IDC_PUBLIC_MESSAGE, CTSTRING(SEND_PUBLIC_MESSAGE)); menu.AppendMenu(MF_STRING, IDC_SELECT_USER, CTSTRING(SELECT_USER_LIST)); } if(BOOLSETTING(LOG_PRIVATE_CHAT)) { menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING, IDC_OPEN_USER_LOG, CTSTRING(OPEN_USER_LOG)); } menu.AppendMenu(MF_SEPARATOR); if(!isMe) { menu.AppendMenu(MF_STRING, IDC_ADD_TO_FAVORITES, CTSTRING(ADD_TO_FAVORITES)); const OnlineUserPtr ou = client->findUser(Text::fromT(selectedUser)); if(!FavoriteManager::getInstance()->isIgnoredUser(ou->getUser()->getCID())) { menu.AppendMenu(MF_STRING, IDC_IGNORE, CTSTRING(IGNORE_USER)); } else { menu.AppendMenu(MF_STRING, IDC_UNIGNORE, CTSTRING(UNIGNORE_USER)); } menu.AppendMenu(MF_SEPARATOR); } menu.AppendMenu(MF_POPUP, (UINT)(HMENU)copyMenu, CTSTRING(COPY)); if(!isMe) { menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_POPUP, (UINT)(HMENU)WinUtil::grantMenu, CTSTRING(GRANT_SLOTS_MENU)); menu.AppendMenu(MF_STRING, IDC_MATCH_QUEUE, CTSTRING(MATCH_QUEUE)); // add user commands prepareMenu(menu, ::UserCommand::CONTEXT_USER, client->getHubUrl()); } // default doubleclick action switch(SETTING(CHAT_DBLCLICK)) { case 0: menu.SetMenuDefaultItem(IDC_SELECT_USER); break; case 1: menu.SetMenuDefaultItem(IDC_PUBLIC_MESSAGE); break; case 2: menu.SetMenuDefaultItem(IDC_PRIVATEMESSAGE); break; case 3: menu.SetMenuDefaultItem(IDC_GETLIST); break; case 4: menu.SetMenuDefaultItem(IDC_MATCH_QUEUE); break; case 6: menu.SetMenuDefaultItem(IDC_ADD_TO_FAVORITES); break; } } menu.AppendMenu(MF_SEPARATOR); menu.AppendMenu(MF_STRING, ID_EDIT_SELECT_ALL, CTSTRING(SELECT_ALL)); menu.AppendMenu(MF_STRING, ID_EDIT_CLEAR_ALL, CTSTRING(CLEAR)); //flag to indicate pop up menu. m_bPopupMenu = true; menu.TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, pt.x, pt.y, m_hWnd); return 0; }
AgentWindow::AgentWindow(Agent *agent, QWidget *parent) : QWidget(parent) , ui(new Ui::AgentWindow) , mAgent(agent) , mHexy(nullptr) , mCameraAction(new QAction(tr("Camera"), this)) , mPairingAction(new QAction(tr("Pair"), this)) , mHardwareAction(new QAction(tr("Configure HW"), this)) , mPlanAction(new QAction(tr("Plan"), this)) , mOnlineAction(new QAction(tr("Online"), this)) , mShowOnlineButtonAction(new QAction(tr("Online Button"), this)) , mShowFaceAction(new QAction(tr("Show Face"), this)) , mShowLogAction(new QAction(tr("Show Log"), this)) , mShowStatsAction(new QAction(tr("Show Stats"), this)) , mShowBirthCertificateAction(new QAction(tr("Show Birth Certificate"), this)) , mUnbirthAction(new QAction(tr("Unbirth!"), this)) { OC_METHODGATE(); ui->setupUi(this); updateIdentity(); if(nullptr!=mAgent) { //Settings &s=agent->settings(); ui->widgetHardware->configure(poseMapping()); //Select correct starting page QWidget *startPage=ui->pageRunning; ui->widgetDelivery->reset(); ui->stackedWidget->setCurrentWidget(mAgent->keyStore().fileExists()?startPage:ui->pageDelivery); if(!QObject::connect(ui->widgetDelivery, &AgentDeliveryWizard::done, [=](bool pairNow) { updateIdentity(); ui->stackedWidget->setCurrentWidget(pairNow?ui->pagePairing:startPage); } ) ) { qWarning()<<"ERROR: Could not connect "; } if(!connect(ui->widgetPairing, &PairingWizard::done, [=]() { ui->stackedWidget->setCurrentWidget(startPage); } )) { qWarning()<<"ERROR: Could not connect "; } if(!connect(ui->widgetHardware, &HardwareWizard::done, [=]() { ui->stackedWidget->setCurrentWidget(startPage); } )) { qWarning()<<"ERROR: Could not connect "; } mAgent->setHookCommsSignals(*this, true); mAgent->hookColorSignals(*ui->widgetFace); ui->widgetFace->hookSignals(*this); ui->widgetPlanEditor->configure("agent.plan"); prepareMenu(); updateFaceVisibility(); updateOnlineStatus(); //QString text="Hello, my name is "+mAgent->name()+". I am an octomy agent. What is your bidding master?"; //QString text="Hello, my name is Bodhi. I am an octomy agent. What is your bidding master? 00 0 01010 010 010 010 010101 "; PortableID id=mAgent->localNodeAssociate()->toPortableID(); new OneOffSpeech(id, text); } #ifdef Q_OS_ANDROID showFullScreen(); #endif }