void ShowColRow::slotOk() { Region region; for (unsigned int i = 0; i < (unsigned int)list->count(); i++) { if (list->item(i)->isSelected()) { if (typeShow == Column) { region.add(QRect(listInt.at(i), 1, 1, KS_rowMax)); } if (typeShow == Row) { region.add(QRect(1, listInt.at(i), KS_colMax, 1)); } } } HideShowManipulator* manipulator = new HideShowManipulator(); manipulator->setSheet(m_selection->activeSheet()); if (typeShow == Column) { manipulator->setManipulateColumns(true); } if (typeShow == Row) { manipulator->setManipulateRows(true); } manipulator->setReverse(true); manipulator->add(region); manipulator->execute(m_selection->canvas()); accept(); }
void KCColumnHeader::equalizeColumn(double resize) { if (resize != 0.0) { KCResizeColumnManipulator* command = new KCResizeColumnManipulator(); command->setSheet(m_pView->activeSheet()); command->setSize(qMax(qreal(2.0), resize)); command->add(*m_pView->selection()); if (!command->execute()) delete command; } else { // hide HideShowManipulator* command = new HideShowManipulator(); command->setSheet(m_pView->activeSheet()); command->setManipulateColumns(true); command->add(*m_pView->selection()); if (!command->execute()) delete command; } }
void KCColumnHeader::mouseReleaseEvent(QMouseEvent * _ev) { if (!m_cellToolIsActive) return; m_pView->disableAutoScroll(); if (m_lSize) m_lSize->hide(); m_bMousePressed = false; if (!m_pView->koDocument()->isReadWrite()) return; register KCSheet * const sheet = m_pView->activeSheet(); if (!sheet) return; if (m_bResize) { double dWidth = m_pView->zoomHandler()->unzoomItX(width()); double ev_PosX; // Remove size indicator painted by paintSizeIndicator if (m_rubberband) { delete m_rubberband; m_rubberband = 0; } int start = m_iResizedColumn; int end = m_iResizedColumn; QRect rect; rect.setCoords(m_iResizedColumn, 1, m_iResizedColumn, KS_rowMax); if (m_pView->selection()->isColumnSelected()) { if (m_pView->selection()->contains(QPoint(m_iResizedColumn, 1))) { start = m_pView->selection()->lastRange().left(); end = m_pView->selection()->lastRange().right(); rect = m_pView->selection()->lastRange(); } } double width = 0.0; double x; if (sheet->layoutDirection() == Qt::RightToLeft) ev_PosX = dWidth - m_pView->zoomHandler()->unzoomItX(_ev->pos().x()) + m_pCanvas->xOffset(); else ev_PosX = m_pView->zoomHandler()->unzoomItX(_ev->pos().x()) + m_pCanvas->xOffset(); x = sheet->columnPosition(m_iResizedColumn); if (ev_PosX - x <= 0.0) width = 0.0; else width = ev_PosX - x; if (width != 0.0) { KCResizeColumnManipulator* command = new KCResizeColumnManipulator(); command->setSheet(sheet); command->setSize(width); command->add(KCRegion(rect, sheet)); if (!command->execute()) delete command; } else { // hide HideShowManipulator* command = new HideShowManipulator(); command->setSheet(sheet); command->setManipulateColumns(true); command->add(KCRegion(rect, sheet)); if (!command->execute()) delete command; } delete m_lSize; m_lSize = 0; } else if (m_bSelection) { QRect rect = m_pView->selection()->lastRange(); // TODO: please don't remove. Right now it's useless, but it's for a future feature // Norbert bool m_frozen = false; if (m_frozen) { kDebug(36001) << "selected: L" << rect.left() << " R" << rect.right(); int i; QList<int> hiddenCols; for (i = rect.left(); i <= rect.right(); ++i) { if (sheet->columnFormat(i)->isHidden()) { hiddenCols.append(i); } } if (hiddenCols.count() > 0) { if (m_pView->selection()->isRowSelected()) { KMessageBox::error(this, i18n("Area is too large.")); return; } HideShowManipulator* command = new HideShowManipulator(); command->setSheet(sheet); command->setManipulateColumns(true); command->setReverse(true); command->add(*m_pView->selection()); command->execute(); } } } m_bSelection = false; m_bResize = false; }