void FormWindowBase::deleteWidgetList(const QWidgetList &widget_list) { // We need a macro here even for single widgets because the some components (for example, // the signal slot editor are connected to widgetRemoved() and add their // own commands (for example, to delete w's connections) const QString description = widget_list.size() == 1 ? tr("Delete '%1'").arg(widget_list.front()->objectName()) : tr("Delete"); commandHistory()->beginMacro(description); foreach (QWidget *w, widget_list) { emit widgetRemoved(w); DeleteWidgetCommand *cmd = new DeleteWidgetCommand(this); cmd->init(w); commandHistory()->push(cmd); }
void ActionsImpl::slotSetAsToolbar() { KEBApp::self()->bkInfo()->commitChanges(); KBookmark bk = KEBApp::self()->firstSelected(); Q_ASSERT(bk.isGroup()); QUndoCommand *mcmd = CmdGen::setAsToolbar(m_model, bk); commandHistory()->addCommand(mcmd); }
void ActionsImpl::slotCut() { KEBApp::self()->bkInfo()->commitChanges(); slotCopy(); DeleteManyCommand *mcmd = new DeleteManyCommand(m_model, i18nc("(qtundo-format)", "Cut Items"), KEBApp::self()->selectedBookmarks() ); commandHistory()->addCommand(mcmd); }
void ActionsImpl::slotSort() { KEBApp::self()->bkInfo()->commitChanges(); KBookmark bk = KEBApp::self()->firstSelected(); Q_ASSERT(bk.isGroup()); SortCommand *cmd = new SortCommand(m_model, i18nc("(qtundo-format)", "Sort Alphabetically"), bk.address()); commandHistory()->addCommand(cmd); }
// protected void kpAbstractImageSelectionTool::changeImageSelectionTransparency ( const QString &name, const kpImageSelectionTransparency &newTrans, const kpImageSelectionTransparency &oldTrans) { #if DEBUG_KP_TOOL_SELECTION qCDebug(kpLogTools) << "CALL(" << name << ")"; #endif kpSetOverrideCursorSaver cursorSaver (Qt::WaitCursor); if (hasBegunShape ()) endShapeInternal (); kpAbstractImageSelection *imageSel = document ()->imageSelection (); if (imageSel->hasContent () && newTrans.isTransparent ()) environ ()->flashColorSimilarityToolBarItem (); imageSel->setTransparency (newTrans); // We _must_ add the command even if kpAbstractImageSelection::setTransparency() // above did not change the selection transparency mask at all. // Consider the following case: // // 0. Ensure that selection transparency is opaque and any // color other than red is the background color. Ensure that // the color similarity setting is 0. // // 1. Select a solid red rectangle and pull it off. // // 2. Switch to transparent and set red as the background color. // [the selection is now invisible as red is the background // color, which is the same as the contents of the selection] // // 3. Invert Colors. // [the selection is now cyan, red is still the background color] // // 4. Change the background color to green. // [the selection transparency mask does not change so the // selection is still cyan; green is the background color] // // 5. Undo // // If no transparency command were added for Step 4., the Undo // in Step 5. would take us straight to the state after Step 2., // where we would expect the red selection to be invisible. However, // as the background color was changed to green in Step 4. and was not // undone, the red selection is not invisible when it should be -- Undo // has moved us to an incorrect state. // // KDE3: Copy this comment into the KDE 3 branch. commandHistory ()->addCommand (new kpToolImageSelectionTransparencyCommand ( name, newTrans, oldTrans, environ ()->commandEnvironment ()), false/*no exec*/); }
void ActionsImpl::slotNewBookmark() { KEBApp::self()->bkInfo()->commitChanges(); // TODO - make a setCurrentItem(Command *) which uses finaladdress interface CreateCommand * cmd = new CreateCommand(m_model, KEBApp::self()->insertAddress(), QString(), "www", KUrl("http://")); commandHistory()->addCommand(cmd); }
void ActionsImpl::slotChangeIcon() { KEBApp::self()->bkInfo()->commitChanges(); KBookmark bk = KEBApp::self()->firstSelected(); const QString newIcon = KIconDialog::getIcon(KIconLoader::Small, KIconLoader::Place, false, 0, false, KEBApp::self()); if (newIcon.isEmpty()) return; EditCommand *cmd = new EditCommand(m_model, bk.address(), -1, newIcon); commandHistory()->addCommand(cmd); }
void ActionsImpl::slotImport() { KEBApp::self()->bkInfo()->commitChanges(); qDebug() << "ActionsImpl::slotImport() where sender()->name() == " << sender()->objectName() << endl; ImportCommand* import = ImportCommand::performImport(m_model, sender()->objectName(), KEBApp::self()); if (!import) return; commandHistory()->addCommand(import); //FIXME select import->groupAddress }
void FormWindowBase::deleteWidgetList(const QWidgetList &widget_list) { switch (widget_list.size()) { case 0: break; case 1: { commandHistory()->beginMacro(tr("Delete '%1'").arg(widget_list.front()->objectName())); emit widgetRemoved(widget_list.front()); DeleteWidgetCommand *cmd = new DeleteWidgetCommand(this); cmd->init(widget_list.front()); commandHistory()->push(cmd); commandHistory()->endMacro(); } break; default: commandHistory()->beginMacro(tr("Delete")); foreach (QWidget *w, widget_list) { emit widgetRemoved(w); DeleteWidgetCommand *cmd = new DeleteWidgetCommand(this); cmd->init(w); commandHistory()->push(cmd); } commandHistory()->endMacro(); break; }
void ActionsImpl::slotRecursiveSort() { KEBApp::self()->bkInfo()->commitChanges(); KBookmark bk = KEBApp::self()->firstSelected(); Q_ASSERT(bk.isGroup()); KEBMacroCommand *mcmd = new KEBMacroCommand(i18nc("(qtundo-format)", "Recursive Sort")); KBookmarkGroupList lister(GlobalBookmarkManager::self()->mgr()); QList<KBookmark> bookmarks = lister.getList(bk.toGroup()); bookmarks << bk.toGroup(); for (QList<KBookmark>::ConstIterator it = bookmarks.constBegin(); it != bookmarks.constEnd(); ++it) { new SortCommand(m_model, "", (*it).address(), mcmd); } commandHistory()->addCommand(mcmd); }
void ActionsImpl::slotPaste() { KEBApp::self()->bkInfo()->commitChanges(); QString addr; KBookmark bk = KEBApp::self()->firstSelected(); if(bk.isGroup()) addr = bk.address() + "/0"; //FIXME internal else addr = bk.address(); QUndoCommand *mcmd = CmdGen::insertMimeSource( m_model, i18nc("(qtundo-format)", "Paste"), QApplication::clipboard()->mimeData(), addr); commandHistory()->addCommand(mcmd); }
void ActionsImpl::slotNewFolder() { KEBApp::self()->bkInfo()->commitChanges(); bool ok; QString str = KInputDialog::getText( i18nc( "@title:window", "Create New Bookmark Folder" ), i18n( "New folder:" ), QString(), &ok, KEBApp::self() ); if (!ok) return; CreateCommand *cmd = new CreateCommand(m_model, KEBApp::self()->insertAddress(), str, "bookmark_folder", /*open*/ true); commandHistory()->addCommand(cmd); }
// protected void kpToolText::changeTextStyle (const QString &name, const kpTextStyle &newTextStyle, const kpTextStyle &oldTextStyle) { #if DEBUG_KP_TOOL_TEXT qCDebug(kpLogTools) << "kpToolText::changeTextStyle(" << name << ")"; #endif if (hasBegunShape ()) endShape (currentPoint (), normalizedRect ()); commandHistory ()->addCommand ( new kpToolTextChangeStyleCommand ( name, newTextStyle, oldTextStyle, environ ()->commandEnvironment ())); }
void ActionsImpl::slotInsertSeparator() { KEBApp::self()->bkInfo()->commitChanges(); CreateCommand * cmd = new CreateCommand(m_model, KEBApp::self()->insertAddress()); commandHistory()->addCommand(cmd); }
// public void kpMainWindow::addImageOrSelectionCommand (kpCommand *cmd, bool addSelCreateCmdIfSelAvail, bool addSelPullCmdIfSelAvail) { #if DEBUG_KP_MAIN_WINDOW && 1 kdDebug () << "kpMainWindow::addImageOrSelectionCommand()" << " addSelCreateCmdIfSelAvail=" << addSelCreateCmdIfSelAvail << " addSelPullCmdIfSelAvail=" << addSelPullCmdIfSelAvail << endl; #endif if (!m_document) { kdError () << "kpMainWindow::addImageOrSelectionCommand() without doc" << endl; return; } if (m_viewManager) m_viewManager->setQueueUpdates (); kpSelection *sel = m_document->selection (); #if DEBUG_KP_MAIN_WINDOW && 1 kdDebug () << "\tsel=" << sel << " sel->pixmap=" << (sel ? sel->pixmap () : 0) << endl; #endif if (addSelCreateCmdIfSelAvail && sel && !sel->pixmap ()) { // create selection region kpCommand *createCommand = new kpToolSelectionCreateCommand ( i18n ("Selection: Create"), *sel, this); if (kpToolSelectionCreateCommand::nextUndoCommandIsCreateBorder (commandHistory ())) commandHistory ()->setNextUndoCommand (createCommand); else commandHistory ()->addCommand (createCommand, false/*no exec - user already dragged out sel*/); } if (addSelPullCmdIfSelAvail && sel && !sel->pixmap ()) { kpMacroCommand *macroCmd = new kpMacroCommand (cmd->name (), this); macroCmd->addCommand (new kpToolSelectionPullFromDocumentCommand ( QString::null/*uninteresting child of macro cmd*/, this)); macroCmd->addCommand (cmd); m_commandHistory->addCommand (macroCmd); } else { m_commandHistory->addCommand (cmd); } if (m_viewManager) m_viewManager->restoreQueueUpdates (); }