void CLibraryAlbumView::OnLButtonDown(UINT nFlags, CPoint point) { SetFocus(); CRect rcTrack; CLibraryAlbumTrack* pHit = HitTest( point, &rcTrack ); if ( pHit != NULL && pHit->HitTestRating( rcTrack, point ) ) { pHit->LockRating(); m_pRating = NULL; Invalidate(); return; } if ( SelectTo( pHit ) ) { Invalidate(); CLibraryFileView::CheckDynamicBar(); } if ( pHit && ( nFlags & MK_RBUTTON ) == 0 ) { m_bDrag = TRUE; m_ptDrag = point; } CLibraryFileView::OnLButtonDown( nFlags, point ); }
void CLibraryTileView::SelectTo(int nDelta) { CSingleLock oLock( &Library.m_pSection ); if ( ! oLock.Lock( 250 ) ) return; if ( empty() ) return; iterator pFocus = m_pFocus; if ( pFocus == end() ) { pFocus = begin(); } else if ( nDelta < 0 ) { for ( ; nDelta != 0 && pFocus != begin(); --pFocus, ++nDelta ); } else { for ( ; nDelta != 0 && pFocus != end(); ++pFocus, --nDelta ); if ( pFocus == end() ) --pFocus; } if ( SelectTo( pFocus ) ) Invalidate(); }
void CUploadsCtrl::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { CSingleLock pLock( &Transfers.m_pSection, TRUE ); CUploadFile* pFile; CUploadQueue* pQueue; m_wndTip.Hide(); switch ( nChar ) { case VK_HOME: SelectTo( 0 ); return; case VK_END: { INT nMin, nMax; GetScrollRange( SB_VERT, &nMin, &nMax ); SelectTo( max( 0, nMax - 1 ) ); } return; case VK_UP: SelectTo( m_nFocus - 1 ); return; case VK_DOWN: SelectTo( m_nFocus + 1 ); return; case VK_PRIOR: SelectTo( m_nFocus - 10 ); return; case VK_NEXT: SelectTo( m_nFocus + 10 ); return; case VK_LEFT: case '-': if ( GetAt( m_nFocus, &pQueue, &pFile ) ) { if ( pFile != NULL && pFile->GetActive() != NULL ) pQueue = pFile->GetActive()->m_pQueue; if ( pQueue != NULL && pQueue->m_bExpanded == TRUE ) { pQueue->m_bExpanded = FALSE; Update(); } } return; case VK_RIGHT: case '+': if ( GetAt( m_nFocus, &pQueue, NULL ) && pQueue != NULL && pQueue->m_bExpanded == FALSE ) { pQueue->m_bExpanded = TRUE; Update(); } return; } CWnd::OnKeyDown( nChar, nRepCnt, nFlags ); }
void CLibraryTileView::OnRButtonDown(UINT nFlags, CPoint point) { CSingleLock pLock( &Library.m_pSection ); if ( pLock.Lock( 200 ) ) { iterator pHit = HitTest( point ); if ( SelectTo( pHit ) ) Invalidate(); pLock.Unlock(); } SetFocus(); CLibraryView::OnRButtonDown( nFlags, point ); }
void CLibraryAlbumView::SelectTo(int nDelta) { if ( m_nCount == 0 ) return; int nFocus = GetTrackIndex( m_pFocus ); if ( nFocus < 0 ) { nFocus = 0; } else { nFocus += nDelta; if ( nFocus < 0 ) nFocus = 0; if ( nFocus >= m_nCount ) nFocus = m_nCount - 1; } if ( SelectTo( m_pList[ nFocus ] ) ) Invalidate(); }
void CLibraryTileView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { switch ( nChar ) { case VK_LEFT: SelectTo( - 1 ); break; case VK_RIGHT: SelectTo( 1 ); break; case VK_UP: SelectTo( -m_nColumns ); break; case VK_DOWN: SelectTo( m_nColumns ); break; case VK_PRIOR: SelectTo( m_nRows * -m_nColumns ); break; case VK_NEXT: ScrollBy( m_nRows * m_nColumns ); break; case VK_HOME: SelectTo( -(int)size() ); break; case VK_END: SelectTo( (int)size() ); break; case VK_RETURN: PostMessage( WM_COMMAND, ID_LIBRARY_ALBUM_OPEN ); break; case VK_INSERT: GetParent()->PostMessage( WM_COMMAND, ID_LIBRARY_FOLDER_NEW ); break; case VK_DELETE: PostMessage( WM_COMMAND, ID_LIBRARY_ALBUM_DELETE ); break; case VK_ESCAPE: GetParent()->PostMessage( WM_COMMAND, ID_LIBRARY_PARENT ); break; } CLibraryView::OnKeyDown( nChar, nRepCnt, nFlags ); }
void CLibraryTileView::OnLButtonDown(UINT nFlags, CPoint point) { CSingleLock pLock( &Library.m_pSection ); if ( pLock.Lock( 200 ) ) { iterator pHit = HitTest( point ); if ( SelectTo( pHit ) ) Invalidate(); if ( pHit != end() && ( nFlags & MK_RBUTTON ) == 0 ) { m_bDrag = TRUE; m_ptDrag = point; } pLock.Unlock(); } SetFocus(); CLibraryView::OnLButtonDown( nFlags, point ); }
void CUploadsCtrl::OnLButtonDown(UINT nFlags, CPoint point) { CSingleLock pLock( &Transfers.m_pSection, TRUE ); CUploadFile* pFile; CUploadQueue* pQueue; CRect rcItem; int nIndex; SetFocus(); m_wndTip.Hide(); if ( HitTest( point, &pQueue, &pFile, &nIndex, &rcItem ) ) { int nTitleStarts = GetExpandableColumnX(); if ( point.x > nTitleStarts && point.x <= nTitleStarts + rcItem.left + 16 ) { if ( pQueue != NULL ) { pQueue->m_bExpanded = ! pQueue->m_bExpanded; if ( ! pQueue->m_bExpanded ) { for ( POSITION posActive = pQueue->GetActiveIterator() ; posActive ; ) { CUploadTransfer* pTransfer = pQueue->GetNextActive( posActive ); if ( pTransfer->m_pBaseFile != NULL ) pTransfer->m_pBaseFile->m_bSelected = FALSE; } for ( DWORD nPos = 0 ; nPos < pQueue->GetQueuedCount() ; nPos ++ ) { CUploadTransfer* pTransfer = (CUploadTransfer*)pQueue->GetQueuedAt( nPos ); if ( pTransfer->m_pBaseFile != NULL ) pTransfer->m_pBaseFile->m_bSelected = FALSE; } } Update(); } } else { if ( pFile != NULL && pFile->m_bSelected ) { if ( ( nFlags & ( MK_SHIFT | MK_CONTROL | MK_RBUTTON ) ) == 0 ) { m_pDeselect = pFile; } } else if ( nFlags & MK_RBUTTON ) { DeselectAll(); } SelectTo( nIndex ); } } else if ( ( nFlags & ( MK_SHIFT | MK_CONTROL ) ) == 0 ) { DeselectAll(); Update(); } }
void CLibraryAlbumView::OnKeyDown(UINT nChar, UINT nRepCnt, UINT nFlags) { BOOL bShift = ( GetAsyncKeyState( VK_SHIFT ) & 0x8000 ) == 0x8000; BOOL bControl = ( GetAsyncKeyState( VK_CONTROL ) & 0x8000 ) == 0x8000; switch ( nChar ) { case VK_LEFT: case VK_UP: SelectTo( -1 ); break; case VK_DOWN: case VK_RIGHT: SelectTo( 1 ); break; case VK_PRIOR: SelectTo( -m_nRows ); break; case VK_NEXT: SelectTo( m_nRows ); break; case VK_HOME: SelectTo( -m_nCount ); break; case VK_END: SelectTo( m_nCount ); break; default: if ( ! bShift && ! bControl && _istalnum( TCHAR( nChar ) ) ) { CLibraryAlbumTrack* pStart = m_pFocus; for ( int nLoop = 0 ; nLoop < 2 ; nLoop++ ) { CLibraryAlbumTrack** pChild = m_pList; for ( int nCount = m_nCount ; nCount ; nCount--, pChild++ ) { if ( pStart != NULL ) { if ( pStart == *pChild ) pStart = NULL; } else { LPCTSTR psz = NULL; if ( m_pStyle == CSchema::uriMusicAlbum ) psz = (*pChild)->m_sTitle; else if ( m_pStyle == CSchema::uriMusicArtist ) psz = (*pChild)->m_sAlbum; else psz = (*pChild)->m_sArtist; if ( psz && *psz && toupper( *psz ) == (int)nChar ) { if ( SelectTo( *pChild ) ) Invalidate(); return; } } } } } } CLibraryFileView::OnKeyDown( nChar, nRepCnt, nFlags ); }
RoutingDialog::RoutingDialog(QWidget* parentWindow, DBThread* dbThread, const SettingsRef& settings) : QDialog(parentWindow), settings(settings), dbThread(dbThread), from(new QLineEdit()), hasStart(false), to(new QLineEdit()), hasEnd(false), routeView(new QTableView()), routeModel(new RouteModel()) { QVBoxLayout *mainLayout=new QVBoxLayout(); QFormLayout *formLayout=new QFormLayout(); QHBoxLayout *fromBoxLayout=new QHBoxLayout(); QHBoxLayout *toBoxLayout=new QHBoxLayout(); QHBoxLayout *asBoxLayout=new QHBoxLayout(); QPushButton *selectFromButton=new QPushButton("..."); QPushButton *selectToButton=new QPushButton("..."); QButtonGroup *routeTypes = new QButtonGroup(); QPushButton *routeTypeFoot = new QPushButton("Foot"); QPushButton *routeTypeBicycle = new QPushButton("Bicycle"); QPushButton *routeTypeCar = new QPushButton("Car"); from->setReadOnly(true); from->setEnabled(false); from->setMinimumWidth(QApplication::fontMetrics().width("mlxi")/4*70); //from->setPlaceholderText("Starting location"); to->setReadOnly(true); to->setEnabled(false); to->setMinimumWidth(QApplication::fontMetrics().width("mlxi")/4*70); //to->setPlaceholderText("Destination location"); selectFromButton->setSizePolicy(QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Fixed)); selectToButton->setSizePolicy(QSizePolicy(QSizePolicy::Minimum,QSizePolicy::Fixed)); fromBoxLayout->addWidget(from); fromBoxLayout->addWidget(selectFromButton); formLayout->addRow("From:",fromBoxLayout); toBoxLayout->addWidget(to); toBoxLayout->addWidget(selectToButton); formLayout->addRow("To:",toBoxLayout); osmscout::Vehicle vehicle=settings->GetRoutingVehicle(); routeTypeFoot->setCheckable(true); routeTypeFoot->setChecked(vehicle==osmscout::vehicleFoot); routeTypeBicycle->setCheckable(true); routeTypeBicycle->setChecked(vehicle==osmscout::vehicleBicycle); routeTypeCar->setCheckable(true); routeTypeCar->setChecked(vehicle==osmscout::vehicleCar); routeTypes->addButton(routeTypeFoot, osmscout::vehicleFoot); routeTypes->addButton(routeTypeBicycle, osmscout::vehicleBicycle); routeTypes->addButton(routeTypeCar, osmscout::vehicleCar); asBoxLayout->addWidget(routeTypeFoot); asBoxLayout->addWidget(routeTypeBicycle); asBoxLayout->addWidget(routeTypeCar); formLayout->addRow("As: ",asBoxLayout); mainLayout->addLayout(formLayout); routeView->setModel(routeModel); routeView->setEditTriggers(QAbstractItemView::NoEditTriggers); routeView->setSelectionMode(QAbstractItemView::SingleSelection); routeView->setSelectionBehavior(QAbstractItemView::SelectRows); routeView->setShowGrid(false); routeView->setMinimumWidth(QApplication::fontMetrics().width("mlxi")/4*70); routeView->horizontalHeader()->setStretchLastSection(true); routeView->horizontalHeader()->setHighlightSections (false); routeView->verticalHeader()->hide(); routeView->setColumnWidth(0,QApplication::fontMetrics().width("mlxi")/4*12); routeView->setColumnWidth(1,QApplication::fontMetrics().width("mlxi")/4*12); routeView->setColumnWidth(2,QApplication::fontMetrics().width("mlxi")/4*10); routeView->setColumnWidth(3,QApplication::fontMetrics().width("mlxi")/4*10); mainLayout->addWidget(routeView); QDialogButtonBox *buttonBox=new QDialogButtonBox(); routeButton=buttonBox->addButton("&Route",QDialogButtonBox::ApplyRole); buttonBox->addButton(QDialogButtonBox::Close); routeButton->setEnabled(false); mainLayout->addWidget(buttonBox); setLayout(mainLayout); connect(selectFromButton,SIGNAL(clicked()),this,SLOT(SelectFrom())); connect(selectToButton,SIGNAL(clicked()),this,SLOT(SelectTo())); connect(routeButton,SIGNAL(clicked()),this,SLOT(CalculateRoute())); connect(buttonBox->button(QDialogButtonBox::Close),SIGNAL(clicked()),this,SLOT(close())); connect(routeTypes,SIGNAL(buttonClicked(int)),this,SLOT(OnVehicle(int))); if (!route.start.isEmpty()) { from->setText(route.start); hasStart=true; } if (!route.end.isEmpty()) { to->setText(route.end); hasEnd=true; } if (hasStart && hasEnd) { routeButton->setEnabled(true); } }
Boolean ReplyFormHandleEvent(EventType * eventP) { Boolean handled = false; FormType * frmP; static Boolean listShown = false; frmP = FrmGetActiveForm(); switch (eventP->eType) { case frmOpenEvent: switch (g_ComposeMode) { case COMPOSE_REPLY: ReplyCurrentRecord(g_SmsDb); SetupReplyForm(frmP); break; case COMPOSE_NEW: SetupNewForm(frmP); break; case COMPOSE_FORWARD: ForwardCurrentRecord(g_SmsDb); SetupNewForm(frmP); break; case COMPOSE_FEATURE: SetupFeatureNew(); SetupNewForm(frmP); break; case COMPOSE_RESTORE: RestoreReplyForm(); break; } FrmDrawForm(frmP); ListAllGroups(); SetTriggerText(0); handled = true; break; case frmCloseEvent: ClearPhoneGroups(g_PhoneGroups); break; case menuEvent: switch(eventP->data.menu.itemID) { case MenuItemQueue: DoQueue(); break; case MenuItemBack: DoBack(); break; case MenuItemDraft: DoDraft(); break; case MenuItemSend: DoSend(); break; case MenuItemSendAndBack: DoSendAndBack(); break; case MenuItemSelectTo: SelectTo(); break; case MenuItemSelectGroup: CtlHitControl((ControlPtr) GetObjectPtr(frmP, TriggerGroup)); break; } break; case ctlSelectEvent: switch(eventP->data.ctlSelect.controlID) { case ButtonSendAndBack: DoSendAndBack(); break; case ButtonBack: DoBack(); break; case ButtonGo: DoSend(); break; case ButtonSelectTo: SelectTo(); break; case TriggerGroup: if (listShown) { FrmHideObject(frmP, FrmGetObjectIndex(frmP, ListGroups)); FrmDrawForm(frmP); listShown = false; } else { FrmShowObject(frmP, FrmGetObjectIndex(frmP, ListGroups)); listShown = true; } handled = true; break; } break; case penDownEvent: if (IsEventInControl(frmP, eventP, TriggerGroup)) break; if (IsEventInControl(frmP, eventP, ListGroups)) break; FrmHideObject(frmP, FrmGetObjectIndex(frmP, ListGroups)); FrmDrawForm(frmP); listShown = false; break; case lstSelectEvent: if (eventP->data.lstSelect.listID == ListGroups) { FrmHideObject(frmP, FrmGetObjectIndex(frmP, ListGroups)); FrmDrawForm(frmP); listShown = false; ListPtr list = (ListPtr) GetObjectPtr(frmP, ListGroups); Int16 sel = LstGetSelection(list); if (sel == noListSelection) { ShowMsg("Select a group."); break; } SetTriggerText(sel); } break; case keyDownEvent: WChar chr = eventP->data.keyDown.chr; UInt16 keyCode = eventP->data.keyDown.keyCode; switch(chr) { case vchrPageUp: if (listShown) SelectNextInList(-1); else ScrollFieldPage(frmP, FieldReference, ScrollbarReference, winUp); break; case vchrPageDown: if (listShown) SelectNextInList(1); else ScrollFieldPage(frmP, FieldReference, ScrollbarReference, winDown); break; case vchrNavChange: if(keyCode & navBitSelect) { FrmHideObject(frmP, FrmGetObjectIndex(frmP, ListGroups)); FrmDrawForm(frmP); listShown = false; ListPtr list = (ListPtr) GetObjectPtr(frmP, ListGroups); Int16 sel = LstGetSelection(list); if (sel == noListSelection) { ShowMsg("Select a group."); break; } SetTriggerText(sel); } break; } break; case sclRepeatEvent: ScrollFieldByEvent(frmP, eventP, FieldReference, ScrollbarReference); break; } return handled; }