예제 #1
0
파일: window.cpp 프로젝트: cedrus/qt4
void Window::dropEvent(QDropEvent *event)
{
    QMenu actionMenu(this);
    QAction *copyAction = 0;
    QAction *moveAction = 0;
    QAction *linkAction = 0;
    QAction *ignoreAction = 0;
    if (event->possibleActions() & Qt::CopyAction)
        copyAction = actionMenu.addAction(tr("Copy"));
    if (event->possibleActions() & Qt::MoveAction)
        moveAction = actionMenu.addAction(tr("Move"));
    if (event->possibleActions() & Qt::LinkAction)
        linkAction = actionMenu.addAction(tr("Link"));
    if (event->possibleActions() & Qt::IgnoreAction)
        ignoreAction = actionMenu.addAction(tr("Ignore"));

    QAction *result = actionMenu.exec(QCursor::pos());

    if (copyAction && result == copyAction)
        event->setDropAction(Qt::CopyAction);
    else if (moveAction && result == moveAction)
        event->setDropAction(Qt::MoveAction);
    else if (linkAction && result == linkAction)
        event->setDropAction(Qt::LinkAction);
    else {
        event->setDropAction(Qt::IgnoreAction);
        return;
    }

    textBrowser->setPlainText(event->mimeData()->text());
    mimeTypeCombo->clear();
    mimeTypeCombo->addItems(event->mimeData()->formats());
}
예제 #2
0
 void moveRgMenu()
  {
		if(activeItem->Select == SYSTEM) 
		 {
       workState = START_WORK;
			 return;
		 }
		
	  if((void*)activeItem->Child == (void*)&NULL_ENTRY) return;
	   else activeItem = (void*)activeItem->Child;
		
		if(activeItem->Select == SIMPLE) 
		  {
				lcdRepaintMenu();
				lcdMovePoint(activeItem->Index);
			}
		 else if(activeItem->Select == INPUT) 
		 {
			 LCD_Clear();
			 inputMenu(ENTER);
		 }
		 
		 else if(activeItem->Select == ACTION) 
		 {
			 LCD_Clear();
			 actionMenu(ENTER);
		 }
		 

 	}
예제 #3
0
 void moveDnMenu()
  {
		//get page number

	  if(activeItem->Select == INPUT)
		 {
			inputMenu(DEC);
		 }
		 
		 else if(activeItem->Select == ACTION)
		  {
			  actionMenu(DEC);
			}
			
		else //(activeItem->Select == SIMPLE)
		 {
		  volatile int stPage = (activeItem->Index / FIELDS_NUMBER);
		
 		  if((void*)activeItem->Next == (void*)&NULL_ENTRY) return;
	      else activeItem = (void*)activeItem->Next;
			
       //if we change a page we need to repaint display
		   if(stPage != (activeItem->Index / FIELDS_NUMBER)) {stPage = (activeItem->Index / FIELDS_NUMBER); lcdRepaintMenu();}
		   lcdMovePoint(activeItem->Index - (FIELDS_NUMBER*stPage));
	   }

  }
예제 #4
0
//
// Called from Klipper::slotRepeatAction, i.e. by pressing Ctrl-Alt-R
// shortcut. I.e. never from clipboard monitoring
//
void URLGrabber::invokeAction( const HistoryItem* item )
{
    m_myClipItem = item;
    actionMenu( item, false );
}