void aActionTreeView::itemEdit() { ActionListViewItem *i = (ActionListViewItem *) selectedItem(); if ( i ) i->edit(); };
void MSOptionPopupMenu::motionNotify(const XEvent *event_) { int lastSelectedItem=selectedItem(); MSMenu::motionNotify(event_); if (selectedItem()!=lastSelectedItem) lastShowTime(0); }
void TreeView::paste() { TreeItem *parentItem = 0; TreeItem *item = (TreeItem*)selectedItem(); // nil selected? -> nil to paste to if (item == 0) return; // is there content in the clipboard? if (!m_clipboard) return; // get destination folder QString folder; if(item->isDirectory()) { parentItem = item; item = 0; folder = parentItem->directory(); } else { parentItem = static_cast<TreeItem*>(item->parent()); folder = parentItem ? parentItem->directory() : QString(); } MenuFolderInfo *parentFolderInfo = parentItem ? parentItem->folderInfo() : m_rootFolder; int command = m_clipboard; if ((command == COPY_FOLDER) || (command == MOVE_FOLDER)) { MenuFolderInfo *folderInfo = m_clipboardFolderInfo; if (command == COPY_FOLDER) { // Ugh.. this is hard :) // * Create new .directory file // Add } else if (command == MOVE_FOLDER) { // Move menu QString oldFolder = folderInfo->fullId; QString folderName = folderInfo->id; QString newFolder = m_menuFile->uniqueMenuName(folder, folderName, parentFolderInfo->existingMenuIds()); folderInfo->id = newFolder; // Add file to menu // m_menuFile->moveMenu(oldFolder, folder + newFolder); m_menuFile->pushAction(MenuFile::MOVE_MENU, oldFolder, folder + newFolder); // Make sure caption is unique QString newCaption = parentFolderInfo->uniqueMenuCaption(folderInfo->caption); if (newCaption != folderInfo->caption) { folderInfo->setCaption(newCaption); } // create the TreeItem if(parentItem) parentItem->setOpen(true); // update fileInfo data folderInfo->fullId = parentFolderInfo->fullId + folderInfo->id; folderInfo->setInUse(true); parentFolderInfo->add(folderInfo); TreeItem *newItem = createTreeItem(parentItem, item, folderInfo); setSelected ( newItem, true); itemSelected( newItem); } m_clipboard = COPY_FOLDER; // Next one copies. } else if ((command == COPY_FILE) || (command == MOVE_FILE)) { MenuEntryInfo *entryInfo = m_clipboardEntryInfo; QString menuId; if (command == COPY_FILE) { // Need to copy file and then add it KDesktopFile *df = copyDesktopFile(entryInfo, &menuId, &m_newMenuIds); // Duplicate KService::Ptr s(new KService(df)); s->setMenuId(menuId); entryInfo = new MenuEntryInfo(s, df); QString oldCaption = entryInfo->caption; QString newCaption = parentFolderInfo->uniqueItemCaption(oldCaption, oldCaption); entryInfo->setCaption(newCaption); } else if (command == MOVE_FILE) { menuId = entryInfo->menuId(); m_clipboard = COPY_FILE; // Next one copies. QString oldCaption = entryInfo->caption; QString newCaption = parentFolderInfo->uniqueItemCaption(oldCaption); entryInfo->setCaption(newCaption); entryInfo->setInUse(true); } // Add file to menu // m_menuFile->addEntry(folder, menuId); m_menuFile->pushAction(MenuFile::ADD_ENTRY, folder, menuId); // create the TreeItem if(parentItem) parentItem->setOpen(true); // update fileInfo data parentFolderInfo->add(entryInfo); TreeItem *newItem = createTreeItem(parentItem, item, entryInfo, true); setSelected ( newItem, true); itemSelected( newItem); } else { // create separator if(parentItem) parentItem->setOpen(true); TreeItem *newItem = createTreeItem(parentItem, item, m_separator, true); setSelected ( newItem, true); itemSelected( newItem); } setLayoutDirty(parentItem); }
void TreeView::newsubmenu() { TreeItem *parentItem = 0; TreeItem *item = (TreeItem*)selectedItem(); bool ok; QString caption = KInputDialog::getText( i18n( "New Submenu" ), i18n( "Submenu name:" ), QString(), &ok, this ); if (!ok) return; QString file = caption; file.replace('/', '-'); file = createDirectoryFile(file, &m_newDirectoryList); // Create // get destination folder QString folder; if(!item) { parentItem = 0; folder.clear(); } else if(item->isDirectory()) { parentItem = item; item = 0; folder = parentItem->directory(); } else { parentItem = static_cast<TreeItem*>(item->parent()); folder = parentItem ? parentItem->directory() : QString(); } MenuFolderInfo *parentFolderInfo = parentItem ? parentItem->folderInfo() : m_rootFolder; MenuFolderInfo *folderInfo = new MenuFolderInfo(); folderInfo->caption = parentFolderInfo->uniqueMenuCaption(caption); folderInfo->id = m_menuFile->uniqueMenuName(folder, caption, parentFolderInfo->existingMenuIds()); folderInfo->directoryFile = file; folderInfo->icon = "package"; folderInfo->hidden = false; folderInfo->setDirty(); KDesktopFile *df = new KDesktopFile(file); KConfigGroup desktopGroup = df->desktopGroup(); desktopGroup.writeEntry("Name", folderInfo->caption); desktopGroup.writeEntry("Icon", folderInfo->icon); df->sync(); delete df; // Add file to menu // m_menuFile->addMenu(folder + folderInfo->id, file); m_menuFile->pushAction(MenuFile::ADD_MENU, folder + folderInfo->id, file); folderInfo->fullId = parentFolderInfo->fullId + folderInfo->id; // create the TreeItem if(parentItem) parentItem->setOpen(true); // update fileInfo data parentFolderInfo->add(folderInfo); TreeItem *newItem = createTreeItem(parentItem, item, folderInfo, true); setSelected ( newItem, true); itemSelected( newItem); setLayoutDirty(parentItem); }
KonqSidebarTreeItem * KonqSidebarTree::currentItem() const { return static_cast<KonqSidebarTreeItem *>( selectedItem() ); }
void TreeView::newitem() { TreeItem *parentItem = 0; TreeItem *item = (TreeItem*)selectedItem(); bool ok; QString caption = KInputDialog::getText( i18n( "New Item" ), i18n( "Item name:" ), QString(), &ok, this ); if (!ok) return; QString menuId; QString file = caption; file.replace('/', '-'); file = createDesktopFile(file, &menuId, &m_newMenuIds); // Create KDesktopFile *df = new KDesktopFile(file); KConfigGroup desktopGroup = df->desktopGroup(); desktopGroup.writeEntry("Name", caption); desktopGroup.writeEntry("Type", "Application"); // get destination folder QString folder; if(!item) { parentItem = 0; folder.clear(); } else if(item->isDirectory()) { parentItem = item; item = 0; folder = parentItem->directory(); } else { parentItem = static_cast<TreeItem*>(item->parent()); folder = parentItem ? parentItem->directory() : QString(); } MenuFolderInfo *parentFolderInfo = parentItem ? parentItem->folderInfo() : m_rootFolder; // Add file to menu // m_menuFile->addEntry(folder, menuId); m_menuFile->pushAction(MenuFile::ADD_ENTRY, folder, menuId); KService::Ptr s(new KService(df)); s->setMenuId(menuId); MenuEntryInfo *entryInfo = new MenuEntryInfo(s, df); // create the TreeItem if(parentItem) parentItem->setOpen(true); // update fileInfo data parentFolderInfo->add(entryInfo); TreeItem *newItem = createTreeItem(parentItem, item, entryInfo, true); setSelected ( newItem, true); itemSelected( newItem); setLayoutDirty(parentItem); }
void QgsMapToolAnnotation::canvasMoveEvent( QMouseEvent * e ) { QgsAnnotationItem* sItem = selectedItem(); if ( sItem && ( e->buttons() & Qt::LeftButton ) ) { if ( mCurrentMoveAction == QgsAnnotationItem::MoveMapPosition ) { sItem->setMapPosition( toMapCoordinates( e->pos() ) ); sItem->update(); } else if ( mCurrentMoveAction == QgsAnnotationItem::MoveFramePosition ) { if ( sItem->mapPositionFixed() ) { sItem->setOffsetFromReferencePoint( sItem->offsetFromReferencePoint() + ( e->posF() - mLastMousePosition ) ); } else { QPointF newCanvasPos = sItem->pos() + ( e->posF() - mLastMousePosition ); sItem->setMapPosition( toMapCoordinates( newCanvasPos.toPoint() ) ); } sItem->update(); } else if ( mCurrentMoveAction != QgsAnnotationItem::NoAction ) { //handle the frame resize actions QSizeF size = sItem->frameSize(); double xmin = sItem->offsetFromReferencePoint().x(); double ymin = sItem->offsetFromReferencePoint().y(); double xmax = xmin + size.width(); double ymax = ymin + size.height(); if ( mCurrentMoveAction == QgsAnnotationItem::ResizeFrameRight || mCurrentMoveAction == QgsAnnotationItem::ResizeFrameRightDown || mCurrentMoveAction == QgsAnnotationItem::ResizeFrameRightUp ) { xmax += e->posF().x() - mLastMousePosition.x(); } if ( mCurrentMoveAction == QgsAnnotationItem::ResizeFrameLeft || mCurrentMoveAction == QgsAnnotationItem::ResizeFrameLeftDown || mCurrentMoveAction == QgsAnnotationItem::ResizeFrameLeftUp ) { xmin += e->posF().x() - mLastMousePosition.x(); } if ( mCurrentMoveAction == QgsAnnotationItem::ResizeFrameUp || mCurrentMoveAction == QgsAnnotationItem::ResizeFrameLeftUp || mCurrentMoveAction == QgsAnnotationItem::ResizeFrameRightUp ) { ymin += e->posF().y() - mLastMousePosition.y(); } if ( mCurrentMoveAction == QgsAnnotationItem::ResizeFrameDown || mCurrentMoveAction == QgsAnnotationItem::ResizeFrameLeftDown || mCurrentMoveAction == QgsAnnotationItem::ResizeFrameRightDown ) { ymax += e->posF().y() - mLastMousePosition.y(); } //switch min / max if necessary double tmp; if ( xmax < xmin ) { tmp = xmax; xmax = xmin; xmin = tmp; } if ( ymax < ymin ) { tmp = ymax; ymax = ymin; ymin = tmp; } sItem->setOffsetFromReferencePoint( QPointF( xmin, ymin ) ); sItem->setFrameSize( QSizeF( xmax - xmin, ymax - ymin ) ); sItem->update(); } } else if ( sItem ) { QgsAnnotationItem::MouseMoveAction moveAction = sItem->moveActionForPosition( e->posF() ); if ( mCanvas ) { mCanvas->setCursor( QCursor( sItem->cursorShapeForAction( moveAction ) ) ); } } mLastMousePosition = e->posF(); }
void FeedsView::markSelectedItemReadStatus(RootItem::ReadStatus read) { m_sourceModel->markItemRead(selectedItem(), read); }
void FeedsView::clearSelectedFeeds() { m_sourceModel->markItemCleared(selectedItem(), false); }
void Switcher::on_switcherList_activated(const QModelIndex& index_){ QStandardItem* item = _model->itemFromIndex(index_); selectedItem(item); close(); }
void QgsMapToolAnnotation::canvasMoveEvent( QgsMapMouseEvent *e ) { QgsMapCanvasAnnotationItem *item = selectedItem(); if ( !item || !item->annotation() ) return; QgsAnnotation *annotation = item->annotation(); if ( e->buttons() & Qt::LeftButton ) { if ( mCurrentMoveAction == QgsMapCanvasAnnotationItem::MoveMapPosition ) { QgsPointXY mapPos = transformCanvasToAnnotation( e->snapPoint(), annotation ); annotation->setMapPosition( mapPos ); annotation->setRelativePosition( QPointF( e->pos().x() / mCanvas->width(), e->pos().y() / mCanvas->height() ) ); item->update(); QgsProject::instance()->setDirty( true ); } else if ( mCurrentMoveAction == QgsMapCanvasAnnotationItem::MoveFramePosition ) { QPointF newCanvasPos = item->pos() + ( e->pos() - mLastMousePosition ); if ( annotation->hasFixedMapPosition() ) { const double pixelToMmScale = 25.4 / mCanvas->logicalDpiX(); const double deltaX = pixelToMmScale * ( e->pos().x() - mLastMousePosition.x() ); const double deltaY = pixelToMmScale * ( e->pos().y() - mLastMousePosition.y() ); annotation->setFrameOffsetFromReferencePointMm( QPointF( annotation->frameOffsetFromReferencePointMm().x() + deltaX, annotation->frameOffsetFromReferencePointMm().y() + deltaY ) ); annotation->setRelativePosition( QPointF( newCanvasPos.x() / mCanvas->width(), newCanvasPos.y() / mCanvas->height() ) ); } else { QgsPointXY mapPos = transformCanvasToAnnotation( toMapCoordinates( newCanvasPos.toPoint() ), annotation ); annotation->setMapPosition( mapPos ); annotation->setRelativePosition( QPointF( newCanvasPos.x() / mCanvas->width(), newCanvasPos.y() / mCanvas->height() ) ); } item->update(); QgsProject::instance()->setDirty( true ); } else if ( mCurrentMoveAction != QgsMapCanvasAnnotationItem::NoAction ) { //handle the frame resize actions const double pixelToMmScale = 25.4 / mCanvas->logicalDpiX(); QSizeF size = annotation->frameSizeMm(); double xmin = annotation->frameOffsetFromReferencePointMm().x(); double ymin = annotation->frameOffsetFromReferencePointMm().y(); double xmax = xmin + size.width(); double ymax = ymin + size.height(); double relPosX = annotation->relativePosition().x(); double relPosY = annotation->relativePosition().y(); if ( mCurrentMoveAction == QgsMapCanvasAnnotationItem::ResizeFrameRight || mCurrentMoveAction == QgsMapCanvasAnnotationItem::ResizeFrameRightDown || mCurrentMoveAction == QgsMapCanvasAnnotationItem::ResizeFrameRightUp ) { xmax += pixelToMmScale * ( e->pos().x() - mLastMousePosition.x() ); } if ( mCurrentMoveAction == QgsMapCanvasAnnotationItem::ResizeFrameLeft || mCurrentMoveAction == QgsMapCanvasAnnotationItem::ResizeFrameLeftDown || mCurrentMoveAction == QgsMapCanvasAnnotationItem::ResizeFrameLeftUp ) { xmin += pixelToMmScale * ( e->pos().x() - mLastMousePosition.x() ); relPosX = ( relPosX * mCanvas->width() + e->pos().x() - mLastMousePosition.x() ) / static_cast<double>( mCanvas->width() ); } if ( mCurrentMoveAction == QgsMapCanvasAnnotationItem::ResizeFrameUp || mCurrentMoveAction == QgsMapCanvasAnnotationItem::ResizeFrameLeftUp || mCurrentMoveAction == QgsMapCanvasAnnotationItem::ResizeFrameRightUp ) { ymin += pixelToMmScale * ( e->pos().y() - mLastMousePosition.y() ); relPosY = ( relPosY * mCanvas->height() + e->pos().y() - mLastMousePosition.y() ) / static_cast<double>( mCanvas->height() ); } if ( mCurrentMoveAction == QgsMapCanvasAnnotationItem::ResizeFrameDown || mCurrentMoveAction == QgsMapCanvasAnnotationItem::ResizeFrameLeftDown || mCurrentMoveAction == QgsMapCanvasAnnotationItem::ResizeFrameRightDown ) { ymax += pixelToMmScale * ( e->pos().y() - mLastMousePosition.y() ); } //switch min / max if necessary double tmp; if ( xmax < xmin ) { tmp = xmax; xmax = xmin; xmin = tmp; } if ( ymax < ymin ) { tmp = ymax; ymax = ymin; ymin = tmp; } annotation->setFrameOffsetFromReferencePointMm( QPointF( xmin, ymin ) ); annotation->setFrameSizeMm( QSizeF( xmax - xmin, ymax - ymin ) ); annotation->setRelativePosition( QPointF( relPosX, relPosY ) ); item->update(); QgsProject::instance()->setDirty( true ); } } else if ( item ) { QgsMapCanvasAnnotationItem::MouseMoveAction moveAction = item->moveActionForPosition( e->pos() ); if ( mCanvas ) { mCanvas->setCursor( QCursor( item->cursorShapeForAction( moveAction ) ) ); } } mLastMousePosition = e->pos(); }